From 7b1eb0dce619c3f98333771ddc5761abae30141f Mon Sep 17 00:00:00 2001 From: David Fugate Date: Wed, 8 Feb 2012 15:35:16 -0800 Subject: Regen'ed website. --- website/json/ch07.json | 2 +- website/json/ch08.json | 2 +- website/json/ch10.json | 2 +- website/json/ch11.json | 2 +- website/json/ch12.json | 2 +- website/json/ch13.json | 2 +- website/json/ch14.json | 2 +- website/json/ch15.json | 2 +- website/json/default.json | 2 +- website/json/testcases_bestPractice.json | 2 +- website/json/testcases_ch07.json | 2 +- website/json/testcases_ch08.json | 2 +- website/json/testcases_ch09.json | 2 +- website/json/testcases_ch10.json | 2 +- website/json/testcases_ch11.json | 2 +- website/json/testcases_ch12.json | 2 +- website/json/testcases_ch13.json | 2 +- website/json/testcases_ch14.json | 2 +- website/json/testcases_ch15.json | 2 +- website/json/testcases_intl402.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) (limited to 'website') diff --git a/website/json/ch07.json b/website/json/ch07.json index 09f12c106..52a725d1d 100644 --- a/website/json/ch07.json +++ b/website/json/ch07.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch07","numTests":"716","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgSE9SSVpPTlRBTCBUQUIoXHUwMDA5IGFuZCBcdCkgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vIENIRUNLIzEKZXZhbCgiXHUwMDA5dmFyXHUwMDA5eFx1MDAwOT1cdTAwMDkxXHUwMDA5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDAwOXZhclxcdTAwMDl4XFx1MDAwOT1cXHUwMDA5MVxcdTAwMDkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIlx1MDAwOSIgKyAidmFyIiArICJcdTAwMDkiICsgIngiICsgIlx1MDAwOSIgKyAiPSIgKyAiXHUwMDA5IiArICIxIiArICJcdTAwMDkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiBldmFsKCJcXHUwMDA5IiArICJ2YXIiICsgIlxcdTAwMDkiICsgIngiICsgIlxcdTAwMDkiICsgIj0iICsgIlxcdTAwMDkiICsgIjEiICsgIlxcdTAwMDkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCmV2YWwoIlx0dmFyXHR4XHQ9XHQxXHQiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHR2YXJcXHR4XFx0PVxcdDFcXHQiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmV2YWwoIlx0IiArICJ2YXIiICsgIlx0IiArICJ4IiArICJcdCIgKyAiPSIgKyAiXHQiICsgIjEiICsgIlx0Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx0IiArICJ2YXIiICsgIlxcdCIgKyAieCIgKyAiXFx0IiArICI9IiArICJcXHQiICsgIjEiICsgIlxcdCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKZXZhbCgiXHUwMDA5IiArICJ2YXIiICsgIlx0IiArICJ4IiArICJcdTAwMDkiICsgIj0iICsgIlx0IiArICIxIiArICJcdTAwMDkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiBldmFsKCJcXHUwMDA5IiArICJ2YXIiICsgIlxcdCIgKyAieCIgKyAiXFx1MDAwOSIgKyAiPSIgKyAiXFx0IiArICIxIiArICJcXHUwMDA5Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) between any two tokens is allowed","description":"Insert HORIZONTAL TAB(\\u0009 and \\t) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBIT1JJWk9OVEFMIFRBQiBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCgl2YXIgIHgJPQkxCTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiAJdmFyCXgJPQkxCTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIgl2YXJcdHgJPVx0MgkiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiAJdmFyXFx0eAk9XFx0MQk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) between any two tokens is allowed","description":"Insert real HORIZONTAL TAB between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFZFUlRJQ0FMIFRBQihcdTAwMEIgYW5kIFx2KSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEJ2YXJcdTAwMEJ4XHUwMDBCPVx1MDAwQjFcdTAwMEIiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBCdmFyXFx1MDAwQnhcXHUwMDBCPVxcdTAwMEIxXFx1MDAwQiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBCIiArICJ2YXIiICsgIlx1MDAwQiIgKyAieCIgKyAiXHUwMDBCIiArICI9IiArICJcdTAwMEIiICsgIjEiICsgIlx1MDAwQiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEIiICsgInZhciIgKyAiXFx1MDAwQiIgKyAieCIgKyAiXFx1MDAwQiIgKyAiPSIgKyAiXFx1MDAwQiIgKyAiMSIgKyAiXFx1MDAwQiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXHZ2YXJcdnhcdj1cdjFcdiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcdnZhclxcdnhcXHY9XFx2MVxcdiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXHYiICsgInZhciIgKyAiXHYiICsgIngiICsgIlx2IiArICI9IiArICJcdiIgKyAiMSIgKyAiXHYiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHYiICsgInZhciIgKyAiXFx2IiArICJ4IiArICJcXHYiICsgIj0iICsgIlxcdiIgKyAiMSIgKyAiXFx2Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEIiICsgInZhciIgKyAiXHYiICsgIngiICsgIlx1MDAwQiIgKyAiPSIgKyAiXHYiICsgIjEiICsgIlx1MDAwQiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEIiICsgInZhciIgKyAiXFx2IiArICJ4IiArICJcXHUwMDBCIiArICI9IiArICJcXHYiICsgIjEiICsgIlxcdTAwMEIiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"VERTICAL TAB (U+000B) between any two tokens is allowed","description":"Insert VERTICAL TAB(\\u000B and \\v) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgVkVSVElDQUwgVEFCIGJldHdlZW4gdG9rZW5zIG9mIHZhciB4PTEKICovCgovL0NIRUNLIzEKC3Zhcgt4Cz0LMQs7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogC3Zhcgt4Cz0LMQs7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgpldmFsKCILdmFyXHZ4Cz1cdjELIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogC3ZhclxcdngLPVxcdjELOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"VERTICAL TAB (U+000B) between any two tokens is allowed","description":"Insert real VERTICAL TAB between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IEZPUk0gRkVFRChcdTAwMEMgYW5kIFxmKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEN2YXJcdTAwMEN4XHUwMDBDPVx1MDAwQzFcdTAwMEMiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBDdmFyXFx1MDAwQ3hcXHUwMDBDPVxcdTAwMEMxXFx1MDAwQyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBDIiArICJ2YXIiICsgIlx1MDAwQyIgKyAieCIgKyAiXHUwMDBDIiArICI9IiArICJcdTAwMEMiICsgIjEiICsgIlx1MDAwQyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEMiICsgInZhciIgKyAiXFx1MDAwQyIgKyAieCIgKyAiXFx1MDAwQyIgKyAiPSIgKyAiXFx1MDAwQyIgKyAiMSIgKyAiXFx1MDAwQyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXGZ2YXJcZnhcZj1cZjFcZiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcZnZhclxcZnhcXGY9XFxmMVxcZiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXGYiICsgInZhciIgKyAiXGYiICsgIngiICsgIlxmIiArICI9IiArICJcZiIgKyAiMSIgKyAiXGYiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXGYiICsgInZhciIgKyAiXFxmIiArICJ4IiArICJcXGYiICsgIj0iICsgIlxcZiIgKyAiMSIgKyAiXFxmIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEMiICsgInZhciIgKyAiXGYiICsgIngiICsgIlx1MDAwQyIgKyAiPSIgKyAiXGYiICsgIjEiICsgIlx1MDAwQyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEMiICsgInZhciIgKyAiXFxmIiArICJ4IiArICJcXHUwMDBDIiArICI9IiArICJcXGYiICsgIjEiICsgIlxcdTAwMEMiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"FORM FEED (U+000C) between any two tokens is allowed","description":"Insert FORM FEED(\\u000C and \\f) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgRk9STSBGRUVEIGJldHdlZW4gdG9rZW5zIG9mIHZhciB4PTEKICovCgovL0NIRUNLIzEKDHZhcgx4DD0MMQw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogDHZhcgx4DD0MMQw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgpldmFsKCIMdmFyXGZ4DD1cZjEMIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogDHZhclxcZngMPVxcZjEMOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"FORM FEED (U+000C) between any two tokens is allowed","description":"Insert real FORM FEED between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgU1BBQ0UoXHUwMDIwKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMjB2YXJcdTAwMjB4XHUwMDIwPVx1MDAyMDFcdTAwMjAiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDIwdmFyXFx1MDAyMHhcXHUwMDIwPVxcdTAwMjAxXFx1MDAyMCIpOyB4ID09PSAxOycpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDIwIiArICJ2YXIiICsgIlx1MDAyMCIgKyAieCIgKyAiXHUwMDIwIiArICI9IiArICJcdTAwMjAiICsgIjEiICsgIlx1MDAyMCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMjAiICsgInZhciIgKyAiXFx1MDAyMCIgKyAieCIgKyAiXFx1MDAyMCIgKyAiPSIgKyAiXFx1MDAyMCIgKyAiMSIgKyAiXFx1MDAyMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"SPACE (U+0020) between any two tokens is allowed","description":"Insert SPACE(\\u0020) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBTUEFDRSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCmV2YWwoIlx1MDAyMHZhciB4XHUwMDIwPSAxXHUwMDIwIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDAyMHZhciB4XFx1MDAyMD0gMVxcdTAwMjAiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCiB2YXIgeCA9IDEgOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6ICB2YXIgeCA9IDEgOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"SPACE (U+0020) between any two tokens is allowed","description":"Insert real SPACE between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwQTB2YXJcdTAwQTB4XHUwMEEwPVx1MDBBMDFcdTAwQTAiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMEEwdmFyXFx1MDBBMHhcXHUwMEEwPVxcdTAwQTAxXFx1MDBBMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMEEwIiArICJ2YXIiICsgIlx1MDBBMCIgKyAieCIgKyAiXHUwMEEwIiArICI9IiArICJcdTAwQTAiICsgIjEiICsgIlx1MDBBMCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwQTAiICsgInZhciIgKyAiXFx1MDBBMCIgKyAieCIgKyAiXFx1MDBBMCIgKyAiPSIgKyAiXFx1MDBBMCIgKyAiMSIgKyAiXFx1MDBBMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"NO-BREAK SPACE (U+00A0) between any two tokens is allowed","description":"Insert NO-BREAK SPACE(\\u00A0) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBOTy1CUkVBSyBTUEFDRSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCmV2YWwoIlx1MDBBMHZhciB4XHUwMEEwPSAxXHUwMEEwIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDBBMHZhciB4XFx1MDBBMD0gMVxcdTAwQTAiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCsKgdmFyIHjCoD0gMcKgOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IMKgdmFyIHjCoD0gMcKgOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"NO-BREAK SPACE (U+00A0) between any two tokens is allowed","description":"Insert real NO-BREAK SPACE between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgSE9SSVpPTlRBTCBUQUIoXHUwMDA5IGFuZCBcdCkKICovCgovLyBDSEVDSyMxCmlmIChldmFsKCInXHUwMDA5c3RyXHUwMDA5aW5nXHUwMDA5JyIpICE9PSAiXHUwMDA5c3RyXHUwMDA5aW5nXHUwMDA5IikgewogICRFUlJPUignIzE6IGV2YWwoIlwnXFx1MDAwOXN0clxcdTAwMDlpbmdcXHUwMDA5XCciKSA9PT0gIlxcdTAwMDlzdHJcXHUwMDA5aW5nXFx1MDAwOSInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCInXHRzdHJcdGluZ1x0JyIpICE9PSAiXHRzdHJcdGluZ1x0IikgewogICRFUlJPUignIzI6IGV2YWwoIlwnXFx0c3RyXFx0aW5nXFx0XCciKSA9PT0gIlxcdHN0clxcdGluZ1xcdCInKTsKfQoK","commentary":"HORIZONTAL TAB (U+0009) may occur within strings","description":"Use HORIZONTAL TAB(\\u0009 and \\t)","path":"TestCases/ch07/7.2/S7.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBIT1JJWk9OVEFMIFRBQgogKi8KCi8vQ0hFQ0sjMQppZiAoIglzdHIJaW5nCSIgIT09ICJcdTAwMDlzdHJcdTAwMDlpbmdcdTAwMDkiKSB7CiAgJEVSUk9SKCcjMTogIglzdHIJaW5nCSIgPT09ICJcXHUwMDA5c3RyXFx1MDAwOWluZ1xcdTAwMDkiJyk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) may occur within strings","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQihcdTAwMEIgYW5kIFx2KQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMEJzdHJcdTAwMEJpbmdcdTAwMEInIikgIT09ICJcdTAwMEJzdHJcdTAwMEJpbmdcdTAwMEIiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBCc3RyXFx1MDAwQmluZ1xcdTAwMEJcJyIpID09PSAiXFx1MDAwQnN0clxcdTAwMEJpbmdcXHUwMDBCIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIidcdnN0clx2aW5nXHYnIikgIT09ICJcdnN0clx2aW5nXHYiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCdcXHZzdHJcXHZpbmdcXHZcJyIpID09PSAiXFx2c3RyXFx2aW5nXFx2IicpOwp9Cgo=","commentary":"VERTICAL TAB (U+000B) may occur within strings","description":"Use VERTICAL TAB(\\u000B and \\v)","path":"TestCases/ch07/7.2/S7.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgVkVSVElDQUwgVEFCCiAqLwoKLy9DSEVDSyMxCmlmICgiC3N0cgtpbmcLIiAhPT0gIlx1MDAwQnN0clx1MDAwQmluZ1x1MDAwQiIpIHsKICAkRVJST1IoJyMxOiAiC3N0cgtpbmcLIiA9PT0gIlxcdTAwMEJzdHJcXHUwMDBCaW5nXFx1MDAwQiInKTsKfQoK","commentary":"VERTICAL TAB (U+000B) may occur within strings","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRChcdTAwMEMgYW5kIFxmKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMENzdHJcdTAwMENpbmdcdTAwMEMnIikgIT09ICJcdTAwMENzdHJcdTAwMENpbmdcdTAwMEMiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBDc3RyXFx1MDAwQ2luZ1xcdTAwMENcJyIpID09PSAiXFx1MDAwQ3N0clxcdTAwMENpbmdcXHUwMDBDIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIidcZnN0clxmaW5nXGYnIikgIT09ICJcZnN0clxmaW5nXGYiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCdcXGZzdHJcXGZpbmdcXGZcJyIpID09PSAiXFxmc3RyXFxmaW5nXFxmIicpOwp9Cgo=","commentary":"FORM FEED (U+000C) may occur within strings","description":"Use FORM FEED(\\u000C and \\f)","path":"TestCases/ch07/7.2/S7.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgRk9STSBGRUVECiAqLwoKLy9DSEVDSyMxCmlmICgiDHN0cgxpbmcMIiAhPT0gIlx1MDAwQ3N0clx1MDAwQ2luZ1x1MDAwQyIpIHsKICAkRVJST1IoJyMxOiAiDHN0cgxpbmcMIiA9PT0gIlxcdTAwMENzdHJcXHUwMDBDaW5nXFx1MDAwQyInKTsKfQoK","commentary":"FORM FEED (U+000C) may occur within strings","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgU1BBQ0UoXHUwMDIwKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAnIikgIT09ICJcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDIwc3RyXFx1MDAyMGluZ1xcdTAwMjBcJyIpID09PSAiXFx1MDAyMHN0clxcdTAwMjBpbmdcXHUwMDIwIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIicgc3RyIGluZyAnIikgIT09ICIgc3RyIGluZyAiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCcgc3RyIGluZyBcJyIpID09PSAiIHN0ciBpbmcgIicpOwp9Cgo=","commentary":"SPACE (U+0020) may occur within strings","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBTUEFDRQogKi8KCi8vQ0hFQ0sjMQppZiAoIiBzdHIgaW5nICIgIT09ICJcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAiKSB7CiAgJEVSUk9SKCcjMTogIiBzdHIgaW5nICIgPT09ICJcXHUwMDIwc3RyXFx1MDAyMGluZ1xcdTAwMjAiJyk7Cn0KCg==","commentary":"SPACE (U+0020) may occur within strings","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAnIikgIT09ICJcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMEEwc3RyXFx1MDBBMGluZ1xcdTAwQTBcJyIpID09PSAiXFx1MDBBMHN0clxcdTAwQTBpbmdcXHUwMEEwIicpOwp9Cgo=","commentary":"NO-BREAK SPACE (U+00A0) may occur within strings","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBOTy1CUkVBSyBTUEFDRQogKi8KCi8vQ0hFQ0sjMQppZiAoIsKgc3RywqBpbmfCoCIgIT09ICJcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAiKSB7CiAgJEVSUk9SKCcjMTogIsKgc3RywqBpbmfCoCIgPT09ICJcXHUwMEEwc3RyXFx1MDBBMGluZ1xcdTAwQTAiJyk7Cn0KCg==","commentary":"NO-BREAK SPACE (U+00A0) may occur within strings","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A2.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEhPUklaT05UQUwgVEFCIChVKzAwMDkpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEhPUklaT05UQUwgVEFCKFx1MDAwOSkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMDA5IHNpbmdsZSBsaW5lIFx1MDAwOSBjb21tZW50IFx1MDAwOSIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwMDkgc2luZ2xlIGxpbmUgXHUwMDA5IGNvbW1lbnQgXHUwMDA5IHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMDA5IHNpbmdsZSBsaW5lIFxcdTAwMDkgY29tbWVudCBcXHUwMDA5IHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain HORIZONTAL TAB (U+0009)","description":"Use HORIZONTAL TAB(\\u0009)","path":"TestCases/ch07/7.2/S7.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEhPUklaT05UQUwgVEFCIChVKzAwMDkpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgSE9SSVpPTlRBTCBUQUIKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovLwlzaW5nbGUJbGluZQljb21tZW50CXggPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLy8Jc2luZ2xlCWxpbmUJY29tbWVudAl4ID0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comment can contain HORIZONTAL TAB (U+0009)","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBWRVJUSUNBTCBUQUIoXHUwMDBCKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEIgc2luZ2xlIGxpbmUgXHUwMDBCIGNvbW1lbnQgXHUwMDBCIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvL1x1MDAwQiBzaW5nbGUgbGluZSBcdTAwMEIgY29tbWVudCBcdTAwMEIgeCA9IDE7Iik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvL1xcdTAwMEIgc2luZ2xlIGxpbmUgXFx1MDAwQiBjb21tZW50IFxcdTAwMEIgeCA9IDE7Iik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comment can contain VERTICAL TAB (U+000B)","description":"Use VERTICAL TAB(\\u000B)","path":"TestCases/ch07/7.2/S7.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSByZWFsIFZFUlRJQ0FMIFRBQgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7Ci8vDHNpbmdsZQxsaW5lDGNvbW1lbnQMeCA9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvLwxzaW5nbGUMbGluZQxjb21tZW50DHggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain VERTICAL TAB (U+000B)","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEZPUk0gRkVFRCAoVSswMDBDKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBGT1JNIEZFRUQoXHUwMDBDKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEMgc2luZ2xlIGxpbmUgXHUwMDBDIGNvbW1lbnQgXHUwMDBDIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvL1x1MDAwQyBzaW5nbGUgbGluZSBcdTAwMEMgY29tbWVudCBcdTAwMEMgeCA9IDE7Iik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvL1xcdTAwMEMgc2luZ2xlIGxpbmUgXFx1MDAwQyBjb21tZW50IFxcdTAwMEMgeCA9IDE7Iik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comment can contain FORM FEED (U+000C)","description":"Use FORM FEED(\\u000C)","path":"TestCases/ch07/7.2/S7.2_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEZPUk0gRkVFRCAoVSswMDBDKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSByZWFsIEZPUk0gRkVFRAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7Ci8vC3NpbmdsZQtsaW5lC2NvbW1lbnQLeCA9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvLwtzaW5nbGULbGluZQtjb21tZW50C3ggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain FORM FEED (U+000C)","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFNQQUNFIChVKzAwMjApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFNQQUNFKFx1MDAyMCkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMDIwIHNpbmdsZSBsaW5lIFx1MDAyMCBjb21tZW50IFx1MDAyMCIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwMjAgc2luZ2xlIGxpbmUgXHUwMDIwIGNvbW1lbnQgXHUwMDIwIHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMDIwIHNpbmdsZSBsaW5lIFxcdTAwMjAgY29tbWVudCBcXHUwMDIwIHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain SPACE (U+0020)","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFNQQUNFIChVKzAwMjApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgU1BBQ0UKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovLyBzaW5nbGUgbGluZSBjb21tZW50IHggPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLy8gc2luZ2xlIGxpbmUgY29tbWVudCB4ID0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comment can contain SPACE (U+0020)","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIE5PLUJSRUFLIFNQQUNFKFx1MDBBMCkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMEEwIHNpbmdsZSBsaW5lIFx1MDBBMCBjb21tZW50IFx1MDBBMCIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwQTAgc2luZ2xlIGxpbmUgXHUwMEEwIGNvbW1lbnQgXHUwMEEwIHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMEEwIHNpbmdsZSBsaW5lIFxcdTAwQTAgY29tbWVudCBcXHUwMEEwIHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A3.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgTk8tQlJFQUsgU1BBQ0UKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovL8Kgc2luZ2xlwqBsaW5lwqBjb21tZW50wqB4ID0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8vwqBzaW5nbGXCoGxpbmXCoGNvbW1lbnTCoHggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A3.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gSE9SSVpPTlRBTCBUQUIgKFUrMDAwOSkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgSE9SSVpPTlRBTCBUQUIoXHUwMDA5KQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMDkgbXVsdGkgbGluZSBcdTAwMDkgY29tbWVudCBcdTAwMDkqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMDkgbXVsdGkgbGluZSBcdTAwMDkgY29tbWVudCBcdTAwMDkgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwOSBtdWx0aSBsaW5lIFxcdTAwMDkgY29tbWVudCBcXHUwMDA5IHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain HORIZONTAL TAB (U+0009)","description":"Use HORIZONTAL TAB(\\u0009)","path":"TestCases/ch07/7.2/S7.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gSE9SSVpPTlRBTCBUQUIgKFUrMDAwOSkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBIT1JJWk9OVEFMIFRBQgogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyoJbXVsdGkJbGluZQljb21tZW50CXggPSAxOyovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKgltdWx0aQlsaW5lCWNvbW1lbnQJeCA9IDE7Ki8geCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain HORIZONTAL TAB (U+0009)","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gVkVSVElDQUwgVEFCIChVKzAwMEIpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQihcdTAwMEIpCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvKlx1MDAwQiBtdWx0aSBsaW5lIFx1MDAwQiBjb21tZW50IFx1MDAwQiovIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvKlx1MDAwQiBtdWx0aSBsaW5lIFx1MDAwQiBjb21tZW50IFx1MDAwQiB4ID0gMTsqLyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLypcXHUwMDBCIG11bHRpIGxpbmUgXFx1MDAwQiBjb21tZW50IFxcdTAwMEIgeCA9IDE7Ki8iKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain VERTICAL TAB (U+000B)","description":"Use VERTICAL TAB(\\u000B)","path":"TestCases/ch07/7.2/S7.2_A4.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gVkVSVElDQUwgVEFCIChVKzAwMEIpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgVkVSVElDQUwgVEFCCiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgxtdWx0aQxsaW5lDGNvbW1lbnQMeCA9IDE7Ki8KaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8qDG11bHRpDGxpbmUMY29tbWVudAx4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain VERTICAL TAB (U+000B)","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A4.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gRk9STSBGRUVEIChVKzAwMEMpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRChcdTAwMEMpCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvKlx1MDAwQyBtdWx0aSBsaW5lIFx1MDAwQyBjb21tZW50IFx1MDAwQyovIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvKlx1MDAwQyBtdWx0aSBsaW5lIFx1MDAwQyBjb21tZW50IFx1MDAwQyB4ID0gMTsqLyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLypcXHUwMDBDIG11bHRpIGxpbmUgXFx1MDAwQyBjb21tZW50IFxcdTAwMEMgeCA9IDE7Ki8iKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain FORM FEED (U+000C)","description":"Use FORM FEED(\\u000C)","path":"TestCases/ch07/7.2/S7.2_A4.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gRk9STSBGRUVEIChVKzAwMEMpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgRk9STSBGRUVECiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgttdWx0aQtsaW5lC2NvbW1lbnQLeCA9IDE7Ki8KaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8qC211bHRpC2xpbmULY29tbWVudAt4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain FORM FEED (U+000C)","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A4.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gU1BBQ0UgKFUrMDAyMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgU1BBQ0UoXHUwMDIwKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMjAgbXVsdGkgbGluZSBcdTAwMjAgY29tbWVudCBcdTAwMjAqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMjAgbXVsdGkgbGluZSBcdTAwMjAgY29tbWVudCBcdTAwMjAgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAyMCBtdWx0aSBsaW5lIFxcdTAwMjAgY29tbWVudCBcXHUwMDIwIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain SPACE (U+0020)","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A4.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gU1BBQ0UgKFUrMDAyMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBTUEFDRQogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyogbXVsdGkgbGluZSBjb21tZW50IHggPSAxOyovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKiBtdWx0aSBsaW5lIGNvbW1lbnQgeCA9IDE7Ki8geCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain SPACE (U+0020)","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A4.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTk8tQlJFQUsgU1BBQ0UgKFUrMDBBMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwQTAgbXVsdGkgbGluZSBcdTAwQTAgY29tbWVudCBcdTAwQTAqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwQTAgbXVsdGkgbGluZSBcdTAwQTAgY29tbWVudCBcdTAwQTAgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDBBMCBtdWx0aSBsaW5lIFxcdTAwQTAgY29tbWVudCBcXHUwMEEwIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A4.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTk8tQlJFQUsgU1BBQ0UgKFUrMDBBMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBOTy1CUkVBSyBTUEFDRQogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyrCoG11bHRpwqBsaW5lwqBjb21tZW50wqB4ID0gMTsqLwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLyrCoG11bHRpwqBsaW5lwqBjb21tZW50wqB4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A4.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFRBQiAoVSswMDA5KQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMDl4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use TAB (U+0009)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMEJ4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use VERTICAL TAB (U+000B)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRCAoVSswMDBDKQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMEN4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use FORM FEED (U+000C)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFNQQUNFIChVKzAwMjApCiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MDAyMHg7Cgo=","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use SPACE (U+0020)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MDBBMHg7Cgo=","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use NO-BREAK SPACE (U+00A0)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gwNy83LjMvNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiA3LjMgLSBFUzUgcmVjb2duaXplcyB0aGUgY2hhcmFjdGVyIDxMUz4gKFx1MjAyOCkgYXMgbGluZSB0ZXJtaW5hdG9ycyB3aGVuIHBhcnNpbmcgc3RhdGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGV2YWwoInZhciB0ZXN0N18zXzFcdTIwMjhwcm9wID0gNjY7Iik7DQogICAgICAgIHJldHVybiAocHJvcCA9PT0gNjYpICYmICgodHlwZW9mIHRlc3Q3XzNfMSkgPT09ICJ1bmRlZmluZWQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as line terminators when parsing statements","path":"TestCases/ch07/7.3/7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSByZWNvZ25pemVzIHRoZSBjaGFyYWN0ZXIgPFBTPiAoXHUyMDI5KSBhcyBhIE5vbkVzY2FwZUNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcHJvcCA9IFxcdTIwMjk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as a NonEscapeCharacter","path":"TestCases/ch07/7.3/7.3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMS5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxMUz4gKFx1MjAyOCkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUyMDI4IHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u2028) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMi5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxQUz4gKFx1MjAyOSkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUyMDI5IHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u2029) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxDUj4gKFx1MDAwRCkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUwMDBEIHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u000D) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxMRj4gKFx1MDAwQSkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUwMDBBIHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u000A) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSByZWNvZ25pemUgPEJPTT4gKFx1RkZGRikgYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm9wID0gImFcdUZGRkZhIjsNCiAgICAgICAgcmV0dXJuIHByb3AubGVuZ3RoID09PSAzICYmIHByb3AgIT09ICJhYSIgJiYgcHJvcFsxXSA9PT0gIlx1RkZGRiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognize (\\uFFFF) as a whitespace character","path":"TestCases/ch07/7.3/7.3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIGxpbmUgdGVybWluYXRvcnMgd2hlbiBwYXJzaW5nIHN0YXRlbWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgdGVzdDdfM18yXHUyMDI5cHJvcCA9IDY2OyIpOw0KICAgICAgICByZXR1cm4gKHByb3A9PT02NikgJiYgKCh0eXBlb2YgdGVzdDdfM18yKSA9PT0gInVuZGVmaW5lZCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as line terminators when parsing statements","path":"TestCases/ch07/7.3/7.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIFNpbmdsZUxpbmVDb21tZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIvL1NpbmdsZSBMaW5lIENvbW1lbnRzXHUyMDI4IHZhciA9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating SingleLineComments","path":"TestCases/ch07/7.3/7.3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy00LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIFNpbmdsZUxpbmVDb21tZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIvL1NpbmdsZSBMaW5lIENvbW1lbnRzXHUyMDI5IHZhciA9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating SingleLineComments","path":"TestCases/ch07/7.3/7.3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy01LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIHN0cmluZyBsaXRlcmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3AgPSAiNjZcdTIwMjgxMjMiOw0KICAgICAgICByZXR1cm4gcHJvcCA9PT0gIjY2XHUyMDI4MTIzIiAmJiBwcm9wWzJdID09PSAiXHUyMDI4IiAmJiBwcm9wLmxlbmd0aCA9PT0gNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating string literal","path":"TestCases/ch07/7.3/7.3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy02LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIHN0cmluZyBsaXRlcmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3AgPSAiNjZcdTIwMjkxMjMiOw0KICAgICAgICByZXR1cm4gcHJvcCA9PT0gIjY2XHUyMDI5MTIzIiAmJiBwcm9wWzJdID09PSAiXHUyMDI5IiAmJiBwcm9wLmxlbmd0aCA9PT0gNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating string literal","path":"TestCases/ch07/7.3/7.3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy03LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcmVnRXhwID0gIC9bXHUyMDI4XS8iKTsNCiAgICAgICAgICAgIHJlZ0V4cC50ZXN0KCIiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating regular expression literals","path":"TestCases/ch07/7.3/7.3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy04LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcmVnRXhwID0gIC9bXHUyMDI5XS8iKTsNCiAgICAgICAgICAgIHJlZ0V4cC50ZXN0KCIiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating regular expression literals","path":"TestCases/ch07/7.3/7.3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy05LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIGEgTm9uRXNjYXBlQ2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwcm9wID0gXFx1MjAyODsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as a NonEscapeCharacter","path":"TestCases/ch07/7.3/7.3-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBGRUVEIChcdTAwMEEgYW5kIFxuKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEF2YXJcdTAwMEF4XHUwMDBBPVx1MDAwQTFcdTAwMEEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBBdmFyXFx1MDAwQXhcXHUwMDBBPVxcdTAwMEExXFx1MDAwQSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBBIiArICJ2YXIiICsgIlx1MDAwQSIgKyAieCIgKyAiXHUwMDBBIiArICI9IiArICJcdTAwMEEiICsgIjEiICsgIlx1MDAwQSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEEiICsgInZhciIgKyAiXFx1MDAwQSIgKyAieCIgKyAiXFx1MDAwQSIgKyAiPSIgKyAiXFx1MDAwQSIgKyAiMSIgKyAiXFx1MDAwQSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXG52YXJcbnhcbj1cbjFcbiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcbnZhclxcbnhcXG49XFxuMVxcbiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXG4iICsgInZhciIgKyAiXG4iICsgIngiICsgIlxuIiArICI9IiArICJcbiIgKyAiMSIgKyAiXG4iKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXG4iICsgInZhciIgKyAiXFxuIiArICJ4IiArICJcXG4iICsgIj0iICsgIlxcbiIgKyAiMSIgKyAiXFxuIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEEiICsgInZhciIgKyAiXG4iICsgIngiICsgIlx1MDAwQSIgKyAiPSIgKyAiXG4iICsgIjEiICsgIlx1MDAwQSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEEiICsgInZhciIgKyAiXFxuIiArICJ4IiArICJcXHUwMDBBIiArICI9IiArICJcXG4iICsgIjEiICsgIlxcdTAwMEEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"LINE FEED (U+000A) may occur between any two tokens","description":"Insert LINE FEED (\\u000A and \\n) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBMSU5FIEZFRUQgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vQ0hFQ0sjMQp2YXIKeAo9CjE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG4xXFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"LINE FEED (U+000A) may occur between any two tokens","description":"Insert real LINE FEED between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgQ0FSUklBR0UgUkVUVVJOIChcdTAwMEQgYW5kIFxyKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMER2YXJcdTAwMER4XHUwMDBEPVx1MDAwRDFcdTAwMEQiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBEdmFyXFx1MDAwRHhcXHUwMDBEPVxcdTAwMEQxXFx1MDAwRCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBEIiArICJ2YXIiICsgIlx1MDAwRCIgKyAieCIgKyAiXHUwMDBEIiArICI9IiArICJcdTAwMEQiICsgIjEiICsgIlx1MDAwRCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEQiICsgInZhciIgKyAiXFx1MDAwRCIgKyAieCIgKyAiXFx1MDAwRCIgKyAiPSIgKyAiXFx1MDAwRCIgKyAiMSIgKyAiXFx1MDAwRCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXHJ2YXJccnhccj1ccjFcciIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxccnZhclxccnhcXHI9XFxyMVxcciIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXHIiICsgInZhciIgKyAiXHIiICsgIngiICsgIlxyIiArICI9IiArICJcciIgKyAiMSIgKyAiXHIiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHIiICsgInZhciIgKyAiXFxyIiArICJ4IiArICJcXHIiICsgIj0iICsgIlxcciIgKyAiMSIgKyAiXFxyIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEQiICsgInZhciIgKyAiXHIiICsgIngiICsgIlx1MDAwRCIgKyAiPSIgKyAiXHIiICsgIjEiICsgIlx1MDAwRCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEQiICsgInZhciIgKyAiXFxyIiArICJ4IiArICJcXHUwMDBEIiArICI9IiArICJcXHIiICsgIjEiICsgIlxcdTAwMEQiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"CARRIAGE RETURN (U+000D) may occur between any two tokens","description":"Insert CARRIAGE RETURN (\\u000D and \\r) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBDQVJSSUFHRSBSRVRVUk4gYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vQ0hFQ0sjMQp2YXIKeAo9CjE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG4xXFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"CARRIAGE RETURN (U+000D) may occur between any two tokens","description":"Insert real CARRIAGE RETURN between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBtYXkgb2NjdXIgYmV0d2VlbiBhbnkgdHdvIHRva2VucwogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0ExLjMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoXHUyMDI4KSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyODFcdTIwMjgiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjgxXFx1MjAyOCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUyMDI4IiArICJ2YXIiICsgIlx1MjAyOCIgKyAieCIgKyAiXHUyMDI4IiArICI9IiArICJcdTIwMjgiICsgIjEiICsgIlx1MjAyOCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTIwMjgiICsgInZhciIgKyAiXFx1MjAyOCIgKyAieCIgKyAiXFx1MjAyOCIgKyAiPSIgKyAiXFx1MjAyOCIgKyAiMSIgKyAiXFx1MjAyOCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"LINE SEPARATOR (U+2028) may occur between any two tokens","description":"Insert LINE SEPARATOR (\\u2028) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIG1heSBvY2N1ciBiZXR3ZWVuIGFueSB0d28gdG9rZW5zCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTEuNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFBBUkFHUkFQSCBTRVBBUkFUT1IgKFx1MjAyOSkgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vIENIRUNLIzEKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjkxXHUyMDI5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5MVxcdTIwMjkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIlx1MjAyOSIgKyAidmFyIiArICJcdTIwMjkiICsgIngiICsgIlx1MjAyOSIgKyAiPSIgKyAiXHUyMDI5IiArICIxIiArICJcdTIwMjkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiBldmFsKCJcXHUyMDI5IiArICJ2YXIiICsgIlxcdTIwMjkiICsgIngiICsgIlxcdTIwMjkiICsgIj0iICsgIlxcdTIwMjkiICsgIjEiICsgIlxcdTIwMjkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCgoK","commentary":"PARAGRAPH SEPARATOR (U+2029) may occur between any two tokens","description":"Insert PARAGRAPH SEPARATOR (\\u2029) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBGRUVEIChcdTAwMEEpIGludG8gc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMEFzdHJcdTAwMEFpbmdcdTAwMEEnIikgPT09ICJcdTAwMEFzdHJcdTAwMEFpbmdcdTAwMEEiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBBc3RyXFx1MDAwQWluZ1xcdTAwMEFcJyIpID09PSAiXFx1MDAwQXN0clxcdTAwMEFpbmdcXHUwMDBBIicpOwp9Cgo=","commentary":"LINE FEED (U+000A) within strings is not allowed","description":"Insert LINE FEED (\\u000A) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBMSU5FIEZFRUQgaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCiIKc3RyCmluZwoiOwoK","commentary":"LINE FEED (U+000A) within strings is not allowed","description":"Use real LINE FEED into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgQ0FSUklBR0UgUkVUVVJOIChcdTAwMEQpIGludG8gc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMERzdHJcdTAwMERpbmdcdTAwMEQnIikgPT09ICJcdTAwMERzdHJcdTAwMERpbmdcdTAwMEQiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBEc3RyXFx1MDAwRGluZ1xcdTAwMERcJyIpID09PSAiXFx1MDAwRHN0clxcdTAwMERpbmdcXHUwMDBEIicpOwp9Cgo=","commentary":"CARRIAGE RETURN (U+000D) within strings is not allowed","description":"Insert CARRIAGE RETURN (\\u000D) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBDQVJSSUFHRSBSRVRVUk4gaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCiIKc3RyCmluZwoiOwoK","commentary":"CARRIAGE RETURN (U+000D) within strings is not allowed","description":"Insert real CARRIAGE RETURN into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSB3aXRoaW4gc3RyaW5ncyBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EyLjMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoXHUyMDI4KSBpbnRvIHN0cmluZwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmlmIChldmFsKCInXHUyMDI4c3RyXHUyMDI4aW5nXHUyMDI4JyIpID09PSAiXHUyMDI4c3RyXHUyMDI4aW5nXHUyMDI4IikgewogICRFUlJPUignIzE6IGV2YWwoIlwnXFx1MjAyOHN0clxcdTIwMjhpbmdcXHUyMDI4XCciKSA9PT0gIlxcdTIwMjhzdHJcXHUyMDI4aW5nXFx1MjAyOCInKTsKfQoK","commentary":"LINE SEPARATOR (U+2028) within strings is not allowed","description":"Insert LINE SEPARATOR (\\u2028) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIHdpdGhpbiBzdHJpbmdzIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFBBUkFHUkFQSCBTRVBBUkFUT1IgKFx1MjAyOSkgaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQppZiAoZXZhbCgiJ1x1MjAyOXN0clx1MjAyOWluZ1x1MjAyOSciKSA9PT0gIlx1MjAyOXN0clx1MjAyOWluZ1x1MjAyOSIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcJ1xcdTIwMjlzdHJcXHUyMDI5aW5nXFx1MjAyOVwnIikgPT09ICJcXHUyMDI5c3RyXFx1MjAyOWluZ1xcdTIwMjkiJyk7Cn0KCg==","commentary":"PARAGRAPH SEPARATOR (U+2029) within strings is not allowed","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFx1MDAwQSkgaW50byBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgXHUwMDBBIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert LINE FEED (\\u000A) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFx1MDAwQSkgaW50byBiZWdpbiBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEEgc2luZ2xlIGxpbmUgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert LINE FEED (\\u000A) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCByZWFsIExJTkUgRkVFRCBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQovL3NpbmdsZSAKbGluZSBjb21tZW50Cgo=","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert real LINE FEED into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFx1MDAwRCkgaW50byBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgXHUwMDBEIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert CARRIAGE RETURN (\\u000D) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFx1MDAwRCkgaW50byBiZWdpbiBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEQgc2luZ2xlIGxpbmUgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert CARRIAGE RETURN (\\u000D) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCByZWFsIENBUlJJQUdFIFJFVFVSTiBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQovL3NpbmdsZSAKbGluZSBjb21tZW50Cgo=","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert real CARRIAGE RETURN into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW5zaWRlCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgU0VQQVJBVE9SIChcdTIwMjgpIGludG8gc2luZ2xlIGxpbmUgY29tbWVudAogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIFx1MjAyOCBjb21tZW50Iik7Cgo=","commentary":"Single line comments can not contain LINE SEPARATOR (U+2028) inside","description":"Insert LINE SEPARATOR (\\u2028) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW5zaWRlCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTMuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgU0VQQVJBVE9SIChcdTIwMjgpIGludG8gYmVnaW4gb2Ygc2luZ2xlIGxpbmUgY29tbWVudAogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUyMDI4IHNpbmdsZSBsaW5lIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain LINE SEPARATOR (U+2028) inside","description":"Insert LINE SEPARATOR (\\u2028) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnNpZGUKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMy40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoXHUyMDI5KSBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvLyBzaW5nbGUgbGluZSBcdTIwMjkgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnNpZGUKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMy40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoXHUyMDI5KSBpbnRvIGJlZ2luIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvL1x1MjAyOSBzaW5nbGUgbGluZSBjb21tZW50Iik7Cgo=","commentary":"Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFUrMDAwQSkgaW50byB0aGUgZW5kIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTAwMEEiKTsKCi8vIENIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUwMDBBIHggPSAxOyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFxcdTAwMEEgeCA9IDE7Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert LINE FEED (U+000A) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgaW50byB0aGUgZW5kIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTAwMEQiKTsKCi8vIENIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUwMDBEIHggPSAxOyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFxcdTAwMEQgeCA9IDE7Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert CARRIAGE RETURN (U+000D) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBpbnRvIHRoZSBlbmQgb2Ygc2luZ2xlIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFx1MjAyOCIpOwoKLy8gQ0hFQ0sjMgp2YXIgeCA9IDA7CmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTIwMjggeCA9IDE7Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XFx1MjAyOCB4ID0gMTsiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert LINE SEPARATOR (U+2028) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIGludG8gdGhlIGVuZCBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUyMDI5Iik7CgovLyBDSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFx1MjAyOSB4ID0gMTsiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcXHUyMDI5IHggPSAxOyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert PARAGRAPH SEPARATOR (U+2029) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgRkVFRCAoVSswMDBBKSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMEEgbXVsdGkgbGluZSBcdTAwMEEgY29tbWVudCBcdTAwMEEqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMEEgbXVsdGkgbGluZSBcdTAwMEEgY29tbWVudCBcdTAwMEEgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwQSBtdWx0aSBsaW5lIFxcdTAwMEEgY29tbWVudCBcXHUwMDBBIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain LINE FEED (U+000A)","description":"Insert LINE FEED (U+000A) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgTElORSBGRUVEIGludG8gbXVsdGkgbGluZSBjb21tZW50CiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgptdWx0aQpsaW5lCmNvbW1lbnQKeCA9IDE7CiovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKlxcbm11bHRpXFxubGluZVxcbmNvbW1lbnRcXG54ID0gMTtcXG4qLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain LINE FEED (U+000A)","description":"Insert real LINE FEED into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IENBUlJJQUdFIFJFVFVSTiAoVSswMDBEKSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMEQgbXVsdGkgbGluZSBcdTAwMEQgY29tbWVudCBcdTAwMEQqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMEQgbXVsdGkgbGluZSBcdTAwMEQgY29tbWVudCBcdTAwMEQgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwRCBtdWx0aSBsaW5lIFxcdTAwMEQgY29tbWVudCBcXHUwMDBEIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain CARRIAGE RETURN (U+000D)","description":"Insert CARRIAGE RETURN (U+000D) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgQ0FSUklBR0UgUkVUVVJOIGludG8gbXVsdGkgbGluZSBjb21tZW50CiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgptdWx0aQpsaW5lCmNvbW1lbnQKeCA9IDE7CiovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKlxccm11bHRpXFxybGluZVxccmNvbW1lbnRcXHJ4ID0gMTtcXHIqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain CARRIAGE RETURN (U+000D)","description":"Insert real CARRIAGE RETURN into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW50byBtdWx0aSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8qXHUyMDI4IG11bHRpIGxpbmUgXHUyMDI4IGNvbW1lbnQgXHUyMDI4Ki8iKTsKCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7CmV2YWwoIi8qXHUyMDI4IG11bHRpIGxpbmUgXHUyMDI4IGNvbW1lbnQgXHUyMDI4IHggPSAxOyovIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvKlxcdTIwMjggbXVsdGkgbGluZSBcXHUyMDI4IGNvbW1lbnQgXFx1MjAyOCB4ID0gMTsqLyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain LINE SEPARATOR (U+2028)","description":"Insert LINE SEPARATOR (U+2028) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOSkKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTIwMjkgbXVsdGkgbGluZSBcdTIwMjkgY29tbWVudCBcdTIwMjkqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTIwMjkgbXVsdGkgbGluZSBcdTIwMjkgY29tbWVudCBcdTIwMjkgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MjAyOSBtdWx0aSBsaW5lIFxcdTIwMjkgY29tbWVudCBcXHUyMDI5IHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain LINE SEPARATOR (U+2029)","description":"Insert PARAGRAPH SEPARATOR (U+2029) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFUrMDAwQSkgaW4gdmFyIHgKICogQG5lZ2F0aXZlCiAqLwoKdmFyXHUwMDBBeDsKCg==","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert LINE FEED (U+000A) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgaW4gdmFyIHgKICogQG5lZ2F0aXZlCiAqLwoKdmFyXHUwMDBEeDsKCg==","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert CARRIAGE RETURN (U+000D) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBpbiB2YXIgeAogKiBAbmVnYXRpdmUKICovCgp2YXJcdTIwMjh4OwoK","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert LINE SEPARATOR (U+2028) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIGluIHZhciB4CiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MjAyOXg7Cgo=","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert PARAGRAPH SEPARATOR (U+2029) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSt6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0yOwp2YXIgej0zOwp2YXIKeAo9CnkKKwp6CjsKaWYgKHggIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4rXFxuelxcbjsgeCA9PT0gNS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTI7CnZhciB6PTM7CnZhcgp4Cj0KeQorCnoKOwppZiAoeCAhPT0gNSkgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbitcXG56XFxuOyB4ID09PSA1LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MjsKdmFyIHo9MzsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4K1x1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDUpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCtcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTI7CnZhciB6PTM7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOStcdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSA1KSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjkrXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDUuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y+z","path":"TestCases/ch07/7.3/S7.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eS16CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0zOwp2YXIgej0yOwp2YXIKeAo9CnkKLQp6CjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4tXFxuelxcbjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTM7CnZhciB6PTI7CnZhcgp4Cj0KeQotCnoKOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbi1cXG56XFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MzsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4LVx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOC1cXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTM7CnZhciB6PTI7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOS1cdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjktXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y-z","path":"TestCases/ch07/7.3/S7.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSp6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0zOwp2YXIgej0yOwp2YXIKeAo9CnkKKgp6CjsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4qXFxuelxcbjsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTM7CnZhciB6PTI7CnZhcgp4Cj0KeQoqCnoKOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbipcXG56XFxuOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MzsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4Klx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCpcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTM7CnZhciB6PTI7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOSpcdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjkqXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y*z","path":"TestCases/ch07/7.3/S7.3_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eS96CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0xMjsKdmFyIHo9MjsKdmFyCngKPQp5Ci8Kego7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG55XFxuL1xcbnpcXG47IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMgp2YXIgeT0xMjsKdmFyIHo9MjsKdmFyCngKPQp5Ci8Kego7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogdmFyXFxueFxcbj1cXG55XFxuL1xcbnpcXG47IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMwp2YXIgeT0xMjsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4L1x1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOC9cXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTEyOwp2YXIgej0yOwpldmFsKCJcdTIwMjl2YXJcdTIwMjl4XHUyMDI5PVx1MjAyOXlcdTIwMjkvXHUyMDI5elx1MjAyOSIpOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzQ6IGV2YWwoIlxcdTIwMjl2YXJcXHUyMDI5eFxcdTIwMjk9XFx1MjAyOXlcXHUyMDI5L1xcdTIwMjl6XFx1MjAyOSIpOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y/z","path":"TestCases/ch07/7.3/S7.3_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDUuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSV6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0xNjsKdmFyIHo9MTA7CnZhcgp4Cj0KeQolCnoKOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzE6IHZhclxcbnhcXG49XFxueVxcbiVcXG56XFxuOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzIKdmFyIHk9MTY7CnZhciB6PTEwOwp2YXIKeAo9CnkKJQp6CjsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMyOiB2YXJcXG54XFxuPVxcbnlcXG4lXFxuelxcbjsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMzCnZhciB5PTE2Owp2YXIgej0xMDsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4JVx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCVcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTE2Owp2YXIgej0xMDsKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjl5XHUyMDI5JVx1MjAyOXpcdTIwMjkiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHUyMDI5dmFyXFx1MjAyOXhcXHUyMDI5PVxcdTIwMjl5XFx1MjAyOSVcXHUyMDI5elxcdTIwMjkiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y%z","path":"TestCases/ch07/7.3/S7.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDYuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eT4+egogKi8KCi8vIENIRUNLIzEKdmFyIHk9MTY7CnZhciB6PTM7CnZhcgp4Cj0KeQo+Pgp6CjsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4+PlxcbnpcXG47IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMgp2YXIgeT0xNjsKdmFyIHo9MzsKdmFyCngKPQp5Cj4+CnoKOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbj4+XFxuelxcbjsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMzCnZhciB5PTE2Owp2YXIgej0zOwpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyOHlcdTIwMjg+Plx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOD4+XFx1MjAyOHpcXHUyMDI4Iik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjNAp2YXIgeT0xNjsKdmFyIHo9MzsKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjl5XHUyMDI5Pj5cdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjk+PlxcdTIwMjl6XFx1MjAyOSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y>>z","path":"TestCases/ch07/7.3/S7.3_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDcuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eTw8egogKi8KCi8vIENIRUNLIzEKdmFyIHk9MjsKdmFyIHo9MzsKdmFyCngKPQp5Cjw8CnoKOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG48PFxcbnpcXG47IHggPT09IDE2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzIKdmFyIHk9MjsKdmFyIHo9MzsKdmFyCngKPQp5Cjw8CnoKOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyMyOiB2YXJcXG54XFxuPVxcbnlcXG48PFxcbnpcXG47IHggPT09MTYgJyk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMwp2YXIgeT0yOwp2YXIgej0zOwpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyOHlcdTIwMjg8PFx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDE2KSB7CiAgJEVSUk9SKCcjMzogZXZhbCgiXFx1MjAyOHZhclxcdTIwMjh4XFx1MjAyOD1cXHUyMDI4eVxcdTIwMjg8PFxcdTIwMjh6XFx1MjAyOCIpOyB4ID09PSAxNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTI7CnZhciB6PTM7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOTw8XHUyMDI5elx1MjAyOSIpOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHUyMDI5dmFyXFx1MjAyOXhcXHUyMDI5PVxcdTIwMjl5XFx1MjAyOTw8XFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDE2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y<b) \\n else c=d is not a valid sentence in the ECMAScript grammar","negative":"","path":"TestCases/ch07/7.9/7.9.2/S7.9.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBleGFtcGxlcyBmb3IgYXV0b21hdGljIHNlbWljb2xvbiBpbnNlcnRpb24gZnJvbSB0aGUgU3RhbmRhcnQKICoKICogQHBhdGggY2gwNy83LjkvNy45LjIvUzcuOS4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBhPWIrYyBcbiAoZCtlKS5wcmludCgpIGlzIGEgdmFsaWQgc2VudGVuY2UgaW4gdGhlIEVDTUFTY3JpcHQgZ3JhbW1hciwKICogYW5kIGF1dG9tYXRpYyBzZW1pY29sb24gaW5zZXJ0aW9uIG5vdCBydW4KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gYyAoYSl7CglyZXR1cm4gMiphOwp9Cgp2YXIgYT0xLGI9MixkPTQsZT01OwoKYT1iK2MKKGQrZSkKCmlmIChhICE9PSAyMCkgJEVSUk9SKCcjMTogQXV0b21hdGljIHNlbWljb2xvbiBpbnNlcnRpb24gd29yayB3cm9uZycpOwoK","commentary":"Check examples for automatic semicolon insertion from the Standart","description":"a=b+c \\n (d+e).print() is a valid sentence in the ECMAScript grammar,\nand automatic semicolon insertion not run","path":"TestCases/ch07/7.9/7.9.2/S7.9.2_A1_T7.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch07","numTests":"716","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgSE9SSVpPTlRBTCBUQUIoXHUwMDA5IGFuZCBcdCkgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vIENIRUNLIzEKZXZhbCgiXHUwMDA5dmFyXHUwMDA5eFx1MDAwOT1cdTAwMDkxXHUwMDA5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDAwOXZhclxcdTAwMDl4XFx1MDAwOT1cXHUwMDA5MVxcdTAwMDkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIlx1MDAwOSIgKyAidmFyIiArICJcdTAwMDkiICsgIngiICsgIlx1MDAwOSIgKyAiPSIgKyAiXHUwMDA5IiArICIxIiArICJcdTAwMDkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiBldmFsKCJcXHUwMDA5IiArICJ2YXIiICsgIlxcdTAwMDkiICsgIngiICsgIlxcdTAwMDkiICsgIj0iICsgIlxcdTAwMDkiICsgIjEiICsgIlxcdTAwMDkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCmV2YWwoIlx0dmFyXHR4XHQ9XHQxXHQiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHR2YXJcXHR4XFx0PVxcdDFcXHQiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmV2YWwoIlx0IiArICJ2YXIiICsgIlx0IiArICJ4IiArICJcdCIgKyAiPSIgKyAiXHQiICsgIjEiICsgIlx0Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx0IiArICJ2YXIiICsgIlxcdCIgKyAieCIgKyAiXFx0IiArICI9IiArICJcXHQiICsgIjEiICsgIlxcdCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKZXZhbCgiXHUwMDA5IiArICJ2YXIiICsgIlx0IiArICJ4IiArICJcdTAwMDkiICsgIj0iICsgIlx0IiArICIxIiArICJcdTAwMDkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiBldmFsKCJcXHUwMDA5IiArICJ2YXIiICsgIlxcdCIgKyAieCIgKyAiXFx1MDAwOSIgKyAiPSIgKyAiXFx0IiArICIxIiArICJcXHUwMDA5Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) between any two tokens is allowed","description":"Insert HORIZONTAL TAB(\\u0009 and \\t) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBIT1JJWk9OVEFMIFRBQiBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCgl2YXIgIHgJPQkxCTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiAJdmFyCXgJPQkxCTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIgl2YXJcdHgJPVx0MgkiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiAJdmFyXFx0eAk9XFx0MQk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) between any two tokens is allowed","description":"Insert real HORIZONTAL TAB between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFZFUlRJQ0FMIFRBQihcdTAwMEIgYW5kIFx2KSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEJ2YXJcdTAwMEJ4XHUwMDBCPVx1MDAwQjFcdTAwMEIiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBCdmFyXFx1MDAwQnhcXHUwMDBCPVxcdTAwMEIxXFx1MDAwQiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBCIiArICJ2YXIiICsgIlx1MDAwQiIgKyAieCIgKyAiXHUwMDBCIiArICI9IiArICJcdTAwMEIiICsgIjEiICsgIlx1MDAwQiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEIiICsgInZhciIgKyAiXFx1MDAwQiIgKyAieCIgKyAiXFx1MDAwQiIgKyAiPSIgKyAiXFx1MDAwQiIgKyAiMSIgKyAiXFx1MDAwQiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXHZ2YXJcdnhcdj1cdjFcdiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcdnZhclxcdnhcXHY9XFx2MVxcdiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXHYiICsgInZhciIgKyAiXHYiICsgIngiICsgIlx2IiArICI9IiArICJcdiIgKyAiMSIgKyAiXHYiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHYiICsgInZhciIgKyAiXFx2IiArICJ4IiArICJcXHYiICsgIj0iICsgIlxcdiIgKyAiMSIgKyAiXFx2Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEIiICsgInZhciIgKyAiXHYiICsgIngiICsgIlx1MDAwQiIgKyAiPSIgKyAiXHYiICsgIjEiICsgIlx1MDAwQiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEIiICsgInZhciIgKyAiXFx2IiArICJ4IiArICJcXHUwMDBCIiArICI9IiArICJcXHYiICsgIjEiICsgIlxcdTAwMEIiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"VERTICAL TAB (U+000B) between any two tokens is allowed","description":"Insert VERTICAL TAB(\\u000B and \\v) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgVkVSVElDQUwgVEFCIGJldHdlZW4gdG9rZW5zIG9mIHZhciB4PTEKICovCgovL0NIRUNLIzEKC3Zhcgt4Cz0LMQs7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogC3Zhcgt4Cz0LMQs7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgpldmFsKCILdmFyXHZ4Cz1cdjELIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogC3ZhclxcdngLPVxcdjELOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"VERTICAL TAB (U+000B) between any two tokens is allowed","description":"Insert real VERTICAL TAB between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IEZPUk0gRkVFRChcdTAwMEMgYW5kIFxmKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEN2YXJcdTAwMEN4XHUwMDBDPVx1MDAwQzFcdTAwMEMiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBDdmFyXFx1MDAwQ3hcXHUwMDBDPVxcdTAwMEMxXFx1MDAwQyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBDIiArICJ2YXIiICsgIlx1MDAwQyIgKyAieCIgKyAiXHUwMDBDIiArICI9IiArICJcdTAwMEMiICsgIjEiICsgIlx1MDAwQyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEMiICsgInZhciIgKyAiXFx1MDAwQyIgKyAieCIgKyAiXFx1MDAwQyIgKyAiPSIgKyAiXFx1MDAwQyIgKyAiMSIgKyAiXFx1MDAwQyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXGZ2YXJcZnhcZj1cZjFcZiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcZnZhclxcZnhcXGY9XFxmMVxcZiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXGYiICsgInZhciIgKyAiXGYiICsgIngiICsgIlxmIiArICI9IiArICJcZiIgKyAiMSIgKyAiXGYiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXGYiICsgInZhciIgKyAiXFxmIiArICJ4IiArICJcXGYiICsgIj0iICsgIlxcZiIgKyAiMSIgKyAiXFxmIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEMiICsgInZhciIgKyAiXGYiICsgIngiICsgIlx1MDAwQyIgKyAiPSIgKyAiXGYiICsgIjEiICsgIlx1MDAwQyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEMiICsgInZhciIgKyAiXFxmIiArICJ4IiArICJcXHUwMDBDIiArICI9IiArICJcXGYiICsgIjEiICsgIlxcdTAwMEMiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"FORM FEED (U+000C) between any two tokens is allowed","description":"Insert FORM FEED(\\u000C and \\f) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgYmV0d2VlbiBhbnkgdHdvIHRva2VucyBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgRk9STSBGRUVEIGJldHdlZW4gdG9rZW5zIG9mIHZhciB4PTEKICovCgovL0NIRUNLIzEKDHZhcgx4DD0MMQw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogDHZhcgx4DD0MMQw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgpldmFsKCIMdmFyXGZ4DD1cZjEMIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogDHZhclxcZngMPVxcZjEMOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"FORM FEED (U+000C) between any two tokens is allowed","description":"Insert real FORM FEED between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgU1BBQ0UoXHUwMDIwKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMjB2YXJcdTAwMjB4XHUwMDIwPVx1MDAyMDFcdTAwMjAiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDIwdmFyXFx1MDAyMHhcXHUwMDIwPVxcdTAwMjAxXFx1MDAyMCIpOyB4ID09PSAxOycpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDIwIiArICJ2YXIiICsgIlx1MDAyMCIgKyAieCIgKyAiXHUwMDIwIiArICI9IiArICJcdTAwMjAiICsgIjEiICsgIlx1MDAyMCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMjAiICsgInZhciIgKyAiXFx1MDAyMCIgKyAieCIgKyAiXFx1MDAyMCIgKyAiPSIgKyAiXFx1MDAyMCIgKyAiMSIgKyAiXFx1MDAyMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"SPACE (U+0020) between any two tokens is allowed","description":"Insert SPACE(\\u0020) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBTUEFDRSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCmV2YWwoIlx1MDAyMHZhciB4XHUwMDIwPSAxXHUwMDIwIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDAyMHZhciB4XFx1MDAyMD0gMVxcdTAwMjAiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCiB2YXIgeCA9IDEgOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6ICB2YXIgeCA9IDEgOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"SPACE (U+0020) between any two tokens is allowed","description":"Insert real SPACE between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwQTB2YXJcdTAwQTB4XHUwMEEwPVx1MDBBMDFcdTAwQTAiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMEEwdmFyXFx1MDBBMHhcXHUwMEEwPVxcdTAwQTAxXFx1MDBBMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMEEwIiArICJ2YXIiICsgIlx1MDBBMCIgKyAieCIgKyAiXHUwMEEwIiArICI9IiArICJcdTAwQTAiICsgIjEiICsgIlx1MDBBMCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwQTAiICsgInZhciIgKyAiXFx1MDBBMCIgKyAieCIgKyAiXFx1MDBBMCIgKyAiPSIgKyAiXFx1MDBBMCIgKyAiMSIgKyAiXFx1MDBBMCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"NO-BREAK SPACE (U+00A0) between any two tokens is allowed","description":"Insert NO-BREAK SPACE(\\u00A0) between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBiZXR3ZWVuIGFueSB0d28gdG9rZW5zIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMS41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBOTy1CUkVBSyBTUEFDRSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy9DSEVDSyMxCmV2YWwoIlx1MDBBMHZhciB4XHUwMEEwPSAxXHUwMEEwIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MDBBMHZhciB4XFx1MDBBMD0gMVxcdTAwQTAiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCsKgdmFyIHjCoD0gMcKgOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IMKgdmFyIHjCoD0gMcKgOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"NO-BREAK SPACE (U+00A0) between any two tokens is allowed","description":"Insert real NO-BREAK SPACE between tokens of var x=1","path":"TestCases/ch07/7.2/S7.2_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgSE9SSVpPTlRBTCBUQUIoXHUwMDA5IGFuZCBcdCkKICovCgovLyBDSEVDSyMxCmlmIChldmFsKCInXHUwMDA5c3RyXHUwMDA5aW5nXHUwMDA5JyIpICE9PSAiXHUwMDA5c3RyXHUwMDA5aW5nXHUwMDA5IikgewogICRFUlJPUignIzE6IGV2YWwoIlwnXFx1MDAwOXN0clxcdTAwMDlpbmdcXHUwMDA5XCciKSA9PT0gIlxcdTAwMDlzdHJcXHUwMDA5aW5nXFx1MDAwOSInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCInXHRzdHJcdGluZ1x0JyIpICE9PSAiXHRzdHJcdGluZ1x0IikgewogICRFUlJPUignIzI6IGV2YWwoIlwnXFx0c3RyXFx0aW5nXFx0XCciKSA9PT0gIlxcdHN0clxcdGluZ1xcdCInKTsKfQoK","commentary":"HORIZONTAL TAB (U+0009) may occur within strings","description":"Use HORIZONTAL TAB(\\u0009 and \\t)","path":"TestCases/ch07/7.2/S7.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIT1JJWk9OVEFMIFRBQiAoVSswMDA5KSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBIT1JJWk9OVEFMIFRBQgogKi8KCi8vQ0hFQ0sjMQppZiAoIglzdHIJaW5nCSIgIT09ICJcdTAwMDlzdHJcdTAwMDlpbmdcdTAwMDkiKSB7CiAgJEVSUk9SKCcjMTogIglzdHIJaW5nCSIgPT09ICJcXHUwMDA5c3RyXFx1MDAwOWluZ1xcdTAwMDkiJyk7Cn0KCg==","commentary":"HORIZONTAL TAB (U+0009) may occur within strings","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQihcdTAwMEIgYW5kIFx2KQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMEJzdHJcdTAwMEJpbmdcdTAwMEInIikgIT09ICJcdTAwMEJzdHJcdTAwMEJpbmdcdTAwMEIiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBCc3RyXFx1MDAwQmluZ1xcdTAwMEJcJyIpID09PSAiXFx1MDAwQnN0clxcdTAwMEJpbmdcXHUwMDBCIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIidcdnN0clx2aW5nXHYnIikgIT09ICJcdnN0clx2aW5nXHYiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCdcXHZzdHJcXHZpbmdcXHZcJyIpID09PSAiXFx2c3RyXFx2aW5nXFx2IicpOwp9Cgo=","commentary":"VERTICAL TAB (U+000B) may occur within strings","description":"Use VERTICAL TAB(\\u000B and \\v)","path":"TestCases/ch07/7.2/S7.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWRVJUSUNBTCBUQUIgKFUrMDAwQikgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgVkVSVElDQUwgVEFCCiAqLwoKLy9DSEVDSyMxCmlmICgiC3N0cgtpbmcLIiAhPT0gIlx1MDAwQnN0clx1MDAwQmluZ1x1MDAwQiIpIHsKICAkRVJST1IoJyMxOiAiC3N0cgtpbmcLIiA9PT0gIlxcdTAwMEJzdHJcXHUwMDBCaW5nXFx1MDAwQiInKTsKfQoK","commentary":"VERTICAL TAB (U+000B) may occur within strings","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRChcdTAwMEMgYW5kIFxmKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMENzdHJcdTAwMENpbmdcdTAwMEMnIikgIT09ICJcdTAwMENzdHJcdTAwMENpbmdcdTAwMEMiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBDc3RyXFx1MDAwQ2luZ1xcdTAwMENcJyIpID09PSAiXFx1MDAwQ3N0clxcdTAwMENpbmdcXHUwMDBDIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIidcZnN0clxmaW5nXGYnIikgIT09ICJcZnN0clxmaW5nXGYiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCdcXGZzdHJcXGZpbmdcXGZcJyIpID09PSAiXFxmc3RyXFxmaW5nXFxmIicpOwp9Cgo=","commentary":"FORM FEED (U+000C) may occur within strings","description":"Use FORM FEED(\\u000C and \\f)","path":"TestCases/ch07/7.2/S7.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGT1JNIEZFRUQgKFUrMDAwQykgbWF5IG9jY3VyIHdpdGhpbiBzdHJpbmdzCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgRk9STSBGRUVECiAqLwoKLy9DSEVDSyMxCmlmICgiDHN0cgxpbmcMIiAhPT0gIlx1MDAwQ3N0clx1MDAwQ2luZ1x1MDAwQyIpIHsKICAkRVJST1IoJyMxOiAiDHN0cgxpbmcMIiA9PT0gIlxcdTAwMENzdHJcXHUwMDBDaW5nXFx1MDAwQyInKTsKfQoK","commentary":"FORM FEED (U+000C) may occur within strings","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgU1BBQ0UoXHUwMDIwKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAnIikgIT09ICJcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDIwc3RyXFx1MDAyMGluZ1xcdTAwMjBcJyIpID09PSAiXFx1MDAyMHN0clxcdTAwMjBpbmdcXHUwMDIwIicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIicgc3RyIGluZyAnIikgIT09ICIgc3RyIGluZyAiKSB7CiAgJEVSUk9SKCcjMjogZXZhbCgiXCcgc3RyIGluZyBcJyIpID09PSAiIHN0ciBpbmcgIicpOwp9Cgo=","commentary":"SPACE (U+0020) may occur within strings","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTUEFDRSAoVSswMDIwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBTUEFDRQogKi8KCi8vQ0hFQ0sjMQppZiAoIiBzdHIgaW5nICIgIT09ICJcdTAwMjBzdHJcdTAwMjBpbmdcdTAwMjAiKSB7CiAgJEVSUk9SKCcjMTogIiBzdHIgaW5nICIgPT09ICJcXHUwMDIwc3RyXFx1MDAyMGluZ1xcdTAwMjAiJyk7Cn0KCg==","commentary":"SPACE (U+0020) may occur within strings","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAnIikgIT09ICJcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMEEwc3RyXFx1MDBBMGluZ1xcdTAwQTBcJyIpID09PSAiXFx1MDBBMHN0clxcdTAwQTBpbmdcXHUwMEEwIicpOwp9Cgo=","commentary":"NO-BREAK SPACE (U+00A0) may occur within strings","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOTy1CUkVBSyBTUEFDRSAoVSswMEEwKSBtYXkgb2NjdXIgd2l0aGluIHN0cmluZ3MKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BMi41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBOTy1CUkVBSyBTUEFDRQogKi8KCi8vQ0hFQ0sjMQppZiAoIsKgc3RywqBpbmfCoCIgIT09ICJcdTAwQTBzdHJcdTAwQTBpbmdcdTAwQTAiKSB7CiAgJEVSUk9SKCcjMTogIsKgc3RywqBpbmfCoCIgPT09ICJcXHUwMEEwc3RyXFx1MDBBMGluZ1xcdTAwQTAiJyk7Cn0KCg==","commentary":"NO-BREAK SPACE (U+00A0) may occur within strings","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A2.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEhPUklaT05UQUwgVEFCIChVKzAwMDkpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEhPUklaT05UQUwgVEFCKFx1MDAwOSkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMDA5IHNpbmdsZSBsaW5lIFx1MDAwOSBjb21tZW50IFx1MDAwOSIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwMDkgc2luZ2xlIGxpbmUgXHUwMDA5IGNvbW1lbnQgXHUwMDA5IHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMDA5IHNpbmdsZSBsaW5lIFxcdTAwMDkgY29tbWVudCBcXHUwMDA5IHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain HORIZONTAL TAB (U+0009)","description":"Use HORIZONTAL TAB(\\u0009)","path":"TestCases/ch07/7.2/S7.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEhPUklaT05UQUwgVEFCIChVKzAwMDkpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgSE9SSVpPTlRBTCBUQUIKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovLwlzaW5nbGUJbGluZQljb21tZW50CXggPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLy8Jc2luZ2xlCWxpbmUJY29tbWVudAl4ID0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comment can contain HORIZONTAL TAB (U+0009)","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBWRVJUSUNBTCBUQUIoXHUwMDBCKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEIgc2luZ2xlIGxpbmUgXHUwMDBCIGNvbW1lbnQgXHUwMDBCIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvL1x1MDAwQiBzaW5nbGUgbGluZSBcdTAwMEIgY29tbWVudCBcdTAwMEIgeCA9IDE7Iik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvL1xcdTAwMEIgc2luZ2xlIGxpbmUgXFx1MDAwQiBjb21tZW50IFxcdTAwMEIgeCA9IDE7Iik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comment can contain VERTICAL TAB (U+000B)","description":"Use VERTICAL TAB(\\u000B)","path":"TestCases/ch07/7.2/S7.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSByZWFsIFZFUlRJQ0FMIFRBQgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7Ci8vDHNpbmdsZQxsaW5lDGNvbW1lbnQMeCA9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvLwxzaW5nbGUMbGluZQxjb21tZW50DHggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain VERTICAL TAB (U+000B)","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEZPUk0gRkVFRCAoVSswMDBDKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBGT1JNIEZFRUQoXHUwMDBDKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEMgc2luZ2xlIGxpbmUgXHUwMDBDIGNvbW1lbnQgXHUwMDBDIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvL1x1MDAwQyBzaW5nbGUgbGluZSBcdTAwMEMgY29tbWVudCBcdTAwMEMgeCA9IDE7Iik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvL1xcdTAwMEMgc2luZ2xlIGxpbmUgXFx1MDAwQyBjb21tZW50IFxcdTAwMEMgeCA9IDE7Iik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comment can contain FORM FEED (U+000C)","description":"Use FORM FEED(\\u000C)","path":"TestCases/ch07/7.2/S7.2_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIEZPUk0gRkVFRCAoVSswMDBDKQogKgogKiBAcGF0aCBjaDA3LzcuMi9TNy4yX0EzLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSByZWFsIEZPUk0gRkVFRAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7Ci8vC3NpbmdsZQtsaW5lC2NvbW1lbnQLeCA9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvLwtzaW5nbGULbGluZQtjb21tZW50C3ggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain FORM FEED (U+000C)","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFNQQUNFIChVKzAwMjApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFNQQUNFKFx1MDAyMCkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMDIwIHNpbmdsZSBsaW5lIFx1MDAyMCBjb21tZW50IFx1MDAyMCIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwMjAgc2luZ2xlIGxpbmUgXHUwMDIwIGNvbW1lbnQgXHUwMDIwIHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMDIwIHNpbmdsZSBsaW5lIFxcdTAwMjAgY29tbWVudCBcXHUwMDIwIHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain SPACE (U+0020)","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIFNQQUNFIChVKzAwMjApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgU1BBQ0UKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovLyBzaW5nbGUgbGluZSBjb21tZW50IHggPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLy8gc2luZ2xlIGxpbmUgY29tbWVudCB4ID0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comment can contain SPACE (U+0020)","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIE5PLUJSRUFLIFNQQUNFKFx1MDBBMCkKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUwMEEwIHNpbmdsZSBsaW5lIFx1MDBBMCBjb21tZW50IFx1MDBBMCIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy9cdTAwQTAgc2luZ2xlIGxpbmUgXHUwMEEwIGNvbW1lbnQgXHUwMEEwIHggPSAxOyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy9cXHUwMEEwIHNpbmdsZSBsaW5lIFxcdTAwQTAgY29tbWVudCBcXHUwMEEwIHggPSAxOyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A3.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50IGNhbiBjb250YWluIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTMuNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgTk8tQlJFQUsgU1BBQ0UKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwovL8Kgc2luZ2xlwqBsaW5lwqBjb21tZW50wqB4ID0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8vwqBzaW5nbGXCoGxpbmXCoGNvbW1lbnTCoHggPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A3.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gSE9SSVpPTlRBTCBUQUIgKFUrMDAwOSkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgSE9SSVpPTlRBTCBUQUIoXHUwMDA5KQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMDkgbXVsdGkgbGluZSBcdTAwMDkgY29tbWVudCBcdTAwMDkqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMDkgbXVsdGkgbGluZSBcdTAwMDkgY29tbWVudCBcdTAwMDkgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwOSBtdWx0aSBsaW5lIFxcdTAwMDkgY29tbWVudCBcXHUwMDA5IHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain HORIZONTAL TAB (U+0009)","description":"Use HORIZONTAL TAB(\\u0009)","path":"TestCases/ch07/7.2/S7.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gSE9SSVpPTlRBTCBUQUIgKFUrMDAwOSkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBIT1JJWk9OVEFMIFRBQgogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyoJbXVsdGkJbGluZQljb21tZW50CXggPSAxOyovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKgltdWx0aQlsaW5lCWNvbW1lbnQJeCA9IDE7Ki8geCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain HORIZONTAL TAB (U+0009)","description":"Use real HORIZONTAL TAB","path":"TestCases/ch07/7.2/S7.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gVkVSVElDQUwgVEFCIChVKzAwMEIpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQihcdTAwMEIpCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvKlx1MDAwQiBtdWx0aSBsaW5lIFx1MDAwQiBjb21tZW50IFx1MDAwQiovIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvKlx1MDAwQiBtdWx0aSBsaW5lIFx1MDAwQiBjb21tZW50IFx1MDAwQiB4ID0gMTsqLyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLypcXHUwMDBCIG11bHRpIGxpbmUgXFx1MDAwQiBjb21tZW50IFxcdTAwMEIgeCA9IDE7Ki8iKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain VERTICAL TAB (U+000B)","description":"Use VERTICAL TAB(\\u000B)","path":"TestCases/ch07/7.2/S7.2_A4.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gVkVSVElDQUwgVEFCIChVKzAwMEIpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgVkVSVElDQUwgVEFCCiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgxtdWx0aQxsaW5lDGNvbW1lbnQMeCA9IDE7Ki8KaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8qDG11bHRpDGxpbmUMY29tbWVudAx4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain VERTICAL TAB (U+000B)","description":"Use real VERTICAL TAB","path":"TestCases/ch07/7.2/S7.2_A4.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gRk9STSBGRUVEIChVKzAwMEMpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRChcdTAwMEMpCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvKlx1MDAwQyBtdWx0aSBsaW5lIFx1MDAwQyBjb21tZW50IFx1MDAwQyovIik7CgovL0NIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvKlx1MDAwQyBtdWx0aSBsaW5lIFx1MDAwQyBjb21tZW50IFx1MDAwQyB4ID0gMTsqLyIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLypcXHUwMDBDIG11bHRpIGxpbmUgXFx1MDAwQyBjb21tZW50IFxcdTAwMEMgeCA9IDE7Ki8iKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain FORM FEED (U+000C)","description":"Use FORM FEED(\\u000C)","path":"TestCases/ch07/7.2/S7.2_A4.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gRk9STSBGRUVEIChVKzAwMEMpCiAqCiAqIEBwYXRoIGNoMDcvNy4yL1M3LjJfQTQuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHJlYWwgRk9STSBGRUVECiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgttdWx0aQtsaW5lC2NvbW1lbnQLeCA9IDE7Ki8KaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IC8qC211bHRpC2xpbmULY29tbWVudAt4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain FORM FEED (U+000C)","description":"Use real FORM FEED","path":"TestCases/ch07/7.2/S7.2_A4.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gU1BBQ0UgKFUrMDAyMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgU1BBQ0UoXHUwMDIwKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMjAgbXVsdGkgbGluZSBcdTAwMjAgY29tbWVudCBcdTAwMjAqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMjAgbXVsdGkgbGluZSBcdTAwMjAgY29tbWVudCBcdTAwMjAgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAyMCBtdWx0aSBsaW5lIFxcdTAwMjAgY29tbWVudCBcXHUwMDIwIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain SPACE (U+0020)","description":"Use SPACE(\\u0020)","path":"TestCases/ch07/7.2/S7.2_A4.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gU1BBQ0UgKFUrMDAyMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBTUEFDRQogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyogbXVsdGkgbGluZSBjb21tZW50IHggPSAxOyovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKiBtdWx0aSBsaW5lIGNvbW1lbnQgeCA9IDE7Ki8geCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Multi line comment can contain SPACE (U+0020)","description":"Use real SPACE","path":"TestCases/ch07/7.2/S7.2_A4.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTk8tQlJFQUsgU1BBQ0UgKFUrMDBBMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgTk8tQlJFQUsgU1BBQ0UoXHUwMEEwKQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwQTAgbXVsdGkgbGluZSBcdTAwQTAgY29tbWVudCBcdTAwQTAqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwQTAgbXVsdGkgbGluZSBcdTAwQTAgY29tbWVudCBcdTAwQTAgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDBBMCBtdWx0aSBsaW5lIFxcdTAwQTAgY29tbWVudCBcXHUwMEEwIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use NO-BREAK SPACE(\\u00A0)","path":"TestCases/ch07/7.2/S7.2_A4.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTk8tQlJFQUsgU1BBQ0UgKFUrMDBBMCkKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNC41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBOTy1CUkVBSyBTUEFDRQogKi8KCi8qQ0hFQ0sjMSovCnZhciB4ID0gMDsKLyrCoG11bHRpwqBsaW5lwqBjb21tZW50wqB4ID0gMTsqLwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgLyrCoG11bHRpwqBsaW5lwqBjb21tZW50wqB4ID0gMTsqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain NO-BREAK SPACE (U+00A0)","description":"Use real NO-BREAK SPACE","path":"TestCases/ch07/7.2/S7.2_A4.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFRBQiAoVSswMDA5KQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMDl4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use TAB (U+0009)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFZFUlRJQ0FMIFRBQiAoVSswMDBCKQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMEJ4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use VERTICAL TAB (U+000B)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIEZPUk0gRkVFRCAoVSswMDBDKQogKiBAbmVnYXRpdmUKICovCgp2YXJcdTAwMEN4OwoK","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use FORM FEED (U+000C)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gVXNlIFNQQUNFIChVKzAwMjApCiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MDAyMHg7Cgo=","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use SPACE (U+0020)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBzcGFjZSBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY29uc2lzdGluZyBvZiBzaXggY2hhcmFjdGVycywgbmFtZWx5IFx1IHBsdXMgZm91ciBoZXhhZGVjaW1hbCBkaWdpdHMKICoKICogQHBhdGggY2gwNy83LjIvUzcuMl9BNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIE5PLUJSRUFLIFNQQUNFIChVKzAwQTApCiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MDBBMHg7Cgo=","commentary":"White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Use NO-BREAK SPACE (U+00A0)","negative":"","path":"TestCases/ch07/7.2/S7.2_A5_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gwNy83LjMvNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiA3LjMgLSBFUzUgcmVjb2duaXplcyB0aGUgY2hhcmFjdGVyIDxMUz4gKFx1MjAyOCkgYXMgbGluZSB0ZXJtaW5hdG9ycyB3aGVuIHBhcnNpbmcgc3RhdGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGV2YWwoInZhciB0ZXN0N18zXzFcdTIwMjhwcm9wID0gNjY7Iik7DQogICAgICAgIHJldHVybiAocHJvcCA9PT0gNjYpICYmICgodHlwZW9mIHRlc3Q3XzNfMSkgPT09ICJ1bmRlZmluZWQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as line terminators when parsing statements","path":"TestCases/ch07/7.3/7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSByZWNvZ25pemVzIHRoZSBjaGFyYWN0ZXIgPFBTPiAoXHUyMDI5KSBhcyBhIE5vbkVzY2FwZUNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcHJvcCA9IFxcdTIwMjk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as a NonEscapeCharacter","path":"TestCases/ch07/7.3/7.3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMS5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxMUz4gKFx1MjAyOCkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUyMDI4IHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u2028) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMi5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxQUz4gKFx1MjAyOSkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUyMDI5IHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u2029) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxDUj4gKFx1MDAwRCkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUwMDBEIHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u000D) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSBzcGVjaWZpZXMgdGhhdCBhIG11bHRpbGluZSBjb21tZW50IHRoYXQgY29udGFpbnMgYSBsaW5lIHRlcm1pbmF0b3IgY2hhcmFjdGVyIDxMRj4gKFx1MDAwQSkgbXVzdCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIGxpbmUgdGVybWluYXRvciBmb3IgdGhlIHB1cnBvc2VzIG9mIHNlbWljb2xvbiBpbnNlcnRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAvKk11bHRpTGluZQ0KICAgICAgICBDb21tZW50cyANCiAgICAgICAgXHUwMDBBIHZhciA9IDsNCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 specifies that a multiline comment that contains a line terminator character (\\u000A) must be treated as a single line terminator for the purposes of semicolon insertion","path":"TestCases/ch07/7.3/7.3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIDcuMyAtIEVTNSByZWNvZ25pemUgPEJPTT4gKFx1RkZGRikgYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm9wID0gImFcdUZGRkZhIjsNCiAgICAgICAgcmV0dXJuIHByb3AubGVuZ3RoID09PSAzICYmIHByb3AgIT09ICJhYSIgJiYgcHJvcFsxXSA9PT0gIlx1RkZGRiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognize (\\uFFFF) as a whitespace character","path":"TestCases/ch07/7.3/7.3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIGxpbmUgdGVybWluYXRvcnMgd2hlbiBwYXJzaW5nIHN0YXRlbWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgdGVzdDdfM18yXHUyMDI5cHJvcCA9IDY2OyIpOw0KICAgICAgICByZXR1cm4gKHByb3A9PT02NikgJiYgKCh0eXBlb2YgdGVzdDdfM18yKSA9PT0gInVuZGVmaW5lZCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as line terminators when parsing statements","path":"TestCases/ch07/7.3/7.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIFNpbmdsZUxpbmVDb21tZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIvL1NpbmdsZSBMaW5lIENvbW1lbnRzXHUyMDI4IHZhciA9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating SingleLineComments","path":"TestCases/ch07/7.3/7.3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy00LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIFNpbmdsZUxpbmVDb21tZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIvL1NpbmdsZSBMaW5lIENvbW1lbnRzXHUyMDI5IHZhciA9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating SingleLineComments","path":"TestCases/ch07/7.3/7.3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy01LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIHN0cmluZyBsaXRlcmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3AgPSAiNjZcdTIwMjgxMjMiOw0KICAgICAgICByZXR1cm4gcHJvcCA9PT0gIjY2XHUyMDI4MTIzIiAmJiBwcm9wWzJdID09PSAiXHUyMDI4IiAmJiBwcm9wLmxlbmd0aCA9PT0gNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating string literal","path":"TestCases/ch07/7.3/7.3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy02LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIHN0cmluZyBsaXRlcmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3AgPSAiNjZcdTIwMjkxMjMiOw0KICAgICAgICByZXR1cm4gcHJvcCA9PT0gIjY2XHUyMDI5MTIzIiAmJiBwcm9wWzJdID09PSAiXHUyMDI5IiAmJiBwcm9wLmxlbmd0aCA9PT0gNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating string literal","path":"TestCases/ch07/7.3/7.3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy03LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIHRlcm1pbmF0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcmVnRXhwID0gIC9bXHUyMDI4XS8iKTsNCiAgICAgICAgICAgIHJlZ0V4cC50ZXN0KCIiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as terminating regular expression literals","path":"TestCases/ch07/7.3/7.3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy04LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8UFM+IChcdTIwMjkpIGFzIHRlcm1pbmF0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgcmVnRXhwID0gIC9bXHUyMDI5XS8iKTsNCiAgICAgICAgICAgIHJlZ0V4cC50ZXN0KCIiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2029) as terminating regular expression literals","path":"TestCases/ch07/7.3/7.3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDcvNy4zLzcuMy05LmpzDQogKiBAZGVzY3JpcHRpb24gNy4zIC0gRVM1IHJlY29nbml6ZXMgdGhlIGNoYXJhY3RlciA8TFM+IChcdTIwMjgpIGFzIGEgTm9uRXNjYXBlQ2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwcm9wID0gXFx1MjAyODsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"7.3 - ES5 recognizes the character (\\u2028) as a NonEscapeCharacter","path":"TestCases/ch07/7.3/7.3-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBGRUVEIChcdTAwMEEgYW5kIFxuKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMEF2YXJcdTAwMEF4XHUwMDBBPVx1MDAwQTFcdTAwMEEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBBdmFyXFx1MDAwQXhcXHUwMDBBPVxcdTAwMEExXFx1MDAwQSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBBIiArICJ2YXIiICsgIlx1MDAwQSIgKyAieCIgKyAiXHUwMDBBIiArICI9IiArICJcdTAwMEEiICsgIjEiICsgIlx1MDAwQSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEEiICsgInZhciIgKyAiXFx1MDAwQSIgKyAieCIgKyAiXFx1MDAwQSIgKyAiPSIgKyAiXFx1MDAwQSIgKyAiMSIgKyAiXFx1MDAwQSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXG52YXJcbnhcbj1cbjFcbiIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxcbnZhclxcbnhcXG49XFxuMVxcbiIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXG4iICsgInZhciIgKyAiXG4iICsgIngiICsgIlxuIiArICI9IiArICJcbiIgKyAiMSIgKyAiXG4iKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXG4iICsgInZhciIgKyAiXFxuIiArICJ4IiArICJcXG4iICsgIj0iICsgIlxcbiIgKyAiMSIgKyAiXFxuIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEEiICsgInZhciIgKyAiXG4iICsgIngiICsgIlx1MDAwQSIgKyAiPSIgKyAiXG4iICsgIjEiICsgIlx1MDAwQSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEEiICsgInZhciIgKyAiXFxuIiArICJ4IiArICJcXHUwMDBBIiArICI9IiArICJcXG4iICsgIjEiICsgIlxcdTAwMEEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"LINE FEED (U+000A) may occur between any two tokens","description":"Insert LINE FEED (\\u000A and \\n) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBMSU5FIEZFRUQgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vQ0hFQ0sjMQp2YXIKeAo9CjE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG4xXFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"LINE FEED (U+000A) may occur between any two tokens","description":"Insert real LINE FEED between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgQ0FSUklBR0UgUkVUVVJOIChcdTAwMEQgYW5kIFxyKSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTAwMER2YXJcdTAwMER4XHUwMDBEPVx1MDAwRDFcdTAwMEQiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUwMDBEdmFyXFx1MDAwRHhcXHUwMDBEPVxcdTAwMEQxXFx1MDAwRCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUwMDBEIiArICJ2YXIiICsgIlx1MDAwRCIgKyAieCIgKyAiXHUwMDBEIiArICI9IiArICJcdTAwMEQiICsgIjEiICsgIlx1MDAwRCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTAwMEQiICsgInZhciIgKyAiXFx1MDAwRCIgKyAieCIgKyAiXFx1MDAwRCIgKyAiPSIgKyAiXFx1MDAwRCIgKyAiMSIgKyAiXFx1MDAwRCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKZXZhbCgiXHJ2YXJccnhccj1ccjFcciIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IGV2YWwoIlxccnZhclxccnhcXHI9XFxyMVxcciIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKZXZhbCgiXHIiICsgInZhciIgKyAiXHIiICsgIngiICsgIlxyIiArICI9IiArICJcciIgKyAiMSIgKyAiXHIiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHIiICsgInZhciIgKyAiXFxyIiArICJ4IiArICJcXHIiICsgIj0iICsgIlxcciIgKyAiMSIgKyAiXFxyIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQpldmFsKCJcdTAwMEQiICsgInZhciIgKyAiXHIiICsgIngiICsgIlx1MDAwRCIgKyAiPSIgKyAiXHIiICsgIjEiICsgIlx1MDAwRCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IGV2YWwoIlxcdTAwMEQiICsgInZhciIgKyAiXFxyIiArICJ4IiArICJcXHUwMDBEIiArICI9IiArICJcXHIiICsgIjEiICsgIlxcdTAwMEQiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"CARRIAGE RETURN (U+000D) may occur between any two tokens","description":"Insert CARRIAGE RETURN (\\u000D and \\r) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgbWF5IG9jY3VyIGJldHdlZW4gYW55IHR3byB0b2tlbnMKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBDQVJSSUFHRSBSRVRVUk4gYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vQ0hFQ0sjMQp2YXIKeAo9CjE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG4xXFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"CARRIAGE RETURN (U+000D) may occur between any two tokens","description":"Insert real CARRIAGE RETURN between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBtYXkgb2NjdXIgYmV0d2VlbiBhbnkgdHdvIHRva2VucwogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0ExLjMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoXHUyMDI4KSBiZXR3ZWVuIHRva2VucyBvZiB2YXIgeD0xCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyODFcdTIwMjgiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjgxXFx1MjAyOCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKZXZhbCgiXHUyMDI4IiArICJ2YXIiICsgIlx1MjAyOCIgKyAieCIgKyAiXHUyMDI4IiArICI9IiArICJcdTIwMjgiICsgIjEiICsgIlx1MjAyOCIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIlxcdTIwMjgiICsgInZhciIgKyAiXFx1MjAyOCIgKyAieCIgKyAiXFx1MjAyOCIgKyAiPSIgKyAiXFx1MjAyOCIgKyAiMSIgKyAiXFx1MjAyOCIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"LINE SEPARATOR (U+2028) may occur between any two tokens","description":"Insert LINE SEPARATOR (\\u2028) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIG1heSBvY2N1ciBiZXR3ZWVuIGFueSB0d28gdG9rZW5zCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTEuNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFBBUkFHUkFQSCBTRVBBUkFUT1IgKFx1MjAyOSkgYmV0d2VlbiB0b2tlbnMgb2YgdmFyIHg9MQogKi8KCi8vIENIRUNLIzEKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjkxXHUyMDI5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5MVxcdTIwMjkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmV2YWwoIlx1MjAyOSIgKyAidmFyIiArICJcdTIwMjkiICsgIngiICsgIlx1MjAyOSIgKyAiPSIgKyAiXHUyMDI5IiArICIxIiArICJcdTIwMjkiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiBldmFsKCJcXHUyMDI5IiArICJ2YXIiICsgIlxcdTIwMjkiICsgIngiICsgIlxcdTIwMjkiICsgIj0iICsgIlxcdTIwMjkiICsgIjEiICsgIlxcdTIwMjkiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCgoK","commentary":"PARAGRAPH SEPARATOR (U+2029) may occur between any two tokens","description":"Insert PARAGRAPH SEPARATOR (\\u2029) between tokens of var x=1","path":"TestCases/ch07/7.3/S7.3_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBGRUVEIChcdTAwMEEpIGludG8gc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMEFzdHJcdTAwMEFpbmdcdTAwMEEnIikgPT09ICJcdTAwMEFzdHJcdTAwMEFpbmdcdTAwMEEiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBBc3RyXFx1MDAwQWluZ1xcdTAwMEFcJyIpID09PSAiXFx1MDAwQXN0clxcdTAwMEFpbmdcXHUwMDBBIicpOwp9Cgo=","commentary":"LINE FEED (U+000A) within strings is not allowed","description":"Insert LINE FEED (\\u000A) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIEZFRUQgKFUrMDAwQSkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgcmVhbCBMSU5FIEZFRUQgaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCiIKc3RyCmluZwoiOwoK","commentary":"LINE FEED (U+000A) within strings is not allowed","description":"Use real LINE FEED into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgQ0FSUklBR0UgUkVUVVJOIChcdTAwMEQpIGludG8gc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKaWYgKGV2YWwoIidcdTAwMERzdHJcdTAwMERpbmdcdTAwMEQnIikgPT09ICJcdTAwMERzdHJcdTAwMERpbmdcdTAwMEQiKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiXCdcXHUwMDBEc3RyXFx1MDAwRGluZ1xcdTAwMERcJyIpID09PSAiXFx1MDAwRHN0clxcdTAwMERpbmdcXHUwMDBEIicpOwp9Cgo=","commentary":"CARRIAGE RETURN (U+000D) within strings is not allowed","description":"Insert CARRIAGE RETURN (\\u000D) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgd2l0aGluIHN0cmluZ3MgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgcmVhbCBDQVJSSUFHRSBSRVRVUk4gaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCiIKc3RyCmluZwoiOwoK","commentary":"CARRIAGE RETURN (U+000D) within strings is not allowed","description":"Insert real CARRIAGE RETURN into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSB3aXRoaW4gc3RyaW5ncyBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EyLjMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoXHUyMDI4KSBpbnRvIHN0cmluZwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmlmIChldmFsKCInXHUyMDI4c3RyXHUyMDI4aW5nXHUyMDI4JyIpID09PSAiXHUyMDI4c3RyXHUyMDI4aW5nXHUyMDI4IikgewogICRFUlJPUignIzE6IGV2YWwoIlwnXFx1MjAyOHN0clxcdTIwMjhpbmdcXHUyMDI4XCciKSA9PT0gIlxcdTIwMjhzdHJcXHUyMDI4aW5nXFx1MjAyOCInKTsKfQoK","commentary":"LINE SEPARATOR (U+2028) within strings is not allowed","description":"Insert LINE SEPARATOR (\\u2028) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIHdpdGhpbiBzdHJpbmdzIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IFBBUkFHUkFQSCBTRVBBUkFUT1IgKFx1MjAyOSkgaW50byBzdHJpbmcKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQppZiAoZXZhbCgiJ1x1MjAyOXN0clx1MjAyOWluZ1x1MjAyOSciKSA9PT0gIlx1MjAyOXN0clx1MjAyOWluZ1x1MjAyOSIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcJ1xcdTIwMjlzdHJcXHUyMDI5aW5nXFx1MjAyOVwnIikgPT09ICJcXHUyMDI5c3RyXFx1MjAyOWluZ1xcdTIwMjkiJyk7Cn0KCg==","commentary":"PARAGRAPH SEPARATOR (U+2029) within strings is not allowed","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into string","negative":"","path":"TestCases/ch07/7.3/S7.3_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFx1MDAwQSkgaW50byBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgXHUwMDBBIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert LINE FEED (\\u000A) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFx1MDAwQSkgaW50byBiZWdpbiBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEEgc2luZ2xlIGxpbmUgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert LINE FEED (\\u000A) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCByZWFsIExJTkUgRkVFRCBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQovL3NpbmdsZSAKbGluZSBjb21tZW50Cgo=","commentary":"Single line comments can not contain LINE FEED (U+000A) inside","description":"Insert real LINE FEED into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFx1MDAwRCkgaW50byBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgXHUwMDBEIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert CARRIAGE RETURN (\\u000D) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFx1MDAwRCkgaW50byBiZWdpbiBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy9cdTAwMEQgc2luZ2xlIGxpbmUgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert CARRIAGE RETURN (\\u000D) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpIGluc2lkZQogKgogKiBAcGF0aCBjaDA3LzcuMy9TNy4zX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCByZWFsIENBUlJJQUdFIFJFVFVSTiBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQovL3NpbmdsZSAKbGluZSBjb21tZW50Cgo=","commentary":"Single line comments can not contain CARRIAGE RETURN (U+000D) inside","description":"Insert real CARRIAGE RETURN into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW5zaWRlCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgU0VQQVJBVE9SIChcdTIwMjgpIGludG8gc2luZ2xlIGxpbmUgY29tbWVudAogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIFx1MjAyOCBjb21tZW50Iik7Cgo=","commentary":"Single line comments can not contain LINE SEPARATOR (U+2028) inside","description":"Insert LINE SEPARATOR (\\u2028) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW5zaWRlCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTMuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgU0VQQVJBVE9SIChcdTIwMjgpIGludG8gYmVnaW4gb2Ygc2luZ2xlIGxpbmUgY29tbWVudAogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vXHUyMDI4IHNpbmdsZSBsaW5lIGNvbW1lbnQiKTsKCg==","commentary":"Single line comments can not contain LINE SEPARATOR (U+2028) inside","description":"Insert LINE SEPARATOR (\\u2028) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnNpZGUKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMy40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoXHUyMDI5KSBpbnRvIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvLyBzaW5nbGUgbGluZSBcdTIwMjkgY29tbWVudCIpOwoK","commentary":"Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gbm90IGNvbnRhaW4gUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnNpZGUKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BMy40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoXHUyMDI5KSBpbnRvIGJlZ2luIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvL1x1MjAyOSBzaW5nbGUgbGluZSBjb21tZW50Iik7Cgo=","commentary":"Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside","description":"Insert PARAGRAPH SEPARATOR (\\u2029) into begin of single line comment","negative":"","path":"TestCases/ch07/7.3/S7.3_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFUrMDAwQSkgaW50byB0aGUgZW5kIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTAwMEEiKTsKCi8vIENIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUwMDBBIHggPSAxOyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFxcdTAwMEEgeCA9IDE7Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert LINE FEED (U+000A) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgaW50byB0aGUgZW5kIG9mIHNpbmdsZSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTAwMEQiKTsKCi8vIENIRUNLIzIKdmFyIHggPSAwOwpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUwMDBEIHggPSAxOyIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFxcdTAwMEQgeCA9IDE7Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert CARRIAGE RETURN (U+000D) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBpbnRvIHRoZSBlbmQgb2Ygc2luZ2xlIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFx1MjAyOCIpOwoKLy8gQ0hFQ0sjMgp2YXIgeCA9IDA7CmV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcdTIwMjggeCA9IDE7Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XFx1MjAyOCB4ID0gMTsiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert LINE SEPARATOR (U+2028) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5nbGUgbGluZSBjb21tZW50cyBjYW4gY29udGFpbiBMaW5lIFRlcm1pbmF0b3IgYXQgdGhlIGVuZCBvZiBsaW5lCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIGludG8gdGhlIGVuZCBvZiBzaW5nbGUgbGluZSBjb21tZW50CiAqLwoKLy8gQ0hFQ0sjMQpldmFsKCIvLyBzaW5nbGUgbGluZSBjb21tZW50XHUyMDI5Iik7CgovLyBDSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLy8gc2luZ2xlIGxpbmUgY29tbWVudFx1MjAyOSB4ID0gMTsiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8vIHNpbmdsZSBsaW5lIGNvbW1lbnRcXHUyMDI5IHggPSAxOyIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Single line comments can contain Line Terminator at the end of line","description":"Insert PARAGRAPH SEPARATOR (U+2029) into the end of single line comment","path":"TestCases/ch07/7.3/S7.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IExJTkUgRkVFRCAoVSswMDBBKSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMEEgbXVsdGkgbGluZSBcdTAwMEEgY29tbWVudCBcdTAwMEEqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMEEgbXVsdGkgbGluZSBcdTAwMEEgY29tbWVudCBcdTAwMEEgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwQSBtdWx0aSBsaW5lIFxcdTAwMEEgY29tbWVudCBcXHUwMDBBIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain LINE FEED (U+000A)","description":"Insert LINE FEED (U+000A) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBGRUVEIChVKzAwMEEpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgTElORSBGRUVEIGludG8gbXVsdGkgbGluZSBjb21tZW50CiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgptdWx0aQpsaW5lCmNvbW1lbnQKeCA9IDE7CiovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKlxcbm11bHRpXFxubGluZVxcbmNvbW1lbnRcXG54ID0gMTtcXG4qLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain LINE FEED (U+000A)","description":"Insert real LINE FEED into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IENBUlJJQUdFIFJFVFVSTiAoVSswMDBEKSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTAwMEQgbXVsdGkgbGluZSBcdTAwMEQgY29tbWVudCBcdTAwMEQqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTAwMEQgbXVsdGkgbGluZSBcdTAwMEQgY29tbWVudCBcdTAwMEQgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MDAwRCBtdWx0aSBsaW5lIFxcdTAwMEQgY29tbWVudCBcXHUwMDBEIHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain CARRIAGE RETURN (U+000D)","description":"Insert CARRIAGE RETURN (U+000D) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gQ0FSUklBR0UgUkVUVVJOIChVKzAwMEQpCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTUuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0IHJlYWwgQ0FSUklBR0UgUkVUVVJOIGludG8gbXVsdGkgbGluZSBjb21tZW50CiAqLwoKLypDSEVDSyMxKi8KdmFyIHggPSAwOwovKgptdWx0aQpsaW5lCmNvbW1lbnQKeCA9IDE7CiovCmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAvKlxccm11bHRpXFxybGluZVxccmNvbW1lbnRcXHJ4ID0gMTtcXHIqLyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain CARRIAGE RETURN (U+000D)","description":"Insert real CARRIAGE RETURN into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOCkKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgTElORSBTRVBBUkFUT1IgKFUrMjAyOCkgaW50byBtdWx0aSBsaW5lIGNvbW1lbnQKICovCgovLyBDSEVDSyMxCmV2YWwoIi8qXHUyMDI4IG11bHRpIGxpbmUgXHUyMDI4IGNvbW1lbnQgXHUyMDI4Ki8iKTsKCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7CmV2YWwoIi8qXHUyMDI4IG11bHRpIGxpbmUgXHUyMDI4IGNvbW1lbnQgXHUyMDI4IHggPSAxOyovIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyBldmFsKCIvKlxcdTIwMjggbXVsdGkgbGluZSBcXHUyMDI4IGNvbW1lbnQgXFx1MjAyOCB4ID0gMTsqLyIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Multi line comment can contain LINE SEPARATOR (U+2028)","description":"Insert LINE SEPARATOR (U+2028) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aSBsaW5lIGNvbW1lbnQgY2FuIGNvbnRhaW4gTElORSBTRVBBUkFUT1IgKFUrMjAyOSkKICoKICogQHBhdGggY2gwNy83LjMvUzcuM19BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgUEFSQUdSQVBIIFNFUEFSQVRPUiAoVSsyMDI5KSBpbnRvIG11bHRpIGxpbmUgY29tbWVudAogKi8KCi8vIENIRUNLIzEKZXZhbCgiLypcdTIwMjkgbXVsdGkgbGluZSBcdTIwMjkgY29tbWVudCBcdTIwMjkqLyIpOwoKLy9DSEVDSyMyCnZhciB4ID0gMDsKZXZhbCgiLypcdTIwMjkgbXVsdGkgbGluZSBcdTIwMjkgY29tbWVudCBcdTIwMjkgeCA9IDE7Ki8iKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IGV2YWwoIi8qXFx1MjAyOSBtdWx0aSBsaW5lIFxcdTIwMjkgY29tbWVudCBcXHUyMDI5IHggPSAxOyovIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Multi line comment can contain LINE SEPARATOR (U+2029)","description":"Insert PARAGRAPH SEPARATOR (U+2029) into multi line comment","path":"TestCases/ch07/7.3/S7.3_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIEZFRUQgKFUrMDAwQSkgaW4gdmFyIHgKICogQG5lZ2F0aXZlCiAqLwoKdmFyXHUwMDBBeDsKCg==","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert LINE FEED (U+000A) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBDQVJSSUFHRSBSRVRVUk4gKFUrMDAwRCkgaW4gdmFyIHgKICogQG5lZ2F0aXZlCiAqLwoKdmFyXHUwMDBEeDsKCg==","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert CARRIAGE RETURN (U+000D) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMSU5FIFNFUEFSQVRPUiAoVSsyMDI4KSBpbiB2YXIgeAogKiBAbmVnYXRpdmUKICovCgp2YXJcdTIwMjh4OwoK","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert LINE SEPARATOR (U+2028) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2Ygc2l4IGNoYXJhY3RlcnMsIG5hbWVseSBcdSBwbHVzIGZvdXIgaGV4YWRlY2ltYWwgZGlnaXRzCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBQQVJBR1JBUEggU0VQQVJBVE9SIChVKzIwMjkpIGluIHZhciB4CiAqIEBuZWdhdGl2ZQogKi8KCnZhclx1MjAyOXg7Cgo=","commentary":"Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \\u plus four hexadecimal digits","description":"Insert PARAGRAPH SEPARATOR (U+2029) in var x","negative":"","path":"TestCases/ch07/7.3/S7.3_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSt6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0yOwp2YXIgej0zOwp2YXIKeAo9CnkKKwp6CjsKaWYgKHggIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4rXFxuelxcbjsgeCA9PT0gNS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTI7CnZhciB6PTM7CnZhcgp4Cj0KeQorCnoKOwppZiAoeCAhPT0gNSkgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbitcXG56XFxuOyB4ID09PSA1LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MjsKdmFyIHo9MzsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4K1x1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDUpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCtcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTI7CnZhciB6PTM7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOStcdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSA1KSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjkrXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDUuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y+z","path":"TestCases/ch07/7.3/S7.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eS16CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0zOwp2YXIgej0yOwp2YXIKeAo9CnkKLQp6CjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4tXFxuelxcbjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTM7CnZhciB6PTI7CnZhcgp4Cj0KeQotCnoKOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbi1cXG56XFxuOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MzsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4LVx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOC1cXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTM7CnZhciB6PTI7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOS1cdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjktXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y-z","path":"TestCases/ch07/7.3/S7.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSp6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0zOwp2YXIgej0yOwp2YXIKeAo9CnkKKgp6CjsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4qXFxuelxcbjsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMyCnZhciB5PTM7CnZhciB6PTI7CnZhcgp4Cj0KeQoqCnoKOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbipcXG56XFxuOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzMKdmFyIHk9MzsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4Klx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCpcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTM7CnZhciB6PTI7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOSpcdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjkqXFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y*z","path":"TestCases/ch07/7.3/S7.3_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eS96CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0xMjsKdmFyIHo9MjsKdmFyCngKPQp5Ci8Kego7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjMTogdmFyXFxueFxcbj1cXG55XFxuL1xcbnpcXG47IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMgp2YXIgeT0xMjsKdmFyIHo9MjsKdmFyCngKPQp5Ci8Kego7CmlmICh4ICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogdmFyXFxueFxcbj1cXG55XFxuL1xcbnpcXG47IHggPT09IDYuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMwp2YXIgeT0xMjsKdmFyIHo9MjsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4L1x1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOC9cXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTEyOwp2YXIgej0yOwpldmFsKCJcdTIwMjl2YXJcdTIwMjl4XHUyMDI5PVx1MjAyOXlcdTIwMjkvXHUyMDI5elx1MjAyOSIpOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzQ6IGV2YWwoIlxcdTIwMjl2YXJcXHUyMDI5eFxcdTIwMjk9XFx1MjAyOXlcXHUyMDI5L1xcdTIwMjl6XFx1MjAyOSIpOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y/z","path":"TestCases/ch07/7.3/S7.3_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDUuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eSV6CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeT0xNjsKdmFyIHo9MTA7CnZhcgp4Cj0KeQolCnoKOwppZiAoeCAhPT0gNikgewogICRFUlJPUignIzE6IHZhclxcbnhcXG49XFxueVxcbiVcXG56XFxuOyB4ID09PSA2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzIKdmFyIHk9MTY7CnZhciB6PTEwOwp2YXIKeAo9CnkKJQp6CjsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMyOiB2YXJcXG54XFxuPVxcbnlcXG4lXFxuelxcbjsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMzCnZhciB5PTE2Owp2YXIgej0xMDsKZXZhbCgiXHUyMDI4dmFyXHUyMDI4eFx1MjAyOD1cdTIwMjh5XHUyMDI4JVx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOCVcXHUyMDI4elxcdTIwMjgiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTE2Owp2YXIgej0xMDsKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjl5XHUyMDI5JVx1MjAyOXpcdTIwMjkiKTsKaWYgKHggIT09IDYpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHUyMDI5dmFyXFx1MjAyOXhcXHUyMDI5PVxcdTIwMjl5XFx1MjAyOSVcXHUyMDI5elxcdTIwMjkiKTsgeCA9PT0gNi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y%z","path":"TestCases/ch07/7.3/S7.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDYuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eT4+egogKi8KCi8vIENIRUNLIzEKdmFyIHk9MTY7CnZhciB6PTM7CnZhcgp4Cj0KeQo+Pgp6CjsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG4+PlxcbnpcXG47IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMgp2YXIgeT0xNjsKdmFyIHo9MzsKdmFyCngKPQp5Cj4+CnoKOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHZhclxcbnhcXG49XFxueVxcbj4+XFxuelxcbjsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyMzCnZhciB5PTE2Owp2YXIgej0zOwpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyOHlcdTIwMjg+Plx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcXHUyMDI4dmFyXFx1MjAyOHhcXHUyMDI4PVxcdTIwMjh5XFx1MjAyOD4+XFx1MjAyOHpcXHUyMDI4Iik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KeD0wOwoKLy8gQ0hFQ0sjNAp2YXIgeT0xNjsKdmFyIHo9MzsKZXZhbCgiXHUyMDI5dmFyXHUyMDI5eFx1MjAyOT1cdTIwMjl5XHUyMDI5Pj5cdTIwMjl6XHUyMDI5Iik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogZXZhbCgiXFx1MjAyOXZhclxcdTIwMjl4XFx1MjAyOT1cXHUyMDI5eVxcdTIwMjk+PlxcdTIwMjl6XFx1MjAyOSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y>>z","path":"TestCases/ch07/7.3/S7.3_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3JzIGJldHdlZW4gb3BlcmF0b3JzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDcvNy4zL1M3LjNfQTdfVDcuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCBMaW5lIFRlcm1pbmF0b3IgaW4gdmFyIHg9eTw8egogKi8KCi8vIENIRUNLIzEKdmFyIHk9MjsKdmFyIHo9MzsKdmFyCngKPQp5Cjw8CnoKOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyMxOiB2YXJcXG54XFxuPVxcbnlcXG48PFxcbnpcXG47IHggPT09IDE2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cng9MDsKCi8vIENIRUNLIzIKdmFyIHk9MjsKdmFyIHo9MzsKdmFyCngKPQp5Cjw8CnoKOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyMyOiB2YXJcXG54XFxuPVxcbnlcXG48PFxcbnpcXG47IHggPT09MTYgJyk7Cn0KeD0wOwoKLy8gQ0hFQ0sjMwp2YXIgeT0yOwp2YXIgej0zOwpldmFsKCJcdTIwMjh2YXJcdTIwMjh4XHUyMDI4PVx1MjAyOHlcdTIwMjg8PFx1MjAyOHpcdTIwMjgiKTsKaWYgKHggIT09IDE2KSB7CiAgJEVSUk9SKCcjMzogZXZhbCgiXFx1MjAyOHZhclxcdTIwMjh4XFx1MjAyOD1cXHUyMDI4eVxcdTIwMjg8PFxcdTIwMjh6XFx1MjAyOCIpOyB4ID09PSAxNi4gQWN0dWFsOiAnICsgKHgpKTsKfQp4PTA7CgovLyBDSEVDSyM0CnZhciB5PTI7CnZhciB6PTM7CmV2YWwoIlx1MjAyOXZhclx1MjAyOXhcdTIwMjk9XHUyMDI5eVx1MjAyOTw8XHUyMDI5elx1MjAyOSIpOwppZiAoeCAhPT0gMTYpIHsKICAkRVJST1IoJyM0OiBldmFsKCJcXHUyMDI5dmFyXFx1MjAyOXhcXHUyMDI5PVxcdTIwMjl5XFx1MjAyOTw8XFx1MjAyOXpcXHUyMDI5Iik7IHggPT09IDE2LiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Line Terminators between operators are allowed","description":"Insert Line Terminator in var x=y<b) \\n else c=d is not a valid sentence in the ECMAScript grammar","negative":"","path":"TestCases/ch07/7.9/7.9.2/S7.9.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBleGFtcGxlcyBmb3IgYXV0b21hdGljIHNlbWljb2xvbiBpbnNlcnRpb24gZnJvbSB0aGUgU3RhbmRhcnQKICoKICogQHBhdGggY2gwNy83LjkvNy45LjIvUzcuOS4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBhPWIrYyBcbiAoZCtlKS5wcmludCgpIGlzIGEgdmFsaWQgc2VudGVuY2UgaW4gdGhlIEVDTUFTY3JpcHQgZ3JhbW1hciwKICogYW5kIGF1dG9tYXRpYyBzZW1pY29sb24gaW5zZXJ0aW9uIG5vdCBydW4KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gYyAoYSl7CglyZXR1cm4gMiphOwp9Cgp2YXIgYT0xLGI9MixkPTQsZT01OwoKYT1iK2MKKGQrZSkKCmlmIChhICE9PSAyMCkgJEVSUk9SKCcjMTogQXV0b21hdGljIHNlbWljb2xvbiBpbnNlcnRpb24gd29yayB3cm9uZycpOwoK","commentary":"Check examples for automatic semicolon insertion from the Standart","description":"a=b+c \\n (d+e).print() is a valid sentence in the ECMAScript grammar,\nand automatic semicolon insertion not run","path":"TestCases/ch07/7.9/7.9.2/S7.9.2_A1_T7.js"}]}} \ No newline at end of file diff --git a/website/json/ch08.json b/website/json/ch08.json index 581e447e6..ad53cca33 100644 --- a/website/json/ch08.json +++ b/website/json/ch08.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch08","numTests":"124","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ID0gdW5kZWZpbmVkIiBwYXNzZXMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gdW5kZWZpbmVkOwoK","commentary":"The Undefined type has one value, called undefined","description":"Checking if execution of \"var x = undefined\" passes","path":"TestCases/ch08/8.1/S8.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlb2YodW5kZWZpbmVkKSBhbmQgdHlwZW9mKHZvaWQgMCkKICovCgovLyBDSEVDSyMxCmlmICghKHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIikpIHsgCglFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7ICAKfSAKCi8vIENIRUNLIzIKaWYgKCEodHlwZW9mKHZvaWQgMCkgPT09ICJ1bmRlZmluZWQiKSkgeyAgCglFUlJPUignIzI6IHR5cGVvZih2b2lkIDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih2b2lkIDApKSk7ICAKfQoKLy8gQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IHZvaWQgMCkpIHsgIAoJRVJST1IoJyMzOiB1bmRlZmluZWQgPT09IHZvaWQgMCcpOyAgCn0KCg==","commentary":"The Undefined type has one value, called undefined","description":"Check typeof(undefined) and typeof(void 0)","path":"TestCases/ch08/8.1/S8.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHZhciB4IGhhdmUgdmFsdWUgYW5kIHR5cGUgdW5kZWZpbmVkCiAqLwoKdmFyIHg7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCEoeCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoeCkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKCEoeCA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzM6IHZhciB4OyB4ID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Check that var x have value and type undefined","path":"TestCases/ch08/8.1/S8.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiByZXR1cm4gdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiB0ZXN0MSh4KSB7CglyZXR1cm4geDsKfQoKaWYgKCEodGVzdDEoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIHRlc3QxKHgpe3JldHVybiB4fSB0ZXN0MSgpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MSgpKSk7Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gdGVzdDIoKSB7ICAKfQoKaWYgKCEodGVzdDIoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIHRlc3QyKCl7fSB0ZXN0MigpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MigpKSk7Cn0KCg==","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Function return undefined","path":"TestCases/ch08/8.1/S8.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm93IG5vbi13cml0YWJsZSBpbiBlczUKICoKICogQHBhdGggY2gwOC84LjEvUzguMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gInVuZGVmaW5lZD0xIiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLMSMKdmFyIHVuZGVmaW5lZCA9IDE7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"undefined is now non-writable in es5","description":"\"undefined=1\" should throw a TypeError","path":"TestCases/ch08/8.1/S8.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwcm9wZXJ0eSBvZiBvYmplY3Qgbm90IGV4aXN0LCByZXR1cm4gdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMDgvOC4xL1M4LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHZhbHVlIG9mIG5vdCBleGlzdGVkIHByb3BlcnR5CiAqLwoKLy8gQ0hFQ0sjMSAKaWYgKChuZXcgT2JqZWN0KCkpLm5ld1Byb3BlcnR5ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAobmV3IE9iamVjdCgpKS5uZXdQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoKG5ldyBPYmplY3QoKSkubmV3UHJvcGVydHkpKTsKfSAKCgo=","commentary":"If property of object not exist, return undefined","description":"Check value of not existed property","path":"TestCases/ch08/8.1/S8.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzbid0IHByb3ZpZGVkIGhhcyBhIHZhbHVlIG9mIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIHdpdGhvdXQgcHJvdmlkZWQgYXJndW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KZnVuY3Rpb24gdGVzdChhcmcpIHsKLy8gQ2hlY2sgYW5kIG1ha2Ugc3VyZSB0aGF0IGFyZyBpcyBub3QgdW5kZWZpbmVkCglpZiAodHlwZW9mKGFyZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAkRVJST1IoJyMxOiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzblwndCBwcm92aWRlZCBoYXMgYSB2YWx1ZSBvZiB1bmRlZmluZWQuIEFjdHVhbDogJyArICh0eXBlb2YoYXJnKSkpOwogIH0KfQoKdGVzdCgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function argument that isn't provided has a value of undefined","description":"Call function without provided argument","path":"TestCases/ch08/8.1/S8.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHZhbHVlIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBpbiBpbnN0YW5jZSBidXQgcHJvdG90eXBlIGNvbnRhaW4gaXQKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgd2hlbiBwcm9wZXJ0eSBQIGRvZXMgbm90IGV4aXN0IGluIGluc3RhbmNlIGJ1dCBwcm90b3R5cGUgY29udGFpbiBpdAogKi8KCi8vRXN0YWJsaXNoIGZvbyBvYmplY3QgCmZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7CgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgX19vYmo9IG5ldyBGb29PYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7IHZhciBfX29iaj0gbmV3IEZvb09iajsgX19vYmoucHJvcEZvbyA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gInNvbWUiKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBGb29PYmooKXt9OyBGb29PYmoucHJvdG90eXBlLnByb3BGb289InNvbWUiOyB2YXIgX19vYmo9IG5ldyBGb29PYmo7IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return value when property P does not exist in instance but prototype contain it","description":"Try to get P when property P does not exist in instance but prototype contain it","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCB3aGVuIHByb3BlcnR5IFAgZG9lcyBub3QgZXhpc3QgYm90aCBpbiBpbnN0YW5jZSBhbmQgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjMvUzguMTIuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGdldCBQIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBib3RoIGluIGluc3RhbmNlIGFuZCBwcm90b3R5cGUKICovCgp2YXIgX19vYmo9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzE6IHZhciBfX29iaj17fTsgX19vYmoucHJvcEZvbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB2YXIgX19vYmo9e307IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return undefined when property P does not exist both in instance and prototype","description":"Try to get P when property P does not exist both in instance and prototype","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0dldF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCB2YWx1ZSBvZiBQIHJldHVybnMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgcHJvcGVydHkgUCBleGlzdCBpbiBpbnN0YW5jZQogKi8KCnZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwLnNoYXBlICE9PSAiY3ViZSIpewogICRFUlJPUignIzE6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXAuc2hhcGUgPT09ICJjdWJlIi4gQWN0dWFsOiAnICsgKF9fbWFwLnNoYXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsic2hhcGUiXSAhPT0gImN1YmUiKXsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyJzaGFwZSJdID09PSAiY3ViZSIuIEFjdHVhbDogJyArIChfX21hcFsic2hhcGUiXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXBbIjUiXSAhPT0gImZpdmUiKXsKICAkRVJST1IoJyMzOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyI1Il0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWyI1Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbWFwWzVdICE9PSAiZml2ZSIpewogICRFUlJPUignIzQ6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXBbNV0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWzVdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX21hcFsiNiJdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNTogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFsiNiJdID09PSAic2l4Ii4gQWN0dWFsOiAnICsgKF9fbWFwWyI2Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fbWFwWzZdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNjogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFs2XSA9PT0gInNpeCIuIEFjdHVhbDogJyArIChfX21hcFs2XSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Get]] method of O is called with property name P value of P returns","description":"Try to get P property P exist in instance","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBSZWFkT25seSBhdHRyaWJ1dGUsIFtbQ2FuUHV0XV0oUCkgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjQvUzguMTIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHB1dCBvdGhlciB2YWx1ZSBmb3IgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IF9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkUgPSAxOyBNYXRoLkUgPT09IF9fZS4gQWN0dWFsOiAnICsgKE1hdGguRSkpOwp9Cgo=","commentary":"If the property has the ReadOnly attribute, [[CanPut]](P) return false","description":"Try put other value for Math.E property","noStrict":"","path":"TestCases/ch08/8.12/8.12.4/S8.12.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIGFuZCBJZiBPIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCB0aGVuCiAqIGNyZWF0ZXMgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNS9TOC4xMi41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBQdXQgdG8gbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwWzFdICE9PSAib25lIikgewoJJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcFsxXT0ib25lIjsgX19tYXBbInR3byJdPTI7IF9fbWFwWyIzIl09InRyZSI7IF9fbWFwWzFdID09PSAib25lIi4gQWN0dWFsOiAnICsgKF9fbWFwWzFdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsidHdvIl0gIT09IDIpIHsKCSRFUlJPUignIzI6IHZhciBfX21hcD17fTsgX19tYXBbMV09Im9uZSI7IF9fbWFwWyJ0d28iXT0yOyBfX21hcFsiMyJdPSJ0cmUiOyBfX21hcFsidHdvIl0gPT09IDIuIEFjdHVhbDogJyArIChfX21hcFsidHdvIl0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbWFwWyIzIl0gIT09ICJ0cmUiKSB7CgkkRVJST1IoJyMzOiB2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsgX19tYXBbIjMiXSA9PT0gInRyZSIuIEFjdHVhbDogJyArIChfX21hcFsiMyJdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Put]] method of O is called with property P and value V,\nand If O doesn't have a property with name P, then\ncreates a property with name P, set its value to V and give it empty attributes","description":"Put to not existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIHRoZW4gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gVi4gVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi41L1M4LjEyLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIFB1dCB0byBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9tYXA9ezE6Im9uZSIsdHdvOjJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpfbWFwWzFdPSJ1bm8iOwppZiAoX21hcFsxXSAhPT0gInVubyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbMV0gPT09ICJ1bm8iLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpfbWFwWyIxIl09MTsKaWYgKF9tYXBbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbIjEiXT0xOyBfbWFwWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpfbWFwWyJ0d28iXT0idHdvIjsKaWYgKF9tYXBbInR3byJdICE9PSAidHdvIikgewogICRFUlJPUignIzM6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwWyJ0d28iXSA9PT0gInR3byIuIEFjdHVhbDogJyArIChfbWFwWyJ0d28iXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApfbWFwLnR3bz0iZHVvIjsKaWYgKF9tYXAudHdvICE9PSAiZHVvIikgewogICRFUlJPUignIzQ6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwLnR3bz0iZHVvIjsgX21hcC50d28gPT09ICJkdW8iLiBBY3R1YWw6ICcgKyAoX21hcC50d28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Put]] method of O is called with property P and value V,\nthen set the value of the property to V. The attributes of the property are not changed","description":"Put to existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIGV4aXN0ZW50IHByb3BlcnR5IG9mIGFueSBPYmplY3QKICovCgp2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKCJmb29Qcm9wIiBpbiBfX29iaikpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07ICJmb29Qcm9wIiBpbiBfX29iaicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true","description":"Try find existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoISgidmFsdWVPZiIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyAidmFsdWVPZiIgaW4gX19vYmonKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0LCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgdGhpcyBPYmplY3QgcHJvdG90eXBlCiAqLwoKdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoInZhbHVlT2YiIGluIF9fcHJvdG8pKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyAidmFsdWVPZiIgaW4gX19wcm90bycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gUm9iaW4oKXt0aGlzLm5hbWU9InJvYmluIn07ClJvYmluLnByb3RvdHlwZT1fX3Byb3RvOwoKdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgicGh5bHVtIiBpbiBfX215X19yb2JpbikpIHsKICAkRVJST1IoJyMyOiB2YXIgX19wcm90bz17cGh5bHVtOiJhdmlzIn07IGZ1bmN0aW9uIFJvYmluKCl7dGhpcy5uYW1lPSJyb2JpbiJ9OyBSb2Jpbi5wcm90b3R5cGU9X19wcm90bzsgdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOyAicGh5bHVtIiBpbiBfX215X19yb2JpbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyBmdW5jdGlvbiBSb2Jpbigpe3RoaXMubmFtZT0icm9iaW4ifTsgUm9iaW4ucHJvdG90eXBlPV9fcHJvdG87IHZhciBfX215X19yb2JpbiA9IG5ldyBSb2JpbjsgX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fbXlfX3JvYmluLmhhc093blByb3BlcnR5KCJwaHlsdW0iKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object, but existent property of this Object prototype","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW2hhc1Byb3BlcnR5XV0gaXMgc2Vuc2l0aXZlIHRvIHByb3BlcnR5IGV4aXN0ZW5jZSBidXQgW1tHZXRdXSBpcyBub3QKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNi9TOC4xMi42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgW1toYXNQcm9wZXJ0eV1dIGFuZCBbW0dldF1dIGZvciBleGlzdGVudCBhbmQgbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouaG9sZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgX19vYmouaG9sZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmouaG9sZSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoubm90ZXhpc3QgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBfX29iaj17fTsgX19vYmouaG9sZT11bmRlZmluZWQ7IF9fb2JqLm5vdGV4aXN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX29iai5ub3RleGlzdCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoISgiaG9sZSIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgImhvbGUiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICgoIm5vdGV4aXN0IiBpbiBfX29iaikpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOyAibm90ZXhpc3QiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[hasProperty]] is sensitive to property existence but [[Get]] is not","description":"Use [[hasProperty]] and [[Get]] for existent and not existent properties","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIElmIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNy9TOC4xMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZGVsZXRlIE1hdGguRSwgdGhhdCBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkUgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBkZWxldGUgTWF0aC5FID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBNYXRoLkUpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChNYXRoLkUgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogZGVsZXRlIE1hdGguRTsgTWF0aC5FICE9PSB1bmRlZmluZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand If the property has the DontDelete attribute, return false","description":"Try to delete Math.E, that has the DontDelete attribute","noStrict":"","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcwogKi8KCnZhciBfX2NvbG9yX19tYXAgPSB7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fY29sb3JfX21hcC5yZWQpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdICE9PSB0cnVlKXsKICAkRVJST1IoJyMyOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXBbImdyZWVuIl0gPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgYmx1ZSA9IDE7CmlmIChkZWxldGUgX19jb2xvcl9fbWFwW2JsdWVdICE9PSB0cnVlKXsKICAkRVJST1IoJyMzOiB2YXIgX19jb2xvcl9fbWFwID0ge307IHZhciBibHVlID0gMTsgZGVsZXRlIF9fY29sb3JfX21hcFtibHVlXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbYmx1ZV0pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcyBvZiBPLCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgcHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gUGFsZXR0ZSgpe307ClBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9Owp2YXIgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3BhbGV0dGUucmVkICE9PSAweEZGMDAwMCl7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgX19wYWxldHRlLnJlZCA9PT0gMHhGRjAwMDAuIEFjdHVhbDogJyArIChfX3BhbGV0dGUucmVkKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19wYWxldHRlLnJlZCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzIgZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgZGVsZXRlIF9fcGFsZXR0ZS5yZWQgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19wYWxldHRlLnJlZCAhPT0gMHhGRjAwMDApewogICRFUlJPUignIzM6IGZ1bmN0aW9uIFBhbGV0dGUoKXt9OyBQYWxldHRlLnByb3RvdHlwZSA9IHtyZWQ6MHhGRjAwMDAsIGdyZWVuOjB4MDBGRjAwfTsgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7IF9fcGFsZXR0ZS5yZWQgPT09IDB4RkYwMDAwLiBBY3R1YWw6ICcgKyAoX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties of O, but existent property of prototype","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogcmVtb3ZlcyB0aGUgcHJvcGVydHkgd2l0aCBuYW1lIFAgZnJvbSBPIGFuZCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi43L1M4LjEyLjdfQTMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIEJMVUVfTlVNPTE7CnZhciBCTFVFX1NUUj0iMSI7CnZhciBZRUxMT1dfTlVNPTI7CnZhciBZRUxMT1dfU1RSPSIyIjsKdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgQkxVRV9OVU09MTsgdmFyIEJMVUVfU1RSPSIxIjsgdmFyIFlFTExPV19OVU09MjsgdmFyIFlFTExPV19TVFI9IjIiOyB2YXIgX19jb2xvcl9fbWFwID0ge3JlZDoweEZGMDAwMCwgQkxVRV9OVU06MHgwMDAwRkYsIGdyZWVuOjB4MDBGRjAwLCBZRUxMT1dfU1RSOjB4RkZGRjAwfTsgZGVsZXRlIF9fY29sb3JfX21hcFtZRUxMT1dfTlVNXSA9PT0gdHJ1ZTsnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dOyBfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKF9fY29sb3JfX21hcFtZRUxMT1dfU1RSXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoZGVsZXRlIF9fY29sb3JfX21hcFtCTFVFX1NUUl0gIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW0JMVUVfU1RSXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19jb2xvcl9fbWFwW0JMVUVfTlVNXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIEJMVUVfTlVNPTE7IHZhciBCTFVFX1NUUj0iMSI7IHZhciBZRUxMT1dfTlVNPTI7IHZhciBZRUxMT1dfU1RSPSIyIjsgdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07IGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdOyBfX2NvbG9yX19tYXBbQkxVRV9OVU1dID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX2NvbG9yX19tYXBbQkxVRV9OVU1dKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Delete]] method of O is called with property name P,\nremoves the property with name P from O and return true","description":"Delete existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBhIFR5cGVFcnJvciwKICogQ2F1c2Ugd2Ugb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZyBtZXRob2QKICovCgp0cnkKewoJdmFyIF9fb2JqID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKCVN0cmluZyhfX29iaik7CgkkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChTdHJpbmcoX19vYmopKSk7Cn0KY2F0Y2goZSkKewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9ICAKfSAgCgoK","commentary":"This should generate a TypeError,\nCause we overload toString method so it return non Primitive value\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString method","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBubyBUeXBlRXJyb3IsCiAqIENhdXNlIHdlIG92ZXJsb2FkIHRvU3RyaW5nIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBidXQgd2Ugb3ZlcmxvYWRlZCB2YWx1ZU9mIG1ldGhvZCB0b28uCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZywgdGhhdCByZXR1cm5lZCBuZXcgT2JqZWN0LCBhbmQgdmFsdWVPZiBtZXRob2RzCiAqLwoKdHJ5CnsKCXZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fQoJaWYgKFN0cmluZyhfX29iaikgIT09ICIxIikgewoJICAkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoU3RyaW5nKF9fb2JqKSkpOwoJfQp9CmNhdGNoKGUpCnsKICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgo=","commentary":"This should generate no TypeError,\nCause we overload toString method so it return non Primitive value\nbut we overloaded valueOf method too.\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString, that returned new Object, and valueOf methods","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCByZXR1cm4gT2JqZWN0LnRvU3RyaW5nKCkgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kLCB0aGF0IHJldHVybmVkIFByaW1pdGl2ZSwgYW5kIHZhbHVlT2YgbWV0aG9kLCB0aGF0IHJldHVybmVkIG5ldyBPYmplY3QKICovCgp0cnkKewogIHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX0KICBpZiAoTnVtYmVyKF9fb2JqKSAhPT0gMSkgewogICAgJEVSUk9SKCcjMS4xOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoTnVtYmVyKF9fb2JqKSkpOwogIH0KfQpjYXRjaChlKQp7CiAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgoKICAKCgo=","commentary":"We overload valueOf method so it return non Primitive value\nThus [[DefaultValue]] must return Object.toString() value","description":"Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZSBhbmQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlIHRvbwogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCBnZW5lcmF0ZSBUeXBlRXJyb3IgZXJyb3IKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcywgdGhleSByZXR1cm5lZCBuZXcgT2JqZWN0cwogKi8KCnRyeQp7CiAgdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKICBOdW1iZXIoX19vYmopOwogICRFUlJPUignIzEuMTogdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvTnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE51bWJlcihfX29iaikpKTsKfQpjYXRjaChlKQp7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBuZXcgT2JqZWN0O30sdG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAKCg==","commentary":"We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too\nThus [[DefaultValue]] must generate TypeError error","description":"Try to overload toString and valueOf methods, they returned new Objects","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAidmFyIHggPSBudWxsIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gbnVsbDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"var x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieCA9IG51bGwiIHBhc3NlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggPSBudWxsOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbnVsbCBpcyByZXNydmVkIHdvcmQKICoKICogQHBhdGggY2gwOC84LjIvUzguMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgbnVsbCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIG51bGw7CgoKCg==","commentary":"The null is resrved word","description":"Checking if execution of \"var null\" fails","negative":"","path":"TestCases/ch08/8.2/S8.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgdGhlIGtleXdvcmQgbnVsbCB0aGUgdHlwZW9mIG9wZXJhdG9yIHJldHVybnMgdGhlICJvYmplY3QiCiAqIFNlZSBhbHNvCiAqIGh0dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9Db3JlX0phdmFTY3JpcHRfMS41X1JlZmVyZW5jZTpPcGVyYXRvcnM6U3BlY2lhbF9PcGVyYXRvcnM6dHlwZW9mX09wZXJhdG9yCiAqIGFuZAogKiBodHRwOi8vYnVncy5lY21hc2NyaXB0Lm9yZy90aWNrZXQvMjUwCiAqIGZvciBleGFtcGxlCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgbnVsbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKHR5cGVvZihudWxsKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"For the keyword null the typeof operator returns the \"object\"\nSee also\nhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Special_Operators:typeof_Operator\nand\nhttp://bugs.ecmascript.org/ticket/250\nfor example","description":"Check type of null","path":"TestCases/ch08/8.2/S8.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB0cnVlIGFuZCBmYWxzZSB0byB2YXJpYWJsZXMKICovCgppZiAoeCAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMwIHggIT09IHVuZGVmaW5lZCwgYnV0IGFjdHVhbCBpcyAiKyB4KTsKfSAgIAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IGZhbHNlOwoKaWYgKHggIT09IHRydWUpIHsKICAgICRFUlJPUigiIzEuMSB4ICE9PSB0cnVlLCBidXQgYWN0dWFsIGlzICIrIHgpOwp9IAoKaWYgKHkgIT09IGZhbHNlKSB7CiAgICAkRVJST1IoIiMxLjEgeSAhPT0gZmFsc2UsIGJ1dCBhY3R1YWwgaXMgIisgeSk7Cn0gCgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Boolean type have two values, called true and false","description":"Assign true and false to variables","path":"TestCases/ch08/8.3/S8.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgdHJ1ZS9mYWxzZSBhbmQgaXRgcyBlcXVhbGl0eQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHRydWUpICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YodHJ1ZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAodHlwZW9mKHRydWUpICE9ICJib29sZWFuIikgewogICRFUlJPUignIzI6IHR5cGVvZih0cnVlKSA9PSAiYm9vbGVhbiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHR5cGVvZihmYWxzZSkgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzM6IHR5cGVvZihmYWxzZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAodHlwZW9mKGZhbHNlKSAhPSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YoZmFsc2UpID09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNQppZiAodHJ1ZSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNgppZiAodHJ1ZSA9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHRydWUgIT0gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzcKaWYgKGZhbHNlID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzgKaWYgKGZhbHNlID09IHRydWUpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The Boolean type have two values, called true and false","description":"Check type of true/false and it`s equality","path":"TestCases/ch08/8.3/S8.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdHJ1ZSBpcyByZXNlcnZlZCB3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ0cnVlPTEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnRydWUgPSAxOwoK","commentary":"The true is reserved word","description":"Checking if execution of \"true=1\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmFsc2UgaXMgcmVzZXJ2ZWQgd29yZAogKgogKiBAcGF0aCBjaDA4LzguMy9TOC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmFsc2U9MCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZmFsc2UgPSAwOwoK","commentary":"The false is reserved word","description":"Checking if execution of \"false=0\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBsYWluZyBuZWdhdGlvbiB0byBib29sZWFuIHdvcmtzIHdlbGwKICoKICogQHBhdGggY2gwOC84LjMvUzguM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgbm90IGZhbHNlIGVxdWFscyB0cnVlLCBub3QgdHJ1ZSBlcXVhbHMgZmFsc2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpewogICRFUlJPUignIzE6ICFmYWxzZSA9PT0gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIWZhbHNlICE9IHRydWUpewogICRFUlJPUignIzI6ICFmYWxzZSA9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghdHJ1ZSAhPT0gZmFsc2UpewogICRFUlJPUignIzM6ICF0cnVlID09PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIXRydWUgIT0gZmFsc2UpewogICRFUlJPUignIzQ6ICF0cnVlID09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Applaing negation to boolean works well","description":"Check not false equals true, not true equals false","path":"TestCases/ch08/8.3/S8.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgYmVlbiBhc3NpZ25lZCB3aXRoIHN0cmluZyBsaXRlcmFsIGhhcyB0aGUgdHlwZSBzdHJpbmcKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdHlwZSBvZiB2YXJpYWJsZSB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIHdpdGggc3RyaW5nIGxpdGVyYWwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyPSJhYmNkZmciOwppZiAodHlwZW9mKHN0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMTogdmFyIHN0cj0iYWJjZGZnIjsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIHN0cjI9J3F3ZXJ0eSc7CmlmICh0eXBlb2Yoc3RyMikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cjI9XCdxd2VydHlcJzsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cjIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCnZhciBfX3N0cj0nXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4JzsKaWYgKHR5cGVvZihfX3N0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyPVwnXFx1MDA0MlxcdTAwNDNcXHUwMDQ0XFx1MDA0NVxcdTAwNDZcXHUwMDQ3XFx1MDA0OFwnOyB0eXBlb2YoX19zdHIpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3N0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKdmFyIHN0cl9fPSJcdTAwNDJcdTAwNDNcdTAwNDRcdTAwNDVcdTAwNDZcdTAwNDdcdTAwNDgiOwppZiAodHlwZW9mKHN0cl9fKSE9PSJzdHJpbmciKXsKICAkRVJST1IoJyM0OiB2YXIgc3RyX189ImFiY2RmZyI7IHR5cGVvZihzdHJfXykgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cl9fKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Any variable that has been assigned with string literal has the type string","description":"Check type of variable that has been assigned with string literal","path":"TestCases/ch08/8.4/S8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb3RoIHVuaWNvZGUgYW5kIGFzY2lpIGNoYXJzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIHVzaW5nIGJvdGggdW5pY29kZSBhbmQgYXNjaWkgY2hhcnMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX3N0ciA9ICJcdTAwNDFBXHUwMDQyQlx1MDA0M0MiOwppZiAoX19zdHIgIT09ICdBQUJCQ0MnKXsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiXFx1MDA0MUFcXHUwMDQyQlxcdTAwNDNDIjsgX19zdHIgPT09IFwnQUFCQkNDXCcuIEFjdHVhbDogJyArIChfX3N0cikpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fc3RyX18gPSAiXHUwMDQxXHUwMDQyXHUwMDQzIisnQUJDJzsKaWYgKF9fc3RyX18gIT09ICdBQkNBQkMnKXsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJfXyA9ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDMiK1wnQUJDXCc7IF9fc3RyX18gPT09IFwnQUJDQUJDXCcuIEFjdHVhbDogJyArIChfX3N0cl9fKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgc3RyX18gPSAiQUJDIisnXHUwMDQxXHUwMDQyXHUwMDQzJzsKaWYgKHN0cl9fICE9PSAiQUJDQUJDIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cl9fID0gIkFCQyIrXCdcXHUwMDQxXFx1MDA0MlxcdTAwNDNcJzsgc3RyX18gPT09ICJBQkNBQkMiLiBBY3R1YWw6ICcgKyAoc3RyX18pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Both unicode and ascii chars are allowed","description":"Create string using both unicode and ascii chars","path":"TestCases/ch08/8.4/S8.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmVzZW5jZSBvZiByZXNlcnZlZCB3b3JkcyBpbiBzdHJpbmcgbGl0ZXJhbCBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyB2YXJpYWJsZSwgdGhldCBpbmNsdWRlIGFsbCByZXNlcnZlZCB3b3JkcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIF9fZGVsZXRlPSIgYnJlYWsgZWxzZSBuZXcgdmFyIGNhc2UgZmluYWxseSByZXR1cm4gdm9pZCBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlIGNvbnRpbnVlIGZ1bmN0aW9uIHRoaXMgd2l0aCBkZWZhdWx0IGlmIHRocm93IGRlbGV0ZSBpbiB0cnkgZG8gaW5zdGFuY2VvZiB0eXBlb2YgIjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Presence of reserved words in string literal are allowed","description":"Create string variable, thet include all reserved words","path":"TestCases/ch08/8.4/S8.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFsIGNhbGxzIFN0cmluZyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgY29uc3RydWN0b3Igb2Ygc2ltcGxlIGFzc2lnbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgc3RyID0gInJvY2snbidyb2xsIjsKaWYgKHN0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKXsKICAkRVJST1IoJyMxOiB2YXIgc3RyID0gInJvY2tcJ25cJ3JvbGwiOyBzdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiAnICsgKHN0ci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Assignment to string literal calls String constructor","description":"Check constructor of simple assigned variable","path":"TestCases/ch08/8.4/S8.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJzsKCg==","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 3 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 1 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJyc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 4 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 1 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIjsKCg==","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 3 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIiI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 4 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgaGFzIHR5cGUgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBlbXB0eSBzdHJpbmcgYW5kIGNoZWNrIGl0IHR5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyID0gJyc7CmlmICh0eXBlb2Yoc3RyKSAhPT0gJ3N0cmluZycpewogICRFUlJPUignIzE6IHZhciBzdHIgPSBcJ1wnOyB0eXBlb2Yoc3RyKSA9PT0gXCdzdHJpbmdcJy4gQWN0dWFsOiAnICsgKHR5cGVvZihzdHIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBzdHIgPSAiIjsKaWYgKHR5cGVvZihzdHIpICE9PSAic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0ciA9ICIiOyB0eXBlb2Yoc3RyKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIChzdHIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Empty string has type string","description":"Create empty string and check it type","path":"TestCases/ch08/8.4/S8.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgdHlwZSBoYXMgYSBsZW5ndGggcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHJlYWQgbGVuZ3RoIHByb3BlcnR5IG9mIHN0cmluZyB2YXJpYWJsZQogKi8KCnZhciBfX3N0ciA9ICJBQkNERUZHSCI7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJBQkNERUZHSCI7IF9fc3RyLmxlbmd0aCA9PT0gOC4gQWN0dWFsOiAnICsgKF9fc3RyLmxlbmd0aCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String type has a length property","description":"Try read length property of string variable","path":"TestCases/ch08/8.4/S8.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgdmFyaWFibGUgaGFzIGEgbGVuZ3RoIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTQuanMKICogQGRlc2NyaXB0aW9uIFRyeSByZWFkIGxlbmd0aCBwcm9wZXJ0eSBvZiBlbXB0eSBzdHJpbmcgdmFyaWFibGUKICovCgp2YXIgX19zdHIgPSAiIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gIiI7IF9fc3RyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fc3RyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string variable has a length property","description":"Try read length property of empty string variable","path":"TestCases/ch08/8.4/S8.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBaZXJvICJcMCIgbm90IHRlcm1pbmF0ZXMgdGhlIHN0cmluZyhDIHN0cmluZykKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0ICJcMCIgaW50byBzdHJpbmcKICovCgovLyBDSEVDSyMxCmlmICgieFwweSIgPT09ICJ4IikgewogICRFUlJPUignIzE6ICJ4XFwweSIgIT09ICJ4IicpOwp9CgovLyBDSEVDSyMyCmlmICghKCgieFwwYSIgPCAieFwwYiIpICYmICgieFwwYiIgPCAieFwwYyIpKSkgewogICRFUlJPUignIzI6ICgoInhcXDBhIiA8ICJ4XFwwYiIpICYmICgieFxcMGIiIDwgInhcXDBjIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Zero \"\\0\" not terminates the string(C string)","description":"Insert \"\\0\" into string","path":"TestCases/ch08/8.4/S8.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgNDA5NiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzEKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJzsKaWYobGFyZ2VTdHIgIT09ICdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJyl7CiAgJEVSUk9SKCcjMTogTGFyZ2Ugc3RyaW5nIDQwOTYgYnl0ZXMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Large string 4096 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjIuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzIKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFucyBOYXZpZ2F0b3IgMi4wIGJyb3dzZXIuIEl0IGhhcyBhcHBlYXJlZCBpbiBhbGwgc3Vic2VxdWVudCBicm93c2VycyBmcm9tIE5ldHNjYXBlIGFuZCBpbiBhbGwgYnJvd3NlcnMgZnJvbU1pY3Jvc29mdCBzdGFydGluZyB3aXRoIEludGVybmV0IEV4cGxvcmVyIDMuMC5UaGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTdGFuZGFyZCBzdGFydGVkIGluIE5vdmVtYmVyIDE5OTYuIFRoZSBmaXJzdCBlZGl0aW9uIG9mIHRoaXMgRUNNQSBTdGFuZGFyZCB3YXMgYWRvcHRlZCBieXRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk3LlRoYXQgRUNNQSBTdGFuZGFyZCB3YXMgc3VibWl0dGVkIHRvIElTTy9JRUMgSlRDIDEgZm9yIGFkb3B0aW9uIHVuZGVyIHRoZSBmYXN0LXRyYWNrIHByb2NlZHVyZSwgYW5kIGFwcHJvdmVkIGFzaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBJU08vSUVDIDE2MjYyLCBpbiBBcHJpbCAxOTk4LiBUaGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5OCBhcHByb3ZlZCB0aGVzZWNvbmQgZWRpdGlvbiBvZiBFQ01BLTI2MiB0byBrZWVwIGl0IGZ1bGx5IGFsaWduZWQgd2l0aCBJU08vSUVDIDE2MjYyLiBDaGFuZ2VzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCB0aGUgc2Vjb25kZWRpdGlvbiBhcmUgZWRpdG9yaWFsIGluIG5hdHVyZS5UaGUgY3VycmVudCBkb2N1bWVudCBkZWZpbmVzIHRoZSB0aGlyZCBlZGl0aW9uIG9mIHRoZSBTdGFuZGFyZCBhbmQgaW5jbHVkZXMgcG93ZXJmdWwgcmVndWxhciBleHByZXNzaW9ucywgYmV0dGVyc3RyaW5nIGhhbmRsaW5nLCBuZXcgY29udHJvbCBzdGF0ZW1lbnRzLCB0cnkvY2F0Y2ggZXhjZXB0aW9uIGhhbmRsaW5nLCB0aWdodGVyIGRlZmluaXRpb24gb2YgZXJyb3JzLCBmb3JtYXR0aW5nIGZvcm51bWVyaWMgb3V0cHV0IGFuZCBtaW5vciBjaGFuZ2VzIGluIGFudGljaXBhdGlvbiBvZiBmb3J0aGNvbWluZyBpbnRlcm5hdGlvbmFsaXNhdGlvbiBmYWNpbGl0aWVzIGFuZCBmdXR1cmUgbGFuZ3VhZ2Vncm93dGguV29yayBvbiB0aGUgbGFuZ3VhZ2UgaXMgbm90IGNvbXBsZXRlLiBUaGUgdGVjaG5pY2FsIGNvbW1pdHRlZSBpcyB3b3JraW5nIG9uIHNpZ25pZmljYW50IGVuaGFuY2VtZW50cywgaW5jbHVkaW5nbWVjaGFuaXNtcyBmb3Igc2NyaXB0cyB0byBiZSBjcmVhdGVkIGFuZCB1c2VkIGFjcm9zcyB0aGUgSW50ZXJuZXQsIGFuZCB0aWdodGVyIGNvb3JkaW5hdGlvbiB3aXRoIG90aGVyIHN0YW5kYXJkcyBib2RpZXNzdWNoIGFzIGdyb3VwcyB3aXRoaW4gdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gYW5kIHRoZSBXaXJlbGVzcyBBcHBsaWNhdGlvbiBQcm90b2NvbCBGb3J1bS5UaGlzIFN0YW5kYXJkIGhhcyBiZWVuIGFkb3B0ZWQgYXMgM3JkIEVkaXRpb24gb2YgRUNNQS0yNjIgYnkgdGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBpbiBEZWNlbWJlciwgMTk5OS4tIGkgLVRhYmxlIG9mIGNvbnRlbnRzMSBTY29wZSAxMiBDb25mb3JtYW5jZSAxMyBSZWZlcmVuY2VzIDE0IE92ZXJ2aWV3IDEgNC4xIFdlYiBTY3JpcHRpbmcgMiA0LjIgTGFuZ3VhZ2UgT3ZlcnZpZXcgMiA0LjIuMSBPYmplY3RzIDMgNC4zIERlZmluaXRpb25zIDQgNC4zLjEgVHlwZSA0IDQuMy4yIFByaW1pdGl2ZSBWYWx1ZSA0IDQuMy4zIE9iamVjdCA0IDQuMy40IENvbnN0cnVjdG9yIDQgNC4zLjUgUHJvdG90eXBlIDQgNC4zLjYgTmF0aXZlIE9iamVjdCA0IDQuMy43IEJ1aWx0LWluIE9iamVjdCA0IDQuMy44IEhvc3QgT2JqZWN0IDQgNC4zLjkgVW5kZWZpbmVkIFZhbHVlIDQgNC4zLjEwIFVuZGVmaW5lZCBUeXBlIDQgNC4zLjExIE51bGwgVmFsdWUgNCA0LjMuMTIgTnVsbCBUeXBlIDQgNC4zLjEzIEJvb2xlYW4gVmFsdWUgNCA0LjMuMTQgQm9vbGVhbiBUeXBlIDQgNC4zLjE1IEJvb2xlYW4gT2JqZWN0IDUgNC4zLjE2IFN0cmluZyBWYWx1ZSA1IDQuMy4xNyBTdHJpbmcgVHlwZSA1IDQuMy4xOCBTdHJpbmcgT2JqZWN0IDUgNC4zLjE5IE51bWJlciBWYWx1ZSA1IDQuMy4yMCBOdW1iZXIgVHlwZSA1IDQuMy4yMSBOdW1iZXIgT2JqZWN0IDUgNC4zLjIyIEluZmluaXR5IDUgNC4zLjIzIE5hTiA1IDUgTm90YXRpb25hbCBDb252ZW50aW9ucyA2IDUuMSBTeW50YWN0aWMgYW5kIExleGljYWwgR3JhbW1hcnMgNiA1LjEuMSBDb250ZXh0LUZyZWUgR3JhbW1hcnMgNiA1LjEuMiBUaGUgTGV4aWNhbCBhbmQgUmVnRXhwIEdyYW1tYXJzIDYgNS4xLjMgVGhlIE51bWVyaWMgU3RyaW5nIEdyYW1tYXIgNiA1LjEuNCBUaGUgU3ludGFjdGljIEdyYW1tYXIgNiA1LjEuNSBHcmFtbWFyIE5vdGF0aW9uIDcgNS4yIEFsZ29yaXRobSBDb252ZW50aW9ucyA5IDYuIFNvdXJjZSBUZXh0IDEwIDcgTGV4aWNhbCBDb252ZW50aW9ucyAxMSA3LjEgVW5pY29kZSBGb3JtYXQtQ29udHJvbCBDaGFyYWN0ZXJzIDExIDcuMiBXaGl0ZSBTcGFjZSAxMSA3LjMgTGluZSBUZXJtaW5hdG9ycyAxMiA3LjQgQ29tbWVudHMgMTIgLSBpaSAtIDcuNSBUb2tlbnMgMTMgNy41LjEgUmVzZXJ2ZWQgV29yZHMgMTMgNy41LjIgS2V5d29yZHMgMTMgNy41LjMgRnV0dXJlIFJlc2VydmVkIFdvcmRzIDE0IDcuNiBJZGVudGlmaWVycyAxNCA3LjcgUHVuY3R1YXRvcnMgMTUgNy44IExpdGVyYWxzIDE2IDcuOC4xIE51bGwgTGl0ZXJhbHMgMTYgNy44LjIgQm9vbGVhbiBMaXRlcmFscyAxNiA3LjguMyBOdW1lcmljIExpdGVyYWxzIDE2IDcuOC40IFN0cmluZyBMaXRlcmFscyAxOCA3LjguNSBSZWd1bGFyIEV4cHJlc3Npb24gTGl0ZXJhbHMgMjAgNy45IEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4xIFJ1bGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4yIEV4YW1wbGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIyIDggVHlwZXMgMjQgOC4xIFRoZSBVbmRlZmluZWQgVHlwZSAyNCA4LjIgVGhlIE51bGwgVHlwZSAyNCA4LjMgVGhlIEJvb2xlYW4gVHlwZSAyNCA4LjQgVGhlIFN0cmluZyBUeXBlIDI0IDguNSBUaGUgTnVtYmVyIFR5cGUgMjQgOC42IFRoZSBPYmplY3QgVHlwZSAyNSA4LjYuMSBQcm9wZXJ0eSBBdHRyaWJ1dGVzIDI1IDguNi4yIEludGVybmFsIFByb3BlcnRpZXMgYW5kIE1ldGhvZHMgMjYgOC43IFRoZSBSZWZlcmVuY2UgVHlwZSAyOSA4LjcuMSBHZXRWYWx1ZSAoVikgMjkgOC43LjIgUHV0VmFsdWUgKFYsIFcpIDI5IDguOCBUaGUgTGlzdCBUeXBlIDMwIDguOSBUaGUgQ29tcGxldGlvbiBUeXBlIDMwIDkgVHlwZSBDb252ZXJzaW9uIDMwIDkuMSBUb1ByaW1pdGl2ZSAzMCA5LjIgVG9Cb29sZWFuIDMwIDkuMyBUb051bWJlciAzMSA5LjMuMSBUb051bWJlciBBcHBsaWVkIHRvIHRoZSBTdHJpbmcgVHlwZSAzMSA5LjQgVG9JbnRlZ2VyIDM0IDkuNSBUb0ludDMyOiAoU2lnbmVkIDMyIEJpdCBJbnRlZ2VyKSAzNCA5LjYgVG9VaW50MzI6IChVbnNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS43IFRvVWludDE2OiAoVW5zaWduZWQgMTYgQml0IEludGVnZXIpIDM1IDkuOCBUb1N0cmluZyAzNSA5LjguMSBUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIgVHlwZSAzNSA5LjkgVG9PYmplY3QgMzYgMTAgRXhlY3V0aW9uIENvbnRleHRzIDM3IDEwLjEgRGVmaW5pdGlvbnMgMzcgMTAuMS4xIEZ1bmN0aW9uIE9iamVjdHMgMzcgMTAuMS4yIFR5cGVzIG9mIEV4ZWN1dGFibGUgQ29kZSAzNyAxMC4xLjMgVmFyaWFibGUgSW5zdGFudGlhdGlvbiAzNyAxMC4xLjQgU2NvcGUgQ2hhaW4gYW5kIElkZW50aWZpZXIgUmVzb2x1dGlvbiAzOCAxMC4xLjUgR2xvYmFsIE9iamVjdCAzOCAxMC4xLjYgQWN0aXZhdGlvbiBPYmplY3QgMzggLSBpIGkgaSAtIDEwLjEuNyBUaGlzIDM5IDEwLjEuOCBBcmd1bWVudHMgT2JqZWN0IDM5IDEwLjIgRW50ZXJpbmcgQW4gRXhlY3V0aW9uIENvbnRleHQgMzkgMTAuMi4xIEdsb2JhbCBDb2RlIDM5IDEwLjIuMiBFdmFsIENvZGUgMzkgMTAuMi4zIEZ1bmN0aW9uIENvZGUgMzkgMTEgRXhwcmVzc2lvbnMgNDAgMTEuMSBQcmltYXJ5IEV4cHJlc3Npb25zIDQwIDExLjEuMSBUaGUgdGhpcyBLZXl3b3JkIDQwIDExLjEuMiBJZGVudGlmaWVyIFJlZmVyZW5jZSA0MCAxMS4xLjMgTGl0ZXJhbCBSZWZlcmVuY2UgNDAgMTEuMS40IEFycmF5IEluaXRpYWxpc2VyIDQwIDExLjEuNSBPYmplY3QgSW5pdGlhbGlzZXIgNDEgMTEuMS42IFRoZSBHcm91cGluZyBPcGVyYXRvciA0MiAxMS4yIExlZnQtSGFuZC1TaWRlIEV4cHJlc3Npb25zIDQzIDExLjIuMSBQcm9wZXJ0eSBBY2Nlc3NvcnMgNDMgMTEuMi4yIFRoZSBuZXcgT3BlcmF0b3IgNDQgMTEuMi4zIEZ1bmN0aW9uIENhbGxzIDQ0IDExLjIuNCBBcmd1bWVudCBMaXN0cyA0NSAxMS4yLjUgRnVuY3Rpb24gRXhwcmVzc2lvbnMgNDUgMTEuMyBQb3N0Zml4IEV4cHJlc3Npb25zIDQ1IDExLjMuMSBQb3N0Zml4IEluY3JlbWVudCBPcGVyYXRvciA0NSAxMS4zLjIgUG9zdGZpeCBEZWNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuNCBVbmFyeSBPcGVyYXRvcnMgNDYgMTEuNC4xIFRoZSBkZWxldGUgT3BlcmF0b3IgNDYgMTEuNC4yIFRoZSB2b2lkIE9wZXJhdG9yIDQ2IDExLjQuMyBUaGUgdHlwZW9mIE9wZXJhdG9yIDQ2IDExLjQuNCBQcmVmaXggSW5jcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNSBQcmVmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNiBVbmFyeSArIE9wZXJhdG9yIDQ3IDExLjQuNyBVbmFyeSAtIE9wZXJhdG9yIDQ3IDExLjQuOCBCaXR3aXNlIE5PVCBPcGVyYXRvciAoIH4pIDQ4IDExLjQuOSBMb2dpY2FsIE5PVCBPcGVyYXRvciAoICEpIDQ4IDExLjUgTXVsdGlwbGljYXRpdmUgT3BlcmF0b3JzIDQ4IDExLjUuMSBBcHBseWluZyB0aGUgKiBPcGVyYXRvciA0OCAxMS41LjIgQXBwbHlpbmcgdGhlIC8gT3BlcmF0b3IgNDkgMTEuNS4zIEFwcGx5aW5nIHRoZSAlIE9wZXJhdG9yIDQ5IDExLjYgQWRkaXRpdmUgT3BlcmF0b3JzIDUwIDExLjYuMSBUaGUgQWRkaXRpb24gb3BlcmF0b3IgKCArKSA1MCAxMS42LjIgVGhlIFN1YnRyYWN0aW9uIE9wZXJhdG9yICggLSkgNTAgMTEuNi4zIEFwcGx5aW5nIHRoZSBBZGRpdGl2ZSBPcGVyYXRvcnMgKCArLC0gKSB0byBOdW1iZXJzIDUxIDExLjcgQml0d2lzZSBTaGlmdCBPcGVyYXRvcnMgNTEgMTEuNy4xIFRoZSBMZWZ0IFNoaWZ0IE9wZXJhdG9yICggPDwpIDUxIDExLjcuMiBUaGUgU2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4pIDUxIDExLjcuMyBUaGUgVW5zaWduZWQgUmlnaHQgU2hpZnQgT3BlcmF0b3IgKCA+Pj4pIDUyIDExLjQgUmVsYXRpb25hbCBPcGVyYXRvcnMgNTIgMTEuOC4xIFRoZSBMZXNzLXRoYW4gT3BlcmF0b3IgKCA8KSA1MyAxMS44LjIgVGhlIEdyZWF0ZXItdGhhbiBPcGVyYXRvciAoID4pIDUzIDExLjguMyBUaGUgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPD0pIDUzIDExLjguNCBUaGUgR3JlYXRlci10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPj0pIDUzIDExLjguNSBUaGUgQWJzdHJhY3QgUmVsYXRpb25hbCBDb21wYXJpc29uIEFsZ29yaXRobSA1MyAtIGl2IC0gMTEuOC42IFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yIDU0IDExLjguNyBUaGUgaW4gb3BlcmF0b3IgNTQgMTEuOSBFcXVhbGl0eSBPcGVyYXRvcnMgNTQgMTEuOS4xIFRoZSBFcXVhbHMgT3BlcmF0b3IgKCA9PSkgNTUgMTEuOS4yIFRoZSBEb2VzLW5vdC1lcXVhbHMgT3BlcmF0b3IgKCAhPSkgNTUgMTEuOS4zIFRoZSBBYnN0cmFjdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NSAxMS45LjQgVGhlIFN0cmljdCBFcXVhbHMgT3BlcmF0b3IgKCA9PT0pIDU2IDExLjkuNSBUaGUgU3RyaWN0IERvZXMtbm90LWVxdWFsIE9wZXJhdG9yICggIT09KSA1NiAxMS45LjYgVGhlIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NiAxMS4xMCBCaW5hcnkgQml0d2lzZSBPcGVyYXRvcnMgNTcgMTEuMTEgQmluYXJ5IExvZ2ljYWwgT3BlcmF0b3JzIDU4IDExLjEyIENvbmRpdGlvbmFsIE9wZXJhdG9yICggPzogKSA1OCAxMS4xMyBBc3NpZ25tZW50IE9wZXJhdG9ycyA1OSAxMS4xMy4xIFNpbXBsZSBBc3NpZ25tZW50ICggPSkgNTkgMTEuMTMuMiBDb21wb3VuZCBBc3NpZ25tZW50ICggb3A9KSA2MCAxMS4xNCBDb21tYSBPcGVyYXRvciAoICwgKSA2MCAxMiBTdGF0ZW1lbnRzIDYxIDEyLjEgQmxvY2sgNjEgMTIuMiBWYXJpYWJsZSBzdGF0ZW1lbnQgNjIgMTIuMyBFbXB0eSBTdGF0ZW1lbnQgNjMgMTIuNCBFeHByZXNzaW9uIFN0YXRlbWVudCA2MyAxMi41IFRoZSBpZiBTdGF0ZW1lbnQgNjMgMTIuNiBJdGVyYXRpb24gU3RhdGVtZW50cyA2NCAxMi42LjEgVGhlIGRvLXdoaWxlIFN0YXRlbWVudCA2NCAxMi42LjIgVGhlIHdoaWxlIHN0YXRlbWVudCA2NCAxMi42LjMgVGhlIGZvciBTdGF0ZW1lbnQgNjUgMTIuNi40IFRoZSBmb3ItaW4gU3RhdGVtZW50IDY1IDEyLjcgVGhlIGNvbnRpbnVlIFN0YXRlbWVudCA2NiAxMi44IFRoZSBicmVhayBTdGF0ZW1lbnQgNjcgMTIuOSBUaGUgcmV0dXJuIFN0YXRlbWVudCA2NyAxMi4xMCBUaGUgd2l0aCBTdGF0ZW1lbnQgNjcgMTIuMTEgVGhlIHN3aXRjaCBTdGF0ZW1lbnQgNjggMTIuMTIgTGFiZWxsZWQgU3RhdGVtZW50cyA2OSAxMi4xMyBUaGUgdGhyb3cgc3RhdGVtZW50IDY5IDEyLjE0IFRoZSB0cnkgc3RhdGVtZW50IDcwIDEzIEZ1bmN0aW9uIERlZmluaXRpb24gNzEgMTMuMSBEZWZpbml0aW9ucyA3MiAxMy4xLjEgRXF1YXRlZCBHcmFtbWFyIFByb2R1Y3Rpb25zIDcyIDEzLjEuMiBKb2luZWQgT2JqZWN0cyA3MiAxMy4yIENyZWF0aW5nIEZ1bmN0aW9uIE9iamVjdHMgNzIgMTMuMi4xIFtbQ2FsbF1dIDczIDEzLjIuMiBbW0NvbnN0cnVjdF1dIDc0IDE0IFByb2dyYW0gNzUgMTUgTmF0aXZlIEVDTUFTY3JpcHQgT2JqZWN0cyA3NiAxNS4xIFRoZSBHbG9iYWwgT2JqZWN0IDc2IDE1LjEuMSBWYWx1ZSBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMiBGdW5jdGlvbiBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMyBVUkkgSGFuZGxpbmcgRnVuY3Rpb24gUHJvcGVydGllcyA3OCAtIHYgLSAxNS4xLjQgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4xLjUgT3RoZXIgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4yIE9iamVjdCBPYmplY3RzIDgzIDE1LjIuMSBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIDgzIDE1LjIuMiBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuMyBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgQ29uc3RydWN0b3IgODQgMTUuMi40IFByb3BlcnRpZXMgb2YgdGhlIE9iamVjdCBQcm90b3R5cGUgT2JqZWN0IDg0IDE1LjIuNSBQcm9wZXJ0aWVzIG9mIE9iamVjdCBJbnN0YW5jZXMgODUgMTUuMyBGdW5jdGlvbiBPYmplY3RzIDg1ICc7CmlmKGxhcmdlU3RyICE9PSAnU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvblN0YW5kYXJkIEVDTUEtMjYyM3IgZCBFZGl0aW9uIC0gRGVjZW1iZXIgMTk5OVMgdCBhIG4gZCBhIHIgZCBpIHogaSBuIGcgSW5mb3JtYXQgaSBvIG4gYW5kIENvbW11IG4gaSBjIGEgdCBpIG8gbiBTeXN0ZW1zUGhvbmU6ICs0MSAyMiA4NDkuNjAuMDAgLSBGYXg6ICs0MSAyMiA4NDkuNjAuMDEgLSBVUkw6IGh0IHRwOiAvIC93d3cuZWNtYS5jaCAtIEludGVybmV0OiBoZWxwZGVza0BlY21hLmNoTUIgRWNtYS0yNjIuZG9jIDA4LTA0LTAyIDE2LDUzRUNNQVNjcmlwdCBMYW5ndWFnZVNwZWNpZmljYXRpb25CcmllZiBIaXN0b3J5VGhpcyBFQ01BIFN0YW5kYXJkIGlzIGJhc2VkIG9uIHNldmVyYWwgb3JpZ2luYXRpbmcgdGVjaG5vbG9naWVzLCB0aGUgbW9zdCB3ZWxsIGtub3duIGJlaW5nIEphdmFTY3JpcHQgKE5ldHNjYXBlKWFuZCBKU2NyaXB0IChNaWNyb3NvZnQpLiBUaGUgbGFuZ3VhZ2Ugd2FzIGludmVudGVkIGJ5IEJyZW5kYW4gRWljaCBhdCBOZXRzY2FwZSBhbmQgZmlyc3QgYXBwZWFyZWQgaW4gdGhhdGNvbXBhbnMgTmF2aWdhdG9yIDIuMCBicm93c2VyLiBJdCBoYXMgYXBwZWFyZWQgaW4gYWxsIHN1YnNlcXVlbnQgYnJvd3NlcnMgZnJvbSBOZXRzY2FwZSBhbmQgaW4gYWxsIGJyb3dzZXJzIGZyb21NaWNyb3NvZnQgc3RhcnRpbmcgd2l0aCBJbnRlcm5ldCBFeHBsb3JlciAzLjAuVGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3RhbmRhcmQgc3RhcnRlZCBpbiBOb3ZlbWJlciAxOTk2LiBUaGUgZmlyc3QgZWRpdGlvbiBvZiB0aGlzIEVDTUEgU3RhbmRhcmQgd2FzIGFkb3B0ZWQgYnl0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5Ny5UaGF0IEVDTUEgU3RhbmRhcmQgd2FzIHN1Ym1pdHRlZCB0byBJU08vSUVDIEpUQyAxIGZvciBhZG9wdGlvbiB1bmRlciB0aGUgZmFzdC10cmFjayBwcm9jZWR1cmUsIGFuZCBhcHByb3ZlZCBhc2ludGVybmF0aW9uYWwgc3RhbmRhcmQgSVNPL0lFQyAxNjI2MiwgaW4gQXByaWwgMTk5OC4gVGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTggYXBwcm92ZWQgdGhlc2Vjb25kIGVkaXRpb24gb2YgRUNNQS0yNjIgdG8ga2VlcCBpdCBmdWxseSBhbGlnbmVkIHdpdGggSVNPL0lFQyAxNjI2Mi4gQ2hhbmdlcyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgdGhlIHNlY29uZGVkaXRpb24gYXJlIGVkaXRvcmlhbCBpbiBuYXR1cmUuVGhlIGN1cnJlbnQgZG9jdW1lbnQgZGVmaW5lcyB0aGUgdGhpcmQgZWRpdGlvbiBvZiB0aGUgU3RhbmRhcmQgYW5kIGluY2x1ZGVzIHBvd2VyZnVsIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIGJldHRlcnN0cmluZyBoYW5kbGluZywgbmV3IGNvbnRyb2wgc3RhdGVtZW50cywgdHJ5L2NhdGNoIGV4Y2VwdGlvbiBoYW5kbGluZywgdGlnaHRlciBkZWZpbml0aW9uIG9mIGVycm9ycywgZm9ybWF0dGluZyBmb3JudW1lcmljIG91dHB1dCBhbmQgbWlub3IgY2hhbmdlcyBpbiBhbnRpY2lwYXRpb24gb2YgZm9ydGhjb21pbmcgaW50ZXJuYXRpb25hbGlzYXRpb24gZmFjaWxpdGllcyBhbmQgZnV0dXJlIGxhbmd1YWdlZ3Jvd3RoLldvcmsgb24gdGhlIGxhbmd1YWdlIGlzIG5vdCBjb21wbGV0ZS4gVGhlIHRlY2huaWNhbCBjb21taXR0ZWUgaXMgd29ya2luZyBvbiBzaWduaWZpY2FudCBlbmhhbmNlbWVudHMsIGluY2x1ZGluZ21lY2hhbmlzbXMgZm9yIHNjcmlwdHMgdG8gYmUgY3JlYXRlZCBhbmQgdXNlZCBhY3Jvc3MgdGhlIEludGVybmV0LCBhbmQgdGlnaHRlciBjb29yZGluYXRpb24gd2l0aCBvdGhlciBzdGFuZGFyZHMgYm9kaWVzc3VjaCBhcyBncm91cHMgd2l0aGluIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIGFuZCB0aGUgV2lyZWxlc3MgQXBwbGljYXRpb24gUHJvdG9jb2wgRm9ydW0uVGhpcyBTdGFuZGFyZCBoYXMgYmVlbiBhZG9wdGVkIGFzIDNyZCBFZGl0aW9uIG9mIEVDTUEtMjYyIGJ5IHRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgaW4gRGVjZW1iZXIsIDE5OTkuLSBpIC1UYWJsZSBvZiBjb250ZW50czEgU2NvcGUgMTIgQ29uZm9ybWFuY2UgMTMgUmVmZXJlbmNlcyAxNCBPdmVydmlldyAxIDQuMSBXZWIgU2NyaXB0aW5nIDIgNC4yIExhbmd1YWdlIE92ZXJ2aWV3IDIgNC4yLjEgT2JqZWN0cyAzIDQuMyBEZWZpbml0aW9ucyA0IDQuMy4xIFR5cGUgNCA0LjMuMiBQcmltaXRpdmUgVmFsdWUgNCA0LjMuMyBPYmplY3QgNCA0LjMuNCBDb25zdHJ1Y3RvciA0IDQuMy41IFByb3RvdHlwZSA0IDQuMy42IE5hdGl2ZSBPYmplY3QgNCA0LjMuNyBCdWlsdC1pbiBPYmplY3QgNCA0LjMuOCBIb3N0IE9iamVjdCA0IDQuMy45IFVuZGVmaW5lZCBWYWx1ZSA0IDQuMy4xMCBVbmRlZmluZWQgVHlwZSA0IDQuMy4xMSBOdWxsIFZhbHVlIDQgNC4zLjEyIE51bGwgVHlwZSA0IDQuMy4xMyBCb29sZWFuIFZhbHVlIDQgNC4zLjE0IEJvb2xlYW4gVHlwZSA0IDQuMy4xNSBCb29sZWFuIE9iamVjdCA1IDQuMy4xNiBTdHJpbmcgVmFsdWUgNSA0LjMuMTcgU3RyaW5nIFR5cGUgNSA0LjMuMTggU3RyaW5nIE9iamVjdCA1IDQuMy4xOSBOdW1iZXIgVmFsdWUgNSA0LjMuMjAgTnVtYmVyIFR5cGUgNSA0LjMuMjEgTnVtYmVyIE9iamVjdCA1IDQuMy4yMiBJbmZpbml0eSA1IDQuMy4yMyBOYU4gNSA1IE5vdGF0aW9uYWwgQ29udmVudGlvbnMgNiA1LjEgU3ludGFjdGljIGFuZCBMZXhpY2FsIEdyYW1tYXJzIDYgNS4xLjEgQ29udGV4dC1GcmVlIEdyYW1tYXJzIDYgNS4xLjIgVGhlIExleGljYWwgYW5kIFJlZ0V4cCBHcmFtbWFycyA2IDUuMS4zIFRoZSBOdW1lcmljIFN0cmluZyBHcmFtbWFyIDYgNS4xLjQgVGhlIFN5bnRhY3RpYyBHcmFtbWFyIDYgNS4xLjUgR3JhbW1hciBOb3RhdGlvbiA3IDUuMiBBbGdvcml0aG0gQ29udmVudGlvbnMgOSA2LiBTb3VyY2UgVGV4dCAxMCA3IExleGljYWwgQ29udmVudGlvbnMgMTEgNy4xIFVuaWNvZGUgRm9ybWF0LUNvbnRyb2wgQ2hhcmFjdGVycyAxMSA3LjIgV2hpdGUgU3BhY2UgMTEgNy4zIExpbmUgVGVybWluYXRvcnMgMTIgNy40IENvbW1lbnRzIDEyIC0gaWkgLSA3LjUgVG9rZW5zIDEzIDcuNS4xIFJlc2VydmVkIFdvcmRzIDEzIDcuNS4yIEtleXdvcmRzIDEzIDcuNS4zIEZ1dHVyZSBSZXNlcnZlZCBXb3JkcyAxNCA3LjYgSWRlbnRpZmllcnMgMTQgNy43IFB1bmN0dWF0b3JzIDE1IDcuOCBMaXRlcmFscyAxNiA3LjguMSBOdWxsIExpdGVyYWxzIDE2IDcuOC4yIEJvb2xlYW4gTGl0ZXJhbHMgMTYgNy44LjMgTnVtZXJpYyBMaXRlcmFscyAxNiA3LjguNCBTdHJpbmcgTGl0ZXJhbHMgMTggNy44LjUgUmVndWxhciBFeHByZXNzaW9uIExpdGVyYWxzIDIwIDcuOSBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMSBSdWxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMiBFeGFtcGxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMiA4IFR5cGVzIDI0IDguMSBUaGUgVW5kZWZpbmVkIFR5cGUgMjQgOC4yIFRoZSBOdWxsIFR5cGUgMjQgOC4zIFRoZSBCb29sZWFuIFR5cGUgMjQgOC40IFRoZSBTdHJpbmcgVHlwZSAyNCA4LjUgVGhlIE51bWJlciBUeXBlIDI0IDguNiBUaGUgT2JqZWN0IFR5cGUgMjUgOC42LjEgUHJvcGVydHkgQXR0cmlidXRlcyAyNSA4LjYuMiBJbnRlcm5hbCBQcm9wZXJ0aWVzIGFuZCBNZXRob2RzIDI2IDguNyBUaGUgUmVmZXJlbmNlIFR5cGUgMjkgOC43LjEgR2V0VmFsdWUgKFYpIDI5IDguNy4yIFB1dFZhbHVlIChWLCBXKSAyOSA4LjggVGhlIExpc3QgVHlwZSAzMCA4LjkgVGhlIENvbXBsZXRpb24gVHlwZSAzMCA5IFR5cGUgQ29udmVyc2lvbiAzMCA5LjEgVG9QcmltaXRpdmUgMzAgOS4yIFRvQm9vbGVhbiAzMCA5LjMgVG9OdW1iZXIgMzEgOS4zLjEgVG9OdW1iZXIgQXBwbGllZCB0byB0aGUgU3RyaW5nIFR5cGUgMzEgOS40IFRvSW50ZWdlciAzNCA5LjUgVG9JbnQzMjogKFNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS42IFRvVWludDMyOiAoVW5zaWduZWQgMzIgQml0IEludGVnZXIpIDM0IDkuNyBUb1VpbnQxNjogKFVuc2lnbmVkIDE2IEJpdCBJbnRlZ2VyKSAzNSA5LjggVG9TdHJpbmcgMzUgOS44LjEgVG9TdHJpbmcgQXBwbGllZCB0byB0aGUgTnVtYmVyIFR5cGUgMzUgOS45IFRvT2JqZWN0IDM2IDEwIEV4ZWN1dGlvbiBDb250ZXh0cyAzNyAxMC4xIERlZmluaXRpb25zIDM3IDEwLjEuMSBGdW5jdGlvbiBPYmplY3RzIDM3IDEwLjEuMiBUeXBlcyBvZiBFeGVjdXRhYmxlIENvZGUgMzcgMTAuMS4zIFZhcmlhYmxlIEluc3RhbnRpYXRpb24gMzcgMTAuMS40IFNjb3BlIENoYWluIGFuZCBJZGVudGlmaWVyIFJlc29sdXRpb24gMzggMTAuMS41IEdsb2JhbCBPYmplY3QgMzggMTAuMS42IEFjdGl2YXRpb24gT2JqZWN0IDM4IC0gaSBpIGkgLSAxMC4xLjcgVGhpcyAzOSAxMC4xLjggQXJndW1lbnRzIE9iamVjdCAzOSAxMC4yIEVudGVyaW5nIEFuIEV4ZWN1dGlvbiBDb250ZXh0IDM5IDEwLjIuMSBHbG9iYWwgQ29kZSAzOSAxMC4yLjIgRXZhbCBDb2RlIDM5IDEwLjIuMyBGdW5jdGlvbiBDb2RlIDM5IDExIEV4cHJlc3Npb25zIDQwIDExLjEgUHJpbWFyeSBFeHByZXNzaW9ucyA0MCAxMS4xLjEgVGhlIHRoaXMgS2V5d29yZCA0MCAxMS4xLjIgSWRlbnRpZmllciBSZWZlcmVuY2UgNDAgMTEuMS4zIExpdGVyYWwgUmVmZXJlbmNlIDQwIDExLjEuNCBBcnJheSBJbml0aWFsaXNlciA0MCAxMS4xLjUgT2JqZWN0IEluaXRpYWxpc2VyIDQxIDExLjEuNiBUaGUgR3JvdXBpbmcgT3BlcmF0b3IgNDIgMTEuMiBMZWZ0LUhhbmQtU2lkZSBFeHByZXNzaW9ucyA0MyAxMS4yLjEgUHJvcGVydHkgQWNjZXNzb3JzIDQzIDExLjIuMiBUaGUgbmV3IE9wZXJhdG9yIDQ0IDExLjIuMyBGdW5jdGlvbiBDYWxscyA0NCAxMS4yLjQgQXJndW1lbnQgTGlzdHMgNDUgMTEuMi41IEZ1bmN0aW9uIEV4cHJlc3Npb25zIDQ1IDExLjMgUG9zdGZpeCBFeHByZXNzaW9ucyA0NSAxMS4zLjEgUG9zdGZpeCBJbmNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuMy4yIFBvc3RmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ1IDExLjQgVW5hcnkgT3BlcmF0b3JzIDQ2IDExLjQuMSBUaGUgZGVsZXRlIE9wZXJhdG9yIDQ2IDExLjQuMiBUaGUgdm9pZCBPcGVyYXRvciA0NiAxMS40LjMgVGhlIHR5cGVvZiBPcGVyYXRvciA0NiAxMS40LjQgUHJlZml4IEluY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjUgUHJlZml4IERlY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjYgVW5hcnkgKyBPcGVyYXRvciA0NyAxMS40LjcgVW5hcnkgLSBPcGVyYXRvciA0NyAxMS40LjggQml0d2lzZSBOT1QgT3BlcmF0b3IgKCB+KSA0OCAxMS40LjkgTG9naWNhbCBOT1QgT3BlcmF0b3IgKCAhKSA0OCAxMS41IE11bHRpcGxpY2F0aXZlIE9wZXJhdG9ycyA0OCAxMS41LjEgQXBwbHlpbmcgdGhlICogT3BlcmF0b3IgNDggMTEuNS4yIEFwcGx5aW5nIHRoZSAvIE9wZXJhdG9yIDQ5IDExLjUuMyBBcHBseWluZyB0aGUgJSBPcGVyYXRvciA0OSAxMS42IEFkZGl0aXZlIE9wZXJhdG9ycyA1MCAxMS42LjEgVGhlIEFkZGl0aW9uIG9wZXJhdG9yICggKykgNTAgMTEuNi4yIFRoZSBTdWJ0cmFjdGlvbiBPcGVyYXRvciAoIC0pIDUwIDExLjYuMyBBcHBseWluZyB0aGUgQWRkaXRpdmUgT3BlcmF0b3JzICggKywtICkgdG8gTnVtYmVycyA1MSAxMS43IEJpdHdpc2UgU2hpZnQgT3BlcmF0b3JzIDUxIDExLjcuMSBUaGUgTGVmdCBTaGlmdCBPcGVyYXRvciAoIDw8KSA1MSAxMS43LjIgVGhlIFNpZ25lZCBSaWdodCBTaGlmdCBPcGVyYXRvciAoID4+KSA1MSAxMS43LjMgVGhlIFVuc2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4+KSA1MiAxMS40IFJlbGF0aW9uYWwgT3BlcmF0b3JzIDUyIDExLjguMSBUaGUgTGVzcy10aGFuIE9wZXJhdG9yICggPCkgNTMgMTEuOC4yIFRoZSBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgKCA+KSA1MyAxMS44LjMgVGhlIExlc3MtdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoIDw9KSA1MyAxMS44LjQgVGhlIEdyZWF0ZXItdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoID49KSA1MyAxMS44LjUgVGhlIEFic3RyYWN0IFJlbGF0aW9uYWwgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTMgLSBpdiAtIDExLjguNiBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvciA1NCAxMS44LjcgVGhlIGluIG9wZXJhdG9yIDU0IDExLjkgRXF1YWxpdHkgT3BlcmF0b3JzIDU0IDExLjkuMSBUaGUgRXF1YWxzIE9wZXJhdG9yICggPT0pIDU1IDExLjkuMiBUaGUgRG9lcy1ub3QtZXF1YWxzIE9wZXJhdG9yICggIT0pIDU1IDExLjkuMyBUaGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTUgMTEuOS40IFRoZSBTdHJpY3QgRXF1YWxzIE9wZXJhdG9yICggPT09KSA1NiAxMS45LjUgVGhlIFN0cmljdCBEb2VzLW5vdC1lcXVhbCBPcGVyYXRvciAoICE9PSkgNTYgMTEuOS42IFRoZSBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTYgMTEuMTAgQmluYXJ5IEJpdHdpc2UgT3BlcmF0b3JzIDU3IDExLjExIEJpbmFyeSBMb2dpY2FsIE9wZXJhdG9ycyA1OCAxMS4xMiBDb25kaXRpb25hbCBPcGVyYXRvciAoID86ICkgNTggMTEuMTMgQXNzaWdubWVudCBPcGVyYXRvcnMgNTkgMTEuMTMuMSBTaW1wbGUgQXNzaWdubWVudCAoID0pIDU5IDExLjEzLjIgQ29tcG91bmQgQXNzaWdubWVudCAoIG9wPSkgNjAgMTEuMTQgQ29tbWEgT3BlcmF0b3IgKCAsICkgNjAgMTIgU3RhdGVtZW50cyA2MSAxMi4xIEJsb2NrIDYxIDEyLjIgVmFyaWFibGUgc3RhdGVtZW50IDYyIDEyLjMgRW1wdHkgU3RhdGVtZW50IDYzIDEyLjQgRXhwcmVzc2lvbiBTdGF0ZW1lbnQgNjMgMTIuNSBUaGUgaWYgU3RhdGVtZW50IDYzIDEyLjYgSXRlcmF0aW9uIFN0YXRlbWVudHMgNjQgMTIuNi4xIFRoZSBkby13aGlsZSBTdGF0ZW1lbnQgNjQgMTIuNi4yIFRoZSB3aGlsZSBzdGF0ZW1lbnQgNjQgMTIuNi4zIFRoZSBmb3IgU3RhdGVtZW50IDY1IDEyLjYuNCBUaGUgZm9yLWluIFN0YXRlbWVudCA2NSAxMi43IFRoZSBjb250aW51ZSBTdGF0ZW1lbnQgNjYgMTIuOCBUaGUgYnJlYWsgU3RhdGVtZW50IDY3IDEyLjkgVGhlIHJldHVybiBTdGF0ZW1lbnQgNjcgMTIuMTAgVGhlIHdpdGggU3RhdGVtZW50IDY3IDEyLjExIFRoZSBzd2l0Y2ggU3RhdGVtZW50IDY4IDEyLjEyIExhYmVsbGVkIFN0YXRlbWVudHMgNjkgMTIuMTMgVGhlIHRocm93IHN0YXRlbWVudCA2OSAxMi4xNCBUaGUgdHJ5IHN0YXRlbWVudCA3MCAxMyBGdW5jdGlvbiBEZWZpbml0aW9uIDcxIDEzLjEgRGVmaW5pdGlvbnMgNzIgMTMuMS4xIEVxdWF0ZWQgR3JhbW1hciBQcm9kdWN0aW9ucyA3MiAxMy4xLjIgSm9pbmVkIE9iamVjdHMgNzIgMTMuMiBDcmVhdGluZyBGdW5jdGlvbiBPYmplY3RzIDcyIDEzLjIuMSBbW0NhbGxdXSA3MyAxMy4yLjIgW1tDb25zdHJ1Y3RdXSA3NCAxNCBQcm9ncmFtIDc1IDE1IE5hdGl2ZSBFQ01BU2NyaXB0IE9iamVjdHMgNzYgMTUuMSBUaGUgR2xvYmFsIE9iamVjdCA3NiAxNS4xLjEgVmFsdWUgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjIgRnVuY3Rpb24gUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjMgVVJJIEhhbmRsaW5nIEZ1bmN0aW9uIFByb3BlcnRpZXMgNzggLSB2IC0gMTUuMS40IENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMS41IE90aGVyIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMiBPYmplY3QgT2JqZWN0cyA4MyAxNS4yLjEgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciBDYWxsZWQgYXMgYSBGdW5jdGlvbiA4MyAxNS4yLjIgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciA4NCAxNS4yLjMgUHJvcGVydGllcyBvZiB0aGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuNCBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgUHJvdG90eXBlIE9iamVjdCA4NCAxNS4yLjUgUHJvcGVydGllcyBvZiBPYmplY3QgSW5zdGFuY2VzIDg1IDE1LjMgRnVuY3Rpb24gT2JqZWN0cyA4NSAnKXsKICAkRVJST1IoJyMyOiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Large string 8192 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TEY+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExGPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwQWdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcsIDAsIGZhbHNlIGFyZSBhbGwgZXF1YWwgKD09KSB0byBlYWNoIG90aGVyLCBzaW5jZSB0aGV5IGFsbCBldmFsdWF0ZSB0byAwCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgZW1wdHkgc3RyaW5nIHdpdGggdW5kZWZpbmVkLCBudWxsLCAwIGFuZCBmYWxzZQogKi8KCnZhciBzdHI9Jyc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyID09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMTogRW1wdHkgc3RyaW5nIGFuZCB1bmRlZmluZWQgYXJlIG5vdCBlcXVhbCAoIT0pIHRvIGVhY2ggb3RoZXInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyID09IG51bGwpewogICRFUlJPUignIzE6IEVtcHR5IHN0cmluZyBhbmQgTnVsbCBhcmUgbm90IGVxdWFsICghPSkgdG8gZWFjaCBvdGhlcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCmlmIChzdHIgIT0gMCl7CiAgJEVSUk9SKCcjMzogRW1wdHkgc3RyaW5nIGFuZCAwIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAoc3RyICE9IGZhbHNlKXsKICAkRVJST1IoJyM0OiBFbXB0eSBzdHJpbmcgYW5kIGZhbHNlIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string, 0, false are all equal (==) to each other, since they all evaluate to 0","description":"Compare empty string with undefined, null, 0 and false","path":"TestCases/ch08/8.4/S8.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9J0FCQyc7CnZhciBzdHJPYmo9bmV3IFN0cmluZygnQUJDJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6IFwnQUJDXCcuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcoXCdBQkNcJykuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogIkFCQyIgPT0gbmV3IFN0cmluZygiQUJDIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyID09PSBzdHJPYmopewogICRFUlJPUignIzM6ICJBQkMiICE9PSBuZXcgU3RyaW5nKCJBQkMiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Simple string variable compare with object String","path":"TestCases/ch08/8.4/S8.4_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBlbXB0eSBzdHJpbmcgdmFyaWFibGUsIG9iamVjdCBTdHJpbmcoJycpIGFuZCBvYmplY3QgU3RyaW5nKCkKICovCgp2YXIgc3RyPSIiOwp2YXIgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOwp2YXIgc3RyT2JqXz1uZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCIiKS5jb25zdHJ1Y3RvcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9ial8uY29uc3RydWN0b3IpewogICRFUlJPUignIzI6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCkuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMzogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyM0OiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM1CmlmIChzdHIgIT0gc3RyT2JqXyl7CiAgJEVSUk9SKCcjNTogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCk7IGFyZSBlcXVhbCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM2CmlmIChzdHIgPT09IHN0ck9ial8pewogICRFUlJPUignIzY6IG9iamVjdHMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Compare empty string variable, object String('') and object String()","path":"TestCases/ch08/8.4/S8.4_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIGVtcHR5IHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggZW1wdHkgb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9IiI7CnZhciBzdHJPYmo9bmV3IFN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9iai5jb25zdHJ1Y3Rvcil7CiAgJEVSUk9SKCcjMTogIiIuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyMzOiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKHR5cGVvZiBzdHIgPT0gdHlwZW9mIHN0ck9iail7CiAgJEVSUk9SKCcjNDogdHlwZXMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOyBhcmUgZGlmZmVyZW50Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Assignment to string literals calls String constructor","description":"Simple empty string variable compare with empty object String","path":"TestCases/ch08/8.4/S8.4_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gIT09IE5hTgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIE5hTgogKi8KCnZhciB4ID0gTnVtYmVyLk5hTjsKdmFyIHhfID0gTnVtYmVyLk5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sgIzEKaWYgKHggPT09IHhfKXsKICAkRVJST1IoJyMxOiBOYU4gIT09IE5hTiAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"NaN !== NaN","description":"Compare NaN with NaN","path":"TestCases/ch08/8.5/S8.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyBub3QgYSBrZXl3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgSW5maW5pdHkKICovCgp2YXIgSW5maW5pdHk9MS4wOwpJbmZpbml0eT0nYXNkZic7CkluZmluaXR5PXRydWU7Cgo=","commentary":"Infinity is not a keyword","description":"Create variable entitled Infinity","path":"TestCases/ch08/8.5/S8.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8KICovCgp2YXIgcF96ZXJvPSswOwp2YXIgbl96ZXJvPS0wOwoKaWYgKDEuMC9wX3plcm8gPT09IDEuMC9uX3plcm8pewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8nKTsKfQoK","commentary":"The integer 0 has two representations, +0 and -0","description":"Check 1.0/p_zero !== 1.0/n_zero","path":"TestCases/ch08/8.5/S8.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcG9zaXRpdmVfemVybyBhbmQgbmVnYXRpdmVfemVybwogKi8KCnZhciBwX3plcm89KzA7CnZhciBuX3plcm89LTA7CgovL0NIRUNLICMxCmlmICgocF96ZXJvID09IG5femVybykgIT09IHRydWUpewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyAhPSBuX3plcm8nKTsKfQoKLy9DSEVDSyAjMgppZiAoKG5femVybyA9PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMjogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09IDAnKTsKfQoKLy9DSEVDSyAjMwppZiAoKHBfemVybyA9PSAtMCkgIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyA9PSAtMCcpOwp9CgovL0NIRUNLICM0CmlmICgocF96ZXJvID09PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgcF96ZXJvID09PSAwJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYgKChuX3plcm8gPT09IC0wKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNTogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09PSAtMCcpOwp9Cgo=","commentary":"The integer 0 has two representations, +0 and -0","description":"Compare positive_zero and negative_zero","path":"TestCases/ch08/8.5/S8.5_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgYW5kIEluZmluaXR5IGFyZSB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5IHdpdGggTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChwX2luZiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMTogK0luZmluaXR5IGlzIHRoZSBzYW1lIGFzIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLICMyIAppZiAoaW5mIT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMyOiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoK","commentary":"+Infinity and Infinity are the same as Number.POSITIVE_INFINITY","description":"Compare Infinity and +Infinity with Number.POSITIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEyLjIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgLUluZmluaXR5IHdpdGggTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqLwoKdmFyIG5faW5mPS1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChuX2luZiAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"-Infinity is the same as Number.NEGATIVE_INFINITY","description":"Compare -Infinity with Number.NEGATIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIC0xMDc0CiAqIEBpbXBsRGVwZW5kZW50IERvZXMgbm90IHBhc3Mgb24gY3VycmVudCBBUk0gcHJvY2Vzc29ycwogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gNC40NTAxNDc3MTcwMTQ0MDIzZS0zMDgpewogICRFUlJPUignIzE6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpID09PSA0LjQ1MDE0NzcxNzAxNDQwMjNlLTMwOC4gQWN0dWFsOiAnICsgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpICE9PSAyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCl7CiAgJEVSUk9SKCcjMjogKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDguIEFjdHVhbDogJyArICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzMgCmlmICgoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4KXsKICAkRVJST1IoJyMzOiAoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsLTEwNzQpKSkpKTsKfQoK","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is -1074","implDependent":"Does not pass on current ARM processors","path":"TestCases/ch08/8.5/S8.5_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIDk3MQogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3KXsKICAkRVJST1IoJyMxOiAoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMiAKaWYgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgpewogICRFUlJPUignIzI6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDguIEFjdHVhbDogJyArICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMyAKaWYgKCgtMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gLTguOTg4NDY1Njc0MzExNThlKzMwNyl7CiAgJEVSUk9SKCcjMzogKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSAtOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is 971","path":"TestCases/ch08/8.5/S8.5_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBiaWdnZXIgb2YgMioqMTAyNAogKi8KCi8vQ0hFQ0sgIzEgCmlmICgxZSszMDgqMiAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzE6IDFlKzMwOCoyID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKDFlKzMwOCoyKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzI6ICgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number bigger of 2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBzbWFsbGVyIG9mIC0yKioxMDI0CiAqLwoKLy9DSEVDSyAjMSAKaWYgKC0xZSszMDgqMyAhPT0gLUluZmluaXR5KXsKICAkRVJST1IoJyMxOiAtMWUrMzA4KjMgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTFlKzMwOCozKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoLTEqKE1hdGgucG93KDIsNTMpKSooTWF0aC5wb3coMiw5NzEpKSkgIT09IC1JbmZpbml0eSl7CiAgJEVSUk9SKCcjMjogKC0xKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgtMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSkpOwp9Cgo=","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number smaller of -2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZG91YmxlIHByZWNpc2lvbiA2NC1iaXQgZm9ybWF0IElFRUUgNzU0CiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIDJeNTMgKyAyIG51bWJlciBhbmQgZG8gc29tZSBvcGVyYXRpb24gd2l0aCBpdAogKi8KCnZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyAvKiAyXjUzICsgMiAqLwp2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsKdmFyIHogPSB4ICsgeTsKdmFyIGQgPSB6IC0geDsKCmlmIChkICE9PSAwKXsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDkwMDcxOTkyNTQ3NDA5OTQuMDsgdmFyIHkgPSAxLjAgLSAxLzY1NTM2LjA7IHZhciB6ID0geCArIHk7IHZhciBkID0geiAtIHg7IGQgPT09IDAuIEFjdHVhbDogJyArIChkKSk7Cn0KCg==","commentary":"Number type represented as the double precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZXh0ZW5kZWQgcHJlY2lzaW9uIDY0LWJpdCBmb3JtYXQgSUVFRSA3NTQKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgMl41MyArIDIgbnVtYmVyIGFuZCBkbyBzb21lIG9wZXJhdGlvbiB3aXRoIGl0CiAqLwoKdmFyIHggPSA5MDA3MTk5MjU0NzQwOTk0LjA7IC8qIDJeNTMgKyAyICovCnZhciB5ID0gMS4wIC0gMS82NTUzNi4wOwp2YXIgeiA9IHggKyB5Owp2YXIgZCA9IHogLSB4OwoKaWYgKGQgPT09IDIpewogICRFUlJPUignIzE6IHZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyB2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsgdmFyIHogPSB4ICsgeTsgdmFyIGQgPSB6IC0geDsgZCAhPT0gMicpOwp9Cgo=","commentary":"Number type represented as the extended precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIE5hTgogKi8KCnZhciB4PU5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9TmFOOyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN expression has a type Number","description":"Check type of NaN","path":"TestCases/ch08/8.5/S8.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgTmFOCiAqLwoKdmFyIE5hTj0xLjA7Ck5hTj0nYXNkZic7Ck5hTj10cnVlOwpOYU49TnVtYmVyLk5hTjsKCg==","commentary":"NaN is not a keyword","description":"Create variable entitled NaN","path":"TestCases/ch08/8.5/S8.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybwogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIHplcm8KICovCgp2YXIgeCA9IE5hTjsKdmFyIHhfZ2VxXzA9KHggPj0gMC4wKTsKdmFyIHhfbGVxXzA9KHggPD0gMC4wKTsKdmFyIHhfbGVxXzBfT1JfZ2VxXzA9KHggPD0gMC4wKXx8KHggPj0gMC4wKTsKdmFyIHhfZ2VxXzBfQUREX2xlcV8wPSh4ID49IDAuMCkgKyAoeCA8PSAwLjApOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICh4X2dlcV8wKXsKICAkRVJST1IoJyMxOiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzE6IE5hTiBub3QgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoeF9sZXFfMCl7CiAgJEVSUk9SKCcjMjogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8nKTsKfSBlbHNlIHsKICAkUFJJTlQoJyMyOiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHhfbGVxXzBfT1JfZ2VxXzApewogICRFUlJPUignIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHhfZ2VxXzBfQUREX2xlcV8wKXsKICAkRVJST1IoJyM0OiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybyBBREQgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0gZWxzZSB7CiAgJFBSSU5UKCcjNDogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8gQUREIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN not greater or equal zero","description":"Compare NaN with zero","path":"TestCases/ch08/8.5/S8.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIC1JbmZpbml0eQogKi8KCnZhciB4PS1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9LUluZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoLUluZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigtSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigtSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"-Infinity expression has a type Number","description":"Check type of -Infinity","path":"TestCases/ch08/8.5/S8.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mICtJbmZpbml0eQogKi8KCnZhciB4PStJbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9K0luZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoK0luZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigrSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigrSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"+Infinity expression has a type Number","description":"Check type of +Infinity","path":"TestCases/ch08/8.5/S8.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyArSW5maW5pdHkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5CiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gCmlmIChwX2luZiE9PWluZil7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgK0luZmluaXR5Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Infinity is the same as +Infinity","description":"Compare Infinity and +Infinity","path":"TestCases/ch08/8.5/S8.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWxseSBkZWZpbmVkIHZhcmlhYmxlIE5hTiBoYXMgbm90IGJlZW4gYWx0ZXJlZCBieSBwcm9ncmFtIGV4ZWN1dGlvbgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgYWx0ZXIgZ2xvYmFsbHkgZGVmaW5lZCB2YXJpYWJsZSBOYU4KICogQG5vU3RyaWN0CiAqLwoKTnVtYmVyLk5hTiA9IDE7CgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzE6IEdsb2JhbGx5IGRlZmluZWQgdmFyaWFibGUgTmFOIGhhcyBub3QgYmVlbiBhbHRlcmVkIGJ5IHByb2dyYW0gZXhlY3V0aW9uJyk7Cn0KCg==","commentary":"Globally defined variable NaN has not been altered by program execution","description":"Try alter globally defined variable NaN","noStrict":"","path":"TestCases/ch08/8.5/S8.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17Zm9vOiJiYXIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKCl9fbWFwLmZvbysrOwppZiAoIWlzTmFOKF9fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiB2YXIgX19tYXA9e2ZvbzoiYmFyIn07IF9fbWFwLmZvbysrOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIG5vdCBkZWNsYXJlZCBjdXN0b20gcHJvcGVydHkKICovCgp2YXIgX19tYXA9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghaXNOYU4oX19tYXAuZm9vKyspKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgiZm9vIiBpbiBfX21hcCkpIHsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e307ICJmb28iIGluIF9fbWFwJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3IgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fbWFwPXtmb286J2Jhcid9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQoKKytfX21hcC5mb287CmlmICghaXNOYU4oX19tYXAuZm9vKSkgewogICRFUlJPUignIzE6ICB2YXIgX19tYXA9e2ZvbzoiYmFyIn07ICsrX19tYXAuZm9vOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3Igbm90IGRlY2xhcmVkIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFpc05hTigrK19fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiAgdmFyIF9fbWFwPXt9OyBfX21hcC5mb28rKzsgX19tYXAuZm9vID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChfX21hcC5mb28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoImZvbyIgaW4gX19tYXApKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fbWFwPXt9OyAiZm9vIiBpbiBfX21hcCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBPYmplY3QgaXMgYW4gdW5vcmRlcmVkIGNvbGxlY3Rpb24gb2YgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgdXNpbmcgYSBmZXcgY3VzdG9tIHByb3BlcnRpZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsKCnZhciBjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmopCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzE6IG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsgY291bnQ9MDsgZm9yIChwcm9wZXJ0eSBpbiBvYmopIGNvdW50Kys7IGNvdW50ID09PSAzLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBvYmpfID0ge2Jhcjp0cnVlfTsKb2JqXy5zb21lID0gMTsKb2JqXy5mb28gPSAiYSI7Cgpjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmpfKSBjb3VudCsrOwoKaWYgKGNvdW50ICE9PSAzKXsKICAkRVJST1IoJyMyOiBvYmpfID0ge2Jhcjp0cnVlfTsgb2JqXy5zb21lID0gMTsgb2JqXy5mb28gPSAiYSI7IGNvdW50PTA7IGZvciAocHJvcGVydHkgaW4gb2JqXykgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKdmFyIG9ial9fID0gbmV3IE9iamVjdCgpOwpvYmpfXy5iYXIgPSB0cnVlOwpvYmpfXy5zb21lID0gMTsKb2JqX18uZm9vID0gImEiOwoKY291bnQ9MDsKCmZvciAocHJvcGVydHkgaW4gb2JqX18pCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzM6IG9ial9fID0gbmV3IE9iamVjdCgpOyBvYmpfXy5iYXIgPSB0cnVlOyBvYmpfXy5zb21lID0gMTsgb2JqX18uZm9vID0gImEiOyBmb3IgKHByb3BlcnR5IGluIG9ial9fKSAgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"An Object is an unordered collection of properties","description":"Simple using a few custom properties","path":"TestCases/ch08/8.6/S8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBSZWFkT25seSBsaWtlIEUgaW4gTWF0aAogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBjaGFuZ2UgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRT0xOwppZiAoTWF0aC5FICE9PV9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkU9MTsgTWF0aC5FID09PV9fZScpOwp9Cgo=","commentary":"A property can have attribute ReadOnly like E in Math","description":"Try change Math.E property","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSBsaWtlIGFsbCBwcm9wZXJ0aWVzIG9mIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBlbnVtZXJhdGUgcHJvcGVydGllcyBvZiBOdW1iZXIKICovCgovL0NIRUNLIzEKdmFyIGNvdW50PTA7CmZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7CmlmIChjb3VudCA+IDApewogICRFUlJPUignIzE6IGNvdW50PTA7IGZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7IGNvdW50ID4gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCg==","commentary":"A property can have attribute DontEnum like all properties of Number","description":"Try to enumerate properties of Number","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RGVsZXRlIGxpa2UgTmFOIHByb3BlcnRpZSBvZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4xL1M4LjYuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBOdW1iZXIuTmFOCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTmFOICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIE51bWJlci5OYU4pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoTnVtYmVyLk5hTikgPT09ICJ1bmRlZmluZWQiKXsKICAkRVJST1IoJyMyOiBkZWxldGUgTnVtYmVyLk5hTjsgdHlwZW9mKE51bWJlci5OYU4pICE9PSAidW5kZWZpbmVkIiAnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A property can have attribute DontDelete like NaN propertie of Number object","description":"Try to delete Number.NaN","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uIFRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IGlzCiAqIGVpdGhlciBudWxsIG9yIGFuIG9iamVjdCBhbmQgaXMgdXNlZCBmb3IgaW1wbGVtZW50aW5nIGluaGVyaXRhbmNlCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX29iaj17fTsKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19vYmopKXsKICAkRVJST1IoJyMxOiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uICcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vRXN0YWJsaXNoIHByb3RvIChiYXNlKSBvYmplY3QKLypmdW5jdGlvbiBQcm90b09iaigpewogIAp9OyovCnZhciBwcm90b09iaj17fTsKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgb2JqX189IG5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpewogICRFUlJPUignIzIuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpKTsKfTsKCmlmICghRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSl7CiAgJEVSUk9SKCcjMi4yOiBwcm90b09iaj17fTsgZnVuY3Rpb24gRm9vT2JqKCl7fTsgdmFyIG9ial9fPSBuZXcgRm9vT2JqOyBGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSkpOwp9OwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vIEVzdGFibGlzaCBpbmhlcml0YW5jZSBmcm9tIHByb3RvIG9iamVjdApGb29PYmoucHJvdG90eXBlPXByb3RvT2JqOwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjQ6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIF9fZm9vPW5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIUZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMjogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIXByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKXsKICAkRVJST1IoJyMzLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHZhciBfX2Zvbz1uZXcgRm9vT2JqOyBwcm90b09iai5pc1Byb3RvdHlwZU9mKF9fZm9vKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is\neither null or an object and is used for implementing inheritance","description":"Check [[Prototype]] property of object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBbW1Byb3RvdHlwZV1dIG9iamVjdAogKiBhcmUgdmlzaWJsZSBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdmlzaWJpbGl0eSBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqLwoKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwpGb29PYmoucHJvdG90eXBlLnByb3A9InNvbWUiOwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIGZvbz0gbmV3IEZvb09iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZvby5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wID09PSAic29tZSIuIEFjdHVhbDogJyArIChmb28ucHJvcCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpmb28ucHJvcD10cnVlOwovLyBJbnZva2UgYW5vdGhlciBpbnN0YW5jZSBvZiBmb28gb2JqZWN0CnZhciBmb29fXyA9IG5ldyBGb29PYmo7CmlmIChmb29fXy5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wPXRydWU7IHZhciBmb29fXyA9IG5ldyBGb29PYmo7IGZvb19fLnByb3AgPT09ICJzb21lIi4gQWN0dWFsOiAnICsgKGZvb19fLnByb3ApKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Properties of the [[Prototype]] object\nare visible as properties of the child object for the purposes of get access, but not for put access","description":"Check visibility properties of the child object for the purposes of get access, but not for put access","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBwcm92aWRlIGFueSBtZWFucyBmb3IgYSBwcm9ncmFtIHRvIGFjY2VzcyBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIEdldCBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCnZhciBfX29iaj17fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICdPYmplY3QnICsgIl0iKXsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IF9fb2JqLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyBcJ09iamVjdFwnICsgIl0iLiBBY3R1YWw6ICcgKyAoX19vYmoudG9TdHJpbmcoKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The specification does not provide any means for a program to access [[class]] value except through Object.prototype.toString","description":"Get [[class]] value except through Object.prototype.toString","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0hhc0luc3RhbmNlXV0gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIFZhbHVlIGRlbGVnYXRlcyBiZWhhdmlvdXIgdG8gdGhpcyBvYmplY3QKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHRoZSBvYmogaW5zdGFuY2Ugb2YgT2JqZWN0LCBidXQgbm90IGluc3RhbmNlCiAqICBvZiBGdW5jdGlvbiwgU3RyaW5nLCBOdW1iZXIsIEFycmF5CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IChfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkgPT09IHRydWUuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBPYmplY3QpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBGdW5jdGlvbikgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgRnVuY3Rpb24pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iaiBpbnN0YW5jZW9mIFN0cmluZykgewogICRFUlJPUignIzM6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgU3RyaW5nKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBTdHJpbmcpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX29iaiBpbnN0YW5jZW9mIE51bWJlcikgewogICRFUlJPUignIzQ6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgTnVtYmVyKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBOdW1iZXIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX29iaiBpbnN0YW5jZW9mIEFycmF5KSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBBcnJheSkgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgQXJyYXkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[HasInstance]] returns a boolean value indicating whether Value delegates behaviour to this object","description":"Check that the obj instance of Object, but not instance\n of Function, String, Number, Array","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHRlc3RTY3JlZW4gPSB7dG91Y2g6ZnVuY3Rpb24oKXtjb3VudCsrfX0KICovCgp0aGlzLmNvdW50PTA7Cgp2YXIgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0ZXN0U2NyZWVuLnRvdWNoKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5jb3VudD0wOyB0ZXN0U2NyZWVuID0ge3RvdWNoOmZ1bmN0aW9uKCl7Y291bnQrK319OyB0ZXN0U2NyZWVuLnRvdWNoKCk7IGNvdW50ID09PSAxLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdGVzdFNjcmVlblsndG91Y2gnXSgpOwppZiAoY291bnQgIT09MikgewogICRFUlJPUignIzI6IHRoaXMuY291bnQ9MDsgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsgdGVzdFNjcmVlbi50b3VjaCgpOyB0ZXN0U2NyZWVuW1wndG91Y2hcJ10oKTsgY291bnQgPT09IDIuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as testScreen = {touch:function(){count++}}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHNlYXRbJ21vdmUnXT1mdW5jdGlvbigpe3Bvc2l0aW9uKyt9CiAqLwoKdGhpcy5wb3NpdGlvbj0wOwp2YXIgc2VhdCA9IHt9OwpzZWF0Wydtb3ZlJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpzZWF0Lm1vdmUoKTsKaWYgKHBvc2l0aW9uICE9PTEpIHsKICAkRVJST1IoJyMxOiB0aGlzLnBvc2l0aW9uPTA7IHNlYXQgPSB7fTsgc2VhdFtcJ21vdmVcJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsgc2VhdC5tb3ZlKCk7IHBvc2l0aW9uID09PSAxLiBBY3R1YWw6ICcgKyAocG9zaXRpb24pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKc2VhdFsnbW92ZSddKCk7CmlmIChwb3NpdGlvbiAhPT0yKSB7CiAgJEVSUk9SKCcjMjogdGhpcy5wb3NpdGlvbj0wOyBzZWF0ID0ge307IHNlYXRbXCdtb3ZlXCddPWZ1bmN0aW9uKCl7cG9zaXRpb24rK307IHNlYXQubW92ZSgpOyBzZWF0W1wnbW92ZVwnXSgpOyBwb3NpdGlvbiA9PT0gMi4gQWN0dWFsOiAnICsgKHBvc2l0aW9uKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as seat['move']=function(){position++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9CiAqLwoKdmFyIGNvdW50PTA7CnZhciBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmtub2NrKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgY291bnQgPT09IDEuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0aGlzWydrbm9jayddKCk7CmlmIChjb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgdGhpc1tcJ2tub2NrXCddKCk7IGNvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as knock=function(){count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyB0aGlzWydiZWVwJ109ZnVuY3Rpb24oKXtfX2NvdW50Kyt9CiAqLwoKdmFyIF9fY291bnQ9MDsKCnRoaXNbImJlZXAiXT1mdW5jdGlvbigpe19fY291bnQrK307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKYmVlcCgpOwppZiAoX19jb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IF9fY291bnQgPT09IDEuIEFjdHVhbDogJyArIChfX2NvdW50KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRoaXNbImJlZXAiXSgpOwppZiAoX19jb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IHRoaXNbImJlZXAiXSgpOyBfX2NvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoX19jb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as this['beep']=function(){__count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NvbnN0cnVjdF1dIGNvbnN0cnVjdHMgYW4gb2JqZWN0LiBJbnZva2VkIHZpYSB0aGUgbmV3IG9wZXJhdG9yLiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IHRoaXMgaW50ZXJuYWwgbWV0aG9kIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgZmV3IE9iamVjdHMgdmlhIHRoZSBuZXcgb3BlcmF0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBvYmpJbnN0YW5jZT1uZXcgT2JqZWN0OwppZiAob2JqSW5zdGFuY2UuY29uc3RydWN0b3IgIT09IE9iamVjdCl7CiAgJEVSUk9SKCcjMTogdmFyIG9iakluc3RhbmNlPW5ldyBPYmplY3Q7IG9iakluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBPYmplY3QuIEFjdHVhbDogJyArIChvYmpJbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgbnVtSW5zdGFuY2U9bmV3IE51bWJlcjsKaWYgKG51bUluc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzI6IHZhciBudW1JbnN0YW5jZT1uZXcgTnVtYmVyOyBudW1JbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVtSW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Construct]] constructs an object. Invoked via the new operator. Objects that implement this internal method are called constructors","description":"Create a few Objects via the new operator","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IGludGVybmFsIG1ldGhvZCBbW0NvbnN0cnVjdF1dIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzLiBNYXRoIG9iamVjdCBpcyBOT1QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciBvYmpNYXRoPW5ldyBNYXRoIiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgb2JqTWF0aD1uZXcgTWF0aDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects that implement internal method [[Construct]] are called constructors. Math object is NOT constructor","description":"Checking if execution of \"var objMath=new Math\" passes","negative":"","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIEl0IHNob3VsZCBub3QgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBbW1Byb3RvdHlwZV1dCiAqIG9mIGEgbm9uLWV4dGVuc2libGUgb2JqZWN0CiAqLwoKdmFyIHggPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pOwp2YXIgeSA9IHt9Owp0cnkgewogIHguX19wcm90b19fID0geTsKfSBjYXRjaCAoZXJyKSB7CiAgLy8gQXMgZmFyIGFzIHRoaXMgdGVzdCBpcyBjb25jZXJuZWQsIHdlIGFsbG93IHRoZSBhYm92ZSBhc3NpZ25tZW50CiAgLy8gdG8gZmFpbC4gVGhpcyBmYWlsdXJlIGRvZXMgdmlvbGF0ZSB0aGUgc3BlYyBhbmQgc2hvdWxkIHByb2JhYmx5CiAgLy8gYmUgdGVzdGVkIHNlcGFyYXRlbHkuCn0KaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUigiUHJvdG90eXBlIG9mIG5vbi1leHRlbnNpYmxlIG9iamVjdCBtdXRhdGVkIik7Cn0KCg==","commentary":"","description":"It should not be possible to change the [[Prototype]]\nof a non-extensible object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgZGVsZXRlcyBwdXJlIHByb3BlcnR5LCBzbyBpdCByZXR1cm5zIHRydWUgdG8gYmUgYXBwbHllZCB0byB0aGlzLnByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSB0aGlzLnksIHdoZXJlIHkgaXMgdGhpcy55PTEKICovCgp0aGlzLnkgPSAxOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKChkZWxldGUgdGhpcy55KSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdGhpcy55ID0gMTsgKGRlbGV0ZSB0aGlzLnkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoKGRlbGV0ZSB0aGlzLnkpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHRoaXMueSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB0aGlzLnkgPSAxOyAoZGVsZXRlIHRoaXMueSkgPT09IHRydWU7IHRoaXMueSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy55KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Delete operator deletes pure property, so it returns true to be applyed to this.property","description":"Try to delete this.y, where y is this.y=1","path":"TestCases/ch08/8.7/S8.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIHJlZmVyZW5jZSwgc28gaXQgcmV0dXJucyBmYWxzZSB0byBiZSBhcHBseWVkIHRvIHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBkZWxldGUgeSwgd2hlcmUgeSBpcyB2YXIgeT0xCiAqIEBub1N0cmljdAogKi8KCnZhciB5ID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIHkpewogICRFUlJPUignIzE6IHkgPSAxOyAoZGVsZXRlIHkpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKChkZWxldGUgeSkpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IGRlbGV0ZSB5OyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete operator can't delete reference, so it returns false to be applyed to reference","description":"Try to delete y, where y is var y=1","noStrict":"","path":"TestCases/ch08/8.7/S8.7.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIidsaXRlcmEnPTE7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgonbGl0ZXJhJz0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"'litera'=1;\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjE9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKMT0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"1=1\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB4KysgY2FsbHMgR2V0VmFsdWUgdGhlbiBQdXRWYWx1ZSBzbyBhZnRlciBhcHBseWluZyBwb3N0Zml4IGluY3JlbWVudChhY3R1YWxseSBjb25yZXRlIG9wZXJhdG9yIHR5cGUgaXMgdW5pbXBvcnRhbnQpCiAqIHdlIG11c3QgaGF2ZSByZWZlcmVuY2UgdG8gZGVmaW5lZCB2YWx1ZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjJfQTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgeCsrLCB3aGVyZSB4IGlzIHZhciB4CiAqLwoKdmFyIHg7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHgrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)\nwe must have reference to defined value","description":"Execute x++, where x is var x","path":"TestCases/ch08/8.7/S8.7.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGlzLngrKyBjYWxscyBHZXRWYWx1ZSB0aGVuIFB1dFZhbHVlIHNvIGFmdGVyIGFwcGx5aW5nIHBvc3RmaXggaW5jcmVtZW50KGFjdHVhbGx5IGNvbnJldGUgb3BlcmF0b3IgdHlwZSBpcyB1bmltcG9ydGFuKQogKiB3ZSBtdXN0IGhhdmUgcmVmZXJlbmNlIHRvIGRlZmluZWQgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIHRoaXMueCsrLCB3aGVyZSB0aGlzLnggaXMgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodGhpcy54ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB0aGlzLnggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHRoaXMueCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp0aGlzLngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdGhpcy54OyB0aGlzLngrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)\nwe must have reference to defined value","description":"Execute this.x++, where this.x is undefined","path":"TestCases/ch08/8.7/S8.7.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aXBsZSBWYXJpYWJsZXMgc2hvdWxkIFJlZmVycmluZyB0byBhIFNpbmdsZSBPYmplY3QKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG9iamVjdCBhbmQgcmVmZXJzIHRvIHRoZSBvdGhlciBvYmplY3QsIG1vZGlmeSBhIHByb3BlcnR5IGluIHRoZSBvcmlnaW5hbCBvYmplY3QuCiAqICBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gU2V0IG9iaiB0byBhbiBlbXB0eSBvYmplY3QKLy8KdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKLy8gb2JqUmVmIG5vdyByZWZlcnMgdG8gdGhlIG90aGVyIG9iamVjdAovLwp2YXIgb2JqUmVmID0gb2JqOwovLyBNb2RpZnkgYSBwcm9wZXJ0eSBpbiB0aGUgb3JpZ2luYWwgb2JqZWN0Cm9ialJlZi5vbmVQcm9wZXJ0eSA9IC0xOwpvYmoub25lUHJvcGVydHkgPSB0cnVlOwovLyBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKLy8gKFNpbmNlIHRoZXkgYm90aCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QpCmlmKG9ialJlZi5vbmVQcm9wZXJ0eSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIG9ialJlZiA9IG9iajsgb2JqUmVmLm9uZVByb3BlcnR5ID0gLTE7IG9iai5vbmVQcm9wZXJ0eSA9IHRydWU7IG9ialJlZi5vbmVQcm9wZXJ0eSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ialJlZi5vbmVQcm9wZXJ0eSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Multiple Variables should Referring to a Single Object","description":"Create object and refers to the other object, modify a property in the original object.\n We now see that that change is represented in both variables","path":"TestCases/ch08/8.7/S8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWZlcmVuY2UgdG8gU2VsZi1Nb2RpZnlpbmcgT2JqZWN0IHJlbWFpbiB0aGUgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXksIGFuZCBjaGFuZ2Ugb3JpZ2luYWwgYXJyYXkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vIENyZWF0ZSBhbiBhcnJheSBvZiBpdGVtcwp2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOwovLyBDcmVhdGUgYSByZWZlcmVuY2UgdG8gdGhlIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtc1JlZiA9IGl0ZW1zOwovLyBBZGQgYW4gaXRlbSB0byB0aGUgb3JpZ2luYWwgYXJyYXkKaXRlbXMucHVzaCggImZvdXIiICk7dmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIFRoZSBsZW5ndGggb2YgZWFjaCBhcnJheSBzaG91bGQgYmUgdGhlIHNhbWUsCi8vIHNpbmNlIHRoZXkgYm90aCBwb2ludCB0byB0aGUgc2FtZSBhcnJheSBvYmplY3QKaWYoIGl0ZW1zUmVmLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW1zID0gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKTsgdmFyIGl0ZW1zUmVmID0gaXRlbXM7IGl0ZW1zLnB1c2goICJmb3VyIiApO3ZhciBpdGVtc1JlZiA9IGl0ZW1zOyBpdGVtc1JlZi5sZW5ndGggIT09IDQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gQ3JlYXRlIGFuIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgb2YgaXRlbXMKdmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIEFkZCBhbiBpdGVtIHRvIHRoZSBvcmlnaW5hbCBhcnJheQppdGVtc1sxXT0iZHVvIjsKLy8gVGhlIGxlbmd0aCBvZiBlYWNoIGFycmF5IHNob3VsZCBiZSB0aGUgc2FtZSwKLy8gc2luY2UgdGhleSBib3RoIHBvaW50IHRvIHRoZSBzYW1lIGFycmF5IG9iamVjdAppZiggaXRlbXNSZWZbMV0gIT09ICJkdW8iKXsKICAkRVJST1IoJyMyOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXNbMV09ImR1byI7IGl0ZW1zUmVmWzFdID09PSAiZHVvIi4gQWN0dWFsOiAnICsgKGl0ZW1zUmVmWzFdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Reference to Self-Modifying Object remain the integrity","description":"Create a reference to the array, and change original array","path":"TestCases/ch08/8.7/S8.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyB0aGUgUmVmZXJlbmNlIG9mIGFuIE9iamVjdCBXaGlsZSBNYWludGFpbmluZyBJbnRlZ3JpdHkKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSwgYW5kIHJlZGVmaW5lIG9yaWdpbmFsIGFycmF5IHdpdGggbmV3IGFycmF5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtcyB0byBhbiBhcnJheSAob2JqZWN0KSBvZiBzdHJpbmdzCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIFNldCBpdGVtc1JlZiB0byBhIHJlZmVyZW5jZSB0byBpdGVtcwovLwp2YXIgaXRlbXNSZWYgPSBpdGVtczsKLy8gU2V0IGl0ZW1zIHRvIGVxdWFsIGEgbmV3IG9iamVjdAovLwppdGVtcyA9IG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKTsKLy8gaXRlbXMgYW5kIGl0ZW1zUmVmIG5vdyBwb2ludCB0byBkaWZmZXJlbnQgb2JqZWN0cy4KLy8gaXRlbXMgcG9pbnRzIHRvIG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKQovLyBpdGVtc1JlZiBwb2ludHMgdG8gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKQppZiggaXRlbXMgPT0gaXRlbXNSZWYgKXsKICAkRVJST1IoJyMxOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXMgPSBuZXcgQXJyYXkoICJuZXciLCAiYXJyYXkiICk7IGl0ZW1zICE9IGl0ZW1zUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing the Reference of an Object While Maintaining Integrity","description":"Create a reference to the array, and redefine original array with new array","path":"TestCases/ch08/8.7/S8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgTW9kaWZpY2F0aW9uIFJlc3VsdGluZyBpbiBhIE5ldyBPYmplY3QgZm9yIE5vdCBhIFNlbGYtTW9kaWZpZWQgT2JqZWN0IGxlYWRzIHRvIGxvc3Mgb2YgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RyaW5nLCBhbmQgQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtIGVxdWFsIHRvIGEgbmV3IHN0cmluZyBvYmplY3QKdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7Ci8vIGl0ZW1SZWYgbm93IHJlZmVycyB0byB0aGUgc2FtZSBzdHJpbmcgb2JqZWN0CnZhciBpdGVtUmVmID0gaXRlbTsKLy8gQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0Ci8vIE5PVEU6IFRoaXMgY3JlYXRlcyBhIG5ldyBvYmplY3QsIGFuZCBkb2VzIG5vdCBtb2RpZnkKLy8gdGhlIG9yaWdpbmFsIG9iamVjdC4KaXRlbSArPSAiaW5nIjsKLy8gVGhlIHZhbHVlcyBvZiBpdGVtIGFuZCBpdGVtUmVmIGFyZSBOT1QgZXF1YWwsIGFzIGEgd2hvbGUKLy8gbmV3IHN0cmluZyBvYmplY3QgaGFzIGJlZW4gY3JlYXRlZAppZiggaXRlbSA9PSBpdGVtUmVmICl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7IHZhciBpdGVtUmVmID0gaXRlbTsgaXRlbSArPSAiaW5nIjsgaXRlbSAhPSBpdGVtUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Object Modification Resulting in a New Object for Not a Self-Modified Object leads to loss of integrity","description":"Create a reference to the string, and Concatenate some new text onto the string object","path":"TestCases/ch08/8.7/S8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgdmFyIF9fcmVmID0gb2JqCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZihfX3JlZikgIT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzE6IHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mKF9fcmVmKSkpOyAgCn07IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBvYmogPSBuZXcgT2JqZWN0KCk7CnZhciBfX3JlZiA9IG9iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzI6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IGZhbHNlKXsKICAgICRFUlJPUignIzM6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWYgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyB2YXIgX19yZWYgPSBvYmo7IGRlbGV0ZSBfX3JlZjsgdHlwZW9mKF9fcmVmKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mKG9iaikgIT09ICJvYmplY3QiKXsKICAgICRFUlJPUignIzU6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWY7IHR5cGVvZihvYmopID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZihvYmopKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, var __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgX19yZWYgPSBvYmoKICogQG5vU3RyaWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMTogdHlwZW9mKF9fcmVmKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7ICAKfTsgCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKX19yZWYgPSBvYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIil7CiAgICAkRVJST1IoJyMyOiBvYmogPSBuZXcgT2JqZWN0KCk7IF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IHRydWUpewogICAgJEVSUk9SKCcjMzogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3JlZikpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmICh0eXBlb2Yob2JqKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNTogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2Yob2JqKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Yob2JqKSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSB2YWx1ZSBkaWZmZXJzIGZyb20gYnkgcmVmZXJlbmNlIGFuZCBkbyBub3QgY2hhbmdlIHZhbHVlcyB0byBiZSBwYXNzZWQKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG9yaWdpbmFsIHZhcmlhYmxlIHdpdGggcmVmZXJlbmNlZCBvbmUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSAxOwp2YXIgbSA9IG47CgpmdW5jdGlvbiBhZGRGaXJzdDJTZWNvbmQoZmlyc3QsIHNlY29uZCl7Zmlyc3QgKz0gc2Vjb25kO30KCmFkZEZpcnN0MlNlY29uZChuLCBtKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG0gIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgbiA9IDE7IHZhciBtID0gbjsgZnVuY3Rpb24gYWRkRmlyc3QyU2Vjb25kKGZpcnN0LCBzZWNvbmQpe2ZpcnN0ICs9IHNlY29uZDt9IGFkZEZpcnN0MlNlY29uZChuLCBtKTsgbSA9PT0gMS4gQWN0dWFsOiAnICsgKG0pKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Passing arguments by value differs from by reference and do not change values to be passed","description":"Adding original variable with referenced one inside function","path":"TestCases/ch08/8.7/S8.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSByZWZlcmVuY2UgZG8gY2hhbmdlIHZhbHVlcyBvZiByZWZlcmVuY2UgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTcuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gb3JpZ2luYWwgdmFyaWFibGUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSB7fTsKdmFyIG0gPSBuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG0gIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSB7fTsgdmFyIG0gPSBuOyB0eXBlb2YgbSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gcG9wdWxhdGVBZ2UocGVyc29uKXtwZXJzb24uYWdlID0gNTA7fQoKcG9wdWxhdGVBZ2UobSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChuLmFnZSAhPT0gNTApIHsKICAkRVJST1IoJyMyOiB2YXIgbiA9IHt9OyB2YXIgbSA9IG47IGZ1bmN0aW9uIHBvcHVsYXRlQWdlKHBlcnNvbil7cGVyc29uLmFnZSA9IDUwO30gcG9wdWxhdGVBZ2UobSk7IG4uYWdlID09PSA1MC4gQWN0dWFsOiAnICsgKG4uYWdlKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Passing arguments by reference do change values of reference to be passed","description":"Add new property to original variable inside function","path":"TestCases/ch08/8.7/S8.7_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIFJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfOF83XzJfMSA9IDExOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluates to an unresolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIFJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBiID0gMTE7DQogICAgICAgIHJldHVybiBiID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if LeftHandSide evaluates to a resolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gZXZhbCAtIGEgcHJvcGVydHkgbmFtZWQgJ2V2YWwnIGlzIHBlcm1pdHRlZA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7IGV2YWw6IDQyfTsNCiAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a property named 'eval' is permitted","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-1-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDA4LzguNy84LjcuMi84LjcuMi0zLWEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlIHRvIGFuIHVucmVzb2x2YWJsZSBSZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgLg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmIgPSAxMTsNCg==","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluate to an unresolvable Reference","negative":".","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-1gs.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDA4LzguNy84LjcuMi84LjcuMi0zLWEtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAncnVudGltZScgZXJyb3IgaXMgdGhyb3duIGJlZm9yZSBMZWZ0SGFuZFNpZGUgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSBSZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQpiID0gMTE7DQo=","commentary":"","description":"Strict Mode - 'runtime' error is thrown before LeftHandSide evaluates to an unresolvable Reference","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBub24td3JpdGFibGUgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfMyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXzhfN18yXzMsICJiIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfMy5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBubyBzZXR0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzQgPSB7fTsNCiAgICAgICAgdmFyIF84XzdfMl80X2JWYWx1ZSA9IDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNCwgImIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF84XzdfMl80X2JWYWx1ZTsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzQuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to an accessor property with no setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gbm9uLWV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl81ID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhfOF83XzJfNSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl81LmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-existent property of an non-extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSB3cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl82ID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNiwgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBfOF83XzJfNi5iID0gMTE7DQoNCiAgICAgICAgcmV0dXJuIF84XzdfMl82LmIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBzZXR0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzcgPSB7fTsNCiAgICAgICAgdmFyIF84XzdfMl83X2JWYWx1ZSA9IDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNywgImIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF84XzdfMl83X2JWYWx1ZTsgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7IF84XzdfMl83X2JWYWx1ZSA9IHZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl83LmIgPSAxMTsNCiAgICAgICAgcmV0dXJuIF84XzdfMl83LmIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to an accessor property with setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBwcm9wZXJ0eSBvZiBhbiBleHRlbnNpYmxlIG9iamVjdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfOCA9IHt9Ow0KDQogICAgICAgIF84XzdfMl84LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzguYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a property of an extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoMSwyLDMpIHdpdGggMyBhcmd1bWVudHMKICovCgpmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19tRnVuYygxLDIsMykgIT09IDMpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OyBfX21GdW5jKDEsMiwzKSA9PT0gMy4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoMSwyLDMpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc(1,2,3) with 3 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoWywsXSkgd2l0aCAxIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKFssLF0pICE9PSAxKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsgX19tRnVuYyhbLCxdKSA9PT0gMS4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoWywsXSkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc([,,]) with 1 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uLCB0aGF0IGNvbmNhdGVuYXRlIGFsbCBpdGBzIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSAhPT0gIkFCQ0RFRiIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OyBfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSA9PT0gIkFCQ0RFRiIuIEFjdHVhbDogJyArIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function, that concatenate all it`s arguments","path":"TestCases/ch08/8.8/S8.8_A2_T3.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch08","numTests":"124","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ID0gdW5kZWZpbmVkIiBwYXNzZXMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gdW5kZWZpbmVkOwoK","commentary":"The Undefined type has one value, called undefined","description":"Checking if execution of \"var x = undefined\" passes","path":"TestCases/ch08/8.1/S8.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlb2YodW5kZWZpbmVkKSBhbmQgdHlwZW9mKHZvaWQgMCkKICovCgovLyBDSEVDSyMxCmlmICghKHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIikpIHsgCglFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7ICAKfSAKCi8vIENIRUNLIzIKaWYgKCEodHlwZW9mKHZvaWQgMCkgPT09ICJ1bmRlZmluZWQiKSkgeyAgCglFUlJPUignIzI6IHR5cGVvZih2b2lkIDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih2b2lkIDApKSk7ICAKfQoKLy8gQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IHZvaWQgMCkpIHsgIAoJRVJST1IoJyMzOiB1bmRlZmluZWQgPT09IHZvaWQgMCcpOyAgCn0KCg==","commentary":"The Undefined type has one value, called undefined","description":"Check typeof(undefined) and typeof(void 0)","path":"TestCases/ch08/8.1/S8.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHZhciB4IGhhdmUgdmFsdWUgYW5kIHR5cGUgdW5kZWZpbmVkCiAqLwoKdmFyIHg7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCEoeCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoeCkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKCEoeCA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzM6IHZhciB4OyB4ID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Check that var x have value and type undefined","path":"TestCases/ch08/8.1/S8.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiByZXR1cm4gdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiB0ZXN0MSh4KSB7CglyZXR1cm4geDsKfQoKaWYgKCEodGVzdDEoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIHRlc3QxKHgpe3JldHVybiB4fSB0ZXN0MSgpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MSgpKSk7Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gdGVzdDIoKSB7ICAKfQoKaWYgKCEodGVzdDIoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIHRlc3QyKCl7fSB0ZXN0MigpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MigpKSk7Cn0KCg==","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Function return undefined","path":"TestCases/ch08/8.1/S8.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm93IG5vbi13cml0YWJsZSBpbiBlczUKICoKICogQHBhdGggY2gwOC84LjEvUzguMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gInVuZGVmaW5lZD0xIiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLMSMKdmFyIHVuZGVmaW5lZCA9IDE7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"undefined is now non-writable in es5","description":"\"undefined=1\" should throw a TypeError","path":"TestCases/ch08/8.1/S8.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwcm9wZXJ0eSBvZiBvYmplY3Qgbm90IGV4aXN0LCByZXR1cm4gdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMDgvOC4xL1M4LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHZhbHVlIG9mIG5vdCBleGlzdGVkIHByb3BlcnR5CiAqLwoKLy8gQ0hFQ0sjMSAKaWYgKChuZXcgT2JqZWN0KCkpLm5ld1Byb3BlcnR5ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAobmV3IE9iamVjdCgpKS5uZXdQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoKG5ldyBPYmplY3QoKSkubmV3UHJvcGVydHkpKTsKfSAKCgo=","commentary":"If property of object not exist, return undefined","description":"Check value of not existed property","path":"TestCases/ch08/8.1/S8.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzbid0IHByb3ZpZGVkIGhhcyBhIHZhbHVlIG9mIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIHdpdGhvdXQgcHJvdmlkZWQgYXJndW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KZnVuY3Rpb24gdGVzdChhcmcpIHsKLy8gQ2hlY2sgYW5kIG1ha2Ugc3VyZSB0aGF0IGFyZyBpcyBub3QgdW5kZWZpbmVkCglpZiAodHlwZW9mKGFyZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAkRVJST1IoJyMxOiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzblwndCBwcm92aWRlZCBoYXMgYSB2YWx1ZSBvZiB1bmRlZmluZWQuIEFjdHVhbDogJyArICh0eXBlb2YoYXJnKSkpOwogIH0KfQoKdGVzdCgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function argument that isn't provided has a value of undefined","description":"Call function without provided argument","path":"TestCases/ch08/8.1/S8.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHZhbHVlIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBpbiBpbnN0YW5jZSBidXQgcHJvdG90eXBlIGNvbnRhaW4gaXQKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgd2hlbiBwcm9wZXJ0eSBQIGRvZXMgbm90IGV4aXN0IGluIGluc3RhbmNlIGJ1dCBwcm90b3R5cGUgY29udGFpbiBpdAogKi8KCi8vRXN0YWJsaXNoIGZvbyBvYmplY3QgCmZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7CgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgX19vYmo9IG5ldyBGb29PYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7IHZhciBfX29iaj0gbmV3IEZvb09iajsgX19vYmoucHJvcEZvbyA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gInNvbWUiKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBGb29PYmooKXt9OyBGb29PYmoucHJvdG90eXBlLnByb3BGb289InNvbWUiOyB2YXIgX19vYmo9IG5ldyBGb29PYmo7IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return value when property P does not exist in instance but prototype contain it","description":"Try to get P when property P does not exist in instance but prototype contain it","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCB3aGVuIHByb3BlcnR5IFAgZG9lcyBub3QgZXhpc3QgYm90aCBpbiBpbnN0YW5jZSBhbmQgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjMvUzguMTIuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGdldCBQIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBib3RoIGluIGluc3RhbmNlIGFuZCBwcm90b3R5cGUKICovCgp2YXIgX19vYmo9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzE6IHZhciBfX29iaj17fTsgX19vYmoucHJvcEZvbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB2YXIgX19vYmo9e307IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return undefined when property P does not exist both in instance and prototype","description":"Try to get P when property P does not exist both in instance and prototype","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0dldF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCB2YWx1ZSBvZiBQIHJldHVybnMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgcHJvcGVydHkgUCBleGlzdCBpbiBpbnN0YW5jZQogKi8KCnZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwLnNoYXBlICE9PSAiY3ViZSIpewogICRFUlJPUignIzE6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXAuc2hhcGUgPT09ICJjdWJlIi4gQWN0dWFsOiAnICsgKF9fbWFwLnNoYXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsic2hhcGUiXSAhPT0gImN1YmUiKXsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyJzaGFwZSJdID09PSAiY3ViZSIuIEFjdHVhbDogJyArIChfX21hcFsic2hhcGUiXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXBbIjUiXSAhPT0gImZpdmUiKXsKICAkRVJST1IoJyMzOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyI1Il0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWyI1Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbWFwWzVdICE9PSAiZml2ZSIpewogICRFUlJPUignIzQ6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXBbNV0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWzVdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX21hcFsiNiJdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNTogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFsiNiJdID09PSAic2l4Ii4gQWN0dWFsOiAnICsgKF9fbWFwWyI2Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fbWFwWzZdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNjogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFs2XSA9PT0gInNpeCIuIEFjdHVhbDogJyArIChfX21hcFs2XSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Get]] method of O is called with property name P value of P returns","description":"Try to get P property P exist in instance","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBSZWFkT25seSBhdHRyaWJ1dGUsIFtbQ2FuUHV0XV0oUCkgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjQvUzguMTIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHB1dCBvdGhlciB2YWx1ZSBmb3IgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IF9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkUgPSAxOyBNYXRoLkUgPT09IF9fZS4gQWN0dWFsOiAnICsgKE1hdGguRSkpOwp9Cgo=","commentary":"If the property has the ReadOnly attribute, [[CanPut]](P) return false","description":"Try put other value for Math.E property","noStrict":"","path":"TestCases/ch08/8.12/8.12.4/S8.12.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIGFuZCBJZiBPIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCB0aGVuCiAqIGNyZWF0ZXMgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNS9TOC4xMi41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBQdXQgdG8gbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwWzFdICE9PSAib25lIikgewoJJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcFsxXT0ib25lIjsgX19tYXBbInR3byJdPTI7IF9fbWFwWyIzIl09InRyZSI7IF9fbWFwWzFdID09PSAib25lIi4gQWN0dWFsOiAnICsgKF9fbWFwWzFdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsidHdvIl0gIT09IDIpIHsKCSRFUlJPUignIzI6IHZhciBfX21hcD17fTsgX19tYXBbMV09Im9uZSI7IF9fbWFwWyJ0d28iXT0yOyBfX21hcFsiMyJdPSJ0cmUiOyBfX21hcFsidHdvIl0gPT09IDIuIEFjdHVhbDogJyArIChfX21hcFsidHdvIl0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbWFwWyIzIl0gIT09ICJ0cmUiKSB7CgkkRVJST1IoJyMzOiB2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsgX19tYXBbIjMiXSA9PT0gInRyZSIuIEFjdHVhbDogJyArIChfX21hcFsiMyJdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Put]] method of O is called with property P and value V,\nand If O doesn't have a property with name P, then\ncreates a property with name P, set its value to V and give it empty attributes","description":"Put to not existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIHRoZW4gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gVi4gVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi41L1M4LjEyLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIFB1dCB0byBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9tYXA9ezE6Im9uZSIsdHdvOjJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpfbWFwWzFdPSJ1bm8iOwppZiAoX21hcFsxXSAhPT0gInVubyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbMV0gPT09ICJ1bm8iLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpfbWFwWyIxIl09MTsKaWYgKF9tYXBbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbIjEiXT0xOyBfbWFwWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpfbWFwWyJ0d28iXT0idHdvIjsKaWYgKF9tYXBbInR3byJdICE9PSAidHdvIikgewogICRFUlJPUignIzM6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwWyJ0d28iXSA9PT0gInR3byIuIEFjdHVhbDogJyArIChfbWFwWyJ0d28iXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApfbWFwLnR3bz0iZHVvIjsKaWYgKF9tYXAudHdvICE9PSAiZHVvIikgewogICRFUlJPUignIzQ6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwLnR3bz0iZHVvIjsgX21hcC50d28gPT09ICJkdW8iLiBBY3R1YWw6ICcgKyAoX21hcC50d28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Put]] method of O is called with property P and value V,\nthen set the value of the property to V. The attributes of the property are not changed","description":"Put to existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIGV4aXN0ZW50IHByb3BlcnR5IG9mIGFueSBPYmplY3QKICovCgp2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKCJmb29Qcm9wIiBpbiBfX29iaikpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07ICJmb29Qcm9wIiBpbiBfX29iaicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true","description":"Try find existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoISgidmFsdWVPZiIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyAidmFsdWVPZiIgaW4gX19vYmonKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0LCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgdGhpcyBPYmplY3QgcHJvdG90eXBlCiAqLwoKdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoInZhbHVlT2YiIGluIF9fcHJvdG8pKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyAidmFsdWVPZiIgaW4gX19wcm90bycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gUm9iaW4oKXt0aGlzLm5hbWU9InJvYmluIn07ClJvYmluLnByb3RvdHlwZT1fX3Byb3RvOwoKdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgicGh5bHVtIiBpbiBfX215X19yb2JpbikpIHsKICAkRVJST1IoJyMyOiB2YXIgX19wcm90bz17cGh5bHVtOiJhdmlzIn07IGZ1bmN0aW9uIFJvYmluKCl7dGhpcy5uYW1lPSJyb2JpbiJ9OyBSb2Jpbi5wcm90b3R5cGU9X19wcm90bzsgdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOyAicGh5bHVtIiBpbiBfX215X19yb2JpbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyBmdW5jdGlvbiBSb2Jpbigpe3RoaXMubmFtZT0icm9iaW4ifTsgUm9iaW4ucHJvdG90eXBlPV9fcHJvdG87IHZhciBfX215X19yb2JpbiA9IG5ldyBSb2JpbjsgX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fbXlfX3JvYmluLmhhc093blByb3BlcnR5KCJwaHlsdW0iKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object, but existent property of this Object prototype","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW2hhc1Byb3BlcnR5XV0gaXMgc2Vuc2l0aXZlIHRvIHByb3BlcnR5IGV4aXN0ZW5jZSBidXQgW1tHZXRdXSBpcyBub3QKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNi9TOC4xMi42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgW1toYXNQcm9wZXJ0eV1dIGFuZCBbW0dldF1dIGZvciBleGlzdGVudCBhbmQgbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouaG9sZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgX19vYmouaG9sZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmouaG9sZSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoubm90ZXhpc3QgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBfX29iaj17fTsgX19vYmouaG9sZT11bmRlZmluZWQ7IF9fb2JqLm5vdGV4aXN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX29iai5ub3RleGlzdCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoISgiaG9sZSIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgImhvbGUiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICgoIm5vdGV4aXN0IiBpbiBfX29iaikpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOyAibm90ZXhpc3QiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[hasProperty]] is sensitive to property existence but [[Get]] is not","description":"Use [[hasProperty]] and [[Get]] for existent and not existent properties","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIElmIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNy9TOC4xMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZGVsZXRlIE1hdGguRSwgdGhhdCBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkUgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBkZWxldGUgTWF0aC5FID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBNYXRoLkUpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChNYXRoLkUgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogZGVsZXRlIE1hdGguRTsgTWF0aC5FICE9PSB1bmRlZmluZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand If the property has the DontDelete attribute, return false","description":"Try to delete Math.E, that has the DontDelete attribute","noStrict":"","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcwogKi8KCnZhciBfX2NvbG9yX19tYXAgPSB7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fY29sb3JfX21hcC5yZWQpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdICE9PSB0cnVlKXsKICAkRVJST1IoJyMyOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXBbImdyZWVuIl0gPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgYmx1ZSA9IDE7CmlmIChkZWxldGUgX19jb2xvcl9fbWFwW2JsdWVdICE9PSB0cnVlKXsKICAkRVJST1IoJyMzOiB2YXIgX19jb2xvcl9fbWFwID0ge307IHZhciBibHVlID0gMTsgZGVsZXRlIF9fY29sb3JfX21hcFtibHVlXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbYmx1ZV0pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcyBvZiBPLCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgcHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gUGFsZXR0ZSgpe307ClBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9Owp2YXIgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3BhbGV0dGUucmVkICE9PSAweEZGMDAwMCl7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgX19wYWxldHRlLnJlZCA9PT0gMHhGRjAwMDAuIEFjdHVhbDogJyArIChfX3BhbGV0dGUucmVkKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19wYWxldHRlLnJlZCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzIgZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgZGVsZXRlIF9fcGFsZXR0ZS5yZWQgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19wYWxldHRlLnJlZCAhPT0gMHhGRjAwMDApewogICRFUlJPUignIzM6IGZ1bmN0aW9uIFBhbGV0dGUoKXt9OyBQYWxldHRlLnByb3RvdHlwZSA9IHtyZWQ6MHhGRjAwMDAsIGdyZWVuOjB4MDBGRjAwfTsgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7IF9fcGFsZXR0ZS5yZWQgPT09IDB4RkYwMDAwLiBBY3R1YWw6ICcgKyAoX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties of O, but existent property of prototype","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogcmVtb3ZlcyB0aGUgcHJvcGVydHkgd2l0aCBuYW1lIFAgZnJvbSBPIGFuZCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi43L1M4LjEyLjdfQTMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIEJMVUVfTlVNPTE7CnZhciBCTFVFX1NUUj0iMSI7CnZhciBZRUxMT1dfTlVNPTI7CnZhciBZRUxMT1dfU1RSPSIyIjsKdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgQkxVRV9OVU09MTsgdmFyIEJMVUVfU1RSPSIxIjsgdmFyIFlFTExPV19OVU09MjsgdmFyIFlFTExPV19TVFI9IjIiOyB2YXIgX19jb2xvcl9fbWFwID0ge3JlZDoweEZGMDAwMCwgQkxVRV9OVU06MHgwMDAwRkYsIGdyZWVuOjB4MDBGRjAwLCBZRUxMT1dfU1RSOjB4RkZGRjAwfTsgZGVsZXRlIF9fY29sb3JfX21hcFtZRUxMT1dfTlVNXSA9PT0gdHJ1ZTsnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dOyBfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKF9fY29sb3JfX21hcFtZRUxMT1dfU1RSXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoZGVsZXRlIF9fY29sb3JfX21hcFtCTFVFX1NUUl0gIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW0JMVUVfU1RSXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19jb2xvcl9fbWFwW0JMVUVfTlVNXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIEJMVUVfTlVNPTE7IHZhciBCTFVFX1NUUj0iMSI7IHZhciBZRUxMT1dfTlVNPTI7IHZhciBZRUxMT1dfU1RSPSIyIjsgdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07IGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdOyBfX2NvbG9yX19tYXBbQkxVRV9OVU1dID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX2NvbG9yX19tYXBbQkxVRV9OVU1dKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Delete]] method of O is called with property name P,\nremoves the property with name P from O and return true","description":"Delete existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBhIFR5cGVFcnJvciwKICogQ2F1c2Ugd2Ugb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZyBtZXRob2QKICovCgp0cnkKewoJdmFyIF9fb2JqID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKCVN0cmluZyhfX29iaik7CgkkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChTdHJpbmcoX19vYmopKSk7Cn0KY2F0Y2goZSkKewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9ICAKfSAgCgoK","commentary":"This should generate a TypeError,\nCause we overload toString method so it return non Primitive value\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString method","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBubyBUeXBlRXJyb3IsCiAqIENhdXNlIHdlIG92ZXJsb2FkIHRvU3RyaW5nIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBidXQgd2Ugb3ZlcmxvYWRlZCB2YWx1ZU9mIG1ldGhvZCB0b28uCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZywgdGhhdCByZXR1cm5lZCBuZXcgT2JqZWN0LCBhbmQgdmFsdWVPZiBtZXRob2RzCiAqLwoKdHJ5CnsKCXZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fQoJaWYgKFN0cmluZyhfX29iaikgIT09ICIxIikgewoJICAkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoU3RyaW5nKF9fb2JqKSkpOwoJfQp9CmNhdGNoKGUpCnsKICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgo=","commentary":"This should generate no TypeError,\nCause we overload toString method so it return non Primitive value\nbut we overloaded valueOf method too.\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString, that returned new Object, and valueOf methods","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCByZXR1cm4gT2JqZWN0LnRvU3RyaW5nKCkgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kLCB0aGF0IHJldHVybmVkIFByaW1pdGl2ZSwgYW5kIHZhbHVlT2YgbWV0aG9kLCB0aGF0IHJldHVybmVkIG5ldyBPYmplY3QKICovCgp0cnkKewogIHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX0KICBpZiAoTnVtYmVyKF9fb2JqKSAhPT0gMSkgewogICAgJEVSUk9SKCcjMS4xOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoTnVtYmVyKF9fb2JqKSkpOwogIH0KfQpjYXRjaChlKQp7CiAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgoKICAKCgo=","commentary":"We overload valueOf method so it return non Primitive value\nThus [[DefaultValue]] must return Object.toString() value","description":"Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZSBhbmQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlIHRvbwogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCBnZW5lcmF0ZSBUeXBlRXJyb3IgZXJyb3IKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcywgdGhleSByZXR1cm5lZCBuZXcgT2JqZWN0cwogKi8KCnRyeQp7CiAgdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKICBOdW1iZXIoX19vYmopOwogICRFUlJPUignIzEuMTogdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvTnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE51bWJlcihfX29iaikpKTsKfQpjYXRjaChlKQp7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBuZXcgT2JqZWN0O30sdG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAKCg==","commentary":"We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too\nThus [[DefaultValue]] must generate TypeError error","description":"Try to overload toString and valueOf methods, they returned new Objects","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAidmFyIHggPSBudWxsIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gbnVsbDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"var x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieCA9IG51bGwiIHBhc3NlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggPSBudWxsOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbnVsbCBpcyByZXNydmVkIHdvcmQKICoKICogQHBhdGggY2gwOC84LjIvUzguMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgbnVsbCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIG51bGw7CgoKCg==","commentary":"The null is resrved word","description":"Checking if execution of \"var null\" fails","negative":"","path":"TestCases/ch08/8.2/S8.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgdGhlIGtleXdvcmQgbnVsbCB0aGUgdHlwZW9mIG9wZXJhdG9yIHJldHVybnMgdGhlICJvYmplY3QiCiAqIFNlZSBhbHNvCiAqIGh0dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9Db3JlX0phdmFTY3JpcHRfMS41X1JlZmVyZW5jZTpPcGVyYXRvcnM6U3BlY2lhbF9PcGVyYXRvcnM6dHlwZW9mX09wZXJhdG9yCiAqIGFuZAogKiBodHRwOi8vYnVncy5lY21hc2NyaXB0Lm9yZy90aWNrZXQvMjUwCiAqIGZvciBleGFtcGxlCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgbnVsbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKHR5cGVvZihudWxsKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"For the keyword null the typeof operator returns the \"object\"\nSee also\nhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Special_Operators:typeof_Operator\nand\nhttp://bugs.ecmascript.org/ticket/250\nfor example","description":"Check type of null","path":"TestCases/ch08/8.2/S8.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB0cnVlIGFuZCBmYWxzZSB0byB2YXJpYWJsZXMKICovCgppZiAoeCAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMwIHggIT09IHVuZGVmaW5lZCwgYnV0IGFjdHVhbCBpcyAiKyB4KTsKfSAgIAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IGZhbHNlOwoKaWYgKHggIT09IHRydWUpIHsKICAgICRFUlJPUigiIzEuMSB4ICE9PSB0cnVlLCBidXQgYWN0dWFsIGlzICIrIHgpOwp9IAoKaWYgKHkgIT09IGZhbHNlKSB7CiAgICAkRVJST1IoIiMxLjEgeSAhPT0gZmFsc2UsIGJ1dCBhY3R1YWwgaXMgIisgeSk7Cn0gCgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Boolean type have two values, called true and false","description":"Assign true and false to variables","path":"TestCases/ch08/8.3/S8.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgdHJ1ZS9mYWxzZSBhbmQgaXRgcyBlcXVhbGl0eQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHRydWUpICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YodHJ1ZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAodHlwZW9mKHRydWUpICE9ICJib29sZWFuIikgewogICRFUlJPUignIzI6IHR5cGVvZih0cnVlKSA9PSAiYm9vbGVhbiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHR5cGVvZihmYWxzZSkgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzM6IHR5cGVvZihmYWxzZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAodHlwZW9mKGZhbHNlKSAhPSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YoZmFsc2UpID09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNQppZiAodHJ1ZSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNgppZiAodHJ1ZSA9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHRydWUgIT0gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzcKaWYgKGZhbHNlID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzgKaWYgKGZhbHNlID09IHRydWUpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The Boolean type have two values, called true and false","description":"Check type of true/false and it`s equality","path":"TestCases/ch08/8.3/S8.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdHJ1ZSBpcyByZXNlcnZlZCB3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ0cnVlPTEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnRydWUgPSAxOwoK","commentary":"The true is reserved word","description":"Checking if execution of \"true=1\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmFsc2UgaXMgcmVzZXJ2ZWQgd29yZAogKgogKiBAcGF0aCBjaDA4LzguMy9TOC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmFsc2U9MCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZmFsc2UgPSAwOwoK","commentary":"The false is reserved word","description":"Checking if execution of \"false=0\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBsYWluZyBuZWdhdGlvbiB0byBib29sZWFuIHdvcmtzIHdlbGwKICoKICogQHBhdGggY2gwOC84LjMvUzguM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgbm90IGZhbHNlIGVxdWFscyB0cnVlLCBub3QgdHJ1ZSBlcXVhbHMgZmFsc2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpewogICRFUlJPUignIzE6ICFmYWxzZSA9PT0gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIWZhbHNlICE9IHRydWUpewogICRFUlJPUignIzI6ICFmYWxzZSA9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghdHJ1ZSAhPT0gZmFsc2UpewogICRFUlJPUignIzM6ICF0cnVlID09PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIXRydWUgIT0gZmFsc2UpewogICRFUlJPUignIzQ6ICF0cnVlID09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Applaing negation to boolean works well","description":"Check not false equals true, not true equals false","path":"TestCases/ch08/8.3/S8.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgYmVlbiBhc3NpZ25lZCB3aXRoIHN0cmluZyBsaXRlcmFsIGhhcyB0aGUgdHlwZSBzdHJpbmcKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdHlwZSBvZiB2YXJpYWJsZSB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIHdpdGggc3RyaW5nIGxpdGVyYWwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyPSJhYmNkZmciOwppZiAodHlwZW9mKHN0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMTogdmFyIHN0cj0iYWJjZGZnIjsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIHN0cjI9J3F3ZXJ0eSc7CmlmICh0eXBlb2Yoc3RyMikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cjI9XCdxd2VydHlcJzsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cjIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCnZhciBfX3N0cj0nXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4JzsKaWYgKHR5cGVvZihfX3N0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyPVwnXFx1MDA0MlxcdTAwNDNcXHUwMDQ0XFx1MDA0NVxcdTAwNDZcXHUwMDQ3XFx1MDA0OFwnOyB0eXBlb2YoX19zdHIpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3N0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKdmFyIHN0cl9fPSJcdTAwNDJcdTAwNDNcdTAwNDRcdTAwNDVcdTAwNDZcdTAwNDdcdTAwNDgiOwppZiAodHlwZW9mKHN0cl9fKSE9PSJzdHJpbmciKXsKICAkRVJST1IoJyM0OiB2YXIgc3RyX189ImFiY2RmZyI7IHR5cGVvZihzdHJfXykgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cl9fKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Any variable that has been assigned with string literal has the type string","description":"Check type of variable that has been assigned with string literal","path":"TestCases/ch08/8.4/S8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb3RoIHVuaWNvZGUgYW5kIGFzY2lpIGNoYXJzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIHVzaW5nIGJvdGggdW5pY29kZSBhbmQgYXNjaWkgY2hhcnMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX3N0ciA9ICJcdTAwNDFBXHUwMDQyQlx1MDA0M0MiOwppZiAoX19zdHIgIT09ICdBQUJCQ0MnKXsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiXFx1MDA0MUFcXHUwMDQyQlxcdTAwNDNDIjsgX19zdHIgPT09IFwnQUFCQkNDXCcuIEFjdHVhbDogJyArIChfX3N0cikpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fc3RyX18gPSAiXHUwMDQxXHUwMDQyXHUwMDQzIisnQUJDJzsKaWYgKF9fc3RyX18gIT09ICdBQkNBQkMnKXsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJfXyA9ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDMiK1wnQUJDXCc7IF9fc3RyX18gPT09IFwnQUJDQUJDXCcuIEFjdHVhbDogJyArIChfX3N0cl9fKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgc3RyX18gPSAiQUJDIisnXHUwMDQxXHUwMDQyXHUwMDQzJzsKaWYgKHN0cl9fICE9PSAiQUJDQUJDIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cl9fID0gIkFCQyIrXCdcXHUwMDQxXFx1MDA0MlxcdTAwNDNcJzsgc3RyX18gPT09ICJBQkNBQkMiLiBBY3R1YWw6ICcgKyAoc3RyX18pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Both unicode and ascii chars are allowed","description":"Create string using both unicode and ascii chars","path":"TestCases/ch08/8.4/S8.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmVzZW5jZSBvZiByZXNlcnZlZCB3b3JkcyBpbiBzdHJpbmcgbGl0ZXJhbCBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyB2YXJpYWJsZSwgdGhldCBpbmNsdWRlIGFsbCByZXNlcnZlZCB3b3JkcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIF9fZGVsZXRlPSIgYnJlYWsgZWxzZSBuZXcgdmFyIGNhc2UgZmluYWxseSByZXR1cm4gdm9pZCBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlIGNvbnRpbnVlIGZ1bmN0aW9uIHRoaXMgd2l0aCBkZWZhdWx0IGlmIHRocm93IGRlbGV0ZSBpbiB0cnkgZG8gaW5zdGFuY2VvZiB0eXBlb2YgIjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Presence of reserved words in string literal are allowed","description":"Create string variable, thet include all reserved words","path":"TestCases/ch08/8.4/S8.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFsIGNhbGxzIFN0cmluZyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgY29uc3RydWN0b3Igb2Ygc2ltcGxlIGFzc2lnbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgc3RyID0gInJvY2snbidyb2xsIjsKaWYgKHN0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKXsKICAkRVJST1IoJyMxOiB2YXIgc3RyID0gInJvY2tcJ25cJ3JvbGwiOyBzdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiAnICsgKHN0ci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Assignment to string literal calls String constructor","description":"Check constructor of simple assigned variable","path":"TestCases/ch08/8.4/S8.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJzsKCg==","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 3 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 1 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJyc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 4 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 1 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIjsKCg==","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 3 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIiI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 4 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgaGFzIHR5cGUgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBlbXB0eSBzdHJpbmcgYW5kIGNoZWNrIGl0IHR5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyID0gJyc7CmlmICh0eXBlb2Yoc3RyKSAhPT0gJ3N0cmluZycpewogICRFUlJPUignIzE6IHZhciBzdHIgPSBcJ1wnOyB0eXBlb2Yoc3RyKSA9PT0gXCdzdHJpbmdcJy4gQWN0dWFsOiAnICsgKHR5cGVvZihzdHIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBzdHIgPSAiIjsKaWYgKHR5cGVvZihzdHIpICE9PSAic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0ciA9ICIiOyB0eXBlb2Yoc3RyKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIChzdHIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Empty string has type string","description":"Create empty string and check it type","path":"TestCases/ch08/8.4/S8.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgdHlwZSBoYXMgYSBsZW5ndGggcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHJlYWQgbGVuZ3RoIHByb3BlcnR5IG9mIHN0cmluZyB2YXJpYWJsZQogKi8KCnZhciBfX3N0ciA9ICJBQkNERUZHSCI7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJBQkNERUZHSCI7IF9fc3RyLmxlbmd0aCA9PT0gOC4gQWN0dWFsOiAnICsgKF9fc3RyLmxlbmd0aCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String type has a length property","description":"Try read length property of string variable","path":"TestCases/ch08/8.4/S8.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgdmFyaWFibGUgaGFzIGEgbGVuZ3RoIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTQuanMKICogQGRlc2NyaXB0aW9uIFRyeSByZWFkIGxlbmd0aCBwcm9wZXJ0eSBvZiBlbXB0eSBzdHJpbmcgdmFyaWFibGUKICovCgp2YXIgX19zdHIgPSAiIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gIiI7IF9fc3RyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fc3RyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string variable has a length property","description":"Try read length property of empty string variable","path":"TestCases/ch08/8.4/S8.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBaZXJvICJcMCIgbm90IHRlcm1pbmF0ZXMgdGhlIHN0cmluZyhDIHN0cmluZykKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0ICJcMCIgaW50byBzdHJpbmcKICovCgovLyBDSEVDSyMxCmlmICgieFwweSIgPT09ICJ4IikgewogICRFUlJPUignIzE6ICJ4XFwweSIgIT09ICJ4IicpOwp9CgovLyBDSEVDSyMyCmlmICghKCgieFwwYSIgPCAieFwwYiIpICYmICgieFwwYiIgPCAieFwwYyIpKSkgewogICRFUlJPUignIzI6ICgoInhcXDBhIiA8ICJ4XFwwYiIpICYmICgieFxcMGIiIDwgInhcXDBjIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Zero \"\\0\" not terminates the string(C string)","description":"Insert \"\\0\" into string","path":"TestCases/ch08/8.4/S8.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgNDA5NiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzEKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJzsKaWYobGFyZ2VTdHIgIT09ICdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJyl7CiAgJEVSUk9SKCcjMTogTGFyZ2Ugc3RyaW5nIDQwOTYgYnl0ZXMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Large string 4096 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjIuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzIKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFucyBOYXZpZ2F0b3IgMi4wIGJyb3dzZXIuIEl0IGhhcyBhcHBlYXJlZCBpbiBhbGwgc3Vic2VxdWVudCBicm93c2VycyBmcm9tIE5ldHNjYXBlIGFuZCBpbiBhbGwgYnJvd3NlcnMgZnJvbU1pY3Jvc29mdCBzdGFydGluZyB3aXRoIEludGVybmV0IEV4cGxvcmVyIDMuMC5UaGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTdGFuZGFyZCBzdGFydGVkIGluIE5vdmVtYmVyIDE5OTYuIFRoZSBmaXJzdCBlZGl0aW9uIG9mIHRoaXMgRUNNQSBTdGFuZGFyZCB3YXMgYWRvcHRlZCBieXRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk3LlRoYXQgRUNNQSBTdGFuZGFyZCB3YXMgc3VibWl0dGVkIHRvIElTTy9JRUMgSlRDIDEgZm9yIGFkb3B0aW9uIHVuZGVyIHRoZSBmYXN0LXRyYWNrIHByb2NlZHVyZSwgYW5kIGFwcHJvdmVkIGFzaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBJU08vSUVDIDE2MjYyLCBpbiBBcHJpbCAxOTk4LiBUaGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5OCBhcHByb3ZlZCB0aGVzZWNvbmQgZWRpdGlvbiBvZiBFQ01BLTI2MiB0byBrZWVwIGl0IGZ1bGx5IGFsaWduZWQgd2l0aCBJU08vSUVDIDE2MjYyLiBDaGFuZ2VzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCB0aGUgc2Vjb25kZWRpdGlvbiBhcmUgZWRpdG9yaWFsIGluIG5hdHVyZS5UaGUgY3VycmVudCBkb2N1bWVudCBkZWZpbmVzIHRoZSB0aGlyZCBlZGl0aW9uIG9mIHRoZSBTdGFuZGFyZCBhbmQgaW5jbHVkZXMgcG93ZXJmdWwgcmVndWxhciBleHByZXNzaW9ucywgYmV0dGVyc3RyaW5nIGhhbmRsaW5nLCBuZXcgY29udHJvbCBzdGF0ZW1lbnRzLCB0cnkvY2F0Y2ggZXhjZXB0aW9uIGhhbmRsaW5nLCB0aWdodGVyIGRlZmluaXRpb24gb2YgZXJyb3JzLCBmb3JtYXR0aW5nIGZvcm51bWVyaWMgb3V0cHV0IGFuZCBtaW5vciBjaGFuZ2VzIGluIGFudGljaXBhdGlvbiBvZiBmb3J0aGNvbWluZyBpbnRlcm5hdGlvbmFsaXNhdGlvbiBmYWNpbGl0aWVzIGFuZCBmdXR1cmUgbGFuZ3VhZ2Vncm93dGguV29yayBvbiB0aGUgbGFuZ3VhZ2UgaXMgbm90IGNvbXBsZXRlLiBUaGUgdGVjaG5pY2FsIGNvbW1pdHRlZSBpcyB3b3JraW5nIG9uIHNpZ25pZmljYW50IGVuaGFuY2VtZW50cywgaW5jbHVkaW5nbWVjaGFuaXNtcyBmb3Igc2NyaXB0cyB0byBiZSBjcmVhdGVkIGFuZCB1c2VkIGFjcm9zcyB0aGUgSW50ZXJuZXQsIGFuZCB0aWdodGVyIGNvb3JkaW5hdGlvbiB3aXRoIG90aGVyIHN0YW5kYXJkcyBib2RpZXNzdWNoIGFzIGdyb3VwcyB3aXRoaW4gdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gYW5kIHRoZSBXaXJlbGVzcyBBcHBsaWNhdGlvbiBQcm90b2NvbCBGb3J1bS5UaGlzIFN0YW5kYXJkIGhhcyBiZWVuIGFkb3B0ZWQgYXMgM3JkIEVkaXRpb24gb2YgRUNNQS0yNjIgYnkgdGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBpbiBEZWNlbWJlciwgMTk5OS4tIGkgLVRhYmxlIG9mIGNvbnRlbnRzMSBTY29wZSAxMiBDb25mb3JtYW5jZSAxMyBSZWZlcmVuY2VzIDE0IE92ZXJ2aWV3IDEgNC4xIFdlYiBTY3JpcHRpbmcgMiA0LjIgTGFuZ3VhZ2UgT3ZlcnZpZXcgMiA0LjIuMSBPYmplY3RzIDMgNC4zIERlZmluaXRpb25zIDQgNC4zLjEgVHlwZSA0IDQuMy4yIFByaW1pdGl2ZSBWYWx1ZSA0IDQuMy4zIE9iamVjdCA0IDQuMy40IENvbnN0cnVjdG9yIDQgNC4zLjUgUHJvdG90eXBlIDQgNC4zLjYgTmF0aXZlIE9iamVjdCA0IDQuMy43IEJ1aWx0LWluIE9iamVjdCA0IDQuMy44IEhvc3QgT2JqZWN0IDQgNC4zLjkgVW5kZWZpbmVkIFZhbHVlIDQgNC4zLjEwIFVuZGVmaW5lZCBUeXBlIDQgNC4zLjExIE51bGwgVmFsdWUgNCA0LjMuMTIgTnVsbCBUeXBlIDQgNC4zLjEzIEJvb2xlYW4gVmFsdWUgNCA0LjMuMTQgQm9vbGVhbiBUeXBlIDQgNC4zLjE1IEJvb2xlYW4gT2JqZWN0IDUgNC4zLjE2IFN0cmluZyBWYWx1ZSA1IDQuMy4xNyBTdHJpbmcgVHlwZSA1IDQuMy4xOCBTdHJpbmcgT2JqZWN0IDUgNC4zLjE5IE51bWJlciBWYWx1ZSA1IDQuMy4yMCBOdW1iZXIgVHlwZSA1IDQuMy4yMSBOdW1iZXIgT2JqZWN0IDUgNC4zLjIyIEluZmluaXR5IDUgNC4zLjIzIE5hTiA1IDUgTm90YXRpb25hbCBDb252ZW50aW9ucyA2IDUuMSBTeW50YWN0aWMgYW5kIExleGljYWwgR3JhbW1hcnMgNiA1LjEuMSBDb250ZXh0LUZyZWUgR3JhbW1hcnMgNiA1LjEuMiBUaGUgTGV4aWNhbCBhbmQgUmVnRXhwIEdyYW1tYXJzIDYgNS4xLjMgVGhlIE51bWVyaWMgU3RyaW5nIEdyYW1tYXIgNiA1LjEuNCBUaGUgU3ludGFjdGljIEdyYW1tYXIgNiA1LjEuNSBHcmFtbWFyIE5vdGF0aW9uIDcgNS4yIEFsZ29yaXRobSBDb252ZW50aW9ucyA5IDYuIFNvdXJjZSBUZXh0IDEwIDcgTGV4aWNhbCBDb252ZW50aW9ucyAxMSA3LjEgVW5pY29kZSBGb3JtYXQtQ29udHJvbCBDaGFyYWN0ZXJzIDExIDcuMiBXaGl0ZSBTcGFjZSAxMSA3LjMgTGluZSBUZXJtaW5hdG9ycyAxMiA3LjQgQ29tbWVudHMgMTIgLSBpaSAtIDcuNSBUb2tlbnMgMTMgNy41LjEgUmVzZXJ2ZWQgV29yZHMgMTMgNy41LjIgS2V5d29yZHMgMTMgNy41LjMgRnV0dXJlIFJlc2VydmVkIFdvcmRzIDE0IDcuNiBJZGVudGlmaWVycyAxNCA3LjcgUHVuY3R1YXRvcnMgMTUgNy44IExpdGVyYWxzIDE2IDcuOC4xIE51bGwgTGl0ZXJhbHMgMTYgNy44LjIgQm9vbGVhbiBMaXRlcmFscyAxNiA3LjguMyBOdW1lcmljIExpdGVyYWxzIDE2IDcuOC40IFN0cmluZyBMaXRlcmFscyAxOCA3LjguNSBSZWd1bGFyIEV4cHJlc3Npb24gTGl0ZXJhbHMgMjAgNy45IEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4xIFJ1bGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4yIEV4YW1wbGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIyIDggVHlwZXMgMjQgOC4xIFRoZSBVbmRlZmluZWQgVHlwZSAyNCA4LjIgVGhlIE51bGwgVHlwZSAyNCA4LjMgVGhlIEJvb2xlYW4gVHlwZSAyNCA4LjQgVGhlIFN0cmluZyBUeXBlIDI0IDguNSBUaGUgTnVtYmVyIFR5cGUgMjQgOC42IFRoZSBPYmplY3QgVHlwZSAyNSA4LjYuMSBQcm9wZXJ0eSBBdHRyaWJ1dGVzIDI1IDguNi4yIEludGVybmFsIFByb3BlcnRpZXMgYW5kIE1ldGhvZHMgMjYgOC43IFRoZSBSZWZlcmVuY2UgVHlwZSAyOSA4LjcuMSBHZXRWYWx1ZSAoVikgMjkgOC43LjIgUHV0VmFsdWUgKFYsIFcpIDI5IDguOCBUaGUgTGlzdCBUeXBlIDMwIDguOSBUaGUgQ29tcGxldGlvbiBUeXBlIDMwIDkgVHlwZSBDb252ZXJzaW9uIDMwIDkuMSBUb1ByaW1pdGl2ZSAzMCA5LjIgVG9Cb29sZWFuIDMwIDkuMyBUb051bWJlciAzMSA5LjMuMSBUb051bWJlciBBcHBsaWVkIHRvIHRoZSBTdHJpbmcgVHlwZSAzMSA5LjQgVG9JbnRlZ2VyIDM0IDkuNSBUb0ludDMyOiAoU2lnbmVkIDMyIEJpdCBJbnRlZ2VyKSAzNCA5LjYgVG9VaW50MzI6IChVbnNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS43IFRvVWludDE2OiAoVW5zaWduZWQgMTYgQml0IEludGVnZXIpIDM1IDkuOCBUb1N0cmluZyAzNSA5LjguMSBUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIgVHlwZSAzNSA5LjkgVG9PYmplY3QgMzYgMTAgRXhlY3V0aW9uIENvbnRleHRzIDM3IDEwLjEgRGVmaW5pdGlvbnMgMzcgMTAuMS4xIEZ1bmN0aW9uIE9iamVjdHMgMzcgMTAuMS4yIFR5cGVzIG9mIEV4ZWN1dGFibGUgQ29kZSAzNyAxMC4xLjMgVmFyaWFibGUgSW5zdGFudGlhdGlvbiAzNyAxMC4xLjQgU2NvcGUgQ2hhaW4gYW5kIElkZW50aWZpZXIgUmVzb2x1dGlvbiAzOCAxMC4xLjUgR2xvYmFsIE9iamVjdCAzOCAxMC4xLjYgQWN0aXZhdGlvbiBPYmplY3QgMzggLSBpIGkgaSAtIDEwLjEuNyBUaGlzIDM5IDEwLjEuOCBBcmd1bWVudHMgT2JqZWN0IDM5IDEwLjIgRW50ZXJpbmcgQW4gRXhlY3V0aW9uIENvbnRleHQgMzkgMTAuMi4xIEdsb2JhbCBDb2RlIDM5IDEwLjIuMiBFdmFsIENvZGUgMzkgMTAuMi4zIEZ1bmN0aW9uIENvZGUgMzkgMTEgRXhwcmVzc2lvbnMgNDAgMTEuMSBQcmltYXJ5IEV4cHJlc3Npb25zIDQwIDExLjEuMSBUaGUgdGhpcyBLZXl3b3JkIDQwIDExLjEuMiBJZGVudGlmaWVyIFJlZmVyZW5jZSA0MCAxMS4xLjMgTGl0ZXJhbCBSZWZlcmVuY2UgNDAgMTEuMS40IEFycmF5IEluaXRpYWxpc2VyIDQwIDExLjEuNSBPYmplY3QgSW5pdGlhbGlzZXIgNDEgMTEuMS42IFRoZSBHcm91cGluZyBPcGVyYXRvciA0MiAxMS4yIExlZnQtSGFuZC1TaWRlIEV4cHJlc3Npb25zIDQzIDExLjIuMSBQcm9wZXJ0eSBBY2Nlc3NvcnMgNDMgMTEuMi4yIFRoZSBuZXcgT3BlcmF0b3IgNDQgMTEuMi4zIEZ1bmN0aW9uIENhbGxzIDQ0IDExLjIuNCBBcmd1bWVudCBMaXN0cyA0NSAxMS4yLjUgRnVuY3Rpb24gRXhwcmVzc2lvbnMgNDUgMTEuMyBQb3N0Zml4IEV4cHJlc3Npb25zIDQ1IDExLjMuMSBQb3N0Zml4IEluY3JlbWVudCBPcGVyYXRvciA0NSAxMS4zLjIgUG9zdGZpeCBEZWNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuNCBVbmFyeSBPcGVyYXRvcnMgNDYgMTEuNC4xIFRoZSBkZWxldGUgT3BlcmF0b3IgNDYgMTEuNC4yIFRoZSB2b2lkIE9wZXJhdG9yIDQ2IDExLjQuMyBUaGUgdHlwZW9mIE9wZXJhdG9yIDQ2IDExLjQuNCBQcmVmaXggSW5jcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNSBQcmVmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNiBVbmFyeSArIE9wZXJhdG9yIDQ3IDExLjQuNyBVbmFyeSAtIE9wZXJhdG9yIDQ3IDExLjQuOCBCaXR3aXNlIE5PVCBPcGVyYXRvciAoIH4pIDQ4IDExLjQuOSBMb2dpY2FsIE5PVCBPcGVyYXRvciAoICEpIDQ4IDExLjUgTXVsdGlwbGljYXRpdmUgT3BlcmF0b3JzIDQ4IDExLjUuMSBBcHBseWluZyB0aGUgKiBPcGVyYXRvciA0OCAxMS41LjIgQXBwbHlpbmcgdGhlIC8gT3BlcmF0b3IgNDkgMTEuNS4zIEFwcGx5aW5nIHRoZSAlIE9wZXJhdG9yIDQ5IDExLjYgQWRkaXRpdmUgT3BlcmF0b3JzIDUwIDExLjYuMSBUaGUgQWRkaXRpb24gb3BlcmF0b3IgKCArKSA1MCAxMS42LjIgVGhlIFN1YnRyYWN0aW9uIE9wZXJhdG9yICggLSkgNTAgMTEuNi4zIEFwcGx5aW5nIHRoZSBBZGRpdGl2ZSBPcGVyYXRvcnMgKCArLC0gKSB0byBOdW1iZXJzIDUxIDExLjcgQml0d2lzZSBTaGlmdCBPcGVyYXRvcnMgNTEgMTEuNy4xIFRoZSBMZWZ0IFNoaWZ0IE9wZXJhdG9yICggPDwpIDUxIDExLjcuMiBUaGUgU2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4pIDUxIDExLjcuMyBUaGUgVW5zaWduZWQgUmlnaHQgU2hpZnQgT3BlcmF0b3IgKCA+Pj4pIDUyIDExLjQgUmVsYXRpb25hbCBPcGVyYXRvcnMgNTIgMTEuOC4xIFRoZSBMZXNzLXRoYW4gT3BlcmF0b3IgKCA8KSA1MyAxMS44LjIgVGhlIEdyZWF0ZXItdGhhbiBPcGVyYXRvciAoID4pIDUzIDExLjguMyBUaGUgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPD0pIDUzIDExLjguNCBUaGUgR3JlYXRlci10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPj0pIDUzIDExLjguNSBUaGUgQWJzdHJhY3QgUmVsYXRpb25hbCBDb21wYXJpc29uIEFsZ29yaXRobSA1MyAtIGl2IC0gMTEuOC42IFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yIDU0IDExLjguNyBUaGUgaW4gb3BlcmF0b3IgNTQgMTEuOSBFcXVhbGl0eSBPcGVyYXRvcnMgNTQgMTEuOS4xIFRoZSBFcXVhbHMgT3BlcmF0b3IgKCA9PSkgNTUgMTEuOS4yIFRoZSBEb2VzLW5vdC1lcXVhbHMgT3BlcmF0b3IgKCAhPSkgNTUgMTEuOS4zIFRoZSBBYnN0cmFjdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NSAxMS45LjQgVGhlIFN0cmljdCBFcXVhbHMgT3BlcmF0b3IgKCA9PT0pIDU2IDExLjkuNSBUaGUgU3RyaWN0IERvZXMtbm90LWVxdWFsIE9wZXJhdG9yICggIT09KSA1NiAxMS45LjYgVGhlIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NiAxMS4xMCBCaW5hcnkgQml0d2lzZSBPcGVyYXRvcnMgNTcgMTEuMTEgQmluYXJ5IExvZ2ljYWwgT3BlcmF0b3JzIDU4IDExLjEyIENvbmRpdGlvbmFsIE9wZXJhdG9yICggPzogKSA1OCAxMS4xMyBBc3NpZ25tZW50IE9wZXJhdG9ycyA1OSAxMS4xMy4xIFNpbXBsZSBBc3NpZ25tZW50ICggPSkgNTkgMTEuMTMuMiBDb21wb3VuZCBBc3NpZ25tZW50ICggb3A9KSA2MCAxMS4xNCBDb21tYSBPcGVyYXRvciAoICwgKSA2MCAxMiBTdGF0ZW1lbnRzIDYxIDEyLjEgQmxvY2sgNjEgMTIuMiBWYXJpYWJsZSBzdGF0ZW1lbnQgNjIgMTIuMyBFbXB0eSBTdGF0ZW1lbnQgNjMgMTIuNCBFeHByZXNzaW9uIFN0YXRlbWVudCA2MyAxMi41IFRoZSBpZiBTdGF0ZW1lbnQgNjMgMTIuNiBJdGVyYXRpb24gU3RhdGVtZW50cyA2NCAxMi42LjEgVGhlIGRvLXdoaWxlIFN0YXRlbWVudCA2NCAxMi42LjIgVGhlIHdoaWxlIHN0YXRlbWVudCA2NCAxMi42LjMgVGhlIGZvciBTdGF0ZW1lbnQgNjUgMTIuNi40IFRoZSBmb3ItaW4gU3RhdGVtZW50IDY1IDEyLjcgVGhlIGNvbnRpbnVlIFN0YXRlbWVudCA2NiAxMi44IFRoZSBicmVhayBTdGF0ZW1lbnQgNjcgMTIuOSBUaGUgcmV0dXJuIFN0YXRlbWVudCA2NyAxMi4xMCBUaGUgd2l0aCBTdGF0ZW1lbnQgNjcgMTIuMTEgVGhlIHN3aXRjaCBTdGF0ZW1lbnQgNjggMTIuMTIgTGFiZWxsZWQgU3RhdGVtZW50cyA2OSAxMi4xMyBUaGUgdGhyb3cgc3RhdGVtZW50IDY5IDEyLjE0IFRoZSB0cnkgc3RhdGVtZW50IDcwIDEzIEZ1bmN0aW9uIERlZmluaXRpb24gNzEgMTMuMSBEZWZpbml0aW9ucyA3MiAxMy4xLjEgRXF1YXRlZCBHcmFtbWFyIFByb2R1Y3Rpb25zIDcyIDEzLjEuMiBKb2luZWQgT2JqZWN0cyA3MiAxMy4yIENyZWF0aW5nIEZ1bmN0aW9uIE9iamVjdHMgNzIgMTMuMi4xIFtbQ2FsbF1dIDczIDEzLjIuMiBbW0NvbnN0cnVjdF1dIDc0IDE0IFByb2dyYW0gNzUgMTUgTmF0aXZlIEVDTUFTY3JpcHQgT2JqZWN0cyA3NiAxNS4xIFRoZSBHbG9iYWwgT2JqZWN0IDc2IDE1LjEuMSBWYWx1ZSBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMiBGdW5jdGlvbiBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMyBVUkkgSGFuZGxpbmcgRnVuY3Rpb24gUHJvcGVydGllcyA3OCAtIHYgLSAxNS4xLjQgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4xLjUgT3RoZXIgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4yIE9iamVjdCBPYmplY3RzIDgzIDE1LjIuMSBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIDgzIDE1LjIuMiBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuMyBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgQ29uc3RydWN0b3IgODQgMTUuMi40IFByb3BlcnRpZXMgb2YgdGhlIE9iamVjdCBQcm90b3R5cGUgT2JqZWN0IDg0IDE1LjIuNSBQcm9wZXJ0aWVzIG9mIE9iamVjdCBJbnN0YW5jZXMgODUgMTUuMyBGdW5jdGlvbiBPYmplY3RzIDg1ICc7CmlmKGxhcmdlU3RyICE9PSAnU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvblN0YW5kYXJkIEVDTUEtMjYyM3IgZCBFZGl0aW9uIC0gRGVjZW1iZXIgMTk5OVMgdCBhIG4gZCBhIHIgZCBpIHogaSBuIGcgSW5mb3JtYXQgaSBvIG4gYW5kIENvbW11IG4gaSBjIGEgdCBpIG8gbiBTeXN0ZW1zUGhvbmU6ICs0MSAyMiA4NDkuNjAuMDAgLSBGYXg6ICs0MSAyMiA4NDkuNjAuMDEgLSBVUkw6IGh0IHRwOiAvIC93d3cuZWNtYS5jaCAtIEludGVybmV0OiBoZWxwZGVza0BlY21hLmNoTUIgRWNtYS0yNjIuZG9jIDA4LTA0LTAyIDE2LDUzRUNNQVNjcmlwdCBMYW5ndWFnZVNwZWNpZmljYXRpb25CcmllZiBIaXN0b3J5VGhpcyBFQ01BIFN0YW5kYXJkIGlzIGJhc2VkIG9uIHNldmVyYWwgb3JpZ2luYXRpbmcgdGVjaG5vbG9naWVzLCB0aGUgbW9zdCB3ZWxsIGtub3duIGJlaW5nIEphdmFTY3JpcHQgKE5ldHNjYXBlKWFuZCBKU2NyaXB0IChNaWNyb3NvZnQpLiBUaGUgbGFuZ3VhZ2Ugd2FzIGludmVudGVkIGJ5IEJyZW5kYW4gRWljaCBhdCBOZXRzY2FwZSBhbmQgZmlyc3QgYXBwZWFyZWQgaW4gdGhhdGNvbXBhbnMgTmF2aWdhdG9yIDIuMCBicm93c2VyLiBJdCBoYXMgYXBwZWFyZWQgaW4gYWxsIHN1YnNlcXVlbnQgYnJvd3NlcnMgZnJvbSBOZXRzY2FwZSBhbmQgaW4gYWxsIGJyb3dzZXJzIGZyb21NaWNyb3NvZnQgc3RhcnRpbmcgd2l0aCBJbnRlcm5ldCBFeHBsb3JlciAzLjAuVGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3RhbmRhcmQgc3RhcnRlZCBpbiBOb3ZlbWJlciAxOTk2LiBUaGUgZmlyc3QgZWRpdGlvbiBvZiB0aGlzIEVDTUEgU3RhbmRhcmQgd2FzIGFkb3B0ZWQgYnl0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5Ny5UaGF0IEVDTUEgU3RhbmRhcmQgd2FzIHN1Ym1pdHRlZCB0byBJU08vSUVDIEpUQyAxIGZvciBhZG9wdGlvbiB1bmRlciB0aGUgZmFzdC10cmFjayBwcm9jZWR1cmUsIGFuZCBhcHByb3ZlZCBhc2ludGVybmF0aW9uYWwgc3RhbmRhcmQgSVNPL0lFQyAxNjI2MiwgaW4gQXByaWwgMTk5OC4gVGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTggYXBwcm92ZWQgdGhlc2Vjb25kIGVkaXRpb24gb2YgRUNNQS0yNjIgdG8ga2VlcCBpdCBmdWxseSBhbGlnbmVkIHdpdGggSVNPL0lFQyAxNjI2Mi4gQ2hhbmdlcyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgdGhlIHNlY29uZGVkaXRpb24gYXJlIGVkaXRvcmlhbCBpbiBuYXR1cmUuVGhlIGN1cnJlbnQgZG9jdW1lbnQgZGVmaW5lcyB0aGUgdGhpcmQgZWRpdGlvbiBvZiB0aGUgU3RhbmRhcmQgYW5kIGluY2x1ZGVzIHBvd2VyZnVsIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIGJldHRlcnN0cmluZyBoYW5kbGluZywgbmV3IGNvbnRyb2wgc3RhdGVtZW50cywgdHJ5L2NhdGNoIGV4Y2VwdGlvbiBoYW5kbGluZywgdGlnaHRlciBkZWZpbml0aW9uIG9mIGVycm9ycywgZm9ybWF0dGluZyBmb3JudW1lcmljIG91dHB1dCBhbmQgbWlub3IgY2hhbmdlcyBpbiBhbnRpY2lwYXRpb24gb2YgZm9ydGhjb21pbmcgaW50ZXJuYXRpb25hbGlzYXRpb24gZmFjaWxpdGllcyBhbmQgZnV0dXJlIGxhbmd1YWdlZ3Jvd3RoLldvcmsgb24gdGhlIGxhbmd1YWdlIGlzIG5vdCBjb21wbGV0ZS4gVGhlIHRlY2huaWNhbCBjb21taXR0ZWUgaXMgd29ya2luZyBvbiBzaWduaWZpY2FudCBlbmhhbmNlbWVudHMsIGluY2x1ZGluZ21lY2hhbmlzbXMgZm9yIHNjcmlwdHMgdG8gYmUgY3JlYXRlZCBhbmQgdXNlZCBhY3Jvc3MgdGhlIEludGVybmV0LCBhbmQgdGlnaHRlciBjb29yZGluYXRpb24gd2l0aCBvdGhlciBzdGFuZGFyZHMgYm9kaWVzc3VjaCBhcyBncm91cHMgd2l0aGluIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIGFuZCB0aGUgV2lyZWxlc3MgQXBwbGljYXRpb24gUHJvdG9jb2wgRm9ydW0uVGhpcyBTdGFuZGFyZCBoYXMgYmVlbiBhZG9wdGVkIGFzIDNyZCBFZGl0aW9uIG9mIEVDTUEtMjYyIGJ5IHRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgaW4gRGVjZW1iZXIsIDE5OTkuLSBpIC1UYWJsZSBvZiBjb250ZW50czEgU2NvcGUgMTIgQ29uZm9ybWFuY2UgMTMgUmVmZXJlbmNlcyAxNCBPdmVydmlldyAxIDQuMSBXZWIgU2NyaXB0aW5nIDIgNC4yIExhbmd1YWdlIE92ZXJ2aWV3IDIgNC4yLjEgT2JqZWN0cyAzIDQuMyBEZWZpbml0aW9ucyA0IDQuMy4xIFR5cGUgNCA0LjMuMiBQcmltaXRpdmUgVmFsdWUgNCA0LjMuMyBPYmplY3QgNCA0LjMuNCBDb25zdHJ1Y3RvciA0IDQuMy41IFByb3RvdHlwZSA0IDQuMy42IE5hdGl2ZSBPYmplY3QgNCA0LjMuNyBCdWlsdC1pbiBPYmplY3QgNCA0LjMuOCBIb3N0IE9iamVjdCA0IDQuMy45IFVuZGVmaW5lZCBWYWx1ZSA0IDQuMy4xMCBVbmRlZmluZWQgVHlwZSA0IDQuMy4xMSBOdWxsIFZhbHVlIDQgNC4zLjEyIE51bGwgVHlwZSA0IDQuMy4xMyBCb29sZWFuIFZhbHVlIDQgNC4zLjE0IEJvb2xlYW4gVHlwZSA0IDQuMy4xNSBCb29sZWFuIE9iamVjdCA1IDQuMy4xNiBTdHJpbmcgVmFsdWUgNSA0LjMuMTcgU3RyaW5nIFR5cGUgNSA0LjMuMTggU3RyaW5nIE9iamVjdCA1IDQuMy4xOSBOdW1iZXIgVmFsdWUgNSA0LjMuMjAgTnVtYmVyIFR5cGUgNSA0LjMuMjEgTnVtYmVyIE9iamVjdCA1IDQuMy4yMiBJbmZpbml0eSA1IDQuMy4yMyBOYU4gNSA1IE5vdGF0aW9uYWwgQ29udmVudGlvbnMgNiA1LjEgU3ludGFjdGljIGFuZCBMZXhpY2FsIEdyYW1tYXJzIDYgNS4xLjEgQ29udGV4dC1GcmVlIEdyYW1tYXJzIDYgNS4xLjIgVGhlIExleGljYWwgYW5kIFJlZ0V4cCBHcmFtbWFycyA2IDUuMS4zIFRoZSBOdW1lcmljIFN0cmluZyBHcmFtbWFyIDYgNS4xLjQgVGhlIFN5bnRhY3RpYyBHcmFtbWFyIDYgNS4xLjUgR3JhbW1hciBOb3RhdGlvbiA3IDUuMiBBbGdvcml0aG0gQ29udmVudGlvbnMgOSA2LiBTb3VyY2UgVGV4dCAxMCA3IExleGljYWwgQ29udmVudGlvbnMgMTEgNy4xIFVuaWNvZGUgRm9ybWF0LUNvbnRyb2wgQ2hhcmFjdGVycyAxMSA3LjIgV2hpdGUgU3BhY2UgMTEgNy4zIExpbmUgVGVybWluYXRvcnMgMTIgNy40IENvbW1lbnRzIDEyIC0gaWkgLSA3LjUgVG9rZW5zIDEzIDcuNS4xIFJlc2VydmVkIFdvcmRzIDEzIDcuNS4yIEtleXdvcmRzIDEzIDcuNS4zIEZ1dHVyZSBSZXNlcnZlZCBXb3JkcyAxNCA3LjYgSWRlbnRpZmllcnMgMTQgNy43IFB1bmN0dWF0b3JzIDE1IDcuOCBMaXRlcmFscyAxNiA3LjguMSBOdWxsIExpdGVyYWxzIDE2IDcuOC4yIEJvb2xlYW4gTGl0ZXJhbHMgMTYgNy44LjMgTnVtZXJpYyBMaXRlcmFscyAxNiA3LjguNCBTdHJpbmcgTGl0ZXJhbHMgMTggNy44LjUgUmVndWxhciBFeHByZXNzaW9uIExpdGVyYWxzIDIwIDcuOSBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMSBSdWxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMiBFeGFtcGxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMiA4IFR5cGVzIDI0IDguMSBUaGUgVW5kZWZpbmVkIFR5cGUgMjQgOC4yIFRoZSBOdWxsIFR5cGUgMjQgOC4zIFRoZSBCb29sZWFuIFR5cGUgMjQgOC40IFRoZSBTdHJpbmcgVHlwZSAyNCA4LjUgVGhlIE51bWJlciBUeXBlIDI0IDguNiBUaGUgT2JqZWN0IFR5cGUgMjUgOC42LjEgUHJvcGVydHkgQXR0cmlidXRlcyAyNSA4LjYuMiBJbnRlcm5hbCBQcm9wZXJ0aWVzIGFuZCBNZXRob2RzIDI2IDguNyBUaGUgUmVmZXJlbmNlIFR5cGUgMjkgOC43LjEgR2V0VmFsdWUgKFYpIDI5IDguNy4yIFB1dFZhbHVlIChWLCBXKSAyOSA4LjggVGhlIExpc3QgVHlwZSAzMCA4LjkgVGhlIENvbXBsZXRpb24gVHlwZSAzMCA5IFR5cGUgQ29udmVyc2lvbiAzMCA5LjEgVG9QcmltaXRpdmUgMzAgOS4yIFRvQm9vbGVhbiAzMCA5LjMgVG9OdW1iZXIgMzEgOS4zLjEgVG9OdW1iZXIgQXBwbGllZCB0byB0aGUgU3RyaW5nIFR5cGUgMzEgOS40IFRvSW50ZWdlciAzNCA5LjUgVG9JbnQzMjogKFNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS42IFRvVWludDMyOiAoVW5zaWduZWQgMzIgQml0IEludGVnZXIpIDM0IDkuNyBUb1VpbnQxNjogKFVuc2lnbmVkIDE2IEJpdCBJbnRlZ2VyKSAzNSA5LjggVG9TdHJpbmcgMzUgOS44LjEgVG9TdHJpbmcgQXBwbGllZCB0byB0aGUgTnVtYmVyIFR5cGUgMzUgOS45IFRvT2JqZWN0IDM2IDEwIEV4ZWN1dGlvbiBDb250ZXh0cyAzNyAxMC4xIERlZmluaXRpb25zIDM3IDEwLjEuMSBGdW5jdGlvbiBPYmplY3RzIDM3IDEwLjEuMiBUeXBlcyBvZiBFeGVjdXRhYmxlIENvZGUgMzcgMTAuMS4zIFZhcmlhYmxlIEluc3RhbnRpYXRpb24gMzcgMTAuMS40IFNjb3BlIENoYWluIGFuZCBJZGVudGlmaWVyIFJlc29sdXRpb24gMzggMTAuMS41IEdsb2JhbCBPYmplY3QgMzggMTAuMS42IEFjdGl2YXRpb24gT2JqZWN0IDM4IC0gaSBpIGkgLSAxMC4xLjcgVGhpcyAzOSAxMC4xLjggQXJndW1lbnRzIE9iamVjdCAzOSAxMC4yIEVudGVyaW5nIEFuIEV4ZWN1dGlvbiBDb250ZXh0IDM5IDEwLjIuMSBHbG9iYWwgQ29kZSAzOSAxMC4yLjIgRXZhbCBDb2RlIDM5IDEwLjIuMyBGdW5jdGlvbiBDb2RlIDM5IDExIEV4cHJlc3Npb25zIDQwIDExLjEgUHJpbWFyeSBFeHByZXNzaW9ucyA0MCAxMS4xLjEgVGhlIHRoaXMgS2V5d29yZCA0MCAxMS4xLjIgSWRlbnRpZmllciBSZWZlcmVuY2UgNDAgMTEuMS4zIExpdGVyYWwgUmVmZXJlbmNlIDQwIDExLjEuNCBBcnJheSBJbml0aWFsaXNlciA0MCAxMS4xLjUgT2JqZWN0IEluaXRpYWxpc2VyIDQxIDExLjEuNiBUaGUgR3JvdXBpbmcgT3BlcmF0b3IgNDIgMTEuMiBMZWZ0LUhhbmQtU2lkZSBFeHByZXNzaW9ucyA0MyAxMS4yLjEgUHJvcGVydHkgQWNjZXNzb3JzIDQzIDExLjIuMiBUaGUgbmV3IE9wZXJhdG9yIDQ0IDExLjIuMyBGdW5jdGlvbiBDYWxscyA0NCAxMS4yLjQgQXJndW1lbnQgTGlzdHMgNDUgMTEuMi41IEZ1bmN0aW9uIEV4cHJlc3Npb25zIDQ1IDExLjMgUG9zdGZpeCBFeHByZXNzaW9ucyA0NSAxMS4zLjEgUG9zdGZpeCBJbmNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuMy4yIFBvc3RmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ1IDExLjQgVW5hcnkgT3BlcmF0b3JzIDQ2IDExLjQuMSBUaGUgZGVsZXRlIE9wZXJhdG9yIDQ2IDExLjQuMiBUaGUgdm9pZCBPcGVyYXRvciA0NiAxMS40LjMgVGhlIHR5cGVvZiBPcGVyYXRvciA0NiAxMS40LjQgUHJlZml4IEluY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjUgUHJlZml4IERlY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjYgVW5hcnkgKyBPcGVyYXRvciA0NyAxMS40LjcgVW5hcnkgLSBPcGVyYXRvciA0NyAxMS40LjggQml0d2lzZSBOT1QgT3BlcmF0b3IgKCB+KSA0OCAxMS40LjkgTG9naWNhbCBOT1QgT3BlcmF0b3IgKCAhKSA0OCAxMS41IE11bHRpcGxpY2F0aXZlIE9wZXJhdG9ycyA0OCAxMS41LjEgQXBwbHlpbmcgdGhlICogT3BlcmF0b3IgNDggMTEuNS4yIEFwcGx5aW5nIHRoZSAvIE9wZXJhdG9yIDQ5IDExLjUuMyBBcHBseWluZyB0aGUgJSBPcGVyYXRvciA0OSAxMS42IEFkZGl0aXZlIE9wZXJhdG9ycyA1MCAxMS42LjEgVGhlIEFkZGl0aW9uIG9wZXJhdG9yICggKykgNTAgMTEuNi4yIFRoZSBTdWJ0cmFjdGlvbiBPcGVyYXRvciAoIC0pIDUwIDExLjYuMyBBcHBseWluZyB0aGUgQWRkaXRpdmUgT3BlcmF0b3JzICggKywtICkgdG8gTnVtYmVycyA1MSAxMS43IEJpdHdpc2UgU2hpZnQgT3BlcmF0b3JzIDUxIDExLjcuMSBUaGUgTGVmdCBTaGlmdCBPcGVyYXRvciAoIDw8KSA1MSAxMS43LjIgVGhlIFNpZ25lZCBSaWdodCBTaGlmdCBPcGVyYXRvciAoID4+KSA1MSAxMS43LjMgVGhlIFVuc2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4+KSA1MiAxMS40IFJlbGF0aW9uYWwgT3BlcmF0b3JzIDUyIDExLjguMSBUaGUgTGVzcy10aGFuIE9wZXJhdG9yICggPCkgNTMgMTEuOC4yIFRoZSBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgKCA+KSA1MyAxMS44LjMgVGhlIExlc3MtdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoIDw9KSA1MyAxMS44LjQgVGhlIEdyZWF0ZXItdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoID49KSA1MyAxMS44LjUgVGhlIEFic3RyYWN0IFJlbGF0aW9uYWwgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTMgLSBpdiAtIDExLjguNiBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvciA1NCAxMS44LjcgVGhlIGluIG9wZXJhdG9yIDU0IDExLjkgRXF1YWxpdHkgT3BlcmF0b3JzIDU0IDExLjkuMSBUaGUgRXF1YWxzIE9wZXJhdG9yICggPT0pIDU1IDExLjkuMiBUaGUgRG9lcy1ub3QtZXF1YWxzIE9wZXJhdG9yICggIT0pIDU1IDExLjkuMyBUaGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTUgMTEuOS40IFRoZSBTdHJpY3QgRXF1YWxzIE9wZXJhdG9yICggPT09KSA1NiAxMS45LjUgVGhlIFN0cmljdCBEb2VzLW5vdC1lcXVhbCBPcGVyYXRvciAoICE9PSkgNTYgMTEuOS42IFRoZSBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTYgMTEuMTAgQmluYXJ5IEJpdHdpc2UgT3BlcmF0b3JzIDU3IDExLjExIEJpbmFyeSBMb2dpY2FsIE9wZXJhdG9ycyA1OCAxMS4xMiBDb25kaXRpb25hbCBPcGVyYXRvciAoID86ICkgNTggMTEuMTMgQXNzaWdubWVudCBPcGVyYXRvcnMgNTkgMTEuMTMuMSBTaW1wbGUgQXNzaWdubWVudCAoID0pIDU5IDExLjEzLjIgQ29tcG91bmQgQXNzaWdubWVudCAoIG9wPSkgNjAgMTEuMTQgQ29tbWEgT3BlcmF0b3IgKCAsICkgNjAgMTIgU3RhdGVtZW50cyA2MSAxMi4xIEJsb2NrIDYxIDEyLjIgVmFyaWFibGUgc3RhdGVtZW50IDYyIDEyLjMgRW1wdHkgU3RhdGVtZW50IDYzIDEyLjQgRXhwcmVzc2lvbiBTdGF0ZW1lbnQgNjMgMTIuNSBUaGUgaWYgU3RhdGVtZW50IDYzIDEyLjYgSXRlcmF0aW9uIFN0YXRlbWVudHMgNjQgMTIuNi4xIFRoZSBkby13aGlsZSBTdGF0ZW1lbnQgNjQgMTIuNi4yIFRoZSB3aGlsZSBzdGF0ZW1lbnQgNjQgMTIuNi4zIFRoZSBmb3IgU3RhdGVtZW50IDY1IDEyLjYuNCBUaGUgZm9yLWluIFN0YXRlbWVudCA2NSAxMi43IFRoZSBjb250aW51ZSBTdGF0ZW1lbnQgNjYgMTIuOCBUaGUgYnJlYWsgU3RhdGVtZW50IDY3IDEyLjkgVGhlIHJldHVybiBTdGF0ZW1lbnQgNjcgMTIuMTAgVGhlIHdpdGggU3RhdGVtZW50IDY3IDEyLjExIFRoZSBzd2l0Y2ggU3RhdGVtZW50IDY4IDEyLjEyIExhYmVsbGVkIFN0YXRlbWVudHMgNjkgMTIuMTMgVGhlIHRocm93IHN0YXRlbWVudCA2OSAxMi4xNCBUaGUgdHJ5IHN0YXRlbWVudCA3MCAxMyBGdW5jdGlvbiBEZWZpbml0aW9uIDcxIDEzLjEgRGVmaW5pdGlvbnMgNzIgMTMuMS4xIEVxdWF0ZWQgR3JhbW1hciBQcm9kdWN0aW9ucyA3MiAxMy4xLjIgSm9pbmVkIE9iamVjdHMgNzIgMTMuMiBDcmVhdGluZyBGdW5jdGlvbiBPYmplY3RzIDcyIDEzLjIuMSBbW0NhbGxdXSA3MyAxMy4yLjIgW1tDb25zdHJ1Y3RdXSA3NCAxNCBQcm9ncmFtIDc1IDE1IE5hdGl2ZSBFQ01BU2NyaXB0IE9iamVjdHMgNzYgMTUuMSBUaGUgR2xvYmFsIE9iamVjdCA3NiAxNS4xLjEgVmFsdWUgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjIgRnVuY3Rpb24gUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjMgVVJJIEhhbmRsaW5nIEZ1bmN0aW9uIFByb3BlcnRpZXMgNzggLSB2IC0gMTUuMS40IENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMS41IE90aGVyIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMiBPYmplY3QgT2JqZWN0cyA4MyAxNS4yLjEgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciBDYWxsZWQgYXMgYSBGdW5jdGlvbiA4MyAxNS4yLjIgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciA4NCAxNS4yLjMgUHJvcGVydGllcyBvZiB0aGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuNCBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgUHJvdG90eXBlIE9iamVjdCA4NCAxNS4yLjUgUHJvcGVydGllcyBvZiBPYmplY3QgSW5zdGFuY2VzIDg1IDE1LjMgRnVuY3Rpb24gT2JqZWN0cyA4NSAnKXsKICAkRVJST1IoJyMyOiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Large string 8192 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TEY+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExGPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwQWdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":" between chunks of one string not allowed","description":"Insert between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcsIDAsIGZhbHNlIGFyZSBhbGwgZXF1YWwgKD09KSB0byBlYWNoIG90aGVyLCBzaW5jZSB0aGV5IGFsbCBldmFsdWF0ZSB0byAwCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgZW1wdHkgc3RyaW5nIHdpdGggdW5kZWZpbmVkLCBudWxsLCAwIGFuZCBmYWxzZQogKi8KCnZhciBzdHI9Jyc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyID09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMTogRW1wdHkgc3RyaW5nIGFuZCB1bmRlZmluZWQgYXJlIG5vdCBlcXVhbCAoIT0pIHRvIGVhY2ggb3RoZXInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyID09IG51bGwpewogICRFUlJPUignIzE6IEVtcHR5IHN0cmluZyBhbmQgTnVsbCBhcmUgbm90IGVxdWFsICghPSkgdG8gZWFjaCBvdGhlcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCmlmIChzdHIgIT0gMCl7CiAgJEVSUk9SKCcjMzogRW1wdHkgc3RyaW5nIGFuZCAwIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAoc3RyICE9IGZhbHNlKXsKICAkRVJST1IoJyM0OiBFbXB0eSBzdHJpbmcgYW5kIGZhbHNlIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string, 0, false are all equal (==) to each other, since they all evaluate to 0","description":"Compare empty string with undefined, null, 0 and false","path":"TestCases/ch08/8.4/S8.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9J0FCQyc7CnZhciBzdHJPYmo9bmV3IFN0cmluZygnQUJDJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6IFwnQUJDXCcuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcoXCdBQkNcJykuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogIkFCQyIgPT0gbmV3IFN0cmluZygiQUJDIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyID09PSBzdHJPYmopewogICRFUlJPUignIzM6ICJBQkMiICE9PSBuZXcgU3RyaW5nKCJBQkMiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Simple string variable compare with object String","path":"TestCases/ch08/8.4/S8.4_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBlbXB0eSBzdHJpbmcgdmFyaWFibGUsIG9iamVjdCBTdHJpbmcoJycpIGFuZCBvYmplY3QgU3RyaW5nKCkKICovCgp2YXIgc3RyPSIiOwp2YXIgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOwp2YXIgc3RyT2JqXz1uZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCIiKS5jb25zdHJ1Y3RvcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9ial8uY29uc3RydWN0b3IpewogICRFUlJPUignIzI6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCkuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMzogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyM0OiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM1CmlmIChzdHIgIT0gc3RyT2JqXyl7CiAgJEVSUk9SKCcjNTogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCk7IGFyZSBlcXVhbCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM2CmlmIChzdHIgPT09IHN0ck9ial8pewogICRFUlJPUignIzY6IG9iamVjdHMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Compare empty string variable, object String('') and object String()","path":"TestCases/ch08/8.4/S8.4_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIGVtcHR5IHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggZW1wdHkgb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9IiI7CnZhciBzdHJPYmo9bmV3IFN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9iai5jb25zdHJ1Y3Rvcil7CiAgJEVSUk9SKCcjMTogIiIuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyMzOiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKHR5cGVvZiBzdHIgPT0gdHlwZW9mIHN0ck9iail7CiAgJEVSUk9SKCcjNDogdHlwZXMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOyBhcmUgZGlmZmVyZW50Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Assignment to string literals calls String constructor","description":"Simple empty string variable compare with empty object String","path":"TestCases/ch08/8.4/S8.4_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gIT09IE5hTgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIE5hTgogKi8KCnZhciB4ID0gTnVtYmVyLk5hTjsKdmFyIHhfID0gTnVtYmVyLk5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sgIzEKaWYgKHggPT09IHhfKXsKICAkRVJST1IoJyMxOiBOYU4gIT09IE5hTiAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"NaN !== NaN","description":"Compare NaN with NaN","path":"TestCases/ch08/8.5/S8.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyBub3QgYSBrZXl3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgSW5maW5pdHkKICovCgp2YXIgSW5maW5pdHk9MS4wOwpJbmZpbml0eT0nYXNkZic7CkluZmluaXR5PXRydWU7Cgo=","commentary":"Infinity is not a keyword","description":"Create variable entitled Infinity","path":"TestCases/ch08/8.5/S8.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8KICovCgp2YXIgcF96ZXJvPSswOwp2YXIgbl96ZXJvPS0wOwoKaWYgKDEuMC9wX3plcm8gPT09IDEuMC9uX3plcm8pewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8nKTsKfQoK","commentary":"The integer 0 has two representations, +0 and -0","description":"Check 1.0/p_zero !== 1.0/n_zero","path":"TestCases/ch08/8.5/S8.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcG9zaXRpdmVfemVybyBhbmQgbmVnYXRpdmVfemVybwogKi8KCnZhciBwX3plcm89KzA7CnZhciBuX3plcm89LTA7CgovL0NIRUNLICMxCmlmICgocF96ZXJvID09IG5femVybykgIT09IHRydWUpewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyAhPSBuX3plcm8nKTsKfQoKLy9DSEVDSyAjMgppZiAoKG5femVybyA9PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMjogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09IDAnKTsKfQoKLy9DSEVDSyAjMwppZiAoKHBfemVybyA9PSAtMCkgIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyA9PSAtMCcpOwp9CgovL0NIRUNLICM0CmlmICgocF96ZXJvID09PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgcF96ZXJvID09PSAwJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYgKChuX3plcm8gPT09IC0wKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNTogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09PSAtMCcpOwp9Cgo=","commentary":"The integer 0 has two representations, +0 and -0","description":"Compare positive_zero and negative_zero","path":"TestCases/ch08/8.5/S8.5_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgYW5kIEluZmluaXR5IGFyZSB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5IHdpdGggTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChwX2luZiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMTogK0luZmluaXR5IGlzIHRoZSBzYW1lIGFzIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLICMyIAppZiAoaW5mIT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMyOiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoK","commentary":"+Infinity and Infinity are the same as Number.POSITIVE_INFINITY","description":"Compare Infinity and +Infinity with Number.POSITIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEyLjIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgLUluZmluaXR5IHdpdGggTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqLwoKdmFyIG5faW5mPS1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChuX2luZiAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"-Infinity is the same as Number.NEGATIVE_INFINITY","description":"Compare -Infinity with Number.NEGATIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIC0xMDc0CiAqIEBpbXBsRGVwZW5kZW50IERvZXMgbm90IHBhc3Mgb24gY3VycmVudCBBUk0gcHJvY2Vzc29ycwogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gNC40NTAxNDc3MTcwMTQ0MDIzZS0zMDgpewogICRFUlJPUignIzE6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpID09PSA0LjQ1MDE0NzcxNzAxNDQwMjNlLTMwOC4gQWN0dWFsOiAnICsgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpICE9PSAyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCl7CiAgJEVSUk9SKCcjMjogKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDguIEFjdHVhbDogJyArICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzMgCmlmICgoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4KXsKICAkRVJST1IoJyMzOiAoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsLTEwNzQpKSkpKTsKfQoK","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is -1074","implDependent":"Does not pass on current ARM processors","path":"TestCases/ch08/8.5/S8.5_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIDk3MQogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3KXsKICAkRVJST1IoJyMxOiAoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMiAKaWYgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgpewogICRFUlJPUignIzI6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDguIEFjdHVhbDogJyArICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMyAKaWYgKCgtMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gLTguOTg4NDY1Njc0MzExNThlKzMwNyl7CiAgJEVSUk9SKCcjMzogKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSAtOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is 971","path":"TestCases/ch08/8.5/S8.5_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBiaWdnZXIgb2YgMioqMTAyNAogKi8KCi8vQ0hFQ0sgIzEgCmlmICgxZSszMDgqMiAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzE6IDFlKzMwOCoyID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKDFlKzMwOCoyKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzI6ICgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number bigger of 2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBzbWFsbGVyIG9mIC0yKioxMDI0CiAqLwoKLy9DSEVDSyAjMSAKaWYgKC0xZSszMDgqMyAhPT0gLUluZmluaXR5KXsKICAkRVJST1IoJyMxOiAtMWUrMzA4KjMgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTFlKzMwOCozKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoLTEqKE1hdGgucG93KDIsNTMpKSooTWF0aC5wb3coMiw5NzEpKSkgIT09IC1JbmZpbml0eSl7CiAgJEVSUk9SKCcjMjogKC0xKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgtMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSkpOwp9Cgo=","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number smaller of -2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZG91YmxlIHByZWNpc2lvbiA2NC1iaXQgZm9ybWF0IElFRUUgNzU0CiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIDJeNTMgKyAyIG51bWJlciBhbmQgZG8gc29tZSBvcGVyYXRpb24gd2l0aCBpdAogKi8KCnZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyAvKiAyXjUzICsgMiAqLwp2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsKdmFyIHogPSB4ICsgeTsKdmFyIGQgPSB6IC0geDsKCmlmIChkICE9PSAwKXsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDkwMDcxOTkyNTQ3NDA5OTQuMDsgdmFyIHkgPSAxLjAgLSAxLzY1NTM2LjA7IHZhciB6ID0geCArIHk7IHZhciBkID0geiAtIHg7IGQgPT09IDAuIEFjdHVhbDogJyArIChkKSk7Cn0KCg==","commentary":"Number type represented as the double precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZXh0ZW5kZWQgcHJlY2lzaW9uIDY0LWJpdCBmb3JtYXQgSUVFRSA3NTQKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgMl41MyArIDIgbnVtYmVyIGFuZCBkbyBzb21lIG9wZXJhdGlvbiB3aXRoIGl0CiAqLwoKdmFyIHggPSA5MDA3MTk5MjU0NzQwOTk0LjA7IC8qIDJeNTMgKyAyICovCnZhciB5ID0gMS4wIC0gMS82NTUzNi4wOwp2YXIgeiA9IHggKyB5Owp2YXIgZCA9IHogLSB4OwoKaWYgKGQgPT09IDIpewogICRFUlJPUignIzE6IHZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyB2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsgdmFyIHogPSB4ICsgeTsgdmFyIGQgPSB6IC0geDsgZCAhPT0gMicpOwp9Cgo=","commentary":"Number type represented as the extended precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIE5hTgogKi8KCnZhciB4PU5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9TmFOOyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN expression has a type Number","description":"Check type of NaN","path":"TestCases/ch08/8.5/S8.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgTmFOCiAqLwoKdmFyIE5hTj0xLjA7Ck5hTj0nYXNkZic7Ck5hTj10cnVlOwpOYU49TnVtYmVyLk5hTjsKCg==","commentary":"NaN is not a keyword","description":"Create variable entitled NaN","path":"TestCases/ch08/8.5/S8.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybwogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIHplcm8KICovCgp2YXIgeCA9IE5hTjsKdmFyIHhfZ2VxXzA9KHggPj0gMC4wKTsKdmFyIHhfbGVxXzA9KHggPD0gMC4wKTsKdmFyIHhfbGVxXzBfT1JfZ2VxXzA9KHggPD0gMC4wKXx8KHggPj0gMC4wKTsKdmFyIHhfZ2VxXzBfQUREX2xlcV8wPSh4ID49IDAuMCkgKyAoeCA8PSAwLjApOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICh4X2dlcV8wKXsKICAkRVJST1IoJyMxOiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzE6IE5hTiBub3QgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoeF9sZXFfMCl7CiAgJEVSUk9SKCcjMjogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8nKTsKfSBlbHNlIHsKICAkUFJJTlQoJyMyOiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHhfbGVxXzBfT1JfZ2VxXzApewogICRFUlJPUignIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHhfZ2VxXzBfQUREX2xlcV8wKXsKICAkRVJST1IoJyM0OiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybyBBREQgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0gZWxzZSB7CiAgJFBSSU5UKCcjNDogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8gQUREIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN not greater or equal zero","description":"Compare NaN with zero","path":"TestCases/ch08/8.5/S8.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIC1JbmZpbml0eQogKi8KCnZhciB4PS1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9LUluZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoLUluZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigtSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigtSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"-Infinity expression has a type Number","description":"Check type of -Infinity","path":"TestCases/ch08/8.5/S8.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mICtJbmZpbml0eQogKi8KCnZhciB4PStJbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9K0luZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoK0luZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigrSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigrSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"+Infinity expression has a type Number","description":"Check type of +Infinity","path":"TestCases/ch08/8.5/S8.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyArSW5maW5pdHkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5CiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gCmlmIChwX2luZiE9PWluZil7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgK0luZmluaXR5Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Infinity is the same as +Infinity","description":"Compare Infinity and +Infinity","path":"TestCases/ch08/8.5/S8.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWxseSBkZWZpbmVkIHZhcmlhYmxlIE5hTiBoYXMgbm90IGJlZW4gYWx0ZXJlZCBieSBwcm9ncmFtIGV4ZWN1dGlvbgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgYWx0ZXIgZ2xvYmFsbHkgZGVmaW5lZCB2YXJpYWJsZSBOYU4KICogQG5vU3RyaWN0CiAqLwoKTnVtYmVyLk5hTiA9IDE7CgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzE6IEdsb2JhbGx5IGRlZmluZWQgdmFyaWFibGUgTmFOIGhhcyBub3QgYmVlbiBhbHRlcmVkIGJ5IHByb2dyYW0gZXhlY3V0aW9uJyk7Cn0KCg==","commentary":"Globally defined variable NaN has not been altered by program execution","description":"Try alter globally defined variable NaN","noStrict":"","path":"TestCases/ch08/8.5/S8.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17Zm9vOiJiYXIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKCl9fbWFwLmZvbysrOwppZiAoIWlzTmFOKF9fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiB2YXIgX19tYXA9e2ZvbzoiYmFyIn07IF9fbWFwLmZvbysrOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIG5vdCBkZWNsYXJlZCBjdXN0b20gcHJvcGVydHkKICovCgp2YXIgX19tYXA9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghaXNOYU4oX19tYXAuZm9vKyspKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgiZm9vIiBpbiBfX21hcCkpIHsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e307ICJmb28iIGluIF9fbWFwJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3IgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fbWFwPXtmb286J2Jhcid9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQoKKytfX21hcC5mb287CmlmICghaXNOYU4oX19tYXAuZm9vKSkgewogICRFUlJPUignIzE6ICB2YXIgX19tYXA9e2ZvbzoiYmFyIn07ICsrX19tYXAuZm9vOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3Igbm90IGRlY2xhcmVkIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFpc05hTigrK19fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiAgdmFyIF9fbWFwPXt9OyBfX21hcC5mb28rKzsgX19tYXAuZm9vID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChfX21hcC5mb28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoImZvbyIgaW4gX19tYXApKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fbWFwPXt9OyAiZm9vIiBpbiBfX21hcCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBPYmplY3QgaXMgYW4gdW5vcmRlcmVkIGNvbGxlY3Rpb24gb2YgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgdXNpbmcgYSBmZXcgY3VzdG9tIHByb3BlcnRpZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsKCnZhciBjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmopCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzE6IG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsgY291bnQ9MDsgZm9yIChwcm9wZXJ0eSBpbiBvYmopIGNvdW50Kys7IGNvdW50ID09PSAzLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBvYmpfID0ge2Jhcjp0cnVlfTsKb2JqXy5zb21lID0gMTsKb2JqXy5mb28gPSAiYSI7Cgpjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmpfKSBjb3VudCsrOwoKaWYgKGNvdW50ICE9PSAzKXsKICAkRVJST1IoJyMyOiBvYmpfID0ge2Jhcjp0cnVlfTsgb2JqXy5zb21lID0gMTsgb2JqXy5mb28gPSAiYSI7IGNvdW50PTA7IGZvciAocHJvcGVydHkgaW4gb2JqXykgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKdmFyIG9ial9fID0gbmV3IE9iamVjdCgpOwpvYmpfXy5iYXIgPSB0cnVlOwpvYmpfXy5zb21lID0gMTsKb2JqX18uZm9vID0gImEiOwoKY291bnQ9MDsKCmZvciAocHJvcGVydHkgaW4gb2JqX18pCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzM6IG9ial9fID0gbmV3IE9iamVjdCgpOyBvYmpfXy5iYXIgPSB0cnVlOyBvYmpfXy5zb21lID0gMTsgb2JqX18uZm9vID0gImEiOyBmb3IgKHByb3BlcnR5IGluIG9ial9fKSAgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"An Object is an unordered collection of properties","description":"Simple using a few custom properties","path":"TestCases/ch08/8.6/S8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBSZWFkT25seSBsaWtlIEUgaW4gTWF0aAogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBjaGFuZ2UgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRT0xOwppZiAoTWF0aC5FICE9PV9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkU9MTsgTWF0aC5FID09PV9fZScpOwp9Cgo=","commentary":"A property can have attribute ReadOnly like E in Math","description":"Try change Math.E property","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSBsaWtlIGFsbCBwcm9wZXJ0aWVzIG9mIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBlbnVtZXJhdGUgcHJvcGVydGllcyBvZiBOdW1iZXIKICovCgovL0NIRUNLIzEKdmFyIGNvdW50PTA7CmZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7CmlmIChjb3VudCA+IDApewogICRFUlJPUignIzE6IGNvdW50PTA7IGZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7IGNvdW50ID4gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCg==","commentary":"A property can have attribute DontEnum like all properties of Number","description":"Try to enumerate properties of Number","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RGVsZXRlIGxpa2UgTmFOIHByb3BlcnRpZSBvZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4xL1M4LjYuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBOdW1iZXIuTmFOCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTmFOICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIE51bWJlci5OYU4pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoTnVtYmVyLk5hTikgPT09ICJ1bmRlZmluZWQiKXsKICAkRVJST1IoJyMyOiBkZWxldGUgTnVtYmVyLk5hTjsgdHlwZW9mKE51bWJlci5OYU4pICE9PSAidW5kZWZpbmVkIiAnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A property can have attribute DontDelete like NaN propertie of Number object","description":"Try to delete Number.NaN","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uIFRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IGlzCiAqIGVpdGhlciBudWxsIG9yIGFuIG9iamVjdCBhbmQgaXMgdXNlZCBmb3IgaW1wbGVtZW50aW5nIGluaGVyaXRhbmNlCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX29iaj17fTsKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19vYmopKXsKICAkRVJST1IoJyMxOiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uICcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vRXN0YWJsaXNoIHByb3RvIChiYXNlKSBvYmplY3QKLypmdW5jdGlvbiBQcm90b09iaigpewogIAp9OyovCnZhciBwcm90b09iaj17fTsKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgb2JqX189IG5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpewogICRFUlJPUignIzIuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpKTsKfTsKCmlmICghRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSl7CiAgJEVSUk9SKCcjMi4yOiBwcm90b09iaj17fTsgZnVuY3Rpb24gRm9vT2JqKCl7fTsgdmFyIG9ial9fPSBuZXcgRm9vT2JqOyBGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSkpOwp9OwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vIEVzdGFibGlzaCBpbmhlcml0YW5jZSBmcm9tIHByb3RvIG9iamVjdApGb29PYmoucHJvdG90eXBlPXByb3RvT2JqOwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjQ6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIF9fZm9vPW5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIUZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMjogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIXByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKXsKICAkRVJST1IoJyMzLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHZhciBfX2Zvbz1uZXcgRm9vT2JqOyBwcm90b09iai5pc1Byb3RvdHlwZU9mKF9fZm9vKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is\neither null or an object and is used for implementing inheritance","description":"Check [[Prototype]] property of object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBbW1Byb3RvdHlwZV1dIG9iamVjdAogKiBhcmUgdmlzaWJsZSBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdmlzaWJpbGl0eSBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqLwoKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwpGb29PYmoucHJvdG90eXBlLnByb3A9InNvbWUiOwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIGZvbz0gbmV3IEZvb09iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZvby5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wID09PSAic29tZSIuIEFjdHVhbDogJyArIChmb28ucHJvcCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpmb28ucHJvcD10cnVlOwovLyBJbnZva2UgYW5vdGhlciBpbnN0YW5jZSBvZiBmb28gb2JqZWN0CnZhciBmb29fXyA9IG5ldyBGb29PYmo7CmlmIChmb29fXy5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wPXRydWU7IHZhciBmb29fXyA9IG5ldyBGb29PYmo7IGZvb19fLnByb3AgPT09ICJzb21lIi4gQWN0dWFsOiAnICsgKGZvb19fLnByb3ApKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Properties of the [[Prototype]] object\nare visible as properties of the child object for the purposes of get access, but not for put access","description":"Check visibility properties of the child object for the purposes of get access, but not for put access","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBwcm92aWRlIGFueSBtZWFucyBmb3IgYSBwcm9ncmFtIHRvIGFjY2VzcyBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIEdldCBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCnZhciBfX29iaj17fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICdPYmplY3QnICsgIl0iKXsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IF9fb2JqLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyBcJ09iamVjdFwnICsgIl0iLiBBY3R1YWw6ICcgKyAoX19vYmoudG9TdHJpbmcoKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The specification does not provide any means for a program to access [[class]] value except through Object.prototype.toString","description":"Get [[class]] value except through Object.prototype.toString","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0hhc0luc3RhbmNlXV0gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIFZhbHVlIGRlbGVnYXRlcyBiZWhhdmlvdXIgdG8gdGhpcyBvYmplY3QKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHRoZSBvYmogaW5zdGFuY2Ugb2YgT2JqZWN0LCBidXQgbm90IGluc3RhbmNlCiAqICBvZiBGdW5jdGlvbiwgU3RyaW5nLCBOdW1iZXIsIEFycmF5CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IChfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkgPT09IHRydWUuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBPYmplY3QpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBGdW5jdGlvbikgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgRnVuY3Rpb24pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iaiBpbnN0YW5jZW9mIFN0cmluZykgewogICRFUlJPUignIzM6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgU3RyaW5nKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBTdHJpbmcpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX29iaiBpbnN0YW5jZW9mIE51bWJlcikgewogICRFUlJPUignIzQ6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgTnVtYmVyKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBOdW1iZXIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX29iaiBpbnN0YW5jZW9mIEFycmF5KSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBBcnJheSkgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgQXJyYXkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[HasInstance]] returns a boolean value indicating whether Value delegates behaviour to this object","description":"Check that the obj instance of Object, but not instance\n of Function, String, Number, Array","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHRlc3RTY3JlZW4gPSB7dG91Y2g6ZnVuY3Rpb24oKXtjb3VudCsrfX0KICovCgp0aGlzLmNvdW50PTA7Cgp2YXIgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0ZXN0U2NyZWVuLnRvdWNoKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5jb3VudD0wOyB0ZXN0U2NyZWVuID0ge3RvdWNoOmZ1bmN0aW9uKCl7Y291bnQrK319OyB0ZXN0U2NyZWVuLnRvdWNoKCk7IGNvdW50ID09PSAxLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdGVzdFNjcmVlblsndG91Y2gnXSgpOwppZiAoY291bnQgIT09MikgewogICRFUlJPUignIzI6IHRoaXMuY291bnQ9MDsgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsgdGVzdFNjcmVlbi50b3VjaCgpOyB0ZXN0U2NyZWVuW1wndG91Y2hcJ10oKTsgY291bnQgPT09IDIuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as testScreen = {touch:function(){count++}}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHNlYXRbJ21vdmUnXT1mdW5jdGlvbigpe3Bvc2l0aW9uKyt9CiAqLwoKdGhpcy5wb3NpdGlvbj0wOwp2YXIgc2VhdCA9IHt9OwpzZWF0Wydtb3ZlJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpzZWF0Lm1vdmUoKTsKaWYgKHBvc2l0aW9uICE9PTEpIHsKICAkRVJST1IoJyMxOiB0aGlzLnBvc2l0aW9uPTA7IHNlYXQgPSB7fTsgc2VhdFtcJ21vdmVcJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsgc2VhdC5tb3ZlKCk7IHBvc2l0aW9uID09PSAxLiBBY3R1YWw6ICcgKyAocG9zaXRpb24pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKc2VhdFsnbW92ZSddKCk7CmlmIChwb3NpdGlvbiAhPT0yKSB7CiAgJEVSUk9SKCcjMjogdGhpcy5wb3NpdGlvbj0wOyBzZWF0ID0ge307IHNlYXRbXCdtb3ZlXCddPWZ1bmN0aW9uKCl7cG9zaXRpb24rK307IHNlYXQubW92ZSgpOyBzZWF0W1wnbW92ZVwnXSgpOyBwb3NpdGlvbiA9PT0gMi4gQWN0dWFsOiAnICsgKHBvc2l0aW9uKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as seat['move']=function(){position++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9CiAqLwoKdmFyIGNvdW50PTA7CnZhciBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmtub2NrKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgY291bnQgPT09IDEuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0aGlzWydrbm9jayddKCk7CmlmIChjb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgdGhpc1tcJ2tub2NrXCddKCk7IGNvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as knock=function(){count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyB0aGlzWydiZWVwJ109ZnVuY3Rpb24oKXtfX2NvdW50Kyt9CiAqLwoKdmFyIF9fY291bnQ9MDsKCnRoaXNbImJlZXAiXT1mdW5jdGlvbigpe19fY291bnQrK307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKYmVlcCgpOwppZiAoX19jb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IF9fY291bnQgPT09IDEuIEFjdHVhbDogJyArIChfX2NvdW50KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRoaXNbImJlZXAiXSgpOwppZiAoX19jb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IHRoaXNbImJlZXAiXSgpOyBfX2NvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoX19jb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as this['beep']=function(){__count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NvbnN0cnVjdF1dIGNvbnN0cnVjdHMgYW4gb2JqZWN0LiBJbnZva2VkIHZpYSB0aGUgbmV3IG9wZXJhdG9yLiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IHRoaXMgaW50ZXJuYWwgbWV0aG9kIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgZmV3IE9iamVjdHMgdmlhIHRoZSBuZXcgb3BlcmF0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBvYmpJbnN0YW5jZT1uZXcgT2JqZWN0OwppZiAob2JqSW5zdGFuY2UuY29uc3RydWN0b3IgIT09IE9iamVjdCl7CiAgJEVSUk9SKCcjMTogdmFyIG9iakluc3RhbmNlPW5ldyBPYmplY3Q7IG9iakluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBPYmplY3QuIEFjdHVhbDogJyArIChvYmpJbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgbnVtSW5zdGFuY2U9bmV3IE51bWJlcjsKaWYgKG51bUluc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzI6IHZhciBudW1JbnN0YW5jZT1uZXcgTnVtYmVyOyBudW1JbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVtSW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Construct]] constructs an object. Invoked via the new operator. Objects that implement this internal method are called constructors","description":"Create a few Objects via the new operator","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IGludGVybmFsIG1ldGhvZCBbW0NvbnN0cnVjdF1dIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzLiBNYXRoIG9iamVjdCBpcyBOT1QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciBvYmpNYXRoPW5ldyBNYXRoIiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgb2JqTWF0aD1uZXcgTWF0aDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects that implement internal method [[Construct]] are called constructors. Math object is NOT constructor","description":"Checking if execution of \"var objMath=new Math\" passes","negative":"","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIEl0IHNob3VsZCBub3QgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBbW1Byb3RvdHlwZV1dCiAqIG9mIGEgbm9uLWV4dGVuc2libGUgb2JqZWN0CiAqLwoKdmFyIHggPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pOwp2YXIgeSA9IHt9Owp0cnkgewogIHguX19wcm90b19fID0geTsKfSBjYXRjaCAoZXJyKSB7CiAgLy8gQXMgZmFyIGFzIHRoaXMgdGVzdCBpcyBjb25jZXJuZWQsIHdlIGFsbG93IHRoZSBhYm92ZSBhc3NpZ25tZW50CiAgLy8gdG8gZmFpbC4gVGhpcyBmYWlsdXJlIGRvZXMgdmlvbGF0ZSB0aGUgc3BlYyBhbmQgc2hvdWxkIHByb2JhYmx5CiAgLy8gYmUgdGVzdGVkIHNlcGFyYXRlbHkuCn0KaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUigiUHJvdG90eXBlIG9mIG5vbi1leHRlbnNpYmxlIG9iamVjdCBtdXRhdGVkIik7Cn0KCg==","commentary":"","description":"It should not be possible to change the [[Prototype]]\nof a non-extensible object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgZGVsZXRlcyBwdXJlIHByb3BlcnR5LCBzbyBpdCByZXR1cm5zIHRydWUgdG8gYmUgYXBwbHllZCB0byB0aGlzLnByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSB0aGlzLnksIHdoZXJlIHkgaXMgdGhpcy55PTEKICovCgp0aGlzLnkgPSAxOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKChkZWxldGUgdGhpcy55KSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdGhpcy55ID0gMTsgKGRlbGV0ZSB0aGlzLnkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoKGRlbGV0ZSB0aGlzLnkpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHRoaXMueSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB0aGlzLnkgPSAxOyAoZGVsZXRlIHRoaXMueSkgPT09IHRydWU7IHRoaXMueSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy55KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Delete operator deletes pure property, so it returns true to be applyed to this.property","description":"Try to delete this.y, where y is this.y=1","path":"TestCases/ch08/8.7/S8.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIHJlZmVyZW5jZSwgc28gaXQgcmV0dXJucyBmYWxzZSB0byBiZSBhcHBseWVkIHRvIHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBkZWxldGUgeSwgd2hlcmUgeSBpcyB2YXIgeT0xCiAqIEBub1N0cmljdAogKi8KCnZhciB5ID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIHkpewogICRFUlJPUignIzE6IHkgPSAxOyAoZGVsZXRlIHkpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKChkZWxldGUgeSkpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IGRlbGV0ZSB5OyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete operator can't delete reference, so it returns false to be applyed to reference","description":"Try to delete y, where y is var y=1","noStrict":"","path":"TestCases/ch08/8.7/S8.7.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIidsaXRlcmEnPTE7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgonbGl0ZXJhJz0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"'litera'=1;\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjE9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKMT0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"1=1\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB4KysgY2FsbHMgR2V0VmFsdWUgdGhlbiBQdXRWYWx1ZSBzbyBhZnRlciBhcHBseWluZyBwb3N0Zml4IGluY3JlbWVudChhY3R1YWxseSBjb25yZXRlIG9wZXJhdG9yIHR5cGUgaXMgdW5pbXBvcnRhbnQpCiAqIHdlIG11c3QgaGF2ZSByZWZlcmVuY2UgdG8gZGVmaW5lZCB2YWx1ZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjJfQTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgeCsrLCB3aGVyZSB4IGlzIHZhciB4CiAqLwoKdmFyIHg7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHgrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)\nwe must have reference to defined value","description":"Execute x++, where x is var x","path":"TestCases/ch08/8.7/S8.7.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGlzLngrKyBjYWxscyBHZXRWYWx1ZSB0aGVuIFB1dFZhbHVlIHNvIGFmdGVyIGFwcGx5aW5nIHBvc3RmaXggaW5jcmVtZW50KGFjdHVhbGx5IGNvbnJldGUgb3BlcmF0b3IgdHlwZSBpcyB1bmltcG9ydGFuKQogKiB3ZSBtdXN0IGhhdmUgcmVmZXJlbmNlIHRvIGRlZmluZWQgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIHRoaXMueCsrLCB3aGVyZSB0aGlzLnggaXMgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodGhpcy54ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB0aGlzLnggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHRoaXMueCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp0aGlzLngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdGhpcy54OyB0aGlzLngrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)\nwe must have reference to defined value","description":"Execute this.x++, where this.x is undefined","path":"TestCases/ch08/8.7/S8.7.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aXBsZSBWYXJpYWJsZXMgc2hvdWxkIFJlZmVycmluZyB0byBhIFNpbmdsZSBPYmplY3QKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG9iamVjdCBhbmQgcmVmZXJzIHRvIHRoZSBvdGhlciBvYmplY3QsIG1vZGlmeSBhIHByb3BlcnR5IGluIHRoZSBvcmlnaW5hbCBvYmplY3QuCiAqICBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gU2V0IG9iaiB0byBhbiBlbXB0eSBvYmplY3QKLy8KdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKLy8gb2JqUmVmIG5vdyByZWZlcnMgdG8gdGhlIG90aGVyIG9iamVjdAovLwp2YXIgb2JqUmVmID0gb2JqOwovLyBNb2RpZnkgYSBwcm9wZXJ0eSBpbiB0aGUgb3JpZ2luYWwgb2JqZWN0Cm9ialJlZi5vbmVQcm9wZXJ0eSA9IC0xOwpvYmoub25lUHJvcGVydHkgPSB0cnVlOwovLyBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKLy8gKFNpbmNlIHRoZXkgYm90aCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QpCmlmKG9ialJlZi5vbmVQcm9wZXJ0eSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIG9ialJlZiA9IG9iajsgb2JqUmVmLm9uZVByb3BlcnR5ID0gLTE7IG9iai5vbmVQcm9wZXJ0eSA9IHRydWU7IG9ialJlZi5vbmVQcm9wZXJ0eSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ialJlZi5vbmVQcm9wZXJ0eSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Multiple Variables should Referring to a Single Object","description":"Create object and refers to the other object, modify a property in the original object.\n We now see that that change is represented in both variables","path":"TestCases/ch08/8.7/S8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWZlcmVuY2UgdG8gU2VsZi1Nb2RpZnlpbmcgT2JqZWN0IHJlbWFpbiB0aGUgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXksIGFuZCBjaGFuZ2Ugb3JpZ2luYWwgYXJyYXkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vIENyZWF0ZSBhbiBhcnJheSBvZiBpdGVtcwp2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOwovLyBDcmVhdGUgYSByZWZlcmVuY2UgdG8gdGhlIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtc1JlZiA9IGl0ZW1zOwovLyBBZGQgYW4gaXRlbSB0byB0aGUgb3JpZ2luYWwgYXJyYXkKaXRlbXMucHVzaCggImZvdXIiICk7dmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIFRoZSBsZW5ndGggb2YgZWFjaCBhcnJheSBzaG91bGQgYmUgdGhlIHNhbWUsCi8vIHNpbmNlIHRoZXkgYm90aCBwb2ludCB0byB0aGUgc2FtZSBhcnJheSBvYmplY3QKaWYoIGl0ZW1zUmVmLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW1zID0gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKTsgdmFyIGl0ZW1zUmVmID0gaXRlbXM7IGl0ZW1zLnB1c2goICJmb3VyIiApO3ZhciBpdGVtc1JlZiA9IGl0ZW1zOyBpdGVtc1JlZi5sZW5ndGggIT09IDQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gQ3JlYXRlIGFuIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgb2YgaXRlbXMKdmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIEFkZCBhbiBpdGVtIHRvIHRoZSBvcmlnaW5hbCBhcnJheQppdGVtc1sxXT0iZHVvIjsKLy8gVGhlIGxlbmd0aCBvZiBlYWNoIGFycmF5IHNob3VsZCBiZSB0aGUgc2FtZSwKLy8gc2luY2UgdGhleSBib3RoIHBvaW50IHRvIHRoZSBzYW1lIGFycmF5IG9iamVjdAppZiggaXRlbXNSZWZbMV0gIT09ICJkdW8iKXsKICAkRVJST1IoJyMyOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXNbMV09ImR1byI7IGl0ZW1zUmVmWzFdID09PSAiZHVvIi4gQWN0dWFsOiAnICsgKGl0ZW1zUmVmWzFdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Reference to Self-Modifying Object remain the integrity","description":"Create a reference to the array, and change original array","path":"TestCases/ch08/8.7/S8.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyB0aGUgUmVmZXJlbmNlIG9mIGFuIE9iamVjdCBXaGlsZSBNYWludGFpbmluZyBJbnRlZ3JpdHkKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSwgYW5kIHJlZGVmaW5lIG9yaWdpbmFsIGFycmF5IHdpdGggbmV3IGFycmF5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtcyB0byBhbiBhcnJheSAob2JqZWN0KSBvZiBzdHJpbmdzCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIFNldCBpdGVtc1JlZiB0byBhIHJlZmVyZW5jZSB0byBpdGVtcwovLwp2YXIgaXRlbXNSZWYgPSBpdGVtczsKLy8gU2V0IGl0ZW1zIHRvIGVxdWFsIGEgbmV3IG9iamVjdAovLwppdGVtcyA9IG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKTsKLy8gaXRlbXMgYW5kIGl0ZW1zUmVmIG5vdyBwb2ludCB0byBkaWZmZXJlbnQgb2JqZWN0cy4KLy8gaXRlbXMgcG9pbnRzIHRvIG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKQovLyBpdGVtc1JlZiBwb2ludHMgdG8gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKQppZiggaXRlbXMgPT0gaXRlbXNSZWYgKXsKICAkRVJST1IoJyMxOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXMgPSBuZXcgQXJyYXkoICJuZXciLCAiYXJyYXkiICk7IGl0ZW1zICE9IGl0ZW1zUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing the Reference of an Object While Maintaining Integrity","description":"Create a reference to the array, and redefine original array with new array","path":"TestCases/ch08/8.7/S8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgTW9kaWZpY2F0aW9uIFJlc3VsdGluZyBpbiBhIE5ldyBPYmplY3QgZm9yIE5vdCBhIFNlbGYtTW9kaWZpZWQgT2JqZWN0IGxlYWRzIHRvIGxvc3Mgb2YgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RyaW5nLCBhbmQgQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtIGVxdWFsIHRvIGEgbmV3IHN0cmluZyBvYmplY3QKdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7Ci8vIGl0ZW1SZWYgbm93IHJlZmVycyB0byB0aGUgc2FtZSBzdHJpbmcgb2JqZWN0CnZhciBpdGVtUmVmID0gaXRlbTsKLy8gQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0Ci8vIE5PVEU6IFRoaXMgY3JlYXRlcyBhIG5ldyBvYmplY3QsIGFuZCBkb2VzIG5vdCBtb2RpZnkKLy8gdGhlIG9yaWdpbmFsIG9iamVjdC4KaXRlbSArPSAiaW5nIjsKLy8gVGhlIHZhbHVlcyBvZiBpdGVtIGFuZCBpdGVtUmVmIGFyZSBOT1QgZXF1YWwsIGFzIGEgd2hvbGUKLy8gbmV3IHN0cmluZyBvYmplY3QgaGFzIGJlZW4gY3JlYXRlZAppZiggaXRlbSA9PSBpdGVtUmVmICl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7IHZhciBpdGVtUmVmID0gaXRlbTsgaXRlbSArPSAiaW5nIjsgaXRlbSAhPSBpdGVtUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Object Modification Resulting in a New Object for Not a Self-Modified Object leads to loss of integrity","description":"Create a reference to the string, and Concatenate some new text onto the string object","path":"TestCases/ch08/8.7/S8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgdmFyIF9fcmVmID0gb2JqCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZihfX3JlZikgIT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzE6IHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mKF9fcmVmKSkpOyAgCn07IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBvYmogPSBuZXcgT2JqZWN0KCk7CnZhciBfX3JlZiA9IG9iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzI6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IGZhbHNlKXsKICAgICRFUlJPUignIzM6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWYgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyB2YXIgX19yZWYgPSBvYmo7IGRlbGV0ZSBfX3JlZjsgdHlwZW9mKF9fcmVmKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mKG9iaikgIT09ICJvYmplY3QiKXsKICAgICRFUlJPUignIzU6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWY7IHR5cGVvZihvYmopID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZihvYmopKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, var __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgX19yZWYgPSBvYmoKICogQG5vU3RyaWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMTogdHlwZW9mKF9fcmVmKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7ICAKfTsgCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKX19yZWYgPSBvYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIil7CiAgICAkRVJST1IoJyMyOiBvYmogPSBuZXcgT2JqZWN0KCk7IF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IHRydWUpewogICAgJEVSUk9SKCcjMzogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3JlZikpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmICh0eXBlb2Yob2JqKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNTogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2Yob2JqKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Yob2JqKSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSB2YWx1ZSBkaWZmZXJzIGZyb20gYnkgcmVmZXJlbmNlIGFuZCBkbyBub3QgY2hhbmdlIHZhbHVlcyB0byBiZSBwYXNzZWQKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG9yaWdpbmFsIHZhcmlhYmxlIHdpdGggcmVmZXJlbmNlZCBvbmUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSAxOwp2YXIgbSA9IG47CgpmdW5jdGlvbiBhZGRGaXJzdDJTZWNvbmQoZmlyc3QsIHNlY29uZCl7Zmlyc3QgKz0gc2Vjb25kO30KCmFkZEZpcnN0MlNlY29uZChuLCBtKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG0gIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgbiA9IDE7IHZhciBtID0gbjsgZnVuY3Rpb24gYWRkRmlyc3QyU2Vjb25kKGZpcnN0LCBzZWNvbmQpe2ZpcnN0ICs9IHNlY29uZDt9IGFkZEZpcnN0MlNlY29uZChuLCBtKTsgbSA9PT0gMS4gQWN0dWFsOiAnICsgKG0pKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Passing arguments by value differs from by reference and do not change values to be passed","description":"Adding original variable with referenced one inside function","path":"TestCases/ch08/8.7/S8.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSByZWZlcmVuY2UgZG8gY2hhbmdlIHZhbHVlcyBvZiByZWZlcmVuY2UgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTcuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gb3JpZ2luYWwgdmFyaWFibGUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSB7fTsKdmFyIG0gPSBuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG0gIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSB7fTsgdmFyIG0gPSBuOyB0eXBlb2YgbSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gcG9wdWxhdGVBZ2UocGVyc29uKXtwZXJzb24uYWdlID0gNTA7fQoKcG9wdWxhdGVBZ2UobSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChuLmFnZSAhPT0gNTApIHsKICAkRVJST1IoJyMyOiB2YXIgbiA9IHt9OyB2YXIgbSA9IG47IGZ1bmN0aW9uIHBvcHVsYXRlQWdlKHBlcnNvbil7cGVyc29uLmFnZSA9IDUwO30gcG9wdWxhdGVBZ2UobSk7IG4uYWdlID09PSA1MC4gQWN0dWFsOiAnICsgKG4uYWdlKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Passing arguments by reference do change values of reference to be passed","description":"Add new property to original variable inside function","path":"TestCases/ch08/8.7/S8.7_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIFJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfOF83XzJfMSA9IDExOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluates to an unresolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIFJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBiID0gMTE7DQogICAgICAgIHJldHVybiBiID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if LeftHandSide evaluates to a resolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gZXZhbCAtIGEgcHJvcGVydHkgbmFtZWQgJ2V2YWwnIGlzIHBlcm1pdHRlZA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7IGV2YWw6IDQyfTsNCiAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a property named 'eval' is permitted","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZSB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpiID0gMTE7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluate to an unresolvable Reference","negative":".","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ3J1bnRpbWUnIGVycm9yIGlzIHRocm93biBiZWZvcmUgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYiA9IDExOw0K","commentary":"","description":"Strict Mode - 'runtime' error is thrown before LeftHandSide evaluates to an unresolvable Reference","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBub24td3JpdGFibGUgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfMyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXzhfN18yXzMsICJiIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfMy5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBubyBzZXR0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzQgPSB7fTsNCiAgICAgICAgdmFyIF84XzdfMl80X2JWYWx1ZSA9IDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNCwgImIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF84XzdfMl80X2JWYWx1ZTsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzQuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to an accessor property with no setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gbm9uLWV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl81ID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhfOF83XzJfNSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl81LmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-existent property of an non-extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSB3cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl82ID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNiwgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBfOF83XzJfNi5iID0gMTE7DQoNCiAgICAgICAgcmV0dXJuIF84XzdfMl82LmIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBzZXR0ZXINCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzcgPSB7fTsNCiAgICAgICAgdmFyIF84XzdfMl83X2JWYWx1ZSA9IDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfNywgImIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF84XzdfMl83X2JWYWx1ZTsgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7IF84XzdfMl83X2JWYWx1ZSA9IHZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl83LmIgPSAxMTsNCiAgICAgICAgcmV0dXJuIF84XzdfMl83LmIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to an accessor property with setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMDgvOC43LzguNy4yLzguNy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzbid0IHRocm93biBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWZlcmVuY2UgdG8gYSBwcm9wZXJ0eSBvZiBhbiBleHRlbnNpYmxlIG9iamVjdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfOCA9IHt9Ow0KDQogICAgICAgIF84XzdfMl84LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzguYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a property of an extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoMSwyLDMpIHdpdGggMyBhcmd1bWVudHMKICovCgpmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19tRnVuYygxLDIsMykgIT09IDMpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OyBfX21GdW5jKDEsMiwzKSA9PT0gMy4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoMSwyLDMpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc(1,2,3) with 3 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoWywsXSkgd2l0aCAxIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKFssLF0pICE9PSAxKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsgX19tRnVuYyhbLCxdKSA9PT0gMS4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoWywsXSkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc([,,]) with 1 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uLCB0aGF0IGNvbmNhdGVuYXRlIGFsbCBpdGBzIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSAhPT0gIkFCQ0RFRiIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OyBfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSA9PT0gIkFCQ0RFRiIuIEFjdHVhbDogJyArIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function, that concatenate all it`s arguments","path":"TestCases/ch08/8.8/S8.8_A2_T3.js"}]}} \ No newline at end of file diff --git a/website/json/ch10.json b/website/json/ch10.json index 4ad5cad8d..32b3784dd 100644 --- a/website/json/ch10.json +++ b/website/json/ch10.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch10","numTests":"184","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBmdW5jdGlvbiBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMTsKfQppZih0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIicpOwoK","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Defining function by a FunctionDeclaration","path":"TestCases/ch10/10.1/S10.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQp2YXIgeD1mdW5jdGlvbiBmMSgpe3JldHVybiAxO30oKTsKaWYoeCE9PTEpCiAgJEVSUk9SKCcjMTogQ3JlYXRlIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwoKLy9DSEVDSyMyCnZhciB5PWZ1bmN0aW9uICAoKXtyZXR1cm4gMjt9KCk7CmlmKHkhPT0yKXsKICAkRVJST1IoJyMyOiBDcmVhdGUgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSAoZnVuY3Rpb24oKXtyZXR1cm4gMzt9KSgpOwppZih6IT09Myl7CiAgJEVSUk9SKCcjMzogQ3JlYXRlIGFuIGFub255bW91cyBmdW5jdGlvbiBkeW5hbWljYWxseSBlaXRoZXIgYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gd3JhcHBlZCBpbiBhIGdyb3VwIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using a FunctionExpression","path":"TestCases/ch10/10.1/S10.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyB0aGUgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0IGFzIGEgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIHg9bmV3IGZ1bmN0aW9uIGYxKCl7cmV0dXJuIDE7fTsKaWYodHlwZW9mKHguY29uc3RydWN0b3IpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoeC5jb25zdHJ1Y3RvcikhPT0iZnVuY3Rpb24iJyk7Cgo=","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using the built-in Function object as a constructor","path":"TestCases/ch10/10.1/S10.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIEZ1bmN0aW9uIG9iamVjdHMuIEludGVybmFsIGZ1bmN0aW9ucwogKiBhcmUgYnVpbHQtaW4gb2JqZWN0cyBvZiB0aGUgbGFuZ3VhZ2UsIHN1Y2ggYXMgcGFyc2VJbnQgYW5kIE1hdGguZXhwCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlcyBvZiBwYXJzZUludCBhbmQgTWF0aC5leHAKICovCgovL0NIRUNLIzEKaWYodHlwZW9mKE1hdGguZXhwKSE9PSJmdW5jdGlvbiIpCiAgJEVSUk9SKCcjMTogdHlwZW9mKE1hdGguZXhwKDEwKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKE1hdGguZXhwKCkpKTsKCi8vQ0hFQ0sjMgppZih0eXBlb2YocGFyc2VJbnQpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMyOiB0eXBlb2YocGFyc2VJbnQoKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKHBhcnNlSW50KCkpKTsKICAKCg==","commentary":"There are two types of Function objects. Internal functions\nare built-in objects of the language, such as parseInt and Math.exp","description":"Checking types of parseInt and Math.exp","path":"TestCases/ch10/10.1/S10.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBmdW5jdGlvbiBwYXJhbWV0ZXIgaXMgcG9zc2libGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKGEpewogIGRlbGV0ZSBhOwogIHJldHVybiBhOwp9CmlmIChmMSgxKSAhPT0gMSkKICAkRVJST1IoJyMxOiBGdW5jdGlvbiBwYXJhbWV0ZXIgd2FzIGRlbGV0ZWQnKTsKCgo=","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking if deleting function parameter is possible","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW50aW9uIHdoaWNoIHJldHVybnMgcHJvcGVydHkgImFyZ3VtZW50cyIKICovCgp2YXIgQVJHX1NUUklORyA9ICJ2YWx1ZSBvZiB0aGUgYXJndW1lbnQgcHJvcGVydHkiOwoKZnVuY3Rpb24gZjEoKSB7CiAgdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXJndW1lbnRzID0gQVJHX1NUUklORzsKICByZXR1cm4gYXJndW1lbnRzOwp9CiAgCi8vQ0hFQ0sjMQppZiAoKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGggIT09IDUpCiAgJEVSUk9SKCcjMTogKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGg9PT01LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMiAgCmlmICgobmV3IGYxKDEsMiwzLDQsNSkpWzNdICE9PSA0KQogICRFUlJPUignIzI6IChuZXcgZjEoMSwyLDMsNCw1KSlbM109PT00LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBmMSgxLDIsMyw0LDUpOyAKaWYgKGRlbGV0ZSB4WzNdICE9PSB0cnVlKQogICRFUlJPUignIzMuMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0nKTsKICAKaWYgKHhbM10gPT09IDQpCiAgJEVSUk9SKCcjMy4yOiBGdW5jdGlvbiBwYXJhbWV0ZXJzIGhhdmUgYXR0cmlidXRlIHtEb250RGVsZXRlfScpOwoK","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking funtion which returns property \"arguments\"","path":"TestCases/ch10/10.1/S10.1.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW5jdGlvbiB3aGljaCByZXR1cm5zICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgpmdW5jdGlvbiBmMSgpIHsKICBpZiAoZGVsZXRlIGFyZ3VtZW50cykgewogICAgJEVSUk9SKCIjMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0iICsgYXJndW1lbnRzKTsKICB9CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKZjEoKTsKCg==","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking function which returns \"this\"","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdGhpcyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYW4gZXhlY3V0aW9uY29udGV4dCBpcyBpbW11dGFibGUKICoKICogQHBhdGggY2gxMC8xMC4xL1MxMC4xLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nICJ0aGlzIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHRoaXMgIT09IHRydWUpCiAgJEVSUk9SKCcjMTogVGhlIHRoaXMgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGFuIGV4ZWN1dGlvbmNvbnRleHQgaXMgaW1tdXRhYmxlLiBBY3R1YWw6IHRoaXMgd2FzIGRlbGV0ZWQnKTsKICAKCg==","commentary":"The this value associated with an executioncontext is immutable","description":"Checking if deleting \"this\" fails","path":"TestCases/ch10/10.1/S10.1.7_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAndXNlICBzdHJpY3QnOyB3aGljaCBjb250YWlucyB0d28gc3BhY2UgYmV0d2VlbiAndXNlJyBhbmQgJ3N0cmljdCcNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2UgIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is 'use strict'; which contains two space between 'use' and 'strict'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVXNlIFN0cmljdCBEaXJlY3RpdmUgUHJvbG9ndWUgaXMgJydVU0UgU1RSSUNUJzsnIGluIHdoaWNoIGFsbCBjaGFyYWN0ZXJzIGFyZSB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVU0UgU1RSSUNUIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''USE STRICT';' in which all characters are uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBjb2RlIHdpdGggYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIHB1YmxpYyA9IDE7IHZhciBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9IDI7Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiB0eXBlb2YgcHVibGljID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Eval code is strict code with a Use Strict Directive at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgJ3VzZSBzdHJpY3QnOyB2YXIgYW5vdGhlclZhcmlhYmxlTm90UmVzZXJ2ZVdvcmQgPSAyOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgdmFyIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID0gMjsgJ3VzZSBzdHJpY3QnOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGNhbGwgdG8gZXZhbCBmdW5jdGlvbiBpcyBjb250YWluZWQgaW4gYSBTdHJpY3QgTW9kZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The call to eval function is contained in a Strict Mode block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIHN0cmljdCBmdW5jdGlvbiBjb2RlIGlmIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIHVzZSBzdHJpY3QNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a FunctionDeclaration is strict function code if FunctionDeclaration is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgc3RyaWN0IGZ1bmN0aW9uIGNvZGUgaWYgRnVuY3Rpb25FeHByZXNzaW9uIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a FunctionExpression is strict function code if FunctionExpression is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgicHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVtcCA9IG9iai5hY2NQcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImFjY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0Ig0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYWNjUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB0ZW1wID0gb2JqLmFjY1Byb3BlcnR5ID09PSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jayhnZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoInB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouYWNjUHJvcGVydHkgPT09IDExICYmIHB1YmxpYyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears in the middle of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jayhzZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFyIF8xMF8xXzFfMjhfcyA9IHthOjEsIGE6Mn07DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gZGF0YT09PSJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the end of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0IGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IG5ldyBGdW5jdGlvbigiYSIsICJldmFsKCdwdWJsaWMgPSAxOycpOyIpOw0KICAgICAgICBmdW5PYmooKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The built-in Function constructor is contained in use strict code","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-29-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjEvMTAuMS4xLzEwLjEuMS0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFVzZSBTdHJpY3QgRGlyZWN0aXZlIFByb2xvZ3VlIGlzICcndXNlIHN0cmljdCcnIHdoaWNoIGxvc3QgdGhlIGxhc3QgY2hhcmFjdGVyICc7Jw0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCINCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgcHVibGljID0gMTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJyB1c2Ugc3RyaWN0JzsnIHdoaWNoIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICIgdXNlIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KDQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is '' use strict';' which the first character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgIid1c2Ugc3RyaWN0JzsgZXZhbCgncHVibGljID0gMTsnKTsiKTsNCiAgICAgICAgICAgIGZ1bk9iaigpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7ICd1c2Ugc3RyaWN0JzsgYW5vdGhlclZhcmlhYmxlID0gMjsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7IGFub3RoZXJWYXJpYWJsZSA9IDI7ICd1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QgJzsnIHdoaWNoIHRoZSBsYXN0IGNoYXJhY3RlciBpcyBzcGFjZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QgIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict ';' which the last character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjEvMTAuMS4xLzEwLjEuMS01Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFVzZSBTdHJpY3QgRGlyZWN0aXZlIFByb2xvZ3VlIGlzICcndXNlIHN0cmljdCc7JyB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgY29kZQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the start of the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGludGVyZmFjZSA9IDI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgaW50ZXJmYWNlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgZGlyZWN0aXZlIHByb2xvZ3VlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the directive prologue","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjEvMTAuMS4xLzEwLjEuMS04Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFVzZSBTdHJpY3QgRGlyZWN0aXZlIFByb2xvZ3VlIGlzICcndXNlIHN0cmljdCc7JyB3aGljaCBhcHBlYXJzIHR3aWNlIGluIHRoZSBjb2RlDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgcHVibGljID0gMTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ1VzZSBzdHJpY3QnOycgaW4gd2hpY2ggdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVc2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''Use strict';' in which the first character is uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgY2FsbGVyIHN1cHBsaWVzIGZld2VyIHBhcmFtZXRlciB2YWx1ZXMgdGhhbiB0aGVyZSBhcmUKICogZm9ybWFsIHBhcmFtZXRlcnMsIHRoZSBleHRyYSBmb3JtYWwgcGFyYW1ldGVycyBoYXZlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgZnVuY3Rpb24gZXhjbHVkaW5nIGEgZmV3IHBhcmFtZXRlcnMKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoYSwgYil7CiAgcmV0dXJuIChiID09PSB1bmRlZmluZWQpOwp9CmlmKCEoZjEoMSwgMikgPT09IGZhbHNlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSwgMikgPT09IGZhbHNlJyk7Cn0gZWxzZSBpZighKGYxKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKGEsIGIsIGMpewogIHJldHVybiAoYiA9PT0gdW5kZWZpbmVkKSAmJiAoYyA9PT0gdW5kZWZpbmVkKTsKfQppZighKGYyKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMjogZjIoMSwgMikgPT09IHRydWUnKTsKfQoK","commentary":"If the caller supplies fewer parameter values than there are\nformal parameters, the extra formal parameters have value undefined","description":"Calling function excluding a few parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycyBzaGFyZSB0aGUgc2FtZSBuYW1lLCBoZW5jZQogKiB0aGUgc2FtZSBwcm9wZXJ0eSwgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgaXMgZ2l2ZW4gdGhlIHZhbHVlIHRoYXQgd2FzCiAqIHN1cHBsaWVkIGZvciB0aGUgbGFzdCBwYXJhbWV0ZXIgd2l0aCB0aGlzIG5hbWUKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgaW5pdGlhbGl6ZWQgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSh4LCB4KSB7CiAgcmV0dXJuIHg7Cn0KaWYoIShmMSgxLCAyKSA9PT0gMikpIHsKICAkRVJST1IoIiMxOiBmMSgxLCAyKSA9PT0gMiIpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoeCwgeCwgeCl7CiAgcmV0dXJuIHgqeCp4Owp9CmlmKCEoZjIoMSwgMiwgMykgPT09IDI3KSl7CiAgJEVSUk9SKCJmMigxLCAyLCAzKSA9PT0gMjciKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKHgsIHgpIHsKICByZXR1cm4gJ2EnICsgeDsKfQppZighKGYzKDEsIDIpID09PSAnYTInKSl7CiAgJEVSUk9SKCIjMzogZjMoMSwgMikgPT09ICdhMiciKTsKfQoK","commentary":"If two or more formal parameters share the same name, hence\nthe same property, the corresponding property is given the value that was\nsupplied for the last parameter with this name","description":"Creating functions initialized with two or more formal parameters, which have the same name","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgdmFsdWUgb2YgdGhpcyBsYXN0IHBhcmFtZXRlciAod2hpY2ggaGFzIHRoZSBzYW1lCiAqIG5hbWUgYXMgc29tZSBwcmV2aW91cyBwYXJhbWV0ZXJzIGRvKSB3YXMgbm90IHN1cHBsaWVkIGJ5IHRoZQogKiBjYWxsZXIsIHRoZSB2YWx1ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywKICogdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBleGNsdWRpbmcgYSBmZXcgbGFzdCBwYXJhbWV0ZXJzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgsIGEsIGIsIHgpewogIHJldHVybiB4Owp9CmlmKCEoZjEoMSwgMikgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE6IGYxKDEsIDIpID09PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If the value of this last parameter (which has the same\nname as some previous parameters do) was not supplied by the\ncaller, the value of the corresponding property is undefined","description":"Creating functions with two or more formal parameters,\nthat have the same name. Calling this function excluding a few last parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIHBhc3NlZCBwYXJhbWV0ZXIKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHJldHVybiB4OwoKICBmdW5jdGlvbiB4KCl7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYoIShmMSgpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSl7CiAgJEVSUk9SKCcjMTogZjEoKSByZXR1cm5zIGZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICByZXR1cm4gdHlwZW9mIHg7CgogIGZ1bmN0aW9uIHgoKXsKICAgIHJldHVybiA3OwogIH0KfQppZighKGYyKCkgPT09ICJmdW5jdGlvbiIpKXsKICAkRVJST1IoJyMyOiBmMigpID09PSAiZnVuY3Rpb24iJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBmMygpIHsKICByZXR1cm4gdHlwZW9mIGFyZ3VtZW50czsKICBmdW5jdGlvbiBhcmd1bWVudHMoKSB7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYgKCEoZjMoKSA9PT0gImZ1bmN0aW9uIikpewogICRFUlJPUignIzM6IGYzKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with passed parameter","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjEoKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkpewogICRQUklOVCgnIzE6IGYxKCkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoKXsKICB2YXIgeDsKICAKICByZXR1cm4gdHlwZW9mIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjIoKSA9PT0gImZ1bmN0aW9uIikpewogICRQUklOVCgnIzI6IGYyKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with declared variable","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpYWJsZSBleGlzdGVuY2Ugb25seQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgpID09PSAidW5kZWZpbmVkIikpewogICRQUklOVCgnIzE6IGYxKCkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMigpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKCkgPT09IHVuZGVmaW5lZCkpewogICRQUklOVCgnIzE6IGYyKCkgPT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking variable existence only","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHZhcmlhYmxlIG9iamVjdCBwcm9wZXJ0eSB3aXRoIGZvcm1hbCBwYXJhbWV0ZXIKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoeCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHR5cGVvZiB4Owp9CgppZighKGYxKCkgPT09ICJ1bmRlZmluZWQiKSl7CiAgJFBSSU5UKCcjMTogZjEoMSkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICB2YXIgeDsKICAKICByZXR1cm4geDsKfQoKaWYoIShmMigpID09PSB1bmRlZmluZWQpKXsKICAkUFJJTlQoJyMxOiBmMigxKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgcHJvcGVydHkgb2YgdGhlIHZhcmlhYmxlIG9iamVjdCB3aXRoIHRoZQogKiBuYW1lIG9mIGEgZGVjbGFyZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgYW5kIGl0cyBhdHRyaWJ1dGVzCiAqIGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSB2YXJpYWJsZSBvYmplY3QgcHJvcGVydHkgd2l0aCBmb3JtYWwgcGFyYW1ldGVyCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgxKSA9PT0gIm51bWJlciIpKXsKICAkUFJJTlQoJyMxOiBmMSgxKSA9PT0gIm51bWJlciInKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKHgpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKDEpID09PSAxKSl7CiAgJFBSSU5UKCcjMTogZjIoMSkgPT09IDEnKTsKfQoK","commentary":"If there is already a property of the variable object with the\nname of a declared variable, the value of the property and its attributes\nare not changed","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBhIFZhbHVlIFByb3BlcnR5IG9mIHRoZSBHbG9iYWwgT2JqZWN0IHVuZGVyIHN0cmljdCBtb2RlIChOYU4pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTmFOID0gMTI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (NaN)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBhIFZhbHVlIFByb3BlcnR5IG9mIHRoZSBHbG9iYWwgT2JqZWN0IHVuZGVyIHN0cmljdCBtb2RlICh1bmRlZmluZWQpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHVuZGVmaW5lZCA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (undefined)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE9iamVjdCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqQmFrID0gT2JqZWN0Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0ID0gb2JqQmFrOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Object)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE51bWJlcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBudW1CYWsgPSBOdW1iZXI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgTnVtYmVyID0gbnVtQmFrOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Number)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHggPSAxOwogIGZ1bmN0aW9uIGYyKCl7CiAgICByZXR1cm4geDsKICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09IDEpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gMCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7CiAgCiAgdmFyIHggPSAxOwp9CgppZighKGYxKCkgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9CgoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAxKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB2YXIgeCA9IDE7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHdpdGgobXlPYmopewogICAgICByZXR1cm4geDsKICAgIH0KICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09ICJvYmoiKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gIm9iaiIpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7CgogIHZhciB4ID0gMTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB4OwogIH0KfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQppZiAoIE5hTiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyCmlmICggSW5maW5pdHkgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjogSW5maW5pdHkgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMzCmlmICggdW5kZWZpbmVkID09PSBudWxsICkgewogICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjNAppZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzUKaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHsKICAkRVJST1IoIiM1OiBwYXJzZUludCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzYKaWYgKCBwYXJzZUZsb2F0ID09PSBudWxsICkgewogICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM3CmlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyM4CmlmICggaXNGaW5pdGUgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjODogaXNGaW5pdGUgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM5CmlmICggZGVjb2RlVVJJID09PSBudWxsICkgewogICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzEwCmlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxMQppZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxMTogZW5jb2RlVVJJID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTIKaWYgKCBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMTMKaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE0CmlmICggRnVuY3Rpb24gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTQ6IEZ1bmN0aW9uID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTUKaWYgKCBTdHJpbmcgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE2CmlmICggTnVtYmVyID09PSBudWxsICkgewogICRFUlJPUigiIzE2OiBOdW1iZXIgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxNwppZiAoIEFycmF5ID09PSBudWxsICkgewogICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggRGF0ZSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxODogRGF0ZSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE5CmlmICggUmVnRXhwID09PSBudWxsICkgewogICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMAppZiAoIEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzIxCmlmICggRXZhbEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIxOiBFdmFsRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMgppZiAoIFJhbmdlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMwppZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI0CmlmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjQ6IFN5bnRheEVycm9yID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMjUKaWYgKCBUeXBlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI2CmlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7Cn0KCgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMjcKaWYgKCBNYXRoID09PSBudWxsICkgewogICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7Cn0KCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBpZiAoIE5hTiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE6IE5hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyCiAgaWYgKCBJbmZpbml0eSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI6IEluZmluaXR5ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzMKICBpZiAoIHVuZGVmaW5lZCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzQKICBpZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM0OiBldmFsID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzUKICBpZiAoIHBhcnNlSW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjNTogcGFyc2VJbnQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNgogIGlmICggcGFyc2VGbG9hdCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNwogIGlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM3OiBpc05hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyM4CiAgaWYgKCBpc0Zpbml0ZSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzg6IGlzRmluaXRlID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzkKICBpZiAoIGRlY29kZVVSSSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMAogIGlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTA6IGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMQogIGlmICggZW5jb2RlVVJJID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTE6IGVuY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMgogIGlmICggZW5jb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEzCiAgaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMxMzogT2JqZWN0ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE0CiAgaWYgKCBGdW5jdGlvbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE0OiBGdW5jdGlvbiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNQogIGlmICggU3RyaW5nID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNgogIGlmICggTnVtYmVyID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTY6IEZ1bmN0aW9uID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE3CiAgaWYgKCBBcnJheSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxOAogIGlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzIwOiBCb29sZWFuID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE4CiAgaWYgKCBEYXRlID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTg6IERhdGUgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMTkKICBpZiAoIFJlZ0V4cCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjAKICBpZiAoIEVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjA6IEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIxCiAgaWYgKCBFdmFsRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyMTogRXZhbEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIyCiAgaWYgKCBSYW5nZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjMKICBpZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjM6IFJlZmVyZW5jZUVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzI0CiAgaWYgKCBTeW50YXhFcnJvciA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI0OiBTeW50YXhFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNQogIGlmICggVHlwZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNgogIGlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyNjogVVJJRXJyb3IgPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzI3CiAgaWYgKCBNYXRoID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjc6IE1hdGggPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIFZhbHVlIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxXG4nKwonaWYgKCBOYU4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMlxuJysKJ2lmICggSW5maW5pdHkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyOiBJbmZpbml0eSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMzXG4nKwonaWYgKCB1bmRlZmluZWQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMzOiB1bmRlZmluZWQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIEZ1bmN0aW9uIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyM0XG4nKwonaWYgKCBldmFsID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM1XG4nKwonaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzU6IHBhcnNlSW50ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzZcbicrCidpZiAoIHBhcnNlRmxvYXQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM2OiBwYXJzZUZsb2F0ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzdcbicrCidpZiAoIGlzTmFOID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjOFxuJysKJ2lmICggaXNGaW5pdGUgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM4OiBpc0Zpbml0ZSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM5XG4nKwonaWYgKCBkZWNvZGVVUkkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM5OiBkZWNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTBcbicrCidpZiAoIGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTFcbicrCidpZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzExOiBlbmNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTJcbicrCidpZiAoIGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEyOiBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIENvbnN0cnVjdG9yIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxM1xuJysKJ2lmICggT2JqZWN0ID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxNFxuJysKJ2lmICggRnVuY3Rpb24gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNDogRnVuY3Rpb24gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTVcbicrCidpZiAoIFN0cmluZyA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE1OiBTdHJpbmcgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTZcbicrCidpZiAoIE51bWJlciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE2OiBGdW5jdGlvbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxN1xuJysKJ2lmICggQXJyYXkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNzogQXJyYXkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMThcbicrCidpZiAoIEJvb2xlYW4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxOFxuJysKJ2lmICggRGF0ZSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE4OiBEYXRlID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzE5XG4nKwonaWYgKCBSZWdFeHAgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOTogUmVnRXhwID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIwXG4nKwonaWYgKCBFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMVxuJysKJ2lmICggRXZhbEVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjE6IEV2YWxFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMlxuJysKJ2lmICggUmFuZ2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIyOiBSYW5nZUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIzXG4nKwonaWYgKCBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyNFxuJysKJ2lmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyNDogU3ludGF4RXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjVcbicrCidpZiAoIFR5cGVFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI1OiBUeXBlRXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjZcbicrCidpZiAoIFVSSUVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIE90aGVyIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMyN1xuJysKJ2lmICggTWF0aCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdOYU4nICkgewogICAgJEVSUk9SKCIjMTogJ05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgJEVSUk9SKCIjMTogJ0luZmluaXR5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICd1bmRlZmluZWQnICkgewogICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdldmFsJyApIHsKICAgICRFUlJPUigiIzE6ICdldmFsJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAkRVJST1IoIiMxOiAncGFyc2VJbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ3BhcnNlRmxvYXQnICkgewogICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2lzTmFOJyApIHsKICAgICRFUlJPUigiIzE6ICdpc05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgJEVSUk9SKCIjMTogJ2lzRmluaXRlJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUkknICkgewogICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICRFUlJPUigiIzE6ICdkZWNvZGVVUklDb21wb25lbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAkRVJST1IoIiMxOiAnZW5jb2RlVVJJJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdlbmNvZGVVUklDb21wb25lbnQnICkgewogICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdPYmplY3QnICkgewogICAgJEVSUk9SKCIjMTogJ3Byb3BlcnR5ICdPYmplY3QnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgJEVSUk9SKCIjMTogJ0Z1bmN0aW9uJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdTdHJpbmcnICkgewogICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnTnVtYmVyJyApIHsKICAgICRFUlJPUigiIzE6ICdOdW1iZXInIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICRFUlJPUigiIzE6ICdBcnJheScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnQm9vbGVhbicgKSB7CiAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRGF0ZScgKSB7CiAgICAkRVJST1IoIiMxOiAnRGF0ZScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWdFeHAnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Vycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRXZhbEVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFdmFsRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1JhbmdlRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JlZmVyZW5jZUVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnU3ludGF4RXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1N5bnRheEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1R5cGVFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnVVJJRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdNYXRoJyApIHsKICAgICRFUlJPUigiIzE6ICdNYXRoJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ05hTicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgICAkRVJST1IoIiMxOiAnSW5maW5pdHknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAndW5kZWZpbmVkJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ2V2YWwnICkgewogICAgICAkRVJST1IoIiMxOiAnZXZhbCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwYXJzZUludCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUZsb2F0JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNOYU4nICkgewogICAgICAkRVJST1IoIiMxOiAnaXNOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgICAkRVJST1IoIiMxOiAnaXNGaW5pdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUklDb21wb25lbnQnICkgewogICAgICAkRVJST1IoIiMxOiAnZGVjb2RlVVJJQ29tcG9uZW50JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAgICRFUlJPUigiIzE6ICdlbmNvZGVVUkknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZW5jb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ09iamVjdCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwcm9wZXJ0eSAnT2JqZWN0JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgICAkRVJST1IoIiMxOiAnRnVuY3Rpb24nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnU3RyaW5nJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdOdW1iZXInICkgewogICAgICAkRVJST1IoIiMxOiAnTnVtYmVyJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0FycmF5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Jvb2xlYW4nICkgewogICAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdEYXRlJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0RhdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1JlZ0V4cCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFdmFsRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnRXZhbEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnUmFuZ2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdSZWZlcmVuY2VFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdTeW50YXhFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdTeW50YXhFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnVHlwZUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1VSSUVycm9yJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSAKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ01hdGgnICkgewogICAgICAkRVJST1IoIiMxOiAnTWF0aCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0KICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdOYU5cJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdJbmZpbml0eVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0luZmluaXR5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwndW5kZWZpbmVkXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwndW5kZWZpbmVkXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdldmFsXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZXZhbFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ3BhcnNlSW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VJbnRcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdwYXJzZUZsb2F0XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VGbG9hdFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ2lzTmFOXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnaXNOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdpc0Zpbml0ZVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ2lzRmluaXRlXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdPYmplY3RcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdPYmplY3RcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdGdW5jdGlvblwnKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRnVuY3Rpb25cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTdHJpbmdcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdTdHJpbmdcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdOdW1iZXJcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOdW1iZXJcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdBcnJheVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0FycmF5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnQm9vbGVhblwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0Jvb2xlYW5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdEYXRlXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRGF0ZVwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZ0V4cFwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1JlZ0V4cFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ0Vycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdFdmFsRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdFdmFsRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdSYW5nZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmFuZ2VFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZmVyZW5jZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmVmZXJlbmNlRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTeW50YXhFcnJvclwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1N5bnRheEVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVHlwZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnVHlwZUVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVVJJRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdVUklFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdNYXRoXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnTWF0aFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRBMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWN1cnNpdmUgZnVuY3Rpb24gY2FsbAogKi8KCnZhciB5OwoKZnVuY3Rpb24gZihhKXsKICB2YXIgeDsKICAKICBpZiAoYSA9PT0gMSkgCiAgICByZXR1cm4geDsKICBlbHNlIHsKICAgIGlmKHggPT09IHVuZGVmaW5lZCkgewogICAgICB4ID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHggPSAxOwogICAgfQogICAgcmV0dXJuIGYoMSk7CiAgfQp9Cgp5ID0gZigwKTsKCmlmKCEoeSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCIjMTogUmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNoYXJlcyBleGVjdXRpb24gY29udGV4dCIpOwp9Cgo=","commentary":"Every function call enters a new execution context","description":"Recursive function call","path":"TestCases/ch10/10.4/S10.4A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2VxdWVuY2Ugb2YgZnVuY3Rpb24gY2FsbHMKICovCgp2YXIgeTsKCmZ1bmN0aW9uIGYoKXsKICB2YXIgeDsKICAKICBpZih4ID09PSB1bmRlZmluZWQpIHsKICAgIHggPSAwOwogIH0gZWxzZSB7CiAgICB4ID0gMTsKICB9CiAgCiAgcmV0dXJuIHg7Cn0KCnkgPSBmKCk7CnkgPSBmKCk7CgppZighKHkgPT09IDApKXsKICAkRVJST1IoIiMxOiBTZXF1ZW5jZWQgZnVuY3Rpb24gY2FsbHMgc2hhcmVzIGV4ZWN1dGlvbiBjb250ZXh0Iik7Cn0KCg==","commentary":"Every function call enters a new execution context","description":"Sequence of function calls","path":"TestCases/ch10/10.4/S10.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHZhciB4ID0gMSwgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKdmFyIHggPSAxOwoKaWYgKHRoaXMueCAhPT0gMSkgewogICRFUlJPUigiIzE6IHZhcmlhYmxlIHggaXMgYSBwcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0Iik7Cn0KCmlmKGRlbGV0ZSB0aGlzLnggIT09IGZhbHNlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as var x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHggPSAxLCBmYWlscwogKiBAbm9TdHJpY3QKICovCgp4ID0gMTsKCmlmICh0aGlzLnggIT09IDEpIHsKICAkRVJST1IoIiMxOiB2YXJpYWJsZSB4IGlzIGEgcHJvcGVydHkgb2YgZ2xvYmFsIG9iamVjdCIpOwp9CgppZihkZWxldGUgdGhpcy54ICE9PSB0cnVlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQNCiAqLw0KDQp2YXIgX18xMF80XzJfMV8xXzEgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KDQogICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICB2YXIgX18xMF80XzJfMV8xXzEgPSAic3RyMSI7DQogICAgaWYoX2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfMV8xIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICBldmFsKCJcJ3N0cjFcJyA9PT0gX18xMF80XzJfMV8xXzEiKSA9PT0gdHJ1ZSkgeyAgIC8vIGRpcmVjdCBldmFsDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIHJldHVybiBmYWxzZTsNCiAgfSBmaW5hbGx5IHsNCiAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzFfMTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKG5lc3RlZCBmdW5jdGlvbikNCiAqLw0KDQp2YXIgX18xMF80XzJfMV8yID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzIgPSAic3RyMSI7DQogICAgICAgICAgICBmdW5jdGlvbiBmb28oKSB7DQogICAgICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIyIjsNCiAgICAgICAgICAgICAgICBpZihfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfMiIpID09PSB0cnVlKSB7ICAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmb28oKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfMV8yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (nested function)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGNhdGNoIGJsb2NrKQ0KICovDQoNCnZhciBfXzEwXzRfMl8xXzMgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIHZhciBfZXZhbCA9IGV2YWw7DQogICAgICAgICAgICB2YXIgX18xMF80XzJfMV8zID0gInN0cjEiOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB0aHJvdyAiZXJyb3IiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV8zID0gInN0cjIiOw0KICAgICAgICAgICAgICAgIGlmIChfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8zIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfMyIpID09PSB0cnVlKSB7ICAvLyBkaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV8zOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (catch block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKHdpdGggYmxvY2spDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfNCA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgICAgICAgICAgIG8uX18xMF80XzJfMV80ID0gInN0cjIiOw0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzQgPSAic3RyMSI7DQogICAgICAgICAgICB3aXRoIChvKSB7DQogICAgICAgICAgICAgICAgaWYgKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV80IikgPT09IHRydWUpIHsgIC8vIGRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfNDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Indirect call to eval has context set to global context (with block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGluc2lkZSBhbm90aGVyIGV2YWwpDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfNSA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzUgPSAic3RyMSI7DQogICAgICAgICAgICB2YXIgciA9IGV2YWwoIlwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV81ID0gXCdzdHIyXCc7IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgX2V2YWwoXCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzUgXCIpICYmIFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChcIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzVcIilcDQogICAgICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICAgICAgICAgIHJldHVybiByOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV81Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (inside another eval)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTItYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGlyZWN0IHZhbCBjb2RlIGluIG5vbi1zdHJpY3QgbW9kZSAtIGNhbiBpbnN0YW50aWF0ZSB2YXJpYWJsZSBpbiBjYWxsaW5nIGNvbnRleHQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgeCA9IDA7DQogIHJldHVybiBmdW5jdGlvbiBpbm5lcigpIHsNCiAgICAgZXZhbCgidmFyIHggPSAxIik7DQogICAgIGlmICh4ID09PSAxKQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgfSAoKTsNCiAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Direct val code in non-strict mode - can instantiate variable in calling context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3RyaWN0IG1vZGUgZXZhbCBjb2RlIGNhbm5vdCBpbnN0YW50aWF0ZSBmdW5jdGlvbnMgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsZXIgdG8gZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGV2YWwoIihmdW5jdGlvbiBmdW4oeCl7IHJldHVybiB4IH0pKDEwKSIpOw0KICAgICAgICByZXR1cm4gdHlwZW9mIChmdW4pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTMtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEaXJlY3QgZXZhbCBjb2RlIGluIHN0cmljdCBtb2RlIC0gY2Fubm90IGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGluZyBjb250ZXh0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfMTBfNF8yXzNfY18xX3MgPSAwOw0KICBmdW5jdGlvbiBfMTBfNF8yXzNfY18xX3NGdW5jKCkgew0KICAgICBldmFsKCIndXNlIHN0cmljdCc7dmFyIF8xMF80XzJfM19jXzFfcyA9IDEiKTsNCiAgICAgcmV0dXJuIF8xMF80XzJfM19jXzFfcz09PTA7DQogIH0gDQogIHJldHVybiBfMTBfNF8yXzNfY18xX3NGdW5jKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Direct eval code in strict mode - cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTMtYy0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGNvZGUgaW4gc3RyaWN0IG1vZGUgLSBldmFsIGNhbm5vdCBpbnN0YW50aWF0ZSB2YXJpYWJsZSBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxpbmcgY29udGV4dA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgXzEwXzRfMl8zX2NfMl9zID0gMDsNCiAgZnVuY3Rpb24gXzEwXzRfMl8zX2NfMl9zRnVuYygpIHsNCiAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICBldmFsKCJ2YXIgXzEwXzRfMl8zX2NfMl9zID0gMSIpOw0KICAgICByZXR1cm4gXzEwXzRfMl8zX2NfMl9zPT09MDsNCiAgfQ0KICByZXR1cm4gXzEwXzRfMl8zX2NfMl9zRnVuYygpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Calling code in strict mode - eval cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-2-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjQvMTAuNC4yLzEwLjQuMi4xLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gZXZhbCBjb2RlIGNhbm5vdCBpbnN0YW50aWF0ZSB2YXJpYWJsZSBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxpbmcgY29udGV4dCB0aGF0IGludm9rZWQgdGhlIGV2YWwgaWYgdGhlIGNvZGUgb2YgdGhlIGNhbGxpbmcgY29udGV4dCBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmV2YWwoInZhciB4ID0gNzsiKTsNCnggPSA5Ow0KdGhyb3cgTm90RWFybHlFcnJvcjsNCg==","commentary":"","description":"Strict Mode - eval code cannot instantiate variable in the variable environment of the calling context that invoked the eval if the code of the calling context is strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTBfNF8yXzFfMl9mdW4oKXt9Iik7DQogICAgICAgIHJldHVybiB0eXBlb2YgXzEwXzRfMl8xXzJfZnVuID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsIHdoaWNoIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTBfNF8yXzFfNF9mdW4oKXt9Iik7DQogICAgICAgIHJldHVybiB0eXBlb2YgXzEwXzRfMl8xXzRfZnVuID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval which is contained in strict mode code","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-4-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEwLzEwLjQvMTAuNC4yL1MxMC40LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaWN0IGluZGlyZWN0IGV2YWwgc2hvdWxkIG5vdCBsZWFrIHRvcCBsZXZlbAogKiBkZWNsYXJhdGlvbnMgaW50byB0aGUgZ2xvYmFsIHNjb3BlCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwppZiAoISgnZm9vJyBpbiB0aGlzKSkgewogICgxLGV2YWwpKCcidXNlIHN0cmljdCI7IHZhciBmb28gPSA4ODsnKTsKICBpZiAoJ2ZvbycgaW4gdGhpcykgewogICAgJEVSUk9SKCJTdHJpY3QgaW5kaXJlY3QgZXZhbCBsZWFrZWQgYSB0b3AgbGV2ZWwgZGVjbGFyYXRpb24iKTsKICB9Cn0K","commentary":"","description":"Strict indirect eval should not leak top level\ndeclarations into the global scope","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKdmFyIHggPSAxOwp2YXIgeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB4ID0gMTsKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp2YXIgeCA9IDE7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnRoaXMueSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp2YXIgeSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnggPSAxOwp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOyAKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKZnVuY3Rpb24gZigpewogIHZhciBpOwogIHZhciBqOwogIHN0cjEgPSAnJzsKICBzdHIyID0gJyc7CiAgdmFyIHggPSAxOwogIHZhciB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIGYoKXsKICB2YXIgaTsKICB2YXIgajsKICBzdHIxID0gJyc7CiAgc3RyMiA9ICcnOwoKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQoKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CgogIHRoaXMueCA9IDE7CiAgdGhpcy55ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","noStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICB2YXIgeCA9IDE7CiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIHRoaXMueSA9IDI7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7IAp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCgogIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB2YXIgeCA9IDE7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CiAgCiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHRoaXMueSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB2YXIgeSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHZhciB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB4ID0gMTsKICB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKDEpID09PSAnbnVtYmVyJyAmJiBiYXIuY2FsbCgxKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (Number)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoc3RyaW5nKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKCcxJykgPT09ICdzdHJpbmcnICYmIGJhci5jYWxsKCcxJykgPT09ICdvYmplY3QnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"this is not coerced to an object in strict mode (string)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAodW5kZWZpbmVkKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKSA9PT0gJ3VuZGVmaW5lZCcgJiYgYmFyLmNhbGwoKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (undefined)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoYm9vbGVhbikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gYmFyKCkNCiAgew0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KDQogIHJldHVybiBmb28uY2FsbCh0cnVlKSA9PT0gJ2Jvb2xlYW4nICYmIGJhci5jYWxsKHRydWUpID09PSAnb2JqZWN0JzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (boolean)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gdGhpcyBpcyBub3QgY29lcmNlZCB0byBhbiBvYmplY3QgaW4gc3RyaWN0IG1vZGUgKGZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlIHN0cmljdCc7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfSANCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvb2JhcigpDQogIHsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbChmb29iYXIpID09PSAnZnVuY3Rpb24nICYmIGJhci5jYWxsKGZvb2JhcikgPT09ICdmdW5jdGlvbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (function)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0NCnJldHVybiBmKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGYoKSB7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0NCnJldHVybiBmKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy9TMTAuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGVuIGNhbGxpbmcgYSBzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIGFzIGEKICogZnVuY3Rpb24sICJ0aGlzIiBzaG91bGQgYmUgYm91bmQgdG8gdW5kZWZpbmVkLgogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKdmFyIHRoYXQgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpOwppZiAodGhhdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogInRoaXMiIGxlYWtlZCBhczogJyArIHRoYXQpOwp9Cgo=","commentary":"","description":"When calling a strict anonymous function as a\nfunction, \"this\" should be bound to undefined.","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/S10.4.3_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpcyBpbW11dGFibGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgPSAxMCIpOw0KICAgICAgICAgICAgfSkoMzApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - arguments object is immutable","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjUvMTAuNS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cyBjYW5ub3QgYmUgYXNzaWduZWQgdG8gaW4gYSBzdHJpY3QgZnVuY3Rpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KDQpmdW5jdGlvbiBmXzEwXzVfMV9ncygpew0KICAgIGFyZ3VtZW50cyA9IDc7DQp9DQoNCg==","commentary":"","description":"Strict Mode - arguments cannot be assigned to in a strict function","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cyBvYmplY3QgaXMgaW1tdXRhYmxlIGluIGV2YWwnZWQgZnVuY3Rpb25zDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiKGZ1bmN0aW9uIF8xMF81XzdfYl8xX2Z1bigpIHsgYXJndW1lbnRzID0gMTA7fSAoKSk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - arguments object is immutable in eval'ed functions","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cyBvYmplY3QgaW5kZXggYXNzaWdubWVudCBpcyBhbGxvd2VkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBfMTBfNV83X2JfMl9mdW4oKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbN10gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbN10gPT09IDEyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBfMTBfNV83X2JfMl9mdW4oMzApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object index assignment is allowed","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIEFkZGluZyBwcm9wZXJ0eSB0byB0aGUgYXJndW1lbnRzIG9iamVjdCBzdWNjZXNzZnVsIHVuZGVyIHN0cmljdCBtb2RlIA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEwXzVfN19iXzNfZnVuKCkgew0KICAgICAgICAgICAgYXJndW1lbnRzWzFdID0gMTI7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdID0gMzAgJiYgYXJndW1lbnRzWzFdID09PSAxMjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gXzEwXzVfN19iXzNfZnVuKDMwKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Adding property to the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIERlbGV0aW5nIHByb3BlcnR5IG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IHN1Y2Nlc3NmdWwgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGZ1bmN0aW9uIF8xMF81XzdfYl80X2Z1bigpIHsNCiAgICAgICAgICAgIHZhciBfMTBfNV83X2JfNF8xID0gYXJndW1lbnRzWzBdID09PSAzMCAmJiBhcmd1bWVudHNbMV0gPT09IDEyOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1sxXTsNCiAgICAgICAgICAgIHZhciBfMTBfNV83X2JfNF8yID0gYXJndW1lbnRzWzBdID09PSAzMCAmJiB0eXBlb2YgYXJndW1lbnRzWzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHJldHVybiBfMTBfNV83X2JfNF8xICYmIF8xMF81XzdfYl80XzI7DQogICAgICAgIH07DQogICAgICAgIHJldHVybiBfMTBfNV83X2JfNF9mdW4oMzAsIDEyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Deleting property of the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIHJlbWFpbnMgc2FtZSBhZnRlciBjaGFuZ2luZyBhY3R1YWwgcGFyYW1ldGVycyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICAndXNlIHN0cmljdCc7DQogICAgYSA9IDE7IGIgPSAnc3RyJzsgYyA9IDIuMTsNCiAgICByZXR1cm4gKGFyZ3VtZW50c1swXSA9PT0gMTAgJiYgYXJndW1lbnRzWzFdID09PSAnc3NzJyAmJiBhcmd1bWVudHNbMl0gPT09IDEpOw0KICB9DQogIHJldHVybiBmb28oMTAsICdzc3MnLCAxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] remains same after changing actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50c1tpXSBjaGFuZ2Ugd2l0aCBhY3R1YWwgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgIGEgPSAxOyBiID0gJ3N0cic7IGMgPSAyLjE7DQogICAgaWYoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gJ3N0cicgJiYgYXJndW1lbnRzWzJdID09PSAyLjEpDQogICAgICByZXR1cm4gdHJ1ZTsgICANCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] change with actual parameters","path":"TestCases/ch10/10.6/10.6-10-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIGRvZXNuJ3QgbWFwIHRvIGFjdHVhbCBwYXJhbWV0ZXJzIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICAndXNlIHN0cmljdCc7ICAgIA0KICAgIGFyZ3VtZW50c1swXSA9IDE7IGFyZ3VtZW50c1sxXSA9ICdzdHInOyBhcmd1bWVudHNbMl0gPSAyLjE7DQogICAgcmV0dXJuIDEwID09PSBhICYmICdzc3MnID09PSBiICYmIDEgPT09IGM7DQogIH0NCiAgcmV0dXJuIGZvbygxMCwnc3NzJywxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] doesn't map to actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50c1tpXSBtYXAgdG8gYWN0dWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICBhcmd1bWVudHNbMF0gPSAxOyBhcmd1bWVudHNbMV0gPSAnc3RyJzsgYXJndW1lbnRzWzJdID0gMi4xOw0KICAgIGlmKDEgPT09IGEgJiYgJ3N0cicgPT09IGIgJiYgMi4xID09PSBjKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgDQogIH0NCiAgcmV0dXJuIGZvbygxMCwnc3NzJywxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] map to actual parameter","path":"TestCases/ch10/10.6/10.6-10-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTExLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBPYmplY3QgaGFzIGluZGV4IHByb3BlcnR5ICcwJyBhcyBpdHMgb3duIHByb3BlcnR5LCBpdCBzaG91bGRlIGJlIHdyaXRhYmxlLCBlbnVtZXJhYmxlLCBjb25maWd1cmFibGUgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gT2JqZWN0LnByb3RvdHlwZVswXSAoU3RlcCAxMS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50cyB9KSgxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IChhcmdPYmpbMF0gPT09IDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBhcmdPYmpbMF0gPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqWzBdID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09ialswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Arguments Object has index property '0' as its own property, it shoulde be writable, enumerable, configurable and does not invoke the setter defined on Object.prototype[0] (Step 11.b)","path":"TestCases/ch10/10.6/10.6-11-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVlIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgaXMgYWxsb3dlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZWU7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing callee property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEyLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGhhcyBjb3JyZWN0IGF0dHJpYnV0ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVlIik7DQogIGlmKGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdwdXQnKSA9PSBmYWxzZSkNCiAgICByZXR1cm4gdHJ1ZTsgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.callee has correct attributes","path":"TestCases/ch10/10.6/10.6-12-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVyIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgaXMgYWxsb3dlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZXI7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing caller property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEluIG5vbi1zdHJpY3QgbW9kZSwgYXJndW1lbnRzIG9iamVjdCBzaG91bGQgaGF2ZSBpdHMgb3duICdjYWxsZWUnIHByb3BlcnR5IGRlZmluZWQgKFN0ZXAgMTMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjYWxsZWUiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzIH0pKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSB0eXBlb2YgYXJnT2JqLmNhbGxlZSA9PT0gImZ1bmN0aW9uIjsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBhcmdPYmouY2FsbGVlID0gMTAwMTsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gKGFyZ09iai5jYWxsZWUgPT09IDEwMDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gImNhbGxlZSIgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmdPYmouY2FsbGVlOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jYWxsZWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"In non-strict mode, arguments object should have its own 'callee' property defined (Step 13.a)","path":"TestCases/ch10/10.6/10.6-13-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQWNjZXNzaW5nIGNhbGxlciBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgb2JqZWN0IHRocm93cyBUeXBlRXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB0cnkgDQogIHsNCiAgICBhcmd1bWVudHMuY2FsbGVyOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing caller property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlciBleGlzdHMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlciIpOw0KICByZXR1cm4gZGVzYyE9PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.caller exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlciBpcyBub24tY29uZmlndXJhYmxlIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVyIik7DQogIA0KICByZXR1cm4gKGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiANCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSA9PSBmYWxzZSAgJiYgDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT0gdHJ1ZSAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT0gdHJ1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.caller is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQWNjZXNzaW5nIGNhbGxlZSBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgb2JqZWN0IHRocm93cyBUeXBlRXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB0cnkgDQogIHsNCiAgICBhcmd1bWVudHMuY2FsbGVlOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Accessing callee property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlZSBpcyBleGlzdHMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlZSIpOw0KICByZXR1cm4gZGVzYyAhPT0gdW5kZWZpbmVkOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee is exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlZSBpcyBub24tY29uZmlndXJhYmxlIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICAndXNlIHN0cmljdCc7ICAgIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZWUiKTsNCiAgcmV0dXJuIChkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCd2YWx1ZScpID09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT0gdHJ1ZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PSB0cnVlKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.callee is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ2NhbGxlZScgZXhpc3RzIGFuZCAnY2FsbGVyJyBleGlzdHMgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCiAgICAgICAgcmV0dXJuIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVlIikgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'callee' exists and 'caller' exists under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgaW4gJ2NhbGxlcicgaXMgZmFsc2UgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIF8xMF82XzE0X2JfMSBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgIGlmIChhcmdPYmouaGFzT3duUHJvcGVydHkoXzEwXzZfMTRfYl8xKSAmJiBfMTBfNl8xNF9iXzEgPT09ICJjYWxsZXIiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICF2ZXJpZnlFbnVtZXJhYmxlICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'caller' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gYWNjZXNzaW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSBpbiAnY2FsbGVyJyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZXIgPSB7fTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'caller' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgaW4gJ2NhbGxlZScgaXMgZmFsc2UgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIF8xMF82XzE0X2NfMSBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgIGlmIChhcmdPYmouaGFzT3duUHJvcGVydHkoXzEwXzZfMTRfY18xKSAmJiBfMTBfNl8xNF9jXzEgPT09ICJjYWxsZWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICF2ZXJpZnlFbnVtZXJhYmxlICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'callee' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWMtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gYWNjZXNzaW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSBpbiAnY2FsbGVlJyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZWUgPSB7fTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'callee' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-4-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjYvMTAuNi0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cy5jYWxsZWUgY2Fubm90IGJlIGFjY2Vzc2VkIGluIGEgc3RyaWN0IGZ1bmN0aW9uLCBidXQgZG9lcyBub3QgdGhyb3cgYW4gZWFybHkgZXJyb3INCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZl8xMF82XzFfZ3MoKXsNCiAgICByZXR1cm4gYXJndW1lbnRzLmNhbGxlZTsNCn0NCg0K","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function, but does not throw an early error","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-1gs.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEwLzEwLjYvMTAuNi0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cy5jYWxsZWUgY2Fubm90IGJlIGFjY2Vzc2VkIGluIGEgc3RyaWN0IGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmXzEwXzZfMV9ncygpew0KICAgIHJldHVybiBhcmd1bWVudHMuY2FsbGVlOw0KfQ0KZl8xMF82XzFfZ3MoKTsNCg0K","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function","negative":".","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgQXJndW1lbnRzIGlzIHNldCB0byBPYmplY3QgcHJvdG90eXBlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihhcmd1bWVudHMpID09PSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoe30pKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Prototype]] property of Arguments is set to Object prototype object","path":"TestCases/ch10/10.6/10.6-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGggcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBleGlzdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywibGVuZ3RoIik7DQogIHJldHVybiBkZXNjICE9PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length property of arguments object exists","path":"TestCases/ch10/10.6/10.6-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgaGFzIGNvcnJlY3QgYXR0cmlidXRlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJsZW5ndGgiKTsNCiAgaWYoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object has correct attributes","path":"TestCases/ch10/10.6/10.6-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMy5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gZXhpc3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgIHZhciBhcmd1bWVudHM9IHVuZGVmaW5lZDsNCglyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCAhPT0gdW5kZWZpbmVkfSkoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object for 0 argument function exists","path":"TestCases/ch10/10.6/10.6-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtNC5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gY2FsbCBpcyAwIGV2ZW4gd2l0aCBmb3JtYWwgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICB2YXIgYXJndW1lbnRzPSB1bmRlZmluZWQ7DQoJcmV0dXJuIChmdW5jdGlvbiAoYSxiLGMpIHtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMH0pKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'length' property of arguments object for 0 argument function call is 0 even with formal parameters","path":"TestCases/ch10/10.6/10.6-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBPYmplY3QgaGFzIGxlbmd0aCBhcyBpdHMgb3duIHByb3BlcnR5IGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoIChTdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHMgfSkoKTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGFyZ09iai5sZW5ndGggPT09IDApOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09iai5sZW5ndGggPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqLmxlbmd0aCA9PT0gMTAwMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmdPYmoubGVuZ3RoOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Arguments Object has length as its own property and does not invoke the setter defined on Object.prototype.length (Step 7)","path":"TestCases/ch10/10.6/10.6-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGNvbnRyb2wgZW50ZXJzIGFuIGV4ZWN1dGlvbiBjb250ZXh0IGZvciBmdW5jdGlvbiBjb2RlLAogKiBhbiBhcmd1bWVudHMgb2JqZWN0IGlzIGNyZWF0ZWQgYW5kIGluaXRpYWxpc2VkCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIGZ1bmN0aW9uIHdoaWNoIHVzZXMgYXJndW1lbnRzIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYxKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYyKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"When control enters an execution context for function code,\nan arguments object is created and initialised","description":"Executing function which uses arguments object","path":"TestCases/ch10/10.6/S10.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlCiAqIGNyZWF0ZWQgYXJndW1lbnRzIG9iamVjdCBpcyB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUKICogdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZT09PU9iamVjdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsKfQp0cnl7CiAgaWYoZjEoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMxOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTt9Owp0cnl7CiAgaWYoZjIoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMyOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzI6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the\ncreated arguments object is the original Object prototype object, the one\nthat is the initial value of Object.prototype","description":"Checking arguments.constructor.prototype===Object.prototype","path":"TestCases/ch10/10.6/S10.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.callee property","path":"TestCases/ch10/10.6/S10.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJjYWxsZWUiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgY2FsbGVlIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAiY2FsbGVlIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.callee property fails","path":"TestCases/ch10/10.6/S10.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMuY2FsbGVlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiAoZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWUpOwp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBjYWxsZWUgaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmNhbGxlZSk7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.callee property fails","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5jYWxsZWUgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdmFyIHN0ciA9ICJzb21ldGhpbmcgZGlmZmVyZW50IjsKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgYXJndW1lbnRzLmNhbGxlZSA9IHN0cjsKICByZXR1cm4gYXJndW1lbnRzOwp9Cgp0cnl7CiAgaWYoZjEoKS5jYWxsZWUgIT09IHN0cil7CiAgICAkRVJST1IoIiMxOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IFJlYWRPbmx5IH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgICBhcmd1bWVudHMuY2FsbGVlID0gc3RyOwogICAgcmV0dXJuIGFyZ3VtZW50czsKICB9CnRyeXsKICBpZihmMigpLmNhbGxlZSAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgY2FsbGVlIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Overriding arguments.callee property","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBjYWxsZWUgaXMgdGhlCiAqIEZ1bmN0aW9uIG9iamVjdCBiZWluZyBleGVjdXRlZAogKgogKiBAcGF0aCBjaDEwLzEwLjYvUzEwLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgYXJndW1lbnRzLmNhbGxlZSA9PT0gZnVuY3Rpb24gb2JqZWN0CiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuY2FsbGVlOwp9Cgp0cnl7CiAgaWYoZjEgIT09IGYxKCkpewogICAgJEVSUk9SKCcjMTogYXJndW1lbnRzLmNhbGxlZSA9PT0gZjEnKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZTt9OwoKdHJ5ewogIGlmKGYyICE9PSBmMigpKXsKICAgICRFUlJPUignIzI6IGFyZ3VtZW50cy5jYWxsZWUgPT09IGYyJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBleGlzdHMiKTsKfQoK","commentary":"The initial value of the created property callee is the\nFunction object being executed","description":"Checking that arguments.callee === function object","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJsZW5ndGgiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAibGVuZ3RoIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGxlbmd0aCBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYyKCkpewogICAgJEVSUk9SKCIjMjogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5sZW5ndGggcHJvcGVydHkKICovCgp2YXIgc3RyID0gInNvbWV0aGluZyBkaWZmZXJlbnQiOwovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICBhcmd1bWVudHMubGVuZ3RoID0gc3RyOwogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICBpZihmMSgpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICAgIGFyZ3VtZW50cy5sZW5ndGggPSBzdHI7CiAgICByZXR1cm4gYXJndW1lbnRzOwogIH07CnRyeXsKICBpZihmMigpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Overriding arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBsZW5ndGggaXMgdGhlIG51bWJlcgogKiBvZiBhY3R1YWwgcGFyYW1ldGVyIHZhbHVlcyBzdXBwbGllZCBieSB0aGUgY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLCB0aGF0IHJldHVybmVkIGFyZ3VtZW50cy5sZW5ndGgKICovCgpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMubGVuZ3RoOwp9CgovL0NIRUNLIzEKaWYoIShmMSgpID09PSAwKSl7CiAgJEVSUk9SKCcjMTogYXJndW1lbnQubGVuZ3RoID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZighKGYxKDApID09PSAxKSl7CiAgJEVSUk9SKCcjMjogYXJndW1lbnQubGVuZ3RoID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZighKGYxKDAsIDEpID09PSAyKSl7CiAgJEVSUk9SKCcjMzogYXJndW1lbnQubGVuZ3RoID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZighKGYxKDAsIDEsIDIpID09PSAzKSl7CiAgJEVSUk9SKCcjNDogYXJndW1lbnQubGVuZ3RoID09PSAzJyk7Cn0KCi8vQ0hFQ0sjNQppZighKGYxKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjNTogYXJndW1lbnQubGVuZ3RoID09PSA0Jyk7Cn0KCnZhciBmMiA9IGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKCi8vQ0hFQ0sjNgppZighKGYyKCkgPT09IDApKXsKICAkRVJST1IoJyM2OiBhcmd1bWVudC5sZW5ndGggPT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmKCEoZjIoMCkgPT09IDEpKXsKICAkRVJST1IoJyM3OiBhcmd1bWVudC5sZW5ndGggPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmKCEoZjIoMCwgMSkgPT09IDIpKXsKICAkRVJST1IoJyM4OiBhcmd1bWVudC5sZW5ndGggPT09IDInKTsKfQoKLy9DSEVDSyM5CmlmKCEoZjIoMCwgMSwgMikgPT09IDMpKXsKICAkRVJST1IoJyM5OiBhcmd1bWVudC5sZW5ndGggPT09IDMnKTsKfQoKLy9DSEVDSyMxMAppZighKGYyKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjMTA6IGFyZ3VtZW50Lmxlbmd0aCA9PT0gNCcpOwp9Cgo=","commentary":"The initial value of the created property length is the number\nof actual parameter values supplied by the caller","description":"Create function, that returned arguments.length","path":"TestCases/ch10/10.6/S10.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXQgYXJndW1lbnRzIG9mIGZ1bmN0aW9uCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHByb3BlcnR5IGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIGYxKCkgewogIHJldHVybiBhcmd1bWVudHM7Cn0KICAKLy9DSEVDSyMxLTUKZm9yKHZhciBpID0gMTsgaSA8IDU7IGkrKyl7ICAKaWYgKGYxKDEsMiwzLDQsNSlbaV0gIT09IChpKzEpKQogICRFUlJPUigiIyIraSsiOiBSZXR1cm5pbmcgZnVuY3Rpb24ncyBhcmd1bWVudHMgd29yayB3cm9uZywgZjEoMSwyLDMsNCw1KVsiK2krIl0gIT09ICIrKGkrMSkpOwp9Cgo=","commentary":"Get arguments of function","description":"Use property arguments","path":"TestCases/ch10/10.6/S10.6_A7.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch10","numTests":"184","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBmdW5jdGlvbiBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMTsKfQppZih0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIicpOwoK","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Defining function by a FunctionDeclaration","path":"TestCases/ch10/10.1/S10.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQp2YXIgeD1mdW5jdGlvbiBmMSgpe3JldHVybiAxO30oKTsKaWYoeCE9PTEpCiAgJEVSUk9SKCcjMTogQ3JlYXRlIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwoKLy9DSEVDSyMyCnZhciB5PWZ1bmN0aW9uICAoKXtyZXR1cm4gMjt9KCk7CmlmKHkhPT0yKXsKICAkRVJST1IoJyMyOiBDcmVhdGUgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSAoZnVuY3Rpb24oKXtyZXR1cm4gMzt9KSgpOwppZih6IT09Myl7CiAgJEVSUk9SKCcjMzogQ3JlYXRlIGFuIGFub255bW91cyBmdW5jdGlvbiBkeW5hbWljYWxseSBlaXRoZXIgYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gd3JhcHBlZCBpbiBhIGdyb3VwIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using a FunctionExpression","path":"TestCases/ch10/10.1/S10.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyB0aGUgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0IGFzIGEgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIHg9bmV3IGZ1bmN0aW9uIGYxKCl7cmV0dXJuIDE7fTsKaWYodHlwZW9mKHguY29uc3RydWN0b3IpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoeC5jb25zdHJ1Y3RvcikhPT0iZnVuY3Rpb24iJyk7Cgo=","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using the built-in Function object as a constructor","path":"TestCases/ch10/10.1/S10.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIEZ1bmN0aW9uIG9iamVjdHMuIEludGVybmFsIGZ1bmN0aW9ucwogKiBhcmUgYnVpbHQtaW4gb2JqZWN0cyBvZiB0aGUgbGFuZ3VhZ2UsIHN1Y2ggYXMgcGFyc2VJbnQgYW5kIE1hdGguZXhwCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlcyBvZiBwYXJzZUludCBhbmQgTWF0aC5leHAKICovCgovL0NIRUNLIzEKaWYodHlwZW9mKE1hdGguZXhwKSE9PSJmdW5jdGlvbiIpCiAgJEVSUk9SKCcjMTogdHlwZW9mKE1hdGguZXhwKDEwKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKE1hdGguZXhwKCkpKTsKCi8vQ0hFQ0sjMgppZih0eXBlb2YocGFyc2VJbnQpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMyOiB0eXBlb2YocGFyc2VJbnQoKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKHBhcnNlSW50KCkpKTsKICAKCg==","commentary":"There are two types of Function objects. Internal functions\nare built-in objects of the language, such as parseInt and Math.exp","description":"Checking types of parseInt and Math.exp","path":"TestCases/ch10/10.1/S10.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBmdW5jdGlvbiBwYXJhbWV0ZXIgaXMgcG9zc2libGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKGEpewogIGRlbGV0ZSBhOwogIHJldHVybiBhOwp9CmlmIChmMSgxKSAhPT0gMSkKICAkRVJST1IoJyMxOiBGdW5jdGlvbiBwYXJhbWV0ZXIgd2FzIGRlbGV0ZWQnKTsKCgo=","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking if deleting function parameter is possible","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW50aW9uIHdoaWNoIHJldHVybnMgcHJvcGVydHkgImFyZ3VtZW50cyIKICovCgp2YXIgQVJHX1NUUklORyA9ICJ2YWx1ZSBvZiB0aGUgYXJndW1lbnQgcHJvcGVydHkiOwoKZnVuY3Rpb24gZjEoKSB7CiAgdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXJndW1lbnRzID0gQVJHX1NUUklORzsKICByZXR1cm4gYXJndW1lbnRzOwp9CiAgCi8vQ0hFQ0sjMQppZiAoKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGggIT09IDUpCiAgJEVSUk9SKCcjMTogKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGg9PT01LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMiAgCmlmICgobmV3IGYxKDEsMiwzLDQsNSkpWzNdICE9PSA0KQogICRFUlJPUignIzI6IChuZXcgZjEoMSwyLDMsNCw1KSlbM109PT00LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBmMSgxLDIsMyw0LDUpOyAKaWYgKGRlbGV0ZSB4WzNdICE9PSB0cnVlKQogICRFUlJPUignIzMuMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0nKTsKICAKaWYgKHhbM10gPT09IDQpCiAgJEVSUk9SKCcjMy4yOiBGdW5jdGlvbiBwYXJhbWV0ZXJzIGhhdmUgYXR0cmlidXRlIHtEb250RGVsZXRlfScpOwoK","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking funtion which returns property \"arguments\"","path":"TestCases/ch10/10.1/S10.1.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW5jdGlvbiB3aGljaCByZXR1cm5zICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgpmdW5jdGlvbiBmMSgpIHsKICBpZiAoZGVsZXRlIGFyZ3VtZW50cykgewogICAgJEVSUk9SKCIjMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0iICsgYXJndW1lbnRzKTsKICB9CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKZjEoKTsKCg==","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking function which returns \"this\"","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdGhpcyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYW4gZXhlY3V0aW9uY29udGV4dCBpcyBpbW11dGFibGUKICoKICogQHBhdGggY2gxMC8xMC4xL1MxMC4xLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nICJ0aGlzIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHRoaXMgIT09IHRydWUpCiAgJEVSUk9SKCcjMTogVGhlIHRoaXMgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGFuIGV4ZWN1dGlvbmNvbnRleHQgaXMgaW1tdXRhYmxlLiBBY3R1YWw6IHRoaXMgd2FzIGRlbGV0ZWQnKTsKICAKCg==","commentary":"The this value associated with an executioncontext is immutable","description":"Checking if deleting \"this\" fails","path":"TestCases/ch10/10.1/S10.1.7_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAndXNlICBzdHJpY3QnOyB3aGljaCBjb250YWlucyB0d28gc3BhY2UgYmV0d2VlbiAndXNlJyBhbmQgJ3N0cmljdCcNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2UgIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is 'use strict'; which contains two space between 'use' and 'strict'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVXNlIFN0cmljdCBEaXJlY3RpdmUgUHJvbG9ndWUgaXMgJydVU0UgU1RSSUNUJzsnIGluIHdoaWNoIGFsbCBjaGFyYWN0ZXJzIGFyZSB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVU0UgU1RSSUNUIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''USE STRICT';' in which all characters are uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBjb2RlIHdpdGggYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIHB1YmxpYyA9IDE7IHZhciBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9IDI7Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiB0eXBlb2YgcHVibGljID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Eval code is strict code with a Use Strict Directive at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgJ3VzZSBzdHJpY3QnOyB2YXIgYW5vdGhlclZhcmlhYmxlTm90UmVzZXJ2ZVdvcmQgPSAyOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgdmFyIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID0gMjsgJ3VzZSBzdHJpY3QnOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGNhbGwgdG8gZXZhbCBmdW5jdGlvbiBpcyBjb250YWluZWQgaW4gYSBTdHJpY3QgTW9kZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The call to eval function is contained in a Strict Mode block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIHN0cmljdCBmdW5jdGlvbiBjb2RlIGlmIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIHVzZSBzdHJpY3QNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a FunctionDeclaration is strict function code if FunctionDeclaration is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgc3RyaWN0IGZ1bmN0aW9uIGNvZGUgaWYgRnVuY3Rpb25FeHByZXNzaW9uIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a FunctionExpression is strict function code if FunctionExpression is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgicHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVtcCA9IG9iai5hY2NQcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImFjY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0Ig0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYWNjUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB0ZW1wID0gb2JqLmFjY1Byb3BlcnR5ID09PSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jayhnZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoInB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouYWNjUHJvcGVydHkgPT09IDExICYmIHB1YmxpYyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears in the middle of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jayhzZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFyIF8xMF8xXzFfMjhfcyA9IHthOjEsIGE6Mn07DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gZGF0YT09PSJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the end of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0IGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IG5ldyBGdW5jdGlvbigiYSIsICJldmFsKCdwdWJsaWMgPSAxOycpOyIpOw0KICAgICAgICBmdW5PYmooKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The built-in Function constructor is contained in use strict code","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiDQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJyB1c2Ugc3RyaWN0JzsnIHdoaWNoIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICIgdXNlIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KDQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is '' use strict';' which the first character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgIid1c2Ugc3RyaWN0JzsgZXZhbCgncHVibGljID0gMTsnKTsiKTsNCiAgICAgICAgICAgIGZ1bk9iaigpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7ICd1c2Ugc3RyaWN0JzsgYW5vdGhlclZhcmlhYmxlID0gMjsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7IGFub3RoZXJWYXJpYWJsZSA9IDI7ICd1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QgJzsnIHdoaWNoIHRoZSBsYXN0IGNoYXJhY3RlciBpcyBzcGFjZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QgIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict ';' which the last character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvZGUNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBwdWJsaWMgPSAxOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the start of the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGludGVyZmFjZSA9IDI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgaW50ZXJmYWNlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgZGlyZWN0aXZlIHByb2xvZ3VlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the directive prologue","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgY29kZQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ1VzZSBzdHJpY3QnOycgaW4gd2hpY2ggdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVc2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''Use strict';' in which the first character is uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgY2FsbGVyIHN1cHBsaWVzIGZld2VyIHBhcmFtZXRlciB2YWx1ZXMgdGhhbiB0aGVyZSBhcmUKICogZm9ybWFsIHBhcmFtZXRlcnMsIHRoZSBleHRyYSBmb3JtYWwgcGFyYW1ldGVycyBoYXZlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgZnVuY3Rpb24gZXhjbHVkaW5nIGEgZmV3IHBhcmFtZXRlcnMKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoYSwgYil7CiAgcmV0dXJuIChiID09PSB1bmRlZmluZWQpOwp9CmlmKCEoZjEoMSwgMikgPT09IGZhbHNlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSwgMikgPT09IGZhbHNlJyk7Cn0gZWxzZSBpZighKGYxKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKGEsIGIsIGMpewogIHJldHVybiAoYiA9PT0gdW5kZWZpbmVkKSAmJiAoYyA9PT0gdW5kZWZpbmVkKTsKfQppZighKGYyKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMjogZjIoMSwgMikgPT09IHRydWUnKTsKfQoK","commentary":"If the caller supplies fewer parameter values than there are\nformal parameters, the extra formal parameters have value undefined","description":"Calling function excluding a few parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycyBzaGFyZSB0aGUgc2FtZSBuYW1lLCBoZW5jZQogKiB0aGUgc2FtZSBwcm9wZXJ0eSwgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgaXMgZ2l2ZW4gdGhlIHZhbHVlIHRoYXQgd2FzCiAqIHN1cHBsaWVkIGZvciB0aGUgbGFzdCBwYXJhbWV0ZXIgd2l0aCB0aGlzIG5hbWUKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgaW5pdGlhbGl6ZWQgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSh4LCB4KSB7CiAgcmV0dXJuIHg7Cn0KaWYoIShmMSgxLCAyKSA9PT0gMikpIHsKICAkRVJST1IoIiMxOiBmMSgxLCAyKSA9PT0gMiIpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoeCwgeCwgeCl7CiAgcmV0dXJuIHgqeCp4Owp9CmlmKCEoZjIoMSwgMiwgMykgPT09IDI3KSl7CiAgJEVSUk9SKCJmMigxLCAyLCAzKSA9PT0gMjciKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKHgsIHgpIHsKICByZXR1cm4gJ2EnICsgeDsKfQppZighKGYzKDEsIDIpID09PSAnYTInKSl7CiAgJEVSUk9SKCIjMzogZjMoMSwgMikgPT09ICdhMiciKTsKfQoK","commentary":"If two or more formal parameters share the same name, hence\nthe same property, the corresponding property is given the value that was\nsupplied for the last parameter with this name","description":"Creating functions initialized with two or more formal parameters, which have the same name","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgdmFsdWUgb2YgdGhpcyBsYXN0IHBhcmFtZXRlciAod2hpY2ggaGFzIHRoZSBzYW1lCiAqIG5hbWUgYXMgc29tZSBwcmV2aW91cyBwYXJhbWV0ZXJzIGRvKSB3YXMgbm90IHN1cHBsaWVkIGJ5IHRoZQogKiBjYWxsZXIsIHRoZSB2YWx1ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywKICogdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBleGNsdWRpbmcgYSBmZXcgbGFzdCBwYXJhbWV0ZXJzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgsIGEsIGIsIHgpewogIHJldHVybiB4Owp9CmlmKCEoZjEoMSwgMikgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE6IGYxKDEsIDIpID09PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If the value of this last parameter (which has the same\nname as some previous parameters do) was not supplied by the\ncaller, the value of the corresponding property is undefined","description":"Creating functions with two or more formal parameters,\nthat have the same name. Calling this function excluding a few last parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIHBhc3NlZCBwYXJhbWV0ZXIKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHJldHVybiB4OwoKICBmdW5jdGlvbiB4KCl7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYoIShmMSgpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSl7CiAgJEVSUk9SKCcjMTogZjEoKSByZXR1cm5zIGZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICByZXR1cm4gdHlwZW9mIHg7CgogIGZ1bmN0aW9uIHgoKXsKICAgIHJldHVybiA3OwogIH0KfQppZighKGYyKCkgPT09ICJmdW5jdGlvbiIpKXsKICAkRVJST1IoJyMyOiBmMigpID09PSAiZnVuY3Rpb24iJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBmMygpIHsKICByZXR1cm4gdHlwZW9mIGFyZ3VtZW50czsKICBmdW5jdGlvbiBhcmd1bWVudHMoKSB7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYgKCEoZjMoKSA9PT0gImZ1bmN0aW9uIikpewogICRFUlJPUignIzM6IGYzKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with passed parameter","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjEoKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkpewogICRQUklOVCgnIzE6IGYxKCkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoKXsKICB2YXIgeDsKICAKICByZXR1cm4gdHlwZW9mIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjIoKSA9PT0gImZ1bmN0aW9uIikpewogICRQUklOVCgnIzI6IGYyKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with declared variable","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpYWJsZSBleGlzdGVuY2Ugb25seQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgpID09PSAidW5kZWZpbmVkIikpewogICRQUklOVCgnIzE6IGYxKCkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMigpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKCkgPT09IHVuZGVmaW5lZCkpewogICRQUklOVCgnIzE6IGYyKCkgPT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking variable existence only","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHZhcmlhYmxlIG9iamVjdCBwcm9wZXJ0eSB3aXRoIGZvcm1hbCBwYXJhbWV0ZXIKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoeCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHR5cGVvZiB4Owp9CgppZighKGYxKCkgPT09ICJ1bmRlZmluZWQiKSl7CiAgJFBSSU5UKCcjMTogZjEoMSkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICB2YXIgeDsKICAKICByZXR1cm4geDsKfQoKaWYoIShmMigpID09PSB1bmRlZmluZWQpKXsKICAkUFJJTlQoJyMxOiBmMigxKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgcHJvcGVydHkgb2YgdGhlIHZhcmlhYmxlIG9iamVjdCB3aXRoIHRoZQogKiBuYW1lIG9mIGEgZGVjbGFyZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgYW5kIGl0cyBhdHRyaWJ1dGVzCiAqIGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSB2YXJpYWJsZSBvYmplY3QgcHJvcGVydHkgd2l0aCBmb3JtYWwgcGFyYW1ldGVyCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgxKSA9PT0gIm51bWJlciIpKXsKICAkUFJJTlQoJyMxOiBmMSgxKSA9PT0gIm51bWJlciInKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKHgpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKDEpID09PSAxKSl7CiAgJFBSSU5UKCcjMTogZjIoMSkgPT09IDEnKTsKfQoK","commentary":"If there is already a property of the variable object with the\nname of a declared variable, the value of the property and its attributes\nare not changed","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBhIFZhbHVlIFByb3BlcnR5IG9mIHRoZSBHbG9iYWwgT2JqZWN0IHVuZGVyIHN0cmljdCBtb2RlIChOYU4pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTmFOID0gMTI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (NaN)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBhIFZhbHVlIFByb3BlcnR5IG9mIHRoZSBHbG9iYWwgT2JqZWN0IHVuZGVyIHN0cmljdCBtb2RlICh1bmRlZmluZWQpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHVuZGVmaW5lZCA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (undefined)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE9iamVjdCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqQmFrID0gT2JqZWN0Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0ID0gb2JqQmFrOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Object)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvMTAuMi4xLjEvMTAuMi4xLjEuMy8xMC4yLjEuMS4zLTQtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE51bWJlcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBudW1CYWsgPSBOdW1iZXI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgTnVtYmVyID0gbnVtQmFrOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Number)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHggPSAxOwogIGZ1bmN0aW9uIGYyKCl7CiAgICByZXR1cm4geDsKICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09IDEpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gMCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7CiAgCiAgdmFyIHggPSAxOwp9CgppZighKGYxKCkgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9CgoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAxKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB2YXIgeCA9IDE7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHdpdGgobXlPYmopewogICAgICByZXR1cm4geDsKICAgIH0KICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09ICJvYmoiKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gIm9iaiIpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7CgogIHZhciB4ID0gMTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB4OwogIH0KfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQppZiAoIE5hTiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyCmlmICggSW5maW5pdHkgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjogSW5maW5pdHkgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMzCmlmICggdW5kZWZpbmVkID09PSBudWxsICkgewogICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjNAppZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzUKaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHsKICAkRVJST1IoIiM1OiBwYXJzZUludCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzYKaWYgKCBwYXJzZUZsb2F0ID09PSBudWxsICkgewogICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM3CmlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyM4CmlmICggaXNGaW5pdGUgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjODogaXNGaW5pdGUgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM5CmlmICggZGVjb2RlVVJJID09PSBudWxsICkgewogICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzEwCmlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxMQppZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxMTogZW5jb2RlVVJJID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTIKaWYgKCBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMTMKaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE0CmlmICggRnVuY3Rpb24gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTQ6IEZ1bmN0aW9uID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTUKaWYgKCBTdHJpbmcgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE2CmlmICggTnVtYmVyID09PSBudWxsICkgewogICRFUlJPUigiIzE2OiBOdW1iZXIgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxNwppZiAoIEFycmF5ID09PSBudWxsICkgewogICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggRGF0ZSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxODogRGF0ZSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE5CmlmICggUmVnRXhwID09PSBudWxsICkgewogICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMAppZiAoIEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzIxCmlmICggRXZhbEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIxOiBFdmFsRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMgppZiAoIFJhbmdlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMwppZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI0CmlmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjQ6IFN5bnRheEVycm9yID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMjUKaWYgKCBUeXBlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI2CmlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7Cn0KCgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMjcKaWYgKCBNYXRoID09PSBudWxsICkgewogICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7Cn0KCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBpZiAoIE5hTiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE6IE5hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyCiAgaWYgKCBJbmZpbml0eSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI6IEluZmluaXR5ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzMKICBpZiAoIHVuZGVmaW5lZCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzQKICBpZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM0OiBldmFsID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzUKICBpZiAoIHBhcnNlSW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjNTogcGFyc2VJbnQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNgogIGlmICggcGFyc2VGbG9hdCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNwogIGlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM3OiBpc05hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyM4CiAgaWYgKCBpc0Zpbml0ZSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzg6IGlzRmluaXRlID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzkKICBpZiAoIGRlY29kZVVSSSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMAogIGlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTA6IGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMQogIGlmICggZW5jb2RlVVJJID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTE6IGVuY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMgogIGlmICggZW5jb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEzCiAgaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMxMzogT2JqZWN0ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE0CiAgaWYgKCBGdW5jdGlvbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE0OiBGdW5jdGlvbiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNQogIGlmICggU3RyaW5nID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNgogIGlmICggTnVtYmVyID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTY6IEZ1bmN0aW9uID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE3CiAgaWYgKCBBcnJheSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxOAogIGlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzIwOiBCb29sZWFuID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE4CiAgaWYgKCBEYXRlID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTg6IERhdGUgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMTkKICBpZiAoIFJlZ0V4cCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjAKICBpZiAoIEVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjA6IEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIxCiAgaWYgKCBFdmFsRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyMTogRXZhbEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIyCiAgaWYgKCBSYW5nZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjMKICBpZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjM6IFJlZmVyZW5jZUVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzI0CiAgaWYgKCBTeW50YXhFcnJvciA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI0OiBTeW50YXhFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNQogIGlmICggVHlwZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNgogIGlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyNjogVVJJRXJyb3IgPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzI3CiAgaWYgKCBNYXRoID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjc6IE1hdGggPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIFZhbHVlIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxXG4nKwonaWYgKCBOYU4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMlxuJysKJ2lmICggSW5maW5pdHkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyOiBJbmZpbml0eSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMzXG4nKwonaWYgKCB1bmRlZmluZWQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMzOiB1bmRlZmluZWQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIEZ1bmN0aW9uIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyM0XG4nKwonaWYgKCBldmFsID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM1XG4nKwonaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzU6IHBhcnNlSW50ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzZcbicrCidpZiAoIHBhcnNlRmxvYXQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM2OiBwYXJzZUZsb2F0ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzdcbicrCidpZiAoIGlzTmFOID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjOFxuJysKJ2lmICggaXNGaW5pdGUgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM4OiBpc0Zpbml0ZSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM5XG4nKwonaWYgKCBkZWNvZGVVUkkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM5OiBkZWNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTBcbicrCidpZiAoIGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTFcbicrCidpZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzExOiBlbmNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTJcbicrCidpZiAoIGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEyOiBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIENvbnN0cnVjdG9yIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxM1xuJysKJ2lmICggT2JqZWN0ID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxNFxuJysKJ2lmICggRnVuY3Rpb24gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNDogRnVuY3Rpb24gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTVcbicrCidpZiAoIFN0cmluZyA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE1OiBTdHJpbmcgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTZcbicrCidpZiAoIE51bWJlciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE2OiBGdW5jdGlvbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxN1xuJysKJ2lmICggQXJyYXkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNzogQXJyYXkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMThcbicrCidpZiAoIEJvb2xlYW4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxOFxuJysKJ2lmICggRGF0ZSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE4OiBEYXRlID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzE5XG4nKwonaWYgKCBSZWdFeHAgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOTogUmVnRXhwID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIwXG4nKwonaWYgKCBFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMVxuJysKJ2lmICggRXZhbEVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjE6IEV2YWxFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMlxuJysKJ2lmICggUmFuZ2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIyOiBSYW5nZUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIzXG4nKwonaWYgKCBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyNFxuJysKJ2lmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyNDogU3ludGF4RXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjVcbicrCidpZiAoIFR5cGVFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI1OiBUeXBlRXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjZcbicrCidpZiAoIFVSSUVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIE90aGVyIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMyN1xuJysKJ2lmICggTWF0aCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdOYU4nICkgewogICAgJEVSUk9SKCIjMTogJ05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgJEVSUk9SKCIjMTogJ0luZmluaXR5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICd1bmRlZmluZWQnICkgewogICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdldmFsJyApIHsKICAgICRFUlJPUigiIzE6ICdldmFsJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAkRVJST1IoIiMxOiAncGFyc2VJbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ3BhcnNlRmxvYXQnICkgewogICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2lzTmFOJyApIHsKICAgICRFUlJPUigiIzE6ICdpc05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgJEVSUk9SKCIjMTogJ2lzRmluaXRlJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUkknICkgewogICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICRFUlJPUigiIzE6ICdkZWNvZGVVUklDb21wb25lbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAkRVJST1IoIiMxOiAnZW5jb2RlVVJJJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdlbmNvZGVVUklDb21wb25lbnQnICkgewogICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdPYmplY3QnICkgewogICAgJEVSUk9SKCIjMTogJ3Byb3BlcnR5ICdPYmplY3QnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgJEVSUk9SKCIjMTogJ0Z1bmN0aW9uJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdTdHJpbmcnICkgewogICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnTnVtYmVyJyApIHsKICAgICRFUlJPUigiIzE6ICdOdW1iZXInIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICRFUlJPUigiIzE6ICdBcnJheScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnQm9vbGVhbicgKSB7CiAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRGF0ZScgKSB7CiAgICAkRVJST1IoIiMxOiAnRGF0ZScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWdFeHAnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Vycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRXZhbEVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFdmFsRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1JhbmdlRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JlZmVyZW5jZUVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnU3ludGF4RXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1N5bnRheEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1R5cGVFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnVVJJRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdNYXRoJyApIHsKICAgICRFUlJPUigiIzE6ICdNYXRoJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ05hTicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgICAkRVJST1IoIiMxOiAnSW5maW5pdHknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAndW5kZWZpbmVkJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ2V2YWwnICkgewogICAgICAkRVJST1IoIiMxOiAnZXZhbCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwYXJzZUludCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUZsb2F0JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNOYU4nICkgewogICAgICAkRVJST1IoIiMxOiAnaXNOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgICAkRVJST1IoIiMxOiAnaXNGaW5pdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUklDb21wb25lbnQnICkgewogICAgICAkRVJST1IoIiMxOiAnZGVjb2RlVVJJQ29tcG9uZW50JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAgICRFUlJPUigiIzE6ICdlbmNvZGVVUkknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZW5jb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ09iamVjdCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwcm9wZXJ0eSAnT2JqZWN0JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgICAkRVJST1IoIiMxOiAnRnVuY3Rpb24nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnU3RyaW5nJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdOdW1iZXInICkgewogICAgICAkRVJST1IoIiMxOiAnTnVtYmVyJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0FycmF5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Jvb2xlYW4nICkgewogICAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdEYXRlJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0RhdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1JlZ0V4cCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFdmFsRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnRXZhbEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnUmFuZ2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdSZWZlcmVuY2VFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdTeW50YXhFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdTeW50YXhFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnVHlwZUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1VSSUVycm9yJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSAKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ01hdGgnICkgewogICAgICAkRVJST1IoIiMxOiAnTWF0aCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0KICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdOYU5cJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdJbmZpbml0eVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0luZmluaXR5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwndW5kZWZpbmVkXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwndW5kZWZpbmVkXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdldmFsXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZXZhbFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ3BhcnNlSW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VJbnRcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdwYXJzZUZsb2F0XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VGbG9hdFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ2lzTmFOXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnaXNOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdpc0Zpbml0ZVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ2lzRmluaXRlXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdPYmplY3RcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdPYmplY3RcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdGdW5jdGlvblwnKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRnVuY3Rpb25cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTdHJpbmdcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdTdHJpbmdcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdOdW1iZXJcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOdW1iZXJcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdBcnJheVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0FycmF5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnQm9vbGVhblwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0Jvb2xlYW5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdEYXRlXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRGF0ZVwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZ0V4cFwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1JlZ0V4cFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ0Vycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdFdmFsRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdFdmFsRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdSYW5nZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmFuZ2VFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZmVyZW5jZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmVmZXJlbmNlRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTeW50YXhFcnJvclwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1N5bnRheEVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVHlwZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnVHlwZUVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVVJJRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdVUklFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdNYXRoXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnTWF0aFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRBMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWN1cnNpdmUgZnVuY3Rpb24gY2FsbAogKi8KCnZhciB5OwoKZnVuY3Rpb24gZihhKXsKICB2YXIgeDsKICAKICBpZiAoYSA9PT0gMSkgCiAgICByZXR1cm4geDsKICBlbHNlIHsKICAgIGlmKHggPT09IHVuZGVmaW5lZCkgewogICAgICB4ID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHggPSAxOwogICAgfQogICAgcmV0dXJuIGYoMSk7CiAgfQp9Cgp5ID0gZigwKTsKCmlmKCEoeSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCIjMTogUmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNoYXJlcyBleGVjdXRpb24gY29udGV4dCIpOwp9Cgo=","commentary":"Every function call enters a new execution context","description":"Recursive function call","path":"TestCases/ch10/10.4/S10.4A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2VxdWVuY2Ugb2YgZnVuY3Rpb24gY2FsbHMKICovCgp2YXIgeTsKCmZ1bmN0aW9uIGYoKXsKICB2YXIgeDsKICAKICBpZih4ID09PSB1bmRlZmluZWQpIHsKICAgIHggPSAwOwogIH0gZWxzZSB7CiAgICB4ID0gMTsKICB9CiAgCiAgcmV0dXJuIHg7Cn0KCnkgPSBmKCk7CnkgPSBmKCk7CgppZighKHkgPT09IDApKXsKICAkRVJST1IoIiMxOiBTZXF1ZW5jZWQgZnVuY3Rpb24gY2FsbHMgc2hhcmVzIGV4ZWN1dGlvbiBjb250ZXh0Iik7Cn0KCg==","commentary":"Every function call enters a new execution context","description":"Sequence of function calls","path":"TestCases/ch10/10.4/S10.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHZhciB4ID0gMSwgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKdmFyIHggPSAxOwoKaWYgKHRoaXMueCAhPT0gMSkgewogICRFUlJPUigiIzE6IHZhcmlhYmxlIHggaXMgYSBwcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0Iik7Cn0KCmlmKGRlbGV0ZSB0aGlzLnggIT09IGZhbHNlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as var x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHggPSAxLCBmYWlscwogKiBAbm9TdHJpY3QKICovCgp4ID0gMTsKCmlmICh0aGlzLnggIT09IDEpIHsKICAkRVJST1IoIiMxOiB2YXJpYWJsZSB4IGlzIGEgcHJvcGVydHkgb2YgZ2xvYmFsIG9iamVjdCIpOwp9CgppZihkZWxldGUgdGhpcy54ICE9PSB0cnVlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQNCiAqLw0KDQp2YXIgX18xMF80XzJfMV8xXzEgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KDQogICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICB2YXIgX18xMF80XzJfMV8xXzEgPSAic3RyMSI7DQogICAgaWYoX2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfMV8xIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICBldmFsKCJcJ3N0cjFcJyA9PT0gX18xMF80XzJfMV8xXzEiKSA9PT0gdHJ1ZSkgeyAgIC8vIGRpcmVjdCBldmFsDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIHJldHVybiBmYWxzZTsNCiAgfSBmaW5hbGx5IHsNCiAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzFfMTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKG5lc3RlZCBmdW5jdGlvbikNCiAqLw0KDQp2YXIgX18xMF80XzJfMV8yID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzIgPSAic3RyMSI7DQogICAgICAgICAgICBmdW5jdGlvbiBmb28oKSB7DQogICAgICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIyIjsNCiAgICAgICAgICAgICAgICBpZihfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfMiIpID09PSB0cnVlKSB7ICAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmb28oKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfMV8yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (nested function)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGNhdGNoIGJsb2NrKQ0KICovDQoNCnZhciBfXzEwXzRfMl8xXzMgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIHZhciBfZXZhbCA9IGV2YWw7DQogICAgICAgICAgICB2YXIgX18xMF80XzJfMV8zID0gInN0cjEiOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB0aHJvdyAiZXJyb3IiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV8zID0gInN0cjIiOw0KICAgICAgICAgICAgICAgIGlmIChfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8zIikgPT09IHRydWUgJiYgIC8vIGluZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfMyIpID09PSB0cnVlKSB7ICAvLyBkaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV8zOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (catch block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKHdpdGggYmxvY2spDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfNCA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgICAgICAgICAgIG8uX18xMF80XzJfMV80ID0gInN0cjIiOw0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzQgPSAic3RyMSI7DQogICAgICAgICAgICB3aXRoIChvKSB7DQogICAgICAgICAgICAgICAgaWYgKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV80IikgPT09IHRydWUpIHsgIC8vIGRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfNDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Indirect call to eval has context set to global context (with block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEluZGlyZWN0IGNhbGwgdG8gZXZhbCBoYXMgY29udGV4dCBzZXQgdG8gZ2xvYmFsIGNvbnRleHQgKGluc2lkZSBhbm90aGVyIGV2YWwpDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfNSA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzUgPSAic3RyMSI7DQogICAgICAgICAgICB2YXIgciA9IGV2YWwoIlwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV81ID0gXCdzdHIyXCc7IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgX2V2YWwoXCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzUgXCIpICYmIFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChcIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzVcIilcDQogICAgICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICAgICAgICAgIHJldHVybiByOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV81Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (inside another eval)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTItYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGlyZWN0IHZhbCBjb2RlIGluIG5vbi1zdHJpY3QgbW9kZSAtIGNhbiBpbnN0YW50aWF0ZSB2YXJpYWJsZSBpbiBjYWxsaW5nIGNvbnRleHQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgeCA9IDA7DQogIHJldHVybiBmdW5jdGlvbiBpbm5lcigpIHsNCiAgICAgZXZhbCgidmFyIHggPSAxIik7DQogICAgIGlmICh4ID09PSAxKQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgfSAoKTsNCiAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Direct val code in non-strict mode - can instantiate variable in calling context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3RyaWN0IG1vZGUgZXZhbCBjb2RlIGNhbm5vdCBpbnN0YW50aWF0ZSBmdW5jdGlvbnMgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsZXIgdG8gZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGV2YWwoIihmdW5jdGlvbiBmdW4oeCl7IHJldHVybiB4IH0pKDEwKSIpOw0KICAgICAgICByZXR1cm4gdHlwZW9mIChmdW4pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTMtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEaXJlY3QgZXZhbCBjb2RlIGluIHN0cmljdCBtb2RlIC0gY2Fubm90IGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGluZyBjb250ZXh0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfMTBfNF8yXzNfY18xX3MgPSAwOw0KICBmdW5jdGlvbiBfMTBfNF8yXzNfY18xX3NGdW5jKCkgew0KICAgICBldmFsKCIndXNlIHN0cmljdCc7dmFyIF8xMF80XzJfM19jXzFfcyA9IDEiKTsNCiAgICAgcmV0dXJuIF8xMF80XzJfM19jXzFfcz09PTA7DQogIH0gDQogIHJldHVybiBfMTBfNF8yXzNfY18xX3NGdW5jKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Direct eval code in strict mode - cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLTMtYy0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGNvZGUgaW4gc3RyaWN0IG1vZGUgLSBldmFsIGNhbm5vdCBpbnN0YW50aWF0ZSB2YXJpYWJsZSBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxpbmcgY29udGV4dA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgXzEwXzRfMl8zX2NfMl9zID0gMDsNCiAgZnVuY3Rpb24gXzEwXzRfMl8zX2NfMl9zRnVuYygpIHsNCiAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICBldmFsKCJ2YXIgXzEwXzRfMl8zX2NfMl9zID0gMSIpOw0KICAgICByZXR1cm4gXzEwXzRfMl8zX2NfMl9zPT09MDsNCiAgfQ0KICByZXR1cm4gXzEwXzRfMl8zX2NfMl9zRnVuYygpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Calling code in strict mode - eval cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgdmFyaWFibGUgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgdGhhdCBpbnZva2VkIHRoZSBldmFsIGlmIHRoZSBjb2RlIG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgaXMgc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpldmFsKCJ2YXIgeCA9IDc7Iik7DQp4ID0gOTsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","commentary":"","description":"Strict Mode - eval code cannot instantiate variable in the variable environment of the calling context that invoked the eval if the code of the calling context is strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTBfNF8yXzFfMl9mdW4oKXt9Iik7DQogICAgICAgIHJldHVybiB0eXBlb2YgXzEwXzRfMl8xXzJfZnVuID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvMTAuNC4yLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsIHdoaWNoIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTBfNF8yXzFfNF9mdW4oKXt9Iik7DQogICAgICAgIHJldHVybiB0eXBlb2YgXzEwXzRfMl8xXzRfZnVuID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval which is contained in strict mode code","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-4-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEwLzEwLjQvMTAuNC4yL1MxMC40LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaWN0IGluZGlyZWN0IGV2YWwgc2hvdWxkIG5vdCBsZWFrIHRvcCBsZXZlbAogKiBkZWNsYXJhdGlvbnMgaW50byB0aGUgZ2xvYmFsIHNjb3BlCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwppZiAoISgnZm9vJyBpbiB0aGlzKSkgewogICgxLGV2YWwpKCcidXNlIHN0cmljdCI7IHZhciBmb28gPSA4ODsnKTsKICBpZiAoJ2ZvbycgaW4gdGhpcykgewogICAgJEVSUk9SKCJTdHJpY3QgaW5kaXJlY3QgZXZhbCBsZWFrZWQgYSB0b3AgbGV2ZWwgZGVjbGFyYXRpb24iKTsKICB9Cn0K","commentary":"","description":"Strict indirect eval should not leak top level\ndeclarations into the global scope","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKdmFyIHggPSAxOwp2YXIgeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB4ID0gMTsKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp2YXIgeCA9IDE7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnRoaXMueSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp2YXIgeSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnggPSAxOwp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOyAKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKZnVuY3Rpb24gZigpewogIHZhciBpOwogIHZhciBqOwogIHN0cjEgPSAnJzsKICBzdHIyID0gJyc7CiAgdmFyIHggPSAxOwogIHZhciB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIGYoKXsKICB2YXIgaTsKICB2YXIgajsKICBzdHIxID0gJyc7CiAgc3RyMiA9ICcnOwoKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQoKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CgogIHRoaXMueCA9IDE7CiAgdGhpcy55ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","noStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICB2YXIgeCA9IDE7CiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIHRoaXMueSA9IDI7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7IAp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCgogIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB2YXIgeCA9IDE7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CiAgCiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHRoaXMueSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB2YXIgeSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHZhciB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB4ID0gMTsKICB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKDEpID09PSAnbnVtYmVyJyAmJiBiYXIuY2FsbCgxKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (Number)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoc3RyaW5nKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKCcxJykgPT09ICdzdHJpbmcnICYmIGJhci5jYWxsKCcxJykgPT09ICdvYmplY3QnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"this is not coerced to an object in strict mode (string)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAodW5kZWZpbmVkKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKSA9PT0gJ3VuZGVmaW5lZCcgJiYgYmFyLmNhbGwoKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (undefined)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoYm9vbGVhbikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gYmFyKCkNCiAgew0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KDQogIHJldHVybiBmb28uY2FsbCh0cnVlKSA9PT0gJ2Jvb2xlYW4nICYmIGJhci5jYWxsKHRydWUpID09PSAnb2JqZWN0JzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (boolean)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gdGhpcyBpcyBub3QgY29lcmNlZCB0byBhbiBvYmplY3QgaW4gc3RyaWN0IG1vZGUgKGZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlIHN0cmljdCc7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfSANCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvb2JhcigpDQogIHsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbChmb29iYXIpID09PSAnZnVuY3Rpb24nICYmIGJhci5jYWxsKGZvb2JhcikgPT09ICdmdW5jdGlvbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (function)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0NCnJldHVybiBmKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGYoKSB7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0NCnJldHVybiBmKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjMvMTAuNC4zLTEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy9TMTAuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGVuIGNhbGxpbmcgYSBzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIGFzIGEKICogZnVuY3Rpb24sICJ0aGlzIiBzaG91bGQgYmUgYm91bmQgdG8gdW5kZWZpbmVkLgogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKdmFyIHRoYXQgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpOwppZiAodGhhdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogInRoaXMiIGxlYWtlZCBhczogJyArIHRoYXQpOwp9Cgo=","commentary":"","description":"When calling a strict anonymous function as a\nfunction, \"this\" should be bound to undefined.","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/S10.4.3_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpcyBpbW11dGFibGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgPSAxMCIpOw0KICAgICAgICAgICAgfSkoMzApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - arguments object is immutable","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGluIGEgc3RyaWN0IGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCg0KZnVuY3Rpb24gZl8xMF81XzFfZ3MoKXsNCiAgICBhcmd1bWVudHMgPSA3Ow0KfQ0KDQo=","commentary":"","description":"Strict Mode - arguments cannot be assigned to in a strict function","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cyBvYmplY3QgaXMgaW1tdXRhYmxlIGluIGV2YWwnZWQgZnVuY3Rpb25zDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiKGZ1bmN0aW9uIF8xMF81XzdfYl8xX2Z1bigpIHsgYXJndW1lbnRzID0gMTA7fSAoKSk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - arguments object is immutable in eval'ed functions","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGFyZ3VtZW50cyBvYmplY3QgaW5kZXggYXNzaWdubWVudCBpcyBhbGxvd2VkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBfMTBfNV83X2JfMl9mdW4oKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbN10gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbN10gPT09IDEyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBfMTBfNV83X2JfMl9mdW4oMzApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object index assignment is allowed","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIEFkZGluZyBwcm9wZXJ0eSB0byB0aGUgYXJndW1lbnRzIG9iamVjdCBzdWNjZXNzZnVsIHVuZGVyIHN0cmljdCBtb2RlIA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEwXzVfN19iXzNfZnVuKCkgew0KICAgICAgICAgICAgYXJndW1lbnRzWzFdID0gMTI7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdID0gMzAgJiYgYXJndW1lbnRzWzFdID09PSAxMjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gXzEwXzVfN19iXzNfZnVuKDMwKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Adding property to the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNS8xMC41LTctYi00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIERlbGV0aW5nIHByb3BlcnR5IG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IHN1Y2Nlc3NmdWwgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGZ1bmN0aW9uIF8xMF81XzdfYl80X2Z1bigpIHsNCiAgICAgICAgICAgIHZhciBfMTBfNV83X2JfNF8xID0gYXJndW1lbnRzWzBdID09PSAzMCAmJiBhcmd1bWVudHNbMV0gPT09IDEyOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1sxXTsNCiAgICAgICAgICAgIHZhciBfMTBfNV83X2JfNF8yID0gYXJndW1lbnRzWzBdID09PSAzMCAmJiB0eXBlb2YgYXJndW1lbnRzWzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHJldHVybiBfMTBfNV83X2JfNF8xICYmIF8xMF81XzdfYl80XzI7DQogICAgICAgIH07DQogICAgICAgIHJldHVybiBfMTBfNV83X2JfNF9mdW4oMzAsIDEyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Deleting property of the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIHJlbWFpbnMgc2FtZSBhZnRlciBjaGFuZ2luZyBhY3R1YWwgcGFyYW1ldGVycyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICAndXNlIHN0cmljdCc7DQogICAgYSA9IDE7IGIgPSAnc3RyJzsgYyA9IDIuMTsNCiAgICByZXR1cm4gKGFyZ3VtZW50c1swXSA9PT0gMTAgJiYgYXJndW1lbnRzWzFdID09PSAnc3NzJyAmJiBhcmd1bWVudHNbMl0gPT09IDEpOw0KICB9DQogIHJldHVybiBmb28oMTAsICdzc3MnLCAxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] remains same after changing actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50c1tpXSBjaGFuZ2Ugd2l0aCBhY3R1YWwgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgIGEgPSAxOyBiID0gJ3N0cic7IGMgPSAyLjE7DQogICAgaWYoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gJ3N0cicgJiYgYXJndW1lbnRzWzJdID09PSAyLjEpDQogICAgICByZXR1cm4gdHJ1ZTsgICANCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] change with actual parameters","path":"TestCases/ch10/10.6/10.6-10-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIGRvZXNuJ3QgbWFwIHRvIGFjdHVhbCBwYXJhbWV0ZXJzIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICAndXNlIHN0cmljdCc7ICAgIA0KICAgIGFyZ3VtZW50c1swXSA9IDE7IGFyZ3VtZW50c1sxXSA9ICdzdHInOyBhcmd1bWVudHNbMl0gPSAyLjE7DQogICAgcmV0dXJuIDEwID09PSBhICYmICdzc3MnID09PSBiICYmIDEgPT09IGM7DQogIH0NCiAgcmV0dXJuIGZvbygxMCwnc3NzJywxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] doesn't map to actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEwLWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50c1tpXSBtYXAgdG8gYWN0dWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICBmdW5jdGlvbiBmb28oYSxiLGMpDQogIHsNCiAgICBhcmd1bWVudHNbMF0gPSAxOyBhcmd1bWVudHNbMV0gPSAnc3RyJzsgYXJndW1lbnRzWzJdID0gMi4xOw0KICAgIGlmKDEgPT09IGEgJiYgJ3N0cicgPT09IGIgJiYgMi4xID09PSBjKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgDQogIH0NCiAgcmV0dXJuIGZvbygxMCwnc3NzJywxKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments[i] map to actual parameter","path":"TestCases/ch10/10.6/10.6-10-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTExLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBPYmplY3QgaGFzIGluZGV4IHByb3BlcnR5ICcwJyBhcyBpdHMgb3duIHByb3BlcnR5LCBpdCBzaG91bGRlIGJlIHdyaXRhYmxlLCBlbnVtZXJhYmxlLCBjb25maWd1cmFibGUgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gT2JqZWN0LnByb3RvdHlwZVswXSAoU3RlcCAxMS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50cyB9KSgxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IChhcmdPYmpbMF0gPT09IDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBhcmdPYmpbMF0gPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqWzBdID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09ialswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Arguments Object has index property '0' as its own property, it shoulde be writable, enumerable, configurable and does not invoke the setter defined on Object.prototype[0] (Step 11.b)","path":"TestCases/ch10/10.6/10.6-11-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVlIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgaXMgYWxsb3dlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZWU7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing callee property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEyLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGhhcyBjb3JyZWN0IGF0dHJpYnV0ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVlIik7DQogIGlmKGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdwdXQnKSA9PSBmYWxzZSkNCiAgICByZXR1cm4gdHJ1ZTsgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.callee has correct attributes","path":"TestCases/ch10/10.6/10.6-12-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVyIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgaXMgYWxsb3dlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZXI7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing caller property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEluIG5vbi1zdHJpY3QgbW9kZSwgYXJndW1lbnRzIG9iamVjdCBzaG91bGQgaGF2ZSBpdHMgb3duICdjYWxsZWUnIHByb3BlcnR5IGRlZmluZWQgKFN0ZXAgMTMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjYWxsZWUiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzIH0pKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSB0eXBlb2YgYXJnT2JqLmNhbGxlZSA9PT0gImZ1bmN0aW9uIjsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBhcmdPYmouY2FsbGVlID0gMTAwMTsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gKGFyZ09iai5jYWxsZWUgPT09IDEwMDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gImNhbGxlZSIgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmdPYmouY2FsbGVlOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jYWxsZWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"In non-strict mode, arguments object should have its own 'callee' property defined (Step 13.a)","path":"TestCases/ch10/10.6/10.6-13-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQWNjZXNzaW5nIGNhbGxlciBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgb2JqZWN0IHRocm93cyBUeXBlRXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB0cnkgDQogIHsNCiAgICBhcmd1bWVudHMuY2FsbGVyOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing caller property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlciBleGlzdHMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlciIpOw0KICByZXR1cm4gZGVzYyE9PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.caller exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlciBpcyBub24tY29uZmlndXJhYmxlIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVyIik7DQogIA0KICByZXR1cm4gKGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiANCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSA9PSBmYWxzZSAgJiYgDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT0gdHJ1ZSAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT0gdHJ1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.caller is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQWNjZXNzaW5nIGNhbGxlZSBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgb2JqZWN0IHRocm93cyBUeXBlRXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB0cnkgDQogIHsNCiAgICBhcmd1bWVudHMuY2FsbGVlOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Accessing callee property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlZSBpcyBleGlzdHMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlZSIpOw0KICByZXR1cm4gZGVzYyAhPT0gdW5kZWZpbmVkOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee is exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTEzLWMtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzLmNhbGxlZSBpcyBub24tY29uZmlndXJhYmxlIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICAndXNlIHN0cmljdCc7ICAgIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZWUiKTsNCiAgcmV0dXJuIChkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCd2YWx1ZScpID09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3dyaXRhYmxlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT0gdHJ1ZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PSB0cnVlKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.callee is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ2NhbGxlZScgZXhpc3RzIGFuZCAnY2FsbGVyJyBleGlzdHMgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCiAgICAgICAgcmV0dXJuIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVlIikgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'callee' exists and 'caller' exists under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgaW4gJ2NhbGxlcicgaXMgZmFsc2UgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIF8xMF82XzE0X2JfMSBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgIGlmIChhcmdPYmouaGFzT3duUHJvcGVydHkoXzEwXzZfMTRfYl8xKSAmJiBfMTBfNl8xNF9iXzEgPT09ICJjYWxsZXIiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICF2ZXJpZnlFbnVtZXJhYmxlICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'caller' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gYWNjZXNzaW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSBpbiAnY2FsbGVyJyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZXIgPSB7fTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'caller' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgaW4gJ2NhbGxlZScgaXMgZmFsc2UgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIF8xMF82XzE0X2NfMSBpbiBhcmdPYmopIHsNCiAgICAgICAgICAgIGlmIChhcmdPYmouaGFzT3duUHJvcGVydHkoXzEwXzZfMTRfY18xKSAmJiBfMTBfNl8xNF9jXzEgPT09ICJjYWxsZWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICF2ZXJpZnlFbnVtZXJhYmxlICYmIGFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'callee' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTE0LWMtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gYWNjZXNzaW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSBpbiAnY2FsbGVlJyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZWUgPSB7fTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'callee' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbiwgYnV0IGRvZXMgbm90IHRocm93IGFuIGVhcmx5IGVycm9yDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGZfMTBfNl8xX2dzKCl7DQogICAgcmV0dXJuIGFyZ3VtZW50cy5jYWxsZWU7DQp9DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function, but does not throw an early error","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSAuDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZl8xMF82XzFfZ3MoKXsNCiAgICByZXR1cm4gYXJndW1lbnRzLmNhbGxlZTsNCn0NCmZfMTBfNl8xX2dzKCk7DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function","negative":".","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgQXJndW1lbnRzIGlzIHNldCB0byBPYmplY3QgcHJvdG90eXBlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihhcmd1bWVudHMpID09PSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoe30pKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Prototype]] property of Arguments is set to Object prototype object","path":"TestCases/ch10/10.6/10.6-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGggcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBleGlzdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywibGVuZ3RoIik7DQogIHJldHVybiBkZXNjICE9PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length property of arguments object exists","path":"TestCases/ch10/10.6/10.6-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgaGFzIGNvcnJlY3QgYXR0cmlidXRlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJsZW5ndGgiKTsNCiAgaWYoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object has correct attributes","path":"TestCases/ch10/10.6/10.6-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtMy5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gZXhpc3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgIHZhciBhcmd1bWVudHM9IHVuZGVmaW5lZDsNCglyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCAhPT0gdW5kZWZpbmVkfSkoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object for 0 argument function exists","path":"TestCases/ch10/10.6/10.6-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTYtNC5qcw0KICogQGRlc2NyaXB0aW9uICdsZW5ndGgnIHByb3BlcnR5IG9mIGFyZ3VtZW50cyBvYmplY3QgZm9yIDAgYXJndW1lbnQgZnVuY3Rpb24gY2FsbCBpcyAwIGV2ZW4gd2l0aCBmb3JtYWwgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICB2YXIgYXJndW1lbnRzPSB1bmRlZmluZWQ7DQoJcmV0dXJuIChmdW5jdGlvbiAoYSxiLGMpIHtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMH0pKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'length' property of arguments object for 0 argument function call is 0 even with formal parameters","path":"TestCases/ch10/10.6/10.6-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTAvMTAuNi8xMC42LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBPYmplY3QgaGFzIGxlbmd0aCBhcyBpdHMgb3duIHByb3BlcnR5IGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoIChTdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHMgfSkoKTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGFyZ09iai5sZW5ndGggPT09IDApOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09iai5sZW5ndGggPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqLmxlbmd0aCA9PT0gMTAwMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmdPYmoubGVuZ3RoOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Arguments Object has length as its own property and does not invoke the setter defined on Object.prototype.length (Step 7)","path":"TestCases/ch10/10.6/10.6-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGNvbnRyb2wgZW50ZXJzIGFuIGV4ZWN1dGlvbiBjb250ZXh0IGZvciBmdW5jdGlvbiBjb2RlLAogKiBhbiBhcmd1bWVudHMgb2JqZWN0IGlzIGNyZWF0ZWQgYW5kIGluaXRpYWxpc2VkCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIGZ1bmN0aW9uIHdoaWNoIHVzZXMgYXJndW1lbnRzIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYxKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYyKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"When control enters an execution context for function code,\nan arguments object is created and initialised","description":"Executing function which uses arguments object","path":"TestCases/ch10/10.6/S10.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlCiAqIGNyZWF0ZWQgYXJndW1lbnRzIG9iamVjdCBpcyB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUKICogdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZT09PU9iamVjdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsKfQp0cnl7CiAgaWYoZjEoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMxOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTt9Owp0cnl7CiAgaWYoZjIoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMyOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzI6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the\ncreated arguments object is the original Object prototype object, the one\nthat is the initial value of Object.prototype","description":"Checking arguments.constructor.prototype===Object.prototype","path":"TestCases/ch10/10.6/S10.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.callee property","path":"TestCases/ch10/10.6/S10.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJjYWxsZWUiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgY2FsbGVlIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAiY2FsbGVlIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.callee property fails","path":"TestCases/ch10/10.6/S10.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMuY2FsbGVlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiAoZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWUpOwp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBjYWxsZWUgaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmNhbGxlZSk7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.callee property fails","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5jYWxsZWUgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdmFyIHN0ciA9ICJzb21ldGhpbmcgZGlmZmVyZW50IjsKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgYXJndW1lbnRzLmNhbGxlZSA9IHN0cjsKICByZXR1cm4gYXJndW1lbnRzOwp9Cgp0cnl7CiAgaWYoZjEoKS5jYWxsZWUgIT09IHN0cil7CiAgICAkRVJST1IoIiMxOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IFJlYWRPbmx5IH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgICBhcmd1bWVudHMuY2FsbGVlID0gc3RyOwogICAgcmV0dXJuIGFyZ3VtZW50czsKICB9CnRyeXsKICBpZihmMigpLmNhbGxlZSAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgY2FsbGVlIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Overriding arguments.callee property","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBjYWxsZWUgaXMgdGhlCiAqIEZ1bmN0aW9uIG9iamVjdCBiZWluZyBleGVjdXRlZAogKgogKiBAcGF0aCBjaDEwLzEwLjYvUzEwLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgYXJndW1lbnRzLmNhbGxlZSA9PT0gZnVuY3Rpb24gb2JqZWN0CiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuY2FsbGVlOwp9Cgp0cnl7CiAgaWYoZjEgIT09IGYxKCkpewogICAgJEVSUk9SKCcjMTogYXJndW1lbnRzLmNhbGxlZSA9PT0gZjEnKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZTt9OwoKdHJ5ewogIGlmKGYyICE9PSBmMigpKXsKICAgICRFUlJPUignIzI6IGFyZ3VtZW50cy5jYWxsZWUgPT09IGYyJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBleGlzdHMiKTsKfQoK","commentary":"The initial value of the created property callee is the\nFunction object being executed","description":"Checking that arguments.callee === function object","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJsZW5ndGgiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAibGVuZ3RoIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGxlbmd0aCBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYyKCkpewogICAgJEVSUk9SKCIjMjogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5sZW5ndGggcHJvcGVydHkKICovCgp2YXIgc3RyID0gInNvbWV0aGluZyBkaWZmZXJlbnQiOwovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICBhcmd1bWVudHMubGVuZ3RoID0gc3RyOwogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICBpZihmMSgpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICAgIGFyZ3VtZW50cy5sZW5ndGggPSBzdHI7CiAgICByZXR1cm4gYXJndW1lbnRzOwogIH07CnRyeXsKICBpZihmMigpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Overriding arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBsZW5ndGggaXMgdGhlIG51bWJlcgogKiBvZiBhY3R1YWwgcGFyYW1ldGVyIHZhbHVlcyBzdXBwbGllZCBieSB0aGUgY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLCB0aGF0IHJldHVybmVkIGFyZ3VtZW50cy5sZW5ndGgKICovCgpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMubGVuZ3RoOwp9CgovL0NIRUNLIzEKaWYoIShmMSgpID09PSAwKSl7CiAgJEVSUk9SKCcjMTogYXJndW1lbnQubGVuZ3RoID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZighKGYxKDApID09PSAxKSl7CiAgJEVSUk9SKCcjMjogYXJndW1lbnQubGVuZ3RoID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZighKGYxKDAsIDEpID09PSAyKSl7CiAgJEVSUk9SKCcjMzogYXJndW1lbnQubGVuZ3RoID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZighKGYxKDAsIDEsIDIpID09PSAzKSl7CiAgJEVSUk9SKCcjNDogYXJndW1lbnQubGVuZ3RoID09PSAzJyk7Cn0KCi8vQ0hFQ0sjNQppZighKGYxKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjNTogYXJndW1lbnQubGVuZ3RoID09PSA0Jyk7Cn0KCnZhciBmMiA9IGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKCi8vQ0hFQ0sjNgppZighKGYyKCkgPT09IDApKXsKICAkRVJST1IoJyM2OiBhcmd1bWVudC5sZW5ndGggPT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmKCEoZjIoMCkgPT09IDEpKXsKICAkRVJST1IoJyM3OiBhcmd1bWVudC5sZW5ndGggPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmKCEoZjIoMCwgMSkgPT09IDIpKXsKICAkRVJST1IoJyM4OiBhcmd1bWVudC5sZW5ndGggPT09IDInKTsKfQoKLy9DSEVDSyM5CmlmKCEoZjIoMCwgMSwgMikgPT09IDMpKXsKICAkRVJST1IoJyM5OiBhcmd1bWVudC5sZW5ndGggPT09IDMnKTsKfQoKLy9DSEVDSyMxMAppZighKGYyKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjMTA6IGFyZ3VtZW50Lmxlbmd0aCA9PT0gNCcpOwp9Cgo=","commentary":"The initial value of the created property length is the number\nof actual parameter values supplied by the caller","description":"Create function, that returned arguments.length","path":"TestCases/ch10/10.6/S10.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXQgYXJndW1lbnRzIG9mIGZ1bmN0aW9uCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHByb3BlcnR5IGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIGYxKCkgewogIHJldHVybiBhcmd1bWVudHM7Cn0KICAKLy9DSEVDSyMxLTUKZm9yKHZhciBpID0gMTsgaSA8IDU7IGkrKyl7ICAKaWYgKGYxKDEsMiwzLDQsNSlbaV0gIT09IChpKzEpKQogICRFUlJPUigiIyIraSsiOiBSZXR1cm5pbmcgZnVuY3Rpb24ncyBhcmd1bWVudHMgd29yayB3cm9uZywgZjEoMSwyLDMsNCw1KVsiK2krIl0gIT09ICIrKGkrMSkpOwp9Cgo=","commentary":"Get arguments of function","description":"Use property arguments","path":"TestCases/ch10/10.6/S10.6_A7.js"}]}} \ No newline at end of file diff --git a/website/json/ch11.json b/website/json/ch11.json index dfa940d47..1ac13614d 100644 --- a/website/json/ch11.json +++ b/website/json/ch11.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch11","numTests":"1310","tests":[{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xLzExLjEuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyBvYmplY3QgYXQgdGhlIGdsb2JhbCBzY29wZSBpcyBub3QgdW5kZWZpbmVkDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICh0aGlzPT09dW5kZWZpbmVkKSB7DQogICAgdGhyb3cgTm90RWFybHlFcnJvcjsNCn0NCg==","commentary":"","description":"Strict Mode - 'this' object at the global scope is not undefined","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.1/11.1.1-1gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgInRoaXMiIGlzIHJlc2VydmVkIHdvcmQKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRoaXM9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdGhpcyA9IDE7Cgo=","commentary":"The \"this\" is reserved word","description":"Checking if execution of \"this=1\" fails","negative":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgZnVuY3Rpb25zLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0EzLjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgInRoaXMiIG9yIGV2YWwoInRoaXMiKQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gdGhpc30KaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7cmV0dXJuIHRoaXN9IE15RnVuY3Rpb24oKSA9PT0gdGhpcy4gQWN0dWFsOiAnICsgKE15RnVuY3Rpb24oKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfQppZiAoTXlGdW5jdGlvbigpICE9PSB0aGlzKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfSBNeUZ1bmN0aW9uKCkgPT09IHRoaXMuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uKCkpKTsKfQoKCgo=","commentary":"Being in function code, \"this\" and eval(\"this\"), called as a functions, return the global object","description":"Creating function which returns \"this\" or eval(\"this\")","noStrict":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgY29uc3RydWN0b3JzLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLiBJdCBoYXZlIHByb3BlcnR5LCB0aGF0IHJldHVybmVkICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSB0aGlzfQppZiAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCkge3RoaXMuVEhJUyA9IHRoaXN9IChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSBldmFsKCJ0aGlzIil9CmlmICgobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7dGhpcy5USElTID0gZXZhbCgidGhpcyIpfSAobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkpKTsKfQoKCg==","commentary":"Being in function code, \"this\" and eval(\"this\"), called as a constructors, return the object","description":"Create function. It have property, that returned \"this\"","noStrict":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdpdGggbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIik7CmlmIChNeUZ1bmN0aW9uKCkgIT09IHRoaXMpIHsKICAkRVJST1IoJyMxOiB2YXIgTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgpNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsKaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCgoK","commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a function, return the global object","description":"Creating function with new Function() constructor","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGNvbnN0cnVjdG9yLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgZnVuY3Rpb24gYnkgdXNpbmcgbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IuIEl0IGhhcyB0aGUgcHJvcGVydHksIHdoaWNoIHJldHVybnMgInRoaXMiCiAqLwoKLy9DSEVDSyMxCnZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSB0aGlzIik7CnZhciBNeU9iamVjdCA9IG5ldyBNeUZ1bmN0aW9uKCk7CmlmIChNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInRoaXMuVEhJUyA9IHRoaXMiKTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgTXlPYmplY3QuVEhJUy50b1N0cmluZygpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKE15T2JqZWN0LlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigidGhpcy5USElTID0gZXZhbChcJ3RoaXNcJykiKTsKTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSBldmFsKFwndGhpc1wnKSIpOyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a constructor, return the object","description":"Creating function by using new Function() constructor. It has the property, which returns \"this\"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHZhcmlhYmxlcyB3aXRob3V0IGRlZmluaW5nIGl0CiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHRoaXMueCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwppZiAob2JqZWN0LnByb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzMKdGhpcy55Kys7CmlmIChpc05hTih5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHRoaXMueSsrOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"The result of evaluating an Identifier is always a value of type Reference","description":"Creating variables without defining it","path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBnZW5lcmF0ZSBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRoaXMuejsKICB6OwogICRFUlJPUignIzEuMTogdGhpcy56OyB6ID09PSB1bmRlZmluZWQgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzLno7IHogPT09IHVuZGVmaW5lZCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The result of evaluating an Identifier is always a value of type Reference","description":"Trying to generate ReferenceError","path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvMTEuMS40LTAuanMNCiAqIEBkZXNjcmlwdGlvbiBlbGVtZW50cyBlbGlkZWQgYXQgdGhlIGVuZCBvZiBhbiBhcnJheSBkbyBub3QgY29udHJpYnV0ZSB0byBpdHMgbGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbLF07DQogIGlmIChhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"elements elided at the end of an array do not contribute to its length","path":"TestCases/ch11/11.1/11.1.4/11.1.4-0.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNDsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogRWxlbWVudExpc3QgOiBFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uDQogKiA1LkNhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgYXJyYXkgd2l0aCBhcmd1bWVudHMgVG9TdHJpbmcoZmlyc3RJbmRleCksIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOiBpbml0VmFsdWUsIFtbV3JpdGFibGVdXTogdHJ1ZQ0KICogICAgICwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC8xMS4xLjRfNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplIGFycmF5IHVzaW5nIEVsZW1lbnRMaXN0IChFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uKSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMTAxXTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIGFyclswXSA9PT0gMTAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.4;\nThe production\nElementList : Elisionopt AssignmentExpression\n5.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(firstIndex), the Property Descriptor { [[Value]]: initValue, [[Writable]]: true\n , [[Enumerable]]: true, [[Configurable]]: true}, and false.","description":"Initialize array using ElementList (Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 5)","path":"TestCases/ch11/11.1/11.1.4/11.1.4_4-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNDsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogRWxlbWVudExpc3QgOiBFbGVtZW50TGlzdCAsIEVsaXNpb25vcHQgQXNzaWdubWVudEV4cHJlc3Npb24NCiAqIDYuQ2FsbCB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCBvZiBhcnJheSB3aXRoIGFyZ3VtZW50cyBUb1N0cmluZyhUb1VpbnQzMigocGFkK2xlbikpIGFuZCB0aGUgUHJvcGVydHkgRGVzY3JpcHRvciB7IFtbVmFsdWVdXTogaW5pdFZhbHVlDQogKiAgICAgLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfSwgYW5kIGZhbHNlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvMTEuMS40XzUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZSBhcnJheSB1c2luZyBFbGVtZW50TGlzdCAoRWxlbWVudExpc3QgLCBFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uKSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMTAxLCAxMl07DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMV0gPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.4;\nThe production\nElementList : ElementList , Elisionopt AssignmentExpression\n6.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(ToUint32((pad+len)) and the Property Descriptor { [[Value]]: initValue\n , [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.","description":"Initialize array using ElementList (ElementList , Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 6)","path":"TestCases/ch11/11.1/11.1.4/11.1.4_5-6-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0aWVzIG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggZXhwcmVzc2lvbiAidmFyIGFycmF5ID0gW10iCiAqLwoKdmFyIGFycmF5ID0gW107CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyYXkgPSBbXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKGFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyYXkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFycmF5ID0gW107IGFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ ]","description":"Checking various properties of the array defined with expression \"var array = []\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiBdCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvUzExLjEuNF9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRpZXMgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWywsLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLCwsXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbLCwsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ Elision ]","description":"Checking various properties the array defined with \"var array = [,,,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV0pKTsKfQoKLy9DSEVDSyM3CmlmIChhcnJheVsyXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFycmF5WzJdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyYXlbM10gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbM10gPT09IDQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression ]","description":"Checking various properteis and contents of the array defined with \"var array = [1,2,3,4,5]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50IG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFssLCwxLDJdIgogKi8KCnZhciBhcnJheSA9IFssLCwxLDJdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLDEsMl07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5IGluc3RhbmNlb2YgQXJyYXkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheS5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJheVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzFdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoYXJyYXlbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVszXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzNdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoYXJyYXlbNF0gIT09IDIpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbNF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression ]","description":"Checking various properteis and content of the array defined with \"var array = [,,,1,2]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbNCw1LCwsLF0iCiAqLwoKdmFyIGFycmF5ID0gWzQsNSwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzQsNSwsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXlbMV0gPT09IDUuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsyXSkpOwp9CgovL0NIRUNLIzgKaWYgKGFycmF5WzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision ]","description":"Checking various properteis and contents of the array defined with \"var array = [4,5,,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbLCwzLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwzLCwsXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFssLDMsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheVswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXlbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzRdKSk7Cn0KCg==","commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression, Elision ]","description":"Checking various properteis and contents of the array defined with \"var array = [,,3,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24sIEFzc2lnbm1lbnRFeHByZXNzaW9uIF0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0ExLjcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWzEsMiwsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKGFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMV0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gNCkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzNdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbM10pKTsKfQoKLy9DSEVDSyM5CmlmIChhcnJheVs0XSAhPT0gNSkgewogICRFUlJPUignIzk6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision, AssignmentExpression ]","description":"Checking various properteis and contents of the array defined with \"var array = [1,2,,4,5]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDcmVhdGUgbXVsdGkgZGltZW5zaW9uYWwgYXJyYXkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBhcnJ5YSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV0iCiAqLwoKdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBzdWJhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzYKaWYgKHN1YmFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKHN1YmFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoc3ViYXJyYXkubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKHN1YmFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyMxMAppZiAoc3ViYXJyYXlbMV0gIT09IDIpIHsKICAkRVJST1IoJyMxMDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMV0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07CgovL0NIRUNLIzExCmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzExOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzEyCmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzEyOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEzCmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzEzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMSkgewokRVJST1IoJyMxNDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzE1CmlmIChzdWJhcnJheVswXSAhPT0gMykgewokRVJST1IoJyMxNTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07CgovL0NIRUNLIzE2CmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzE2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzE3CmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzE3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzE4CmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzE4OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTkKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMCkgewokRVJST1IoJyMxOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIwCmlmIChhcnJheVswXVswXSAhPT0gMSkgewogICRFUlJPUignIzIwOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheVswXVswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzBdWzBdKSk7Cn0KCi8vQ0hFQ0sjMjEKaWYgKGFycmF5WzBdWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjMjE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzBdWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF1bMV0pKTsKfQoKLy9DSEVDSyMyMgppZiAoYXJyYXlbMV1bMF0gIT09IDMpIHsKICAkRVJST1IoJyM3MjI6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzFdWzBdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV1bMF0pKTsKfQoK","commentary":"Create multi dimensional array","description":"Checking various properteis and contents of the arrya defined with \"var array = [[1,2], [3], []]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGl0IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCANCiAqIHByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0INCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIGdldCBzZXQgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgczEgPSAiSW4gZ2V0dGVyIjsNCiAgdmFyIHMyID0gIkluIHNldHRlciI7DQogIHZhciBzMyA9ICJNb2RpZmllZCBieSBzZXR0ZXIiOw0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1cm4gczIgPSBzM319OyIpOw0KICBpZihvLmZvbyAhPT0gczEpIA0KICAgIHJldHVybiBmYWxzZTsNCiAgby5mb289MTA7DQogIGlmKHMyICE9PSBzMykgDQogICAgcmV0dXJuIGZhbHNlOw0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB","description":"Object literal - get set property","path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGl0IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCANCiAqIHByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0INCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIG11bHRpcGxlIGdldCBzZXQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzMSA9ICJGaXJzdCBnZXR0ZXIiOw0KICB2YXIgczIgPSAiRmlyc3Qgc2V0dGVyIjsNCiAgdmFyIHMzID0gIlNlY29uZCBnZXR0ZXIiOw0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1cm4gczIgPSBzM30sIGdldCBiYXIoKXsgcmV0dXJuIHMzfSwgc2V0IGJhcihhcmcpeyBzMyA9IGFyZzt9fTsiKTsNCiAgaWYoby5mb28gIT09IHMxKSANCiAgICByZXR1cm4gZmFsc2U7DQogIG8uZm9vID0gMTA7DQogIGlmKHMyICE9PSBzMykgDQogICAgcmV0dXJuIGZhbHNlOw0KICBpZihvLmJhciAhPT0gczMpDQogICAgcmV0dXJuIGZhbHNlOw0KICBvLmJhciA9ICJTZWNvbmQgc2V0dGVyIjsNCiAgaWYoby5iYXIgIT09ICJTZWNvbmQgc2V0dGVyIikNCiAgICByZXR1cm4gZmFsc2U7DQogIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB","description":"Object literal - multiple get set properties","path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2V2YWwnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCB0aGF0IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfMV9mdW4oZXZhbCkge319OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-1-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgaW4gYSBQcm9wZXJ0eVNldFBhcmFtZXRlckxpc3Qgb2YgYSBQcm9wZXJ0eUFzc2lnbm1lbnQgdGhhdCBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0K77u/InVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBvYmogPSB7IHNldCBfMTFfMV81XzFfZnVuKGV2YWwpIHt9fTs=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2FyZ3VtZW50cycgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50IHRoYXQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfMl9mdW4oYXJndW1lbnRzKSB7fSB9OyIpOw0KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-2-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGV2YWwgY29kZSBjb250YWlucyBhbiBPYmplY3RMaXRlcmFsIHdpdGggbW9yZSB0aGFuIG9uZSBkZWZpbml0aW9uIG9mIGFueSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCu+7vyJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgb2JqID0geyBfMTFfMV81XzJfZ3M6IDEwLCBfMTFfMV81XzJfZ3M6IDEwIH07","commentary":"","description":"Strict Mode - SyntaxError is thrown when eval code contains an ObjectLiteral with more than one definition of any data property","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gICdldmFscycgIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCAgaWYgaXRzIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge3NldCBfMTFfMV81XzNfZnVuKGV2YWwpIHsgXCJ1c2Ugc3RyaWN0XCI7IH19OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'evals' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS00LTQtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgZGF0ZSBwcm9wZXJ0eSBuYW1lIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkNCiAgew0KICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgKHtmb286MCxmb286MX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - SyntaxError for duplicate date property name in strict mode","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-4-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2FyZ3VtZW50cycgIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCAgaWYgaXRzIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge3NldCBfMTFfMV81XzRfZnVuKGFyZ3VtZW50cykge1widXNlIHN0cmljdFwiO319OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogUHJvcGVydHlBc3NpZ25tZW50IA0KICogMy5DYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIG9iaiB3aXRoIGFyZ3VtZW50cyBwcm9wSWQubmFtZSwgcHJvcElkLmRlc2NyaXB0b3IsIGFuZCBmYWxzZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV8zLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBpbml0aWFsaXphdGlvbiB1c2luZyBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgKFByb3BlcnR5QXNzaWdubWVudCkgd2hlbiBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gT2JqZWN0LnByb3RvdHlwZSAoc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBvYmogPSB7IHByb3A6IDEyIH07DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyAssignment\n3.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.","description":"Object initialization using PropertyNameAndValueList (PropertyAssignment) when property (read-only) exists in Object.prototype (step 3)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_3-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZWQgaWYgbm90IGluIHN0cmljdCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsNCiAgcmV0dXJuIHRydWU7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - Duplicate data property name allowed if not in strict mode","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZWQgZ2V0cyBsYXN0IGRlZmluZWQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIG8gPSBldmFsKCIoe2ZvbzowLGZvbzoxfSk7Iik7DQogIHJldHVybiBvLmZvbz09PTE7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - Duplicate data property name allowed gets last defined value","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGIuSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBkYXRhIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgZ2V0IGFjY2Vzc29yIGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2ZvbyA6IDEsIGdldCBmb28oKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a data property definition is followed by get accessor definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGIuSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBkYXRhIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgc2V0IGFjY2Vzc29yIGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2ZvbyA6IDEsIHNldCBmb28oeCl7fX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a data property definition is followed by set accessor definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBnZXQgYWNjZXNzb3IgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIGZvbyA6IDF9KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a get accessor property definition is followed by a data property definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBzZXQgYWNjZXNzb3IgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7c2V0IGZvbyh4KXt9LCBmb28gOiAxfSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a set accessor property definition is followed by a data property definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoZ2V0LGdldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIGdldCBmb28oKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (get,get)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoc2V0LHNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7c2V0IGZvbyhhcmcpe30sIHNldCBmb28oYXJnMSl7fX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (set,set)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoZ2V0LHNldCxnZXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2dldCBmb28oKXt9LCBzZXQgZm9vKGFyZyl7fSwgZ2V0IGZvbygpe319KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (get,set,get)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoc2V0LGdldCxzZXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe3NldCBmb28oYXJnKXt9LCBnZXQgZm9vKCl7fSwgc2V0IGZvbyhhcmcxKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (set,get,set)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50IA0KICogNS5DYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIG9iaiB3aXRoIGFyZ3VtZW50cyBwcm9wSWQubmFtZSwgcHJvcElkLmRlc2NyaXB0b3IsIGFuZCBmYWxzZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBpbml0aWFsaXphdGlvbiB1c2luZyBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgKFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudCkgd2hlbiBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gT2JqZWN0LnByb3RvdHlwZSAoU3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AyIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDEsIHByb3AyOiAxMiB9Ow0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wMiIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n5.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.","description":"Object initialization using PropertyNameAndValueList (PropertyNameAndValueList , PropertyAssignment) when property (read-only) exists in Object.prototype (Step 5)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIA0KICogICA0LkxldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9ye1tbVmFsdWVdXTogcHJvcFZhbHVlLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzUtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciBhc3NpZ25tZW50IGV4cHJlc3Npb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBvID0ge2ZvbyA6IDF9Ow0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywiZm9vIik7DQogIGlmKGRlc2MudmFsdWUgPT09IDEgJiYNCiAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : PropertyName : AssignmentExpression\n 4.Let desc be the Property Descriptor{[[Value]]: propValue, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for assignment expression","path":"TestCases/ch11/11.1/11.1.5/11.1.5_5-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzYtMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIG9yIGEgZnV0dXJlIHJlc2VydmVkIHdvcmQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgZ2V0IF8xMV8xXzVfNl8yXzEoKSB7XA0KICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVibGljO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTsiKTsNCg0KICAgICAgICAgICAgdmFyIF8xMV8xXzVfNl8yXzEgPSBvYmouXzExXzFfNV82XzJfMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzYtMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIG9yIGEgZnV0dXJlIHJlc2VydmVkIHdvcmQgaXMgbWFkZSBpbnNpZGUgYSBzdHJpY3QgbW9kZSBGdW5jdGlvbkJvZHkgb2YgYSBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgZ2V0IF8xMV8xXzVfNl8yXzIoKSB7XA0KICAgICAgICAgICAgICAgICAgIFwidXNlIHN0cmljdFwiO1wNCiAgICAgICAgICAgICAgICAgICBwdWJsaWMgPSA0MjtcDQogICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1YmxpYztcDQogICAgICAgICAgICAgICAgfVwNCiAgICAgICAgICAgIH07XA0KICAgICAgICAgICAgdmFyIF8xMV8xXzVfNl8yXzIgPSBvYmouXzExXzFfNV82XzJfMjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is made inside a strict mode FunctionBody of a PropertyAssignment","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for get property assignment","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50IHNob3VsZCBub3QgY3JlYXRlIGEgc2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgcmV0dXJuIGRlc2Muc2V0ID09PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for get property assignment should not create a set function","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzctMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBkYXRhID0gXCJkYXRhXCI7XA0KICAgICAgICAgICAgdmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgc2V0IF8xMV8xXzVfN18yXzEodmFsdWUpIHtcDQogICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTtcDQogICAgICAgICAgICBvYmouXzExXzFfNV83XzJfMSA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzctMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIGlzIG1hZGUgaW4gIGEgc3RyaWN0IEZ1bmN0aW9uQm9keSBvZiBhIFByb3BlcnR5QXNzaWdubWVudA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBkYXRhID0gXCJkYXRhXCI7XA0KICAgICAgICAgICAgdmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgc2V0IF8xMV8xXzVfN18yXzIodmFsdWUpIHtcDQogICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTtcDQogICAgICAgICAgICBvYmouXzExXzFfNV83XzJfMiA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is made in a strict FunctionBody of a PropertyAssignment","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IHNldCBQcm9wZXJ0eU5hbWUoIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tTZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25tZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtzZXQgZm9vKGFyZyl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : set PropertyName( PropertySetParameterList ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Set]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for set property assignment","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25tZW50IHNob3VsZCBub3QgY3JlYXRlIGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtzZXQgZm9vKGFyZyl7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgcmV0dXJuIGRlc2MuZ2V0ID09PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for set property assignment should not create a get function","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBvZiB0aGUgb2JqZWN0IGRlZmluZWQgd2l0aCAidmFyIG9iamVjdCA9IHt9IgogKi8KCnZhciBvYmplY3QgPSB7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge307IHR5cGVvZiBvYmplY3QgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iamVjdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3QudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0ge307IG9iamVjdC50b1N0cmluZyA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoK","commentary":"Evaluate the production ObjectLiteral: { }","description":"Checking various properteis of the object defined with \"var object = {}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IE51bWVyaWNMaXRlcmFsIDogQXNzaWdubWVudEV4cHJlc3Npb259CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBvYmplY3QgZGVmaW5lZCB3aXRoICJ2YXIgb2JqZWN0ID0gezEgOiB0cnVlfSIKICovCgp2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgdHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Ygb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHsxIDogdHJ1ZX07IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG9iamVjdC50b1N0cmluZyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7MSA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbMV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WzFdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0WyIxIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WyIxIl0gPT09IHRydWUnKTsKfQoKCg==","commentary":"Evaluate the production ObjectLiteral: { NumericLiteral : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {1 : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFN0cmluZ0xpdGVyYWwgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX0iCiAqLwoKdmFyIG9iamVjdCA9IHsieCIgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChvYmplY3QudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbIngiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX07IG9iamVjdFsieCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnggIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QueCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { StringLiteral : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {\"x\" : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IElkZW50aWZpZXIgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9IgogKi8KCnZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqZWN0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdC50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKG9iamVjdC50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKG9iamVjdFsicHJvcCJdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdFsicHJvcCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoK","commentary":"Evaluate the production ObjectLiteral: { Identifier : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {prop : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBwcm9wZXJ0eSAicHJvcCIgb2YgdmFyaW91cyB0eXBlcyhib29sZWFuLCBudW1iZXIgYW5kIGV0Yy4pCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDE7CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAxOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gIjEiOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzU6IHZhciB4ID0gIjEiOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgU3RyaW5nKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IFN0cmluZygxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM3CnZhciB4ID0gdW5kZWZpbmVkOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzc6IHZhciB4ID0gdW5kZWZpbmVkOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzgKdmFyIHggPSBudWxsOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzg6IHZhciB4ID0gbnVsbDsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM5CnZhciB4ID0ge307CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSB7fTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyMxMAp2YXIgeCA9IFsxLDJdOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzEwOiB2YXIgeCA9IFsxLDJdOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzExCnZhciB4ID0gZnVuY3Rpb24oKSB7fTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMTogdmFyIHggPSBmdW5jdGlvbigpIHt9OyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzEyCnZhciB4ID0gdGhpczsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSB0aGlzOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { PropertyName : AssignmentExpression }","description":"Creating property \"prop\" of various types(boolean, number and etc.)","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCB9CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7MCA6IDEsICIxIiA6ICJ4IiwgbyA6IHt9fSIKICovCgp2YXIgb2JqZWN0ID0gezAgOiAxLCAiMSIgOiAieCIsIG8gOiB7fX07CgovL0NIRUNLIzEKaWYgKG9iamVjdFswXSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WzBdID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0WzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0WyIxIl0gIT09ICJ4IikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WyIxIl0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9iamVjdFsiMSJdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iamVjdC5vICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgdHlwZW9mIG9iamVjdC5vID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QubykpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { PropertyNameAndValueList }","description":"Creating the object defined with \"var object = {0 : 1, \"1\" : \"x\", o : {}}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBCb29sZWFuTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge3RydWUgOiAxfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3RydWUgOiAxfTsKCg==","commentary":"The PropertyName is not really a BooleanLiteral","description":"Checking if execution of \"var object = {true : 1}\" does not fail","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBudWxsTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfTsK","commentary":"The PropertyName is not really a nullLiteral","description":"Checking if execution of \"var object = {null : true}\" does not fail","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIHVuZGVmaW5lZCwgVG9TdHJpbmcoQm9vbGVhbkxpdGVyYWwpLCBUb1N0cmluZyhudWxsTGl0ZXJhbCkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHByb3BlcnRpZXMgd2l0aCBmb2xsb3dpbmcgbmFtZXM6IHVuZGVmaW5lZCwgJ3RydWUnLCAnbnVsbCcKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt1bmRlZmluZWQgOiB0cnVlfTsKaWYgKG9iamVjdC51bmRlZmluZWQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OyBvYmplY3QudW5kZWZpbmVkID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OwppZiAob2JqZWN0WyJ1bmRlZmluZWQiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dW5kZWZpbmVkIDogdHJ1ZX07IG9iamVjdFsidW5kZWZpbmVkIl0gPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07CmlmIChvYmplY3RbInRydWUiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07IG9iamVjdFsidHJ1ZSJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OwppZiAob2JqZWN0WyJudWxsIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OyBvYmplY3RbIm51bGwiXSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"The PropertyName is undefined, ToString(BooleanLiteral), ToString(nullLiteral)","description":"Creating properties with following names: undefined, 'true', 'null'","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGluc2lkZSAiZ3JvdXBpbmciIG9wZXJhdG9yIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjYvUzExLjEuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0aW5nIFdoaXRlU3BhY2VzIGFuZCBMaW5lVGVybWluYXRvcnMgaW50byBncm91cGluZyBvcGVyYXRvci4gRXZhbCBpcyB1c2VkCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIoXHUwMDA5MVx1MDAwOSkiKSAhPT0gMSkgewogICRFUlJPUignIzE6IChcXHUwMDA5MVxcdTAwMDkpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKFx1MDAwQjFcdTAwMEIpIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoXFx1MDAwQjFcXHUwMDBCKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiKFx1MDAwQzFcdTAwMEMpIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoXFx1MDAwQzFcXHUwMDBDKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIihcdTAwMjAxXHUwMDIwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKFxcdTAwMjAxXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIihcdTAwQTAxXHUwMEEwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKFxcdTAwQTAxXFx1MDBBMCkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIoXHUwMDBBMVx1MDAwQSkiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChcXHUwMDBBMVxcdTAwMEEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoXHUwMDBEMVx1MDAwRCkiKSAhPT0gMSkgewogICRFUlJPUignIzc6IChcXHUwMDBEMVxcdTAwMEQpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiKFx1MjAyODFcdTIwMjgpIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoXFx1MjAyODFcXHUyMDI4KSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIihcdTIwMjkxXHUyMDI5KSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogKFxcdTIwMjkxXFx1MjAyOSkgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkpIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkpID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator inside \"grouping\" operator are allowed","description":"Inserting WhiteSpaces and LineTerminators into grouping operator. Eval is used","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3IgZG9lc24ndCB1c2UgR2V0VmFsdWUuIFRoZSBvcGVyYXRvcnMgImRlbGV0ZSIgYW5kICJ0eXBlb2YiIGNhbiBiZSBhcHBsaWVkIHRvIHBhcmVudGhlc2lzZWQgZXhwcmVzc2lvbnMKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNi9TMTEuMS42X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcHBseWluZyAiZGVsZXRlIiBhbmQgInR5cGVvZiIgb3BlcmF0b3JzIHRvIGFuIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGRlbGV0ZSAoeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgKHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICh4KSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgKHgpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAoeCkpKTsKfQoKdmFyIG9iamVjdCA9IHt9OwovL0NIRUNLIzMKaWYgKGRlbGV0ZSAob2JqZWN0LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBkZWxldGUgKG9iamVjdC5wcm9wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAob2JqZWN0LnByb3ApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7fTsgdHlwZW9mIChvYmplY3QucHJvcCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIChvYmplY3QucHJvcCkpKTsKfQoK","commentary":"\"This\" operator doesn't use GetValue. The operators \"delete\" and \"typeof\" can be applied to parenthesised expressions","description":"Applying \"delete\" and \"typeof\" operators to an undefined variable and a property of an object","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIEJvb2xlYW4KICovCgovLyBDaGVjayBmb3IgQm9vbGVhbgoKLy9DSEVDSyMxCmlmICgodHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCkgPT09IHguIEFjdHVhbDogJyArICgoeCkpKTsKfQoK","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to Boolean","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIE51bWJlcgogKi8KCi8vQ2hlY2sgZm9yIE51bWJlcgoKLy9DSEVDSyMxCmlmICgoMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSkgPT09IDEuIEFjdHVhbDogJyArICgoMSkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxKTsKaWYgKCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to Number","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIFN0cmluZwogKi8KCi8vQ2hlY2sgZm9yIFN0cmluZwoKLy9DSEVDSyMxCmlmICgoIjEiKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogKCIxIikgPT09ICIxIi4gQWN0dWFsOiAnICsgKCgiMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IikgIT09ICJ4IikgewogICRFUlJPUignIzI6ICgieCIpID09PSAieCIuIEFjdHVhbDogJyArICgoIngiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCIxIik7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBOdW1iZXIoIjEiKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to String","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIHVuZGVmaW5lZAogKi8KCi8vQ2hlY2sgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAoKLy9DSEVDSyMxCmlmICgodW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCkgIT09IHZvaWQgMCkgewogICRFUlJPUignIzI6ICh2b2lkIDApID09PSB2b2lkIDAuIEFjdHVhbDogJyArICgodm9pZCAwKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsKSA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKChudWxsKSkpOwp9Cgo=","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to undefined","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGdyb3VwaW5nIG9wZXJhdG9yIGluIGRlY2xhcmF0aW9uIG9mIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQooeCkgPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6ICh4KSA9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IDE7ICh5KSsrOyArKyh5KTsgKHkpLS07IC0tKHkpOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB5ID0gMTsgKHkpKys7ICsrKHkpOyAoeSktLTsgLS0oeSk7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Using grouping operator in declaration of variables","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIGRlbGV0ZSBhbmQgdHlwZW9mIG9wZXJhdG9ycwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlICh4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZSAoeCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgKHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiAoeCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mICh4KSkpOwp9Cgo=","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to delete and typeof operators","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZUFOREV4cHJlc3Npb24gYW5kICImIiBvciBiZXR3ZWVuICImIiBhbmQgRXF1YWxpdHlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOSZcdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5JlxcdTAwMDkxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCJlx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEImXFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQyZcdTAwMEMxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDJlxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwJlx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjAmXFx1MDAyMDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTAmXHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMCZcXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQSZcdTAwMEExIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBJlxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEQmXHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRCZcXHUwMDBEMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOCZcdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4JlxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Jlx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjkmXFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between BitwiseANDExpression and \"&\" or between \"&\" and EqualityExpression are allowed","description":"Checking uses eval","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSAmIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4ICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggJiB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICYgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApKSk7Cn0KCg==","commentary":"Operator x & y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAmIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x & y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAmIHk7CiAgJEVSUk9SKCcjMS4xOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x & y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAmIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICYge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzUuMTogKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x & y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nICJ0aHJvdyIKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4ICYgeTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggJiB5KSk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogVG9JbnQzMihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvSW50MzIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking by using \"throw\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAmIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSAmIHgpID09PSAxLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgJiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICYgKHggPSAxKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ICYgKHggPSAxKSkgPT09IDAuIEFjdHVhbDogJyArICgoeCAmICh4ID0gMSkpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCAmICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgJiB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSAmIHkpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAmIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive number and Number object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiAmICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIngiICYgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgJiAieCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKCIxIiAmICJ4IikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiICYgIngiKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive string and String object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkICYgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG51bGwpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are null and undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYge30pKSk7Cn0KCgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are Object object and Function object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSAmIDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSAmIG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzk6ICgieCIgJiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgieCIgJiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSAmICJ4IikgIT09IDApIHsKICAkRVJST1IoJyMxMDogKDEgJiAieCIpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgJiAieCIpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IChudWxsICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgdXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyBhcmUgU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgiMSIgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgiMSIgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgiMSIgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoIjEiICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICh0cnVlICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiAobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygiMSIpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) us different from Type(y) and both types are String (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgbnVsbCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYgdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobnVsbCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZVhPUkV4cHJlc3Npb24gYW5kICJeIiBvciBiZXR3ZWVuICJeIiBhbmQgQml0d2lzZUFOREV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgY2hlY2sgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOV5cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5XlxcdTAwMDkxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCXlx1MDAwQjEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEJeXFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQ15cdTAwMEMxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDXlxcdTAwMEMxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwXlx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjBeXFx1MDAyMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTBeXHUwMEEwMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMF5cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQV5cdTAwMEExIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBXlxcdTAwMEExKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEReXHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRF5cXHUwMDBEMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOF5cdTIwMjgxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4XlxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Xlx1MjAyOTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjleXFx1MjAyOTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV5cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between BitwiseXORExpression and \"^\" or between \"^\" and BitwiseANDExpression are allowed","description":"The check uses eval","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4gMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxIF4geSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoMSBeIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4IF4geSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggXiB5KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4geSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIF4gb2JqZWN0eS5wcm9wKSA9PT0gMC4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApKSk7Cn0KIAoK","commentary":"Operator x ^ y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCBeIDE7CiAgJEVSUk9SKCcjMS4xOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggXiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ^ y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSBeIHk7CiAgJEVSUk9SKCcjMS4xOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgXiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ^ y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgPT09IDAuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkgIT09IDApIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSBeIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzY6ICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x ^ y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggXiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCBeIHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSBeIHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSBeIHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgXiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4IF4gKHggPSAxKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4IF4gKHggPSAxKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCBeICh4ID0gMSkpKSk7Cn0KCgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgXiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBeIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IF4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggXiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCBeICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgXiB5KSAhPT0gMCkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoKHkgPSAxKSBeIHkpKSk7Cn0KCgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh0cnVlIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgXiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodHJ1ZSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoMSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive number and Number object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKCIxIiBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiBeICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgXiAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiBeICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIF4gIngiKSkpOwp9Cgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive string and String object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgXiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgXiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCBeIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIF4gdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIF4gbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCBeIG51bGwpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are null and undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4ge30pKSk7Cn0KCgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are Object object and Function object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeIDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKDEgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBOdW1iZXIoMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICgxIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgiMSIgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgXiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgXiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSBeICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgXiAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgXiAieCIpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeICIxIikgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoIjEiIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKCIxIiBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIF4gbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIF4gdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZU9SRXhwcmVzc2lvbiBhbmQgInwiIG9yIGJldHdlZW4gInwiIGFuZCBCaXR3aXNlWE9SRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEwLzExLjEwLjMvUzExLjEwLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKChldmFsKCIwXHUwMDA5fFx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDl8XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoIjBcdTAwMEJ8XHUwMDBCMSIpKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgwXFx1MDAwQnxcXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCIwXHUwMDBDfFx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEN8XFx1MDAwQzEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGV2YWwoIjBcdTAwMjB8XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMHxcXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiMFx1MDBBMHxcdTAwQTAxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwfFxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCIwXHUwMDBBfFx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEF8XFx1MDAwQTEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiMFx1MDAwRHxcdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEfFxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCIwXHUyMDI4fFx1MjAyODEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjh8XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoIjBcdTIwMjl8XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOXxcXHUyMDI5MSkgPT09IDEnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDBcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between BitwiseORExpression and \"|\" or between \"|\" and BitwiseXORExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAwKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgMCkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMDsKaWYgKCgxIHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDA7ICgxIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMDsKaWYgKCh4IHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMDsgKHggfCB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMDsKaWYgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAwOyAob2JqZWN0eC5wcm9wIHwgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApKSk7Cn0KCg==","commentary":"Operator x | y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCB8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x | y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSB8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgfCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x | y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSB8IDApIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzU6ICgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzY6ICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x | y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggfCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCB8IHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSB8IHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyAoKHggPSAwKSB8IHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMCkgfCB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKCh4IHwgKHggPSAwKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4IHwgKHggPSAwKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCB8ICh4ID0gMCkpKSk7Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSB8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggfCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCB8ICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgfCB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSB8IHkpKSk7Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgfCBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgfCAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiB8ICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIngiKSkpOwp9Cgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgfCB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgfCB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCB8IHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIHwgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIHwgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCB8IG51bGwpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwge30pKSk7Cn0KCgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgfCAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSB8ICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgfCAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAieCIpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8ICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8ICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoIjEiIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8ICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKCIxIiB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8ICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHwgbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbEFOREV4cHJlc3Npb24gYW5kICImJiIgb3IgYmV0d2VlbiAiJiYiIGFuZCBCaXR3aXNlT1JFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoInRydWVcdTAwMDkmJlx1MDAwOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDkmJlxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ0cnVlXHUwMDBCJiZcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWVcXHUwMDBCJiZcXHUwMDBCdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJ0cnVlXHUwMDBDJiZcdTAwMEN0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKHRydWVcXHUwMDBDJiZcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgidHJ1ZVx1MDAyMCYmXHUwMDIwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMCYmXFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoInRydWVcdTAwQTAmJlx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAodHJ1ZVxcdTAwQTAmJlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJ0cnVlXHUwMDBBJiZcdTAwMEF0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKHRydWVcXHUwMDBBJiZcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJ0cnVlXHUwMDBEJiZcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEJiZcXHUwMDBEdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgidHJ1ZVx1MjAyOCYmXHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICh0cnVlXFx1MjAyOCYmXFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInRydWVcdTIwMjkmJlx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAodHJ1ZVxcdTIwMjkmJlxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmJlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkmJlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between LogicalANDExpression and \"&&\" or between \"&&\" and BitwiseORExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlICYmIGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IGZhbHNlOwppZiAoKHggJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBmYWxzZTsgKHggJiYgdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh0cnVlICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7ICh0cnVlICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IHRydWU7CmlmICgoeCAmJiB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IHRydWU7ICh4ICYmIHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSB0cnVlOwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh4ICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSB0cnVlOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggJiYgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM3CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgJiYgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wJyk7Cn0KCi8vQ0hFQ0sjOAp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDA7Cm9iamVjdHkucHJvcCA9IHRydWU7CmlmICgob2JqZWN0eC5wcm9wICYmIG9iamVjdHkucHJvcCkgIT09IG9iamVjdHgucHJvcCkgewogICRFUlJPUignIzg6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMDsgb2JqZWN0eS5wcm9wID0gdHJ1ZTsgKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApID09PSBvYmplY3R4LnByb3AnKTsKfQoK","commentary":"Operator x && y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJiYgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggJiYgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiYgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAmJiB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x && y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0cnVlICYmIHk7CiAgJEVSUk9SKCcjMS4xOiB0cnVlICYmIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh0cnVlICYmIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHRydWUgJiYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x && y uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlICYmIHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSAmJiB4KSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x && y uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, return false","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKCh4ID0gdHJ1ZSkgJiYgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyAoKHggPSB0cnVlKSAmJiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmYWxzZTsgCmlmICgoeCAmJiAoeCA9IHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZhbHNlOyAoeCAmJiAoeCA9IHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiYgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAmJiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICYmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYmIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYmICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICYmICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpICYmIHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgJiYgeSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgYm9vbGVhbiBhbmQgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICYmIGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoZmFsc2UgJiYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChmYWxzZSAmJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) is primitive boolean and Type(y) is changed between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKC0wICYmIC0xKSAhPT0gMCkgewogICRFUlJPUignIzEuMTogKC0wICYmIC0xKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCAmJiAtMSkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKC0wICYmIC0xKSA9PT0gLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKDAgJiYgbmV3IE51bWJlcigtMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiAoMCAmJiBuZXcgTnVtYmVyKC0xKSkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCAmJiBuZXcgTnVtYmVyKC0xKSkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogKDAgJiYgbmV3IE51bWJlcigtMSkpID09PSArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgoaXNOYU4oTmFOICYmIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChOYU4gJiYgMSkgPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiICYmICIxIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogKCIiICYmICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMjogKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgPT09ICIiJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgJiYgdHJ1ZSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgJiYgdHJ1ZSkgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYmIGZhbHNlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsICYmIGZhbHNlKSA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYmIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgJiYgZmFsc2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKHRydWUpICYmICB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM1OiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM2CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7IChuZXcgQm9vbGVhbihmYWxzZSkgJiYgIHkpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgJiYgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoLTEgJiYgLTApID09PSAwJyk7Cn0gZWxzZSB7CiAgaWYgKCgxIC8gKC0xICYmIC0wKSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAoLTEgJiYgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTEgJiYgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMSAmJiAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMSAmJiAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTEgJiYgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKChpc05hTigwLjEgJiYgTmFOKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMC4xICYmIE5hTikgPT09IE5vdC1hLU51bWJlcicpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgTnVtYmVyKDApOwppZiAoKG5ldyBOdW1iZXIoLTEpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgKG5ldyBOdW1iZXIoLTEpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKChuZXcgTnVtYmVyKDApICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAobmV3IE51bWJlcigwKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKChuZXcgTnVtYmVyKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsgKG5ldyBOdW1iZXIoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIjAiICYmICItMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiMCIgJiYgIi0xIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAmJiAieCIpICE9PSAieCIpIHsKICAkRVJST1IoJyMyOiAoIi0xIiAmJiAieCIpID09PSAieCInKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gbmV3IFN0cmluZygtMSk7CmlmICgobmV3IFN0cmluZygiLTEiKSAmJiB5KSAhPT0geSkgewogICRFUlJPUignIzM6ICh2YXIgeSA9IG5ldyBTdHJpbmcoLTEpOyAobmV3IFN0cmluZygiLTEiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgU3RyaW5nKE5hTik7CmlmICgobmV3IFN0cmluZygiMCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IFN0cmluZyhOYU4pOyAobmV3IFN0cmluZygiMCIpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBTdHJpbmcoIi14Iik7CmlmICgobmV3IFN0cmluZygieCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IFN0cmluZygiLXgiKTsgKG5ldyBTdHJpbmcoIngiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsKaWYgKChuZXcgU3RyaW5nKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsgKG5ldyBTdHJpbmcoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiYgdW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgJiYgbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBudWxsKSA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgInx8IiBvciBiZXR3ZWVuICJ8fCIgYW5kIExvZ2ljYWxBTkRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoImZhbHNlXHUwMDA5fHxcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOXx8XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCfHxcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlXFx1MDAwQnx8XFx1MDAwQnRydWUpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiZmFsc2VcdTAwMEN8fFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDfHxcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjB8fFx1MDAyMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2VcXHUwMDIwfHxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTB8fFx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoZmFsc2VcXHUwMEEwfHxcXHUwMEEwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiZmFsc2VcdTAwMEF8fFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBfHxcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJmYWxzZVx1MDAwRHx8XHUwMDBEdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChmYWxzZVxcdTAwMER8fFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOHx8XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjh8fFxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOXx8XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjl8fFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fHxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IChmYWxzZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXx8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between LogicalORExpression and \"||\" or between \"||\" and LogicalANDExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8fCBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgdHJ1ZSkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCB0cnVlKSA9PT0geCcpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB5ID0gQm9vbGVhbih0cnVlKTsgKGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IHkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IHkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKHggfHwgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCB5KSA9PT0geScpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSBmYWxzZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IGZhbHNlOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIHx8IG9iamVjdHkucHJvcCkgPT09IG9iamVjdHkucHJvcCcpOwp9CgovL0NIRUNLIzgKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxLjE7Cm9iamVjdHkucHJvcCA9IGZhbHNlOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R4LnByb3ApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDEuMTsgb2JqZWN0eS5wcm9wID0gZmFsc2U7IChvYmplY3R4LnByb3AgfHwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eC5wcm9wJyk7Cn0KCg==","commentary":"Operator x || y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggfHwgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggfHwgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfHwgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCB8fCB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x || y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZmFsc2UgfHwgeTsKICAkRVJST1IoJyMxLjE6IGZhbHNlIHx8IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChmYWxzZSB8fCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBmYWxzZSB8fCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x || y uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHRydWUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHx8IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfHwgeCkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x || y uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, return true","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsgCmlmICgoKHggPSBmYWxzZSkgfHwgeCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyAoKHggPSBmYWxzZSkgfHwgeCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IHRydWU7IAppZiAoKHggfHwgKHggPSBmYWxzZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB0cnVlOyAoeCB8fCAoeCA9IGZhbHNlKSkgPT09IHRydWUnKTsKfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfHwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSB8fCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIHx8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHx8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHx8ICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IHx8ICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpIHx8IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgfHwgeSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChmYWxzZSB8fCBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6ICh2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgZmFsc2UgfHwgeSkgPT09IHknKTsKfQoK","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgfHwgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoMCB8fCAtMCkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCB8fCAtMCkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKDAgfHwgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTAgfHwgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMCB8fCAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCB8fCAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTAgfHwgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKCgwIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcigtMSk7IDAgfHwgeSkgPT09IHknKTsKfSAKCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBOdW1iZXIoMCk7CmlmICgoTmFOIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgTmFOIHx8IHkpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiIHx8ICIxIikgIT09ICIxIikgewogICRFUlJPUignIzE6ICgiIiB8fCAiMSIpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IFN0cmluZygiMSIpOwppZiAoKCIiIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAiIiB8fCB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSB8fCB1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlIHx8IG51bGwpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlIHx8IG51bGwpID09PSBudWxsJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgodHJ1ZSB8fCB0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlIHx8IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0geCkgewogICRFUlJPUignIzM6ICh2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCB8fCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNDogKHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0geCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgfHwgMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogKC0xIHx8IDEpID09PSAtMScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHx8IG5ldyBOdW1iZXIoMCkpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfHwgbmV3IE51bWJlcigwKSkgPT09IDEnKTsKfSAKCi8vQ0hFQ0sjMwppZiAoKC0xIHx8IE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogKC0xIHx8IE5hTikgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBOdW1iZXIoLTEpOwppZiAoKHggfHwgbmV3IE51bWJlcigwKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgTnVtYmVyKC0xKTsgKHggfHwgbmV3IE51bWJlcigtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh4IHx8IG5ldyBOdW1iZXIoMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IE51bWJlcihOYU4pOyAoeCB8fCBuZXcgTnVtYmVyKDEpKSA9PT0geCcpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgTnVtYmVyKDApOwppZiAoKHggfHwgbmV3IE51bWJlcihOYU4pKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBOdW1iZXIoMCk7ICh4IHx8IG5ldyBOdW1iZXIoTmFOKSkgPT09IHgnKTsKfQoK","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIi0xIiB8fCAiMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiLTEiIHx8ICIxIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiB8fCAieCIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgfHwgIngiKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKHggfHwgbmV3IFN0cmluZygtMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogKHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgKHggfHwgbmV3IFN0cmluZygtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBTdHJpbmcoTmFOKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgU3RyaW5nKE5hTik7ICh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IFN0cmluZygiLXgiKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIngiKSkgIT09IHgpIHsKICAkRVJST1IoJyM1OiAodmFyIHggPSBuZXcgU3RyaW5nKCIteCIpOyAoeCB8fCBuZXcgU3RyaW5nKCJ4IikpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IG5ldyBTdHJpbmcoMCk7CmlmICgoeCB8fCBuZXcgU3RyaW5nKE5hTikpICE9PSB4KSB7CiAgJEVSUk9SKCcjNjogKHZhciB4ID0gbmV3IFN0cmluZygwKTsgKHggfHwgbmV3IFN0cmluZyhOYU4pKSA9PT0geCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfHwgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlIHx8IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSB8fCBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IG51bGwpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) or Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgIj8iIG9yIGJldHdlZW4gIj8iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBvciBiZXR3ZWVuIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFuZCAiOiIgb3IgYmV0d2VlbiAiOiIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDk/XHUwMDA5dHJ1ZVx1MDAwOTpcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOT9cXHUwMDA5dHJ1ZVxcdTAwMDk6XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCP1x1MDAwQnRydWVcdTAwMEI6XHUwMDBCdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZVxcdTAwMEI/XFx1MDAwQnRydWVcXHUwMDBCOlxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJmYWxzZVx1MDAwQz9cdTAwMEN0cnVlXHUwMDBDOlx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDP1xcdTAwMEN0cnVlXFx1MDAwQzpcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjA/XHUwMDIwdHJ1ZVx1MDAyMDpcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMD9cXHUwMDIwdHJ1ZVxcdTAwMjA6XFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoImZhbHNlXHUwMEEwP1x1MDBBMHRydWVcdTAwQTA6XHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTA/XFx1MDBBMHRydWVcXHUwMEEwOlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJmYWxzZVx1MDAwQT9cdTAwMEF0cnVlXHUwMDBBOlx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBP1xcdTAwMEF0cnVlXFx1MDAwQTpcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiZmFsc2VcdTAwMEQ/XHUwMDBEdHJ1ZVx1MDAwRDpcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKGZhbHNlXFx1MDAwRD9cXHUwMDBEdHJ1ZVxcdTAwMEQ6XFx1MDAwRHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKGV2YWwoImZhbHNlXHUyMDI4P1x1MjAyOHRydWVcdTIwMjg6XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjg/XFx1MjAyOHRydWVcXHUyMDI4OlxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOT9cdTIwMjl0cnVlXHUyMDI5Olx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoZmFsc2VcXHUyMDI5P1xcdTIwMjl0cnVlXFx1MjAyOTpcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5P1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk6XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk/XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between LogicalORExpression and \"?\" or between \"?\" and AssignmentExpression or between AssignmentExpression and \":\" or between \":\" and AssignmentExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.12/S11.12_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID8gZmFsc2UgOiB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IGZhbHNlIDogdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlID8gZmFsc2UgOiB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggPyB5IDogdHJ1ZSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggPyB5IDogdHJ1ZSkgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoZmFsc2UgPyBmYWxzZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjNDogdmFyIHogPSBuZXcgQm9vbGVhbih0cnVlKTsgKGZhbHNlID8gZmFsc2UgOiB6KSA9PT0geicpOwp9CgovL0NIRUNLIzUKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geikgewogICRFUlJPUignIzY6IHZhciB4ID0gZmFsc2U7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"Operator x ? y : z uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.12/S11.12_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA/IHRydWUgOiBmYWxzZTsKICAkRVJST1IoJyMxLjE6IHggPyB0cnVlIDogZmFsc2UgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID8gdHJ1ZSA6IGZhbHNlKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID8gdHJ1ZSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x ? y : z uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUgPyB5IDogZmFsc2U7CiAgJEVSUk9SKCcjMS4xOiB0cnVlID8geSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAodHJ1ZSA/IHkgOiBmYWxzZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSA/IHkgOiBmYWxzZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBmYWxzZSA/IHRydWUgOiB6OwogICRFUlJPUignIzEuMTogZmFsc2UgPyB0cnVlIDogeiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZhbHNlID8gdHJ1ZSA6IHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZhbHNlID8gdHJ1ZSA6IHogdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is false and GetBase(z) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh6KSBpcyBudWxsLCByZXR1cm4geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeSA9IG5ldyBPYmplY3QoKTsKaWYgKCh0cnVlID8geSA6IHopICE9PSB5KSB7CiAgJEVSUk9SKCcjMTogdmFyIHkgPSBuZXcgT2JqZWN0KCk7ICh0cnVlID8geSA6IHopID09PSB5Jyk7Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is true and GetBase(z) is null, return y","path":"TestCases/ch11/11.12/S11.12_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHoKICovCgovL0NIRUNLIzEKdmFyIHogPSBuZXcgT2JqZWN0KCk7CmlmICgoZmFsc2UgPyB5IDogeikgIT09IHopIHsKICAkRVJST1IoJyMxOiB2YXIgeiA9IG5ldyBPYmplY3QoKTsgKGZhbHNlID8geSA6IHopID09PSB6Jyk7Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, return z","path":"TestCases/ch11/11.12/S11.12_A2.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgPyBmYWxzZSA6IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlID8gdHJ1ZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IChmYWxzZSA/IHRydWUgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are boolean primitives","path":"TestCases/ch11/11.12/S11.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPyAwIDogMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMCA/IDAgOiAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgTnVtYmVyKDEpOwppZiAoKDAgPyAxIDogeikgIT09IHopIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgTnVtYmVyKDEpOyAoMCA/IDEgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are number primitives","path":"TestCases/ch11/11.12/S11.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiID8gIiIgOiAiMSIpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAoIiIgPyAiIiA6ICIxIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgU3RyaW5nKCIxIik7CmlmICgoIiIgPyAiMSIgOiB6KSAhPT0geikgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsgKCIiID8gIjEiIDogeikgPT09IHonKTsKfQoK","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are string primitives","path":"TestCases/ch11/11.12/S11.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlID8gdHJ1ZSA6IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IChmYWxzZSA/IHRydWUgOiB1bmRlZmluZWQpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPyB0cnVlIDogbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgPyB0cnVlIDogbnVsbCkgPT09IG51bGwnKTsKfQoK","commentary":"If ToBoolean(x) is false, return z","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.12/S11.12_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIGJvb2xlYW4gcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPyBmYWxzZSA6IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlID8gZmFsc2UgOiB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgodHJ1ZSA/IHkgOiBmYWxzZSkgIT09IHkpIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKHRydWUgPyB5IDogZmFsc2UpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh5ID8geSA6IHRydWUpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeSA/IHkgOiB0cnVlKSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are boolean primitives","path":"TestCases/ch11/11.12/S11.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA/IDAgOiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxID8gMCA6IDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBOdW1iZXIoMSk7CmlmICgoMSA/IHkgOiAwKSAhPT0geSkgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBOdW1iZXIoMSk7ICgxID8geSA6IDApID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh5ID8geSA6IDEpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAoeSA/IHkgOiAxKSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are number primitives","path":"TestCases/ch11/11.12/S11.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID8gIiIgOiAiMSIpICE9PSAiIikgewogICRFUlJPUignIzE6ICgiMSIgPyAiIiA6ICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKCgiMSIgPyB5IDogIiIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAoIjEiID8geSA6ICIiKSA9PT0geScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgU3RyaW5nKCJ5Iik7CmlmICgoeSA/IHkgOiAiMSIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IFN0cmluZygieSIpOyAoeSA/IHkgOiAiMSIpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are string primitives","path":"TestCases/ch11/11.12/S11.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgb3IgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSA/IG51bGwgOiB0cnVlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6ICh0cnVlID8gbnVsbCA6IHRydWUpID09PSBudWxsJyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.12/S11.12_A4_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkNCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAobnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgZXZhbCgiNDIgPSA0MiIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"PutValue operates only on references (see step 1)","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (number)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoIid4JyA9IDQyIik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (string)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBldmFsKCJ0cnVlID0gNDIiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (boolean)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBldmFsKCJudWxsID0gNDIiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (null)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMy5hKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSBpbiBzdHJpY3QgbW9kZSAoYmFzZSBvYmogdW5kZWZpbmVkKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzBfXy54ID0gNDI7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"PutValue operates only on references (see step 3.a).","description":"simple assignment throws ReferenceError if LeftHandSide is an unresolvable reference in strict mode (base obj undefined)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0gdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a data property with the attribute value {[[Writable]]:false} under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9IHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to an accessor property with the attribute value {[[Set]]:undefined} under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBoYXMgdGhlIHZhbHVlIGZhbHNlIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiA9IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a non-existent property of an object whose [[Extensible]] internal property has the value false under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMy5iKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCBjcmVhdGVzIHByb3BlcnR5IG9uIHRoZSBnbG9iYWwgb2JqZWN0IGlmIExlZnRIYW5kU2lkZSBpcyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgew0KICAgIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzNfXyA9IDQyOw0KICB9DQogIGZvbygpOw0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAnX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfMTNfMV91bmlxdWVfaWRfM19fJyk7DQogIGlmIChkZXNjLnZhbHVlID09PSA0MiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIGRlbGV0ZSBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV8xM18xX3VuaXF1ZV9pZF8zX187DQogICAgcmV0dXJuIHRydWU7DQogIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 3.b).","description":"simple assignment creates property on the global object if LeftHandSide is an unresolvable reference","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBUeXBlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIGEgcmVhZG9ubHkgcHJvcGVydHkgaW4gc3RyaWN0IG1vZGUgKE51bWJlci5NQVhfVkFMVUUpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIE51bWJlci5NQVhfVkFMVUUgPSA0MjsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Number.MAX_VALUE)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHRyeSB7DQogICAgICBmbkdsb2JhbE9iamVjdCgpLnVuZGVmaW5lZCA9IDQyOw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.undefined)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIHNpbXBsZSBhc3NpZ25tZW50KD0pIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGV2YWwgPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS00LTI4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnTWF0aC5QSScgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBzaW1wbGUgYXNzaWdubWVudCg9KQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBOb3RFYXJseUVycm9yDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQpNYXRoLlBJID0gMjA7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBhcmd1bWVudHMgPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS00LTI5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnTWF0aC5QSScgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBzaW1wbGUgYXNzaWdubWVudCg9KQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSAuDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCk1hdGguUEkgPSAyMDsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)","negative":".","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoR2xvYmFsLkluZmluaXR5KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHRyeSB7DQogICAgICBmbkdsb2JhbE9iamVjdCgpLkluZmluaXR5ID0gNDI7DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.Infinity)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIChQcmltYXJ5RXhwcmVzc2lvbikgb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIihldmFsKSA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gKFByaW1hcnlFeHByZXNzaW9uKSBvZiBzaW1wbGUgYXNzaWdubWVudCg9KSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIoYXJndW1lbnRzKSA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoRnVuY3Rpb24ubGVuZ3RoKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIEZ1bmN0aW9uLmxlbmd0aCA9IDQyOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Function.length)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-6-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIj0iIG9yIGJldHdlZW4gIj0iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgieFx1MDAwOT1cdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHhcXHUwMDA5PVxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ4XHUwMDBCPVx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoeFxcdTAwMEI9XFx1MDAwQnRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoInhcdTAwMEM9XHUwMDBDdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh4XFx1MDAwQz1cXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgieFx1MDAyMD1cdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKHhcXHUwMDIwPVxcdTAwMjB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChldmFsKCJ4XHUwMEEwPVx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoeFxcdTAwQTA9XFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoInhcdTAwMEE9XHUwMDBBdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICh4XFx1MDAwQT1cXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgieFx1MDAwRD1cdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHhcXHUwMDBEPVxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJ4XHUyMDI4PVx1MjAyOHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoeFxcdTIwMjg9XFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInhcdTIwMjk9XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh4XFx1MjAyOT1cXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"=\" or between \"=\" and AssignmentExpression are allowed","description":"Checking by using eval","noStrict":"","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEFzc2lnbWVudEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnkgPSAxOwp4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB5ID0gMTsgeCA9IHk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IDE7CnZhciB4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeSA9IDE7IHZhciB4ID0geTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eS5wcm9wID0gMS4xOwpvYmplY3R4LnByb3AgPSBvYmplY3R5LnByb3A7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gb2JqZWN0eS5wcm9wOyBvYmplY3R4LnByb3AgPT09IG9iamVjdHkucHJvcC4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCkpOwp9IGVsc2UgewogIGlmIChvYmplY3R4ID09PSBvYmplY3R5KSB7CiAgICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA9IG9iamVjdHkucHJvcDsgb2JqZWN0eCAhPT0gb2JqZWN0eScpOwogIH0gCn0KCgo=","commentary":"Operator x = y uses GetValue and PutValue","description":"Either AssigmentExpression is not Reference or GetBase is not null","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShBc3NpZ21lbnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB5OwogICRFUlJPUignIzEuMTogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator x = y uses GetValue and PutValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPSAxOwogICRFUlJPUignIzEuMTogMSA9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEgPSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIDEgPSAxOwogIH0KfQoK","commentary":"Operator x = y uses GetValue and PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSBQdXRWYWx1ZSh4LCB5KQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cwogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x = y PutValue(x, y)","description":"Checking Expression and Variable statements","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSByZXR1cm5zIEdldFZhbHVlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS9TMTEuMTMuMV9BMy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMDsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ID0gMSkpKTsKfQoK","commentary":"Operator x = y returns GetValue(y)","description":"Checking Expression and Variable statements","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjawogKi8KCi8vQ0hFQ0sjMQp4ID0geCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogVGhlIGV4cHJlc3Npb24geCA9IHggPSAxIGlzIHRoZSBzYW1lIHggPSAoeCA9IDEpLCBub3QgKHggPSB4KSA9IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCgoK","commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression","description":"Syntax check","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjayBpZiAieCA9IHgiIHRocm93cyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB4OwogICRFUlJPUignIzEuMTogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geCkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgoK","commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression","description":"Syntax check if \"x = x\" throws ReferenceError","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMSAqPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzIHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzEwIF49IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzIHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzExIHw9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzEyID0gNQ0KICAgICAgICBfMTFfMTNfMl8xMiAqPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTIgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzEzID0gNg0KICAgICAgICBfMTFfMTNfMl8xMyAvPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTMgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE0ID0gNQ0KICAgICAgICBfMTFfMTNfMl8xNCAlPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTUgPSA4DQogICAgICAgIF8xMV8xM18yXzE1ID4+Pj0gMjsNCiAgICAgICAgcmV0dXJuIF8xMV8xM18yXzE1ID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE2ID0gNQ0KICAgICAgICBfMTFfMTNfMl8xNiAtPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTYgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfMTNfMl8xNyA9IDE7DQogICAgICAgIF8xMV8xM18yXzE3IDw8PSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTcgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfMTNfMl8xOCA9IDQNCiAgICAgICAgXzExXzEzXzJfMTggPj49IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xOCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE5ID0gLTENCiAgICAgICAgXzExXzEzXzJfMTkgKz0gMTA7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xOSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMiAvPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIwID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMCAmPSAzOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjAgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIxID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMSBePSAzOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjEgPT09IDY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIyID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMiB8PSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjIgPT09IDc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhIGRhdGEgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1dyaXRhYmxlXV06ZmFsc2V9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIDw8PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIGRhdGEgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1dyaXRhYmxlXV06ZmFsc2V9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID4+PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMyAlPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA+Pj49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgXj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgfD0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICo9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIC89IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICU9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICs9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIC09IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbU2V0XV06dW5kZWZpbmVkfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA8PD0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNCArPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbU2V0XV06dW5kZWZpbmVkfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA+Pj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPj4+PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICY9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-42-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIF49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-43-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIG9mIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIHw9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference of to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-44-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gKj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-45-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gLz0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-46-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gJT0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-47-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gKz0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-48-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gLT0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-49-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNSAtPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBvYmplY3Qgd2hvc2UgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgcHJvcGVydHkgaWYgZmFsc2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuIDw8PSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-50-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBvYmplY3Qgd2hvc2UgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgcHJvcGVydHkgaWYgZmFsc2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuID4+PSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-51-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiA+Pj49IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-52-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gJj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-53-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTU0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gXj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-54-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTU1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gfD0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-55-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCo9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgKj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(*=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFyIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIF49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(^=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFyIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIHw9IDIwOyIpOyANCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(|=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCo9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICo9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(*=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC89KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIC89IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(/=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCU9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICU9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(%=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCs9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICs9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(+=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC09KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIC09IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(-=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKDw8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA8PD0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA+Pj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+Pj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgPj4+PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-19-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvMTEuMTMuMi02LTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3cgaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXJzIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZXZhbCAqPSAyMDsNCg==","commentary":"","description":"Strict Mode - SyntaxError is throw if the identifier eval appears as the LeftHandSideExpression of a Compound Assignment operator(*=)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC89KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgLz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(/=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCY9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICY9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(&=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKF49KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIF49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(^=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKHw9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIHw9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(|=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCU9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgJT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(%=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCs9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgKz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(+=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC09KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgLT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(-=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKDw8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIDw8PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsID4+PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+Pj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCA+Pj49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCY9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgJj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(&=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzYgPDw9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzcgPj49IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl84ID4+Pj0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfOSAmPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kj1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Kj1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQio9XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQio9XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyo9XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyo9XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAqPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAqPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwKj1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKj1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSo9XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSo9XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCo9XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCo9XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgqPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgqPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Kj1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Kj1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Kj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Xj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOV49XFx1MDAwOTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBCXj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQl49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMENePVx1MDAwQzEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgKHhcXHUwMDBDXj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjBePVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwXj1cXHUwMDIwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAxOwppZiAoKGV2YWwoInhcdTAwQTBePVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwXj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEFePVx1MDAwQTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gMTsgKHhcXHUwMDBBXj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRF49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMERePVxcdTAwMEQxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOF49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjhePVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOV49XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAxOyAoeFxcdTIwMjlePVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Xj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOV49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDAnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5fD1cdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDA7ICh4XFx1MDAwOXw9XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDBCfD1cdTAwMEIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDA7ICh4XFx1MDAwQnw9XFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEN8PVx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMDsgKHhcXHUwMDBDfD1cXHUwMDBDMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM0CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMjB8PVx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMDsgKHhcXHUwMDIwfD1cXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAwOwppZiAoKGV2YWwoInhcdTAwQTB8PVx1MDBBMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gMDsgKHhcXHUwMEEwfD1cXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEF8PVx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gMDsgKHhcXHUwMDBBfD1cXHUwMDBBMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDA7CmlmICgoZXZhbCgieFx1MDAwRHw9XHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSAwOyAoeFxcdTAwMER8PVxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOHw9XHUyMDI4MSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSAwOyAoeFxcdTIwMjh8PVxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOXw9XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAwOyAoeFxcdTIwMjl8PVxcdTIwMjkxKSA9PT0gMScpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fD1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAwOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXw9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Lz1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Lz1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi89XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi89XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy89XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy89XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAvPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAvPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLz1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLz1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS89XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS89XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC89XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC89XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgvPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgvPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Lz1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Lz1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Lz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Lz1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5JT1cdTAwMDktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5JT1cXHUwMDA5LTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQiU9XHUwMDBCLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQiU9XFx1MDAwQi0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyU9XHUwMDBDLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyU9XFx1MDAwQy0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAlPVx1MDAyMC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAlPVxcdTAwMjAtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwJT1cdTAwQTAtMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwJT1cXHUwMEEwLTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSU9XHUwMDBBLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSU9XFx1MDAwQS0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCU9XHUwMDBELTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCU9XFx1MDAwRC0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjglPVx1MjAyOC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjglPVxcdTIwMjgtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5JT1cdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5JT1cXHUyMDI5LTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5JT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDAnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kz1cdTAwMDktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB4ID0gLTE7ICh4XFx1MDAwOSs9XFx1MDAwOS0xKSA9PT0gLTInKTsKfQoKLy9DSEVDSyMyCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDBCKz1cdTAwMEItMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQis9XFx1MDAwQi0xKSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEMrPVx1MDAwQy0xIikpICE9PSAtMikgewogICRFUlJPUignIzM6IHggPSAtMTsgKHhcXHUwMDBDKz1cXHUwMDBDLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjArPVx1MDAyMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzQ6IHggPSAtMTsgKHhcXHUwMDIwKz1cXHUwMDIwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzUKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwQTArPVx1MDBBMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKz1cXHUwMEEwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzYKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEErPVx1MDAwQS0xIikpICE9PSAtMikgewogICRFUlJPUignIzY6IHggPSAtMTsgKHhcXHUwMDBBKz1cXHUwMDBBLTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCs9XHUwMDBELTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogeCA9IC0xOyAoeFxcdTAwMEQrPVxcdTAwMEQtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOCs9XHUyMDI4LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgrPVxcdTIwMjgtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOSs9XHUyMDI5LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjOTogeCA9IC0xOyAoeFxcdTIwMjkrPVxcdTIwMjktMSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxMDogeCA9IC0xOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSs9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LTEpID09PSAtMicpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5LT1cdTAwMDkxIikpICE9PSAtMikgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5LT1cXHUwMDA5MSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi09XHUwMDBCMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi09XFx1MDAwQjEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy09XHUwMDBDMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy09XFx1MDAwQzEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAtPVx1MDAyMDEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAtPVxcdTAwMjAxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLT1cdTAwQTAxIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLT1cXHUwMEEwMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS09XHUwMDBBMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS09XFx1MDAwQTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC09XHUwMDBEMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC09XFx1MDAwRDEpID09PSAtMicpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgtPVx1MjAyODEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgtPVxcdTIwMjgxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5LT1cdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5LT1cXHUyMDI5MSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5LT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gLTInKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5PDw9XHUwMDA5MSIpKSAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk8PD1cXHUwMDA5MSkgPT09IDInKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI8PD1cdTAwMEIxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQjw8PVxcdTAwMEIxKSA9PT0gMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPDw9XHUwMDBDMSIpKSAhPT0gMikgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM8PD1cXHUwMDBDMSkgPT09IDInKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA8PD1cdTAwMjAxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMDw8PVxcdTAwMjAxKSA9PT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMDw8PVx1MDBBMDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPDw9XFx1MDBBMDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPDw9XHUwMDBBMSIpKSAhPT0gMikgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE8PD1cXHUwMDBBMSkgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRDw8PVx1MDAwRDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPDw9XFx1MDAwRDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4PDw9XHUyMDI4MSIpKSAhPT0gMikgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg8PD1cXHUyMDI4MSkgPT09IDInKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk8PD1cdTIwMjkxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOTw8PVxcdTIwMjkxKSA9PT0gMicpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDw9XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMikgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk8PD1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMicpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Pj49XHUwMDA5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQj4+PVxcdTAwMEIxKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA+Pj1cdTAwMjAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMD4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+PVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPj49XFx1MDBBMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRD4+PVx1MDAwRDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg+Pj1cXHUyMDI4MSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+PVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj49XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOT4+Pj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOT4+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj49XHUwMDBCMSIpKSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyAoeFxcdTAwMEI+Pj49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEM+Pj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj49XFx1MDAwQzEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDIwPj4+PVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwPj4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+Pj1cdTAwQTAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IDE7ICh4XFx1MDBBMD4+Pj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEE+Pj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj49XFx1MDAwQTEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEQ+Pj49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMEQ+Pj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj4+PVx1MjAyODEiKSkgIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gMTsgKHhcXHUyMDI4Pj4+PVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOT4+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+Pj1cXHUyMDI5MSkgPT09IDAnKTsKfQoKCi8vQ0hFQ0sjMTAKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDkmPVx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgKHhcXHUwMDA5Jj1cXHUwMDA5MSkgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEImPVx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgKHhcXHUwMDBCJj1cXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQyY9XHUwMDBDMSIpKSAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEMmPVxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAyMCY9XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyAoeFxcdTAwMjAmPVxcdTAwMjAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMCY9XHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAxOyAoeFxcdTAwQTAmPVxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQSY9XHUwMDBBMSIpKSAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEEmPVxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBEJj1cdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IDE7ICh4XFx1MDAwRCY9XFx1MDAwRDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Jj1cdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IDE7ICh4XFx1MjAyOCY9XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI5Jj1cdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOSY9XFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Jj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMScpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICo9IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4ICo9IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggKj0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAqPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IF49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCBePSAxKTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHZhciB6ID0gKHggXj0gMSk7IHogPT09IDAuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gMTsKdmFyIHogPSAoeCBePSB5KTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCBePSB5KTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IHw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHogPSAoeCB8PSAxKTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB6ID0gKHggfD0gMSk7IHogPT09IDEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7CnZhciB5ID0gMTsKdmFyIHogPSAoeCB8PSB5KTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZhciB5ID0gMTsgdmFyIHogPSAoeCB8PSB5KTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC89IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IC89IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggLz0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAvPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAtMTsKdmFyIHogPSAoeCAlPSAyKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHogPSAoeCAlPSAyKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC0xOwp2YXIgeSA9IDI7CnZhciB6ID0gKHggJT0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gLTE7IHZhciB5ID0gMjsgdmFyIHogPSAoeCAlPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICs9IDEpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCArPSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICs9IHkpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICs9IHkpOyB6ID09PSAyLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC09IDEpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAtPSAxKTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IC09IHkpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4IC09IHkpOyB6ID09PSAwLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjYuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPDw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCA8PD0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IDw8PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IDw8PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA8PD0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjcuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKdmFyIHogPSAoeCA+Pj0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeiA9ICh4ID4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDQ7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA+Pj0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjguanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB6ID0gKHggPj4+PSAxKTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB6ID0gKHggPj4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+Pj0geSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSA0OyB2YXIgeSA9IDE7IHZhciB6ID0gKHggPj4+PSB5KTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjkuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICY9IDEpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAmPSAxKTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICY9IHkpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICY9IHkpOyB6ID09PSAxLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAqPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IF49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IF49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggXj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IHw9IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IHw9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggfD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAvPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAlPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCArPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAtPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IDw8PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4ID4+PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IDE7CiAgdmFyIHogPSAoeCA+Pj49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4ID4+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAmPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAqPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggXj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggfD0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAvPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAlPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCArPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAtPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPDw9IDEpOwogICRFUlJPUignIzEuMTogeCA8PD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPj49IDEpOwogICRFUlJPUignIzEuMTogeCA+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICh4ID4+Pj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAmPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICo9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKj0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x *= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIF49IDEpOwogICRFUlJPUignIzEuMTogMSBePSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIF49IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x ^= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIHw9IDEpOwogICRFUlJPUignIzEuMTogMSB8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIHw9IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x |= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC89IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLz0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x /= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICU9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJT0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x %= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICs9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKz0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x += y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLT0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x -= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIDw8PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIDw8PSAxKTsKICB9Cn0KCg==","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x <<= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxID4+PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxID4+PSAxKTsKICB9Cn0KCg==","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoMSA+Pj49IDEpOwogICRFUlJPUignIzEuMTogMSA+Pj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgdmFyIHogPSAoMSA+Pj49IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>>= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICY9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJj0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x &= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKj0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggKj0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgKj0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICo9IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IF49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IF49IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgXj0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSBePSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IHw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IHw9IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgfD0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSB8PSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggLz0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggLz0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgLz0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5IC89IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4ICU9IDI7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4ICU9IDI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5ICU9IDI7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAlPSAyOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKz0gMTsgCmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICs9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSArPSAxOwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICs9IDE7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4IC09IDE7IAppZiAoeCAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4IC09IDE7IHggPT09IC0yLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5IC09IDE7CmlmICh5ICE9PSAtMikgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAtPSAxOyB5ID09PSAtMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPDw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp4IDw8PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSA8PD0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSA8PD0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp4ID4+PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHggPj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gNDsgeSA+Pj0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj4+PSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKeCA+Pj49IDE7IAppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gNDsgeCA+Pj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj49IDE7CmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkgPj4+PSAxOyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggJj0gMTsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICY9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSAmPSAxOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICY9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKj0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAqPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAqPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAqPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IF49IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IF49IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSBePSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgXj0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IHw9IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IHw9IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSB8PSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgfD0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggLz0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAvPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAvPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAvPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4ICU9IDIpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggJT0gMik7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgJT0gMik7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgJT0gMik7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKz0gMSk7CmlmICh4MSAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggKz0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICs9IDEpOwppZiAoeTEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSArPSAxKTsgeTEgPT09IDIuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4IC09IDEpOwppZiAoeDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggLT0gMSk7IHgxID09PSAtMi4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgLT0gMSk7CmlmICh5MSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgLT0gMSk7IHkxID09PSAtMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnZhciB4MSA9ICh4IDw8PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCA8PD0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5IDw8PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgPDw9IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB4MSA9ICh4ID4+PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeDEgPSAoeCA+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkxID0gKHkgPj49IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp2YXIgeDEgPSAoeCA+Pj49IDEpOwppZiAoeDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB4MSA9ICh4ID4+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+Pj0gMSk7CmlmICh5MSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSA0OyB5MSA9ICh5ID4+Pj0gMSk7IHkxID09PSAyLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggJj0gMSk7CmlmICh4MSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggJj0gMSk7IHgxID09PSAxLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICY9IDEpOwppZiAoeTEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAmPSAxKTsgeTEgPT09IDEuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCBePSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IF49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IF49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCBePSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggXj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggXj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggXj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IHw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IHw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAxOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCB8PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICo9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAqPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKj0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICo9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAqPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbWQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAqPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKj0gIjEiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9ICIxIjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAqPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC89ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAvPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLz0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLz0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC89ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gbnVsbDsgeCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLz0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAvPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLz0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICU9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAlPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICU9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggJT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKz0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9ICIxIjsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiICsgIjEiICE9PSJ4MSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICs9ICIxIjsgeCA9PT0gIngxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKz0gIngiOwppZiAoeCAhPT0gIjF4IikgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKz0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCArPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICs9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICs9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKz0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCArPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAxOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKz0gMTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IDE7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSAxOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKz0gIjEiOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiICsgMSAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCArPSAxOyB4ID09PSAieDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICs9ICJ4IjsKaWYgKHggIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSAiMSI7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICs9IHRydWU7CmlmICh4ICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCArPSB0cnVlOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gIjEiOyB4ID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdHJ1ZTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IHRydWU7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKz0gIjEiOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCArPSAiMSI7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICs9IG51bGw7CmlmICh4ICE9PSAiMW51bGwiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSBudWxsOyB4ID09PSAiMW51bGwiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gIjEiOwppZiAoeCAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9ICIxIjsgeCA9PT0gIm51bGwxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gbnVsbDsKaWYgKHggIT09ICIxbnVsbCIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IG51bGw7IHggPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAibnVsbDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAibnVsbDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC09ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAtPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLT0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC09ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IC09IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAtPSAxOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAxOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAtMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAtPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gIjEiOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAiMSI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gdHJ1ZTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLT0gdHJ1ZTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPDw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9ICIxIjsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPDw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IDw8PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSAxOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSAxOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IDw8PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPDw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IDw8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPDw9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA8PD0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9ICIxIjsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4IDw8PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ID4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHRydWU7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9ICIxIjsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAieCI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj4+PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9ICIxIjsgeCA+Pj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICIxIjsKeCA+Pj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM5OiB4ID0gIngiOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCA+Pj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAiMSI7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICY9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJj0gIngiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB1bmRlZmluZWQ7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICY9ICJ4IjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAmPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAmPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAmPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXhwcmVzc2lvbiBhbmQgLCBvciBiZXR3ZWVuICwgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDksXHUwMDA5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChmYWxzZVxcdTAwMDksXFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCLFx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2VcXHUwMDBCLFxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoImZhbHNlXHUwMDBDLFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDLFxcdTAwMEN0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCJmYWxzZVx1MDAyMCxcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMCxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTAsXHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTAsXFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoImZhbHNlXHUwMDBBLFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBLFxcdTAwMEF0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoImZhbHNlXHUwMDBELFx1MDAwRHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoZmFsc2VcXHUwMDBELFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOCxcdTIwMjh0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKGZhbHNlXFx1MjAyOCxcXHUyMDI4dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgoZXZhbCgiZmFsc2VcdTIwMjksXHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjksXFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiZmFsc2VcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjksXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjksXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between Expression and , or between , and AssignmentExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.14/S11.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEsMikgIT09IDIpIHsKICAkRVJST1IoJyMxOiAoMSwyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCgxLDIpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCwgMikgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4LCAyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCAyKSkpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoKDEsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAoMSwgeSkgPT09IDIuIEFjdHVhbDogJyArICgoMSwgeSkpKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAyOwppZiAoKHgsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7ICh4LCB5KSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCB5KSkpOwp9CgovL0NIRUNLIzUKdmFyIHggPSAxOwppZiAoKHgsIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAxOyAoeCwgeCkgPT09IDEuIEFjdHVhbDogJyArICgoeCwgeCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgPSBmYWxzZSwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wLiBBY3R1YWw6ICcgKyAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApKSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdHgucHJvcCAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzY6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gdHJ1ZTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gZmFsc2UsIG9iamVjdHkucHJvcDsgb2JqZWN0eC5wcm9wID09PSBmYWxzZScpOwogIH0gCn0KCgo=","commentary":"Operator uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.14/S11.14_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LCAxOwogICRFUlJPUignIzEuMTogeCwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHgsIDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgsIDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(Expression) is null, throw ReferenceError","path":"TestCases/ch11/11.14/S11.14_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLCB5OwogICRFUlJPUignIzEuMTogMSwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEsIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEsIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.14/S11.14_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21tYSBPcGVyYXRvciBldmFsdWF0ZXMgYWxsIEV4cHJlc3Npb25zIGFuZCByZXR1cm5zIHRoZSBsYXN0IG9mIHRoZW0KICoKICogQHBhdGggY2gxMS8xMS4xNC9TMTEuMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHkgPSAwOwp2YXIgeiA9IDA7CmlmICgoeCA9IDEsIHkgPSAyLCB6ID0gMykgIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB5ID0gMDsgdmFyIHogPSAwOyAoeCA9IDEsIHkgPSAyLCB6ID0gMykgPT09IDMuIEFjdHVhbDogJyArICgoeCA9IDEsIHkgPSAyLCB6ID0gMykpKTsKfQoKdmFyIHggPSAwOwp2YXIgeSA9IDA7CnZhciB6ID0gMDsKeCA9IDEsIHkgPSAyLCB6ID0gMzsKCi8vQ0hFQ0sjMgppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeiAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHogPT09IDMuIEFjdHVhbDogJyArICh6KSk7Cn0KCg==","commentary":"Comma Operator evaluates all Expressions and returns the last of them","description":"Checking with \"=\"","path":"TestCases/ch11/11.14/S11.14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBvciBDYWxsRXhwcmVzc2lvbiBhbmQgIi4iIGFuZCBiZXR3ZWVuICIuIiBhbmQgSWRlbnRpZmllciBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5Llx1MDAwOVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkuXFx1MDAwOVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJOdW1iZXJcdTAwMEIuXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyXFx1MDAwQi5cXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiTnVtYmVyXHUwMDBDLlx1MDAwQ1BPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlclxcdTAwMEMuXFx1MDAwQ1BPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAuXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMC5cXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMC5cdTAwQTBQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwLlxcdTAwQTBQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiTnVtYmVyXHUwMDBBLlx1MDAwQVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlclxcdTAwMEEuXFx1MDAwQVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIk51bWJlclx1MDAwRC5cdTAwMERQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJcXHUwMDBELlxcdTAwMERQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4Llx1MjAyOFBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjguXFx1MjAyOFBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJOdW1iZXJcdTIwMjkuXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyXFx1MjAyOS5cXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJOdW1iZXJcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkuXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlclxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS5cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MemberExpression or CallExpression and \".\" and between \".\" and Identifier are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIlsiIGFuZCBNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uIGFuZCBiZXR3ZWVuIElkZW50aWZpZXIgYW5kICJdIiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgnTnVtYmVyW1x1MDAwOSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMDldJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlcltcXHUwMDA5IlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMDldID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCdOdW1iZXJbXHUwMDBCIlBPU0lUSVZFX0lORklOSVRZIlx1MDAwQl0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyW1xcdTAwMEIiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwQl0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQyJQT1NJVElWRV9JTkZJTklUWSJcdTAwMENdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlcltcXHUwMDBDIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMENdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCdOdW1iZXJbXHUwMDIwIlBPU0lUSVZFX0lORklOSVRZIlx1MDAyMF0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyW1xcdTAwMjAiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAyMF0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoJ051bWJlcltcdTAwQTAiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMEEwXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJbXFx1MDBBMCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMEEwXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMEFdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlcltcXHUwMDBBIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMEFdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoJ051bWJlcltcdTAwMEQiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMDBEXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJbXFx1MDAwRCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMDBEXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgnTnVtYmVyW1x1MjAyOCJQT1NJVElWRV9JTkZJTklUWSJcdTIwMjhdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlcltcXHUyMDI4IlBPU0lUSVZFX0lORklOSVRZIlxcdTIwMjhdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCdOdW1iZXJbXHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyW1xcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MjAyOV0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCdOdW1iZXJbXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlcltcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"[\" and MemberExpression or CallExpression and between Identifier and \"]\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGFuZCBDYWxsRXhwcmVzc2lvbiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjEvUzExLjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdFsxXTsKICAkRVJST1IoJyMxLjE6IG9iamVjdFsxXSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdFsxXSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0WzFdIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmplY3QucHJvcDsKICAkRVJST1IoJyMyLjE6IG9iamVjdC5wcm9wIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogb2JqZWN0LnByb3AgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7IAogIH0KfQoK","commentary":"MemberExpression and CallExpression uses GetValue","description":"If GetBase(MemberExpression or CallExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZS50b1N0cmluZygpICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiB0cnVlLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKHRydWUudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGZhbHNlWyJ0b1N0cmluZyJdKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMyOiBmYWxzZVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAoZmFsc2VbInRvU3RyaW5nIl0oKSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbihmYWxzZSlbInRvU3RyaW5nIl0oKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKGZhbHNlKVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4oZmFsc2UpWyJ0b1N0cmluZyJdKCkpKTsKfSAgCgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking Boolean case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE51bWJlciBjYXNlCiAqLwoKLy9DSEVDSyMxCmlmICgxLi50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAxLi50b1N0cmluZygpID09PSAiMSIuIEFjdHVhbDogJyArICgxLi50b1N0cmluZygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMS4xLnRvRml4ZWQoNSkgIT09ICIxLjEwMDAwIikgewogICRFUlJPUignIzI6IDEuMS50b0ZpeGVkKDUpID09PSAiMS4xMDAwMCIuIEFjdHVhbDogJyArICgxLjEudG9GaXhlZCg1KSkpOwp9CgovL0NIRUNLIzMKaWYgKDFbInRvU3RyaW5nIl0oKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMzogMVsidG9TdHJpbmciXSgpID09PSAiMSIuIEFjdHVhbDogJyArICgxWyJ0b1N0cmluZyJdKCkpKTsKfQoKLy9DSEVDSyM0CmlmICgxLlsidG9GaXhlZCJdKDUpICE9PSAiMS4wMDAwMCIpIHsKICAkRVJST1IoJyM0OiAxLlsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArICgxLlsidG9GaXhlZCJdKDUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAobmV3IE51bWJlcigxKS50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyM1OiBuZXcgTnVtYmVyKDEpLnRvU3RyaW5nKCkgPT09ICIxIi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSlbInRvRml4ZWQiXSg1KSAhPT0gIjEuMDAwMDAiKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKVsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpWyJ0b0ZpeGVkIl0oNSkpKTsKfSAKCg==","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking Number case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZyBjYXNlOwogKi8KCi8vQ0hFQ0sjMQppZiAoImFiYzEyMyIuY2hhckF0KDUpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiAiYWJjMTIzIi5jaGFyQXQoNSkgPT09ICIzIi4gQWN0dWFsOiAnICsgKCJhYmMxMjMiLmNoYXJBdCg1KSkpOwp9CgovL0NIRUNLIzIKaWYgKCJhYmMxMjMiWyJjaGFyQXQiXSgwKSAhPT0gImEiKSB7CiAgJEVSUk9SKCcjMjogImFiYzEyMyJbImNoYXJBdCJdKDApID09PSAiYSIuIEFjdHVhbDogJyArICgiYWJjMTIzIlsiY2hhckF0Il0oMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgiYWJjMTIzIi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiAiYWJjMTIzIi5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIi5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmICgiYWJjMTIzIlsibGVuZ3RoIl0gIT09IDYpIHsKICAkRVJST1IoJyM0OiAiYWJjMTIzIlsibGVuZ3RoIl0gPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIlsibGVuZ3RoIl0pKTsKfQoKLy9DSEVDSyM1CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM1OiBuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKVsiY2hhckF0Il0oMikgIT09ICJjIikgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoImFiYzEyMyIpWyJjaGFyQXQiXSgyKSA9PT0gImMiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiYWJjMTIzIilbImNoYXJBdCJdKDIpKSk7Cn0gIAoK","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking String case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQudG9TdHJpbmcoKTsKICAkRVJST1IoJyMxLjE6IHVuZGVmaW5lZC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZC50b1N0cmluZygpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIHVuZGVmaW5lZFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogdW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkpKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHVuZGVmaW5lZFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbC50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbnVsbC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGwudG9TdHJpbmcoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG51bGwudG9TdHJpbmcoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgeyAgCiAgbnVsbFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGxbInRvU3RyaW5nIl0oKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking \"null\" case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhpcyBvYmplY3QKICovCgovL0NIRUNLIzEtMzIKaWYgKHR5cGVvZiAodGhpcy5OYU4pICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxOiB0eXBlb2YgKHRoaXMuTmFOKSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydOYU4nXSAgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjogdHlwZW9mIHRoaXNbIk5hTiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuSW5maW5pdHkgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzM6IHR5cGVvZiB0aGlzLkluZmluaXR5ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0luZmluaXR5J10gID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzQ6IHR5cGVvZiB0aGlzWyJJbmZpbml0eSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMucGFyc2VJbnQgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzU6IHR5cGVvZiB0aGlzLnBhcnNlSW50ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlSW50J10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjNjogdHlwZW9mIHRoaXNbInBhcnNlSW50Il0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM3OiB0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlRmxvYXQnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM4OiB0eXBlb2YgdGhpc1sicGFyc2VGbG9hdCJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuZXNjYXBlICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM5OiB0eXBlb2YgdGhpcy5lc2NhcGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snZXNjYXBlJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiB0aGlzWyJlc2NhcGUiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLnVuZXNjYXBlICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxMTogdHlwZW9mIHRoaXMudW5lc2NhcGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1sndW5lc2NhcGUnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxMjogdHlwZW9mIHRoaXNbInVuZXNjYXBlIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5pc05hTiAgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTM6IHR5cGVvZiB0aGlzLmlzTmFOICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ2lzTmFOJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiB0aGlzWyJpc05hTiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuaXNGaW5pdGUgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE1OiB0eXBlb2YgdGhpcy5pc0Zpbml0ZSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydpc0Zpbml0ZSddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE2OiB0eXBlb2YgdGhpc1siaXNGaW5pdGUiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLk9iamVjdCA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxNzogdHlwZW9mIHRoaXMuT2JqZWN0ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ09iamVjdCddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE4OiB0eXBlb2YgdGhpc1siT2JqZWN0Il0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5OdW1iZXIgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiB0aGlzLk51bWJlciAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydOdW1iZXInXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyMDogdHlwZW9mIHRoaXNbIk51bWJlciJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuRnVuY3Rpb24gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjE6IHR5cGVvZiB0aGlzLkZ1bmN0aW9uICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0Z1bmN0aW9uJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiB0aGlzWyJGdW5jdGlvbiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuQXJyYXkgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiB0aGlzLkFycmF5ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0FycmF5J10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjQ6IHR5cGVvZiB0aGlzWyJBcnJheSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuU3RyaW5nID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI1OiB0eXBlb2YgdGhpcy5TdHJpbmcgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snU3RyaW5nJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiB0aGlzWyJTdHJpbmciXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLkJvb2xlYW4gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjc6IHR5cGVvZiB0aGlzLkJvb2xlYW4gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snQm9vbGVhbiddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI4OiB0eXBlb2YgdGhpc1siQm9vbGVhbiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuRGF0ZSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyOTogdHlwZW9mIHRoaXMuRGF0ZSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydEYXRlJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiB0aGlzWyJEYXRlIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5NYXRoID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzMxOiB0eXBlb2YgdGhpcy5NYXRoICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ01hdGgnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMzMjogdHlwZW9mIHRoaXNbIk1hdGgiXSAhPT0gInVuZGVmaW5lZCInKTsKCg==","commentary":"Check type of various properties","description":"Checking properties of this object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgb2YgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEtOAppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUgICE9PSAib2JqZWN0IikgICRFUlJPUignIzE6IHR5cGVvZiBPYmplY3QucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlICkpOwppZiAodHlwZW9mIE9iamVjdFsncHJvdG90eXBlJ10gIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIE9iamVjdC50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIE9iamVjdFsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3RbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgT2JqZWN0LnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd2YWx1ZU9mJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc6IHR5cGVvZiBPYmplY3QuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIE9iamVjdFsnY29uc3RydWN0b3InXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg6IHR5cGVvZiBPYmplY3RbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJjb25zdHJ1Y3RvciJdICkpOwoK","commentary":"Check type of various properties","description":"Checking properties and methods of Object objects","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uWydwcm90b3R5cGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb25bInByb3RvdHlwZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNTogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWydsZW5ndGgnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM2OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoK","commentary":"Check type of various properties","description":"Checking properties of the Function object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEFycmF5IG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgQXJyYXkucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQXJyYXlbJ3Byb3RvdHlwZSddICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBBcnJheVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5WyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5sZW5ndGggICE9PSAibnVtYmVyIikgICRFUlJPUignIzM6IHR5cGVvZiBBcnJheS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5Lmxlbmd0aCApKTsKaWYgKHR5cGVvZiBBcnJheVsnbGVuZ3RoJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNDogdHlwZW9mIEFycmF5WyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgQXJyYXlbImxlbmd0aCJdICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEFycmF5LnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmpvaW4gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnam9pbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsncmV2ZXJzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTI6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuc29ydCAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnc29ydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSApKTsKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Array object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEtMjgKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmdbJ3Byb3RvdHlwZSddICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMyOiB0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKSk7CmlmICh0eXBlb2YgU3RyaW5nWydmcm9tQ2hhckNvZGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OiB0eXBlb2YgU3RyaW5nWyJmcm9tQ2hhckNvZGUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmdbImZyb21DaGFyQ29kZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b1N0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndmFsdWVPZiddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInZhbHVlT2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzExOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnY2hhckF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMjogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEzOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydjaGFyQ29kZUF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNDogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJDb2RlQXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJjaGFyQ29kZUF0Il0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydpbmRleE9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJpbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiaW5kZXhPZiJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGFzdEluZGV4T2YnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxhc3RJbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGFzdEluZGV4T2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3BsaXQnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsic3BsaXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzcGxpdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3Vic3RyaW5nJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndG9Mb3dlckNhc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidG9Mb3dlckNhc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b0xvd2VyQ2FzZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1VwcGVyQ2FzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiBBcnJheS5wcm90b3R5cGUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCAgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGVuZ3RoJ10gICE9PSAibnVtYmVyIikgICRFUlJPUignIzI4OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGVuZ3RoIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxlbmd0aCJdICkpOwoKCg==","commentary":"Check type of various properties","description":"Checking properties of the String object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTgKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSAgIT09ICJvYmplY3QiKSAgICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQm9vbGVhblsncHJvdG90eXBlJ10gICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBCb29sZWFuWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzOiB0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBCb29sZWFuLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIEJvb2xlYW5bJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW5bImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlWyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3RvU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CgoK","commentary":"Check type of various properties","description":"Checking properties of the Boolean object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEtMTYKaWYgKHR5cGVvZiBOdW1iZXIuTUFYX1ZBTFVFICAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ01BWF9WQUxVRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdICkpOwppZiAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlci5NSU5fVkFMVUUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydNSU5fVkFMVUUnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM0OiB0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSApKTsKaWYgKHR5cGVvZiBOdW1iZXIuTmFOICE9PSAibnVtYmVyIikgICRFUlJPUignIzU6IHR5cGVvZiBOdW1iZXIuTmFOID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuTmFOICkpOwppZiAodHlwZW9mIE51bWJlclsnTmFOJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlclsiTmFOIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlclsiTmFOIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAibnVtYmVyIikgICRFUlJPUignIzc6IHR5cGVvZiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ05FR0FUSVZFX0lORklOSVRZJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjODogdHlwZW9mIE51bWJlclsiTkVHQVRJVkVfSU5GSU5JVFkiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJORUdBVElWRV9JTkZJTklUWSJdICkpOwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM5OiB0eXBlb2YgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydQT1NJVElWRV9JTkZJTklUWSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzEwOiB0eXBlb2YgTnVtYmVyWyJQT1NJVElWRV9JTkZJTklUWSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIlBPU0lUSVZFX0lORklOSVRZIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGUudmFsdWVPZiApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Number object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE1hdGggT2JqZWN0CiAqLwoKLy9DSEVDSyMxLTUyCmlmICh0eXBlb2YgTWF0aC5FICE9PSAibnVtYmVyIikgICRFUlJPUignIzE6IHR5cGVvZiBNYXRoLkUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguRSApKTsKaWYgKHR5cGVvZiBNYXRoWydFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE1hdGhbIkUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE4xMCAhPT0gIm51bWJlciIpICAkRVJST1IoJyMzOiB0eXBlb2YgTWF0aC5MTjEwID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLkxOMTAgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE4xMCddICE9PSAibnVtYmVyIikgICRFUlJPUignIzQ6IHR5cGVvZiBNYXRoWyJMTjEwIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIkxOMTAiXSApKTsKaWYgKHR5cGVvZiBNYXRoLkxOMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5MTjIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguTE4yICkpOwppZiAodHlwZW9mIE1hdGhbJ0xOMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzY6IHR5cGVvZiBNYXRoWyJMTjIiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE4yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5MT0cyRSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM3OiB0eXBlb2YgTWF0aC5MT0cyRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cyRSApKTsKaWYgKHR5cGVvZiBNYXRoWydMT0cyRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzg6IHR5cGVvZiBNYXRoWyJMT0cyRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJMT0cyRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE9HMTBFICE9PSAibnVtYmVyIikgICRFUlJPUignIzk6IHR5cGVvZiBNYXRoLkxPRzEwRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cxMEUgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE9HMTBFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBNYXRoWyJMT0cxMEUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE9HMTBFIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMTogdHlwZW9mIE1hdGguUEkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguUEkgKSk7CmlmICh0eXBlb2YgTWF0aFsnUEknXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMjogdHlwZW9mIE1hdGhbIlBJIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlBJIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMV8yICE9PSAibnVtYmVyIikgICRFUlJPUignIzEzOiB0eXBlb2YgTWF0aC5TUVJUMV8yID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLlNRUlQxXzIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDFfMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzE0OiB0eXBlb2YgTWF0aFsiU1FSVDFfMiJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJTUVJUMV8yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNTogdHlwZW9mIE1hdGguU1FSVDIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguU1FSVDIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDInXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNjogdHlwZW9mIE1hdGhbIlNRUlQyIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlNRUlQyIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hYnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNzogdHlwZW9mIE1hdGguYWJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYWJzICkpOwppZiAodHlwZW9mIE1hdGhbJ2FicyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTg6IHR5cGVvZiBNYXRoWyJhYnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhYnMiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmFjb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxOTogdHlwZW9mIE1hdGguYWNvcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLmFjb3MgKSk7CmlmICh0eXBlb2YgTWF0aFsnYWNvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjA6IHR5cGVvZiBNYXRoWyJhY29zIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiYWNvcyJdICkpOwppZiAodHlwZW9mIE1hdGguYXNpbiAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgTWF0aC5hc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXNpbiApKTsKaWYgKHR5cGVvZiBNYXRoWydhc2luJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMjogdHlwZW9mIE1hdGhbImFzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhc2luIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hdGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBNYXRoLmF0YW4gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5hdGFuICkpOwppZiAodHlwZW9mIE1hdGhbJ2F0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgTWF0aFsiYXRhbiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImF0YW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLmF0YW4yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjU6IHR5cGVvZiBNYXRoLmF0YW4yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXRhbjIgKSk7CmlmICh0eXBlb2YgTWF0aFsnYXRhbjInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI2OiB0eXBlb2YgTWF0aFsiYXRhbjIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhdGFuMiJdICkpOwppZiAodHlwZW9mIE1hdGguY2VpbCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI3OiB0eXBlb2YgTWF0aC5jZWlsID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY2VpbCApKTsKaWYgKHR5cGVvZiBNYXRoWydjZWlsJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyODogdHlwZW9mIE1hdGhbImNlaWwiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjZWlsIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5jb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOTogdHlwZW9mIE1hdGguY29zID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY29zICkpOwppZiAodHlwZW9mIE1hdGhbJ2NvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiBNYXRoWyJjb3MiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjb3MiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmV4cCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMxOiB0eXBlb2YgTWF0aC5leHAgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5leHAgKSk7CmlmICh0eXBlb2YgTWF0aFsnZXhwJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMjogdHlwZW9mIE1hdGhbImV4cCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImV4cCJdICkpOwppZiAodHlwZW9mIE1hdGguZmxvb3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMzogdHlwZW9mIE1hdGguZmxvb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5mbG9vciApKTsKaWYgKHR5cGVvZiBNYXRoWydmbG9vciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzQ6IHR5cGVvZiBNYXRoWyJmbG9vciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImZsb29yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5sb2cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNTogdHlwZW9mIE1hdGgubG9nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgubG9nICkpOwppZiAodHlwZW9mIE1hdGhbJ2xvZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzY6IHR5cGVvZiBNYXRoWyJsb2ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJsb2ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLm1heCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM3OiB0eXBlb2YgTWF0aC5tYXggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5tYXggKSk7CmlmICh0eXBlb2YgTWF0aFsnbWF4J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzODogdHlwZW9mIE1hdGhbIm1heCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIm1heCJdICkpOwppZiAodHlwZW9mIE1hdGgubWluICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzk6IHR5cGVvZiBNYXRoLm1pbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLm1pbiApKTsKaWYgKHR5cGVvZiBNYXRoWydtaW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQwOiB0eXBlb2YgTWF0aFsibWluIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsibWluIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5wb3cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MTogdHlwZW9mIE1hdGgucG93ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgucG93ICkpOwppZiAodHlwZW9mIE1hdGhbJ3BvdyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDI6IHR5cGVvZiBNYXRoWyJwb3ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJwb3ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLnJhbmRvbSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQzOiB0eXBlb2YgTWF0aC5yYW5kb20gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yYW5kb20gKSk7CmlmICh0eXBlb2YgTWF0aFsncmFuZG9tJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NDogdHlwZW9mIE1hdGhbInJhbmRvbSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJhbmRvbSJdICkpOwppZiAodHlwZW9mIE1hdGgucm91bmQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NTogdHlwZW9mIE1hdGgucm91bmQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yb3VuZCApKTsKaWYgKHR5cGVvZiBNYXRoWydyb3VuZCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDY6IHR5cGVvZiBNYXRoWyJyb3VuZCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJvdW5kIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5zaW4gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NzogdHlwZW9mIE1hdGguc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguc2luICkpOwppZiAodHlwZW9mIE1hdGhbJ3NpbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDg6IHR5cGVvZiBNYXRoWyJzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJzaW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLnNxcnQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OTogdHlwZW9mIE1hdGguc3FydCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnNxcnQgKSk7CmlmICh0eXBlb2YgTWF0aFsnc3FydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTA6IHR5cGVvZiBNYXRoWyJzcXJ0Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsic3FydCJdICkpOwppZiAodHlwZW9mIE1hdGgudGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTE6IHR5cGVvZiBNYXRoLnRhbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnRhbiApKTsKaWYgKHR5cGVvZiBNYXRoWyd0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUyOiB0eXBlb2YgTWF0aFsidGFuIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsidGFuIl0gKSk7CgoK","commentary":"Check type of various properties","description":"Checking properties of the Math Object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIERhdGUgb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTg2CmlmICh0eXBlb2YgRGF0ZS5wYXJzZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBEYXRlLnBhcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucGFyc2UgKSk7CmlmICh0eXBlb2YgRGF0ZVsncGFyc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI6IHR5cGVvZiBEYXRlWyJwYXJzZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInBhcnNlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUgIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMzogdHlwZW9mIERhdGUucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBEYXRlWydwcm90b3R5cGUnXSAhPT0gIm9iamVjdCIpICAkRVJST1IoJyM0OiB0eXBlb2YgRGF0ZVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInByb3RvdHlwZSJdICkpOwppZiAodHlwZW9mIERhdGUuVVRDICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIERhdGUuVVRDID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUuVVRDICkpOwppZiAodHlwZW9mIERhdGVbJ1VUQyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjogdHlwZW9mIERhdGVbIlVUQyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbIlVUQyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVudnRpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInZhbHVlT2YiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VGltZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VGltZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRUaW1lIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRZZWFyIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldEZ1bGxZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRGdWxsWWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRGdWxsWWVhciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDRnVsbFllYXInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0Z1bGxZZWFyIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0Z1bGxZZWFyIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRNb250aCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TW9udGgiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TW9udGgiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIzOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ01vbnRoJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNb250aCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNb250aCJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldERhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldERhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0RGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXREYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENEYXRlJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENEYXRlIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0RhdGUiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldERheSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldERheSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RGF5Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldERheSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDRGF5J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENEYXkiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDRGF5Il0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldEhvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldEhvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0SG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0SG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ0hvdXJzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENIb3VycyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENIb3VycyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0TWludXRlcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TWludXRlcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRNaW51dGVzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENNaW51dGVzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNaW51dGVzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ01pbnV0ZXMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFNlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0U2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDU2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDU2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENTZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldE1pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ01pbGxpc2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDTWlsbGlzZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ01pbGxpc2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFRpbWUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFRpbWUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VGltZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VGltZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRUaW1lIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldE1pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1MzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ01pbGxpc2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDTWlsbGlzZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01pbGxpc2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1NTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0U2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0U2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRTZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENTZWNvbmRzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1ODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENTZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ1NlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldE1pbnV0ZXMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzYwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldE1pbnV0ZXMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0TWludXRlcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2MTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDTWludXRlcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDTWludXRlcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENNaW51dGVzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2MzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldEhvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEhvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0SG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0SG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ0hvdXJzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2NjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENIb3VycyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENIb3VycyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldERhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2NzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldERhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0RGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXREYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENEYXRlJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3MDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENEYXRlIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ0RhdGUiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNb250aCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzcxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldE1vbnRoJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3MjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNb250aCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNb250aCJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDTW9udGgnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01vbnRoIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01vbnRoIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3NTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRGdWxsWWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RnVsbFllYXIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RnVsbFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ0Z1bGxZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3ODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENGdWxsWWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENGdWxsWWVhciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0WWVhciApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0WWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0WWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRZZWFyIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4MTogdHlwZW9mIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWyd0b0xvY2FsZVN0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9Mb2NhbGVTdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9Mb2NhbGVTdHJpbmciXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzgzOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3RvVVRDU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4NDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b1VUQ1N0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b1VUQ1N0cmluZyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvR01UU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsndG9HTVRTdHJpbmcnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvR01UU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvR01UU3RyaW5nIl0gKSk7CgoKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Date object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE5ld0V4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyMxOiBuZXdcXHUwMDA5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJuZXdcdTAwMEJOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3XFx1MDAwQk51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJuZXdcdTAwMENOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzQ6IG5ld1xcdTAwMjBOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIm5ld1x1MDBBME51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM1OiBuZXdcXHUwMEEwTnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJuZXdcdTAwMEFOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNzogbmV3XFx1MDAwRE51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgibmV3XHUyMDI4TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzg6IG5ld1xcdTIwMjhOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIm5ld1x1MjAyOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzEwOiBuZXdcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlOdW1iZXIgPT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between \"new\" and NewExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE1lbWJlckV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzE6IG5ld1xcdTAwMDlOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIm5ld1x1MDAwQk51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzI6IG5ld1xcdTAwMEJOdW1iZXIgPT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgibmV3XHUwMDBDTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3XFx1MDAyME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgibmV3XHUwMEEwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNTogbmV3XFx1MDBBME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgibmV3XHUwMDBBTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM3OiBuZXdcXHUwMDBETnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJuZXdcdTIwMjhOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM4OiBuZXdcXHUyMDI4TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJuZXdcdTIwMjlOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ld1xcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"new\" and MemberExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAibmV3IiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShOZXdFeHByZXNzaW9uKSBvciBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMS4xOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyB4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAogIH0KfQoK","commentary":"Operator \"new\" uses GetValue","description":"If GetBase(NewExpression) or GetBase(MemberExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm9vbGVhbiBwcmltaXRpdmUgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB0cnVlOwogICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdHJ1ZTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHRydWU7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gdHJ1ZTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB0cnVlOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSB0cnVlOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHRydWU7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCgo=","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking boolean primitive case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bWJlciBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IDE7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gMTsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gMTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IDE7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAogIH0KfQoK","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"number primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInN0cmluZyBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgIjEiIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyAiMSIgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAiMSI7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gIjEiOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9ICIxIjsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"string primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInVuZGVmaW5lZCIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjMTogbmV3IHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gdW5kZWZpbmVkOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB1bmRlZmluZWQ7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bGwgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG51bGw7CiAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBudWxsOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG51bGw7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG51bGw7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBudWxsOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"null primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG5ldyBCb29sZWFuKHRydWUpOwogICRFUlJPUignIzE6IG5ldyBuZXcgQm9vbGVhbih0cnVlKSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgbmV3IEJvb2xlYW4odHJ1ZSkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKCg==","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Boolean object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IE51bWJlcigxKTsKICAkRVJST1IoJyMxOiBuZXcgbmV3IE51bWJlcigxKSB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyBuZXcgTnVtYmVyKDEpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKCg==","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Number object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IFN0cmluZygiMSIpOwogICRFUlJPUignIzE6IG5ldyBuZXcgU3RyaW5nKCIxIikgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG5ldyBTdHJpbmcoIjEiKSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gbmV3IFN0cmluZygiMSIpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgoK","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking String object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgdGhpczsKICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBuZXcgdGhpcygpOwogICRFUlJPUignIzI6IG5ldyB0aGlzKCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IHRoaXMoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Global object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IE1hdGg7CiAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IG5ldyBNYXRoKCk7CiAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTWF0aCgpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTWF0aCgpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IE1hdGgoKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9CgoK","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Math object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBhbmQgQXJndW1lbnRzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjMvUzExLjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIk51bWJlclx1MDAwQigpIikgIT09IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXJcXHUwMDBCKCkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIk51bWJlclx1MDAwQygpIikgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXJcXHUwMDBDKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMCA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMCgpIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJOdW1iZXJcdTAwMEEoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyXFx1MDAwQSgpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJOdW1iZXJcdTAwMEQoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyXFx1MDAwRCgpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4KCkiKSAhPT0gMCkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjgoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIk51bWJlclx1MjAyOSgpIikgIT09IDApIHsKICAkRVJST1IoJyM5OiBOdW1iZXJcXHUyMDI5KCkgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiTnVtYmVyXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzEwOiBOdW1iZXJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkoKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between MemberExpression and Arguments are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsRXhwcmVzc2lvbiA6IE1lbWJlckV4cHJlc3Npb24gQXJndW1lbnRzIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCgpOwogICRFUlJPUignIzEuMTogeCgpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCgpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4KCkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHgoMSwyLDMpOwogICRFUlJPUignIzIuMTogeCgxLDIsMykgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KDEsMiwzKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB4KDEsMiwzKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"CallExpression : MemberExpression Arguments uses GetValue","description":"If GetBase(MemberExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJib29sZWFuIHByaW1pdGl2ZSIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUoKTsKICAgICRFUlJPUignIzEuMTogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHRydWUoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IHRydWU7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSkgIAogIH0KfQoK","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"boolean primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudW1iZXIgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSgpOwogICAgJEVSUk9SKCcjMS4xOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gMTsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gMTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAxOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"number primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJzdHJpbmcgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIjEiKCk7CiAgICAkRVJST1IoJyMxLjE6ICIxIigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCIxIigpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAiMSIoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9ICIxIjsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAiMSI7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoK","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"string primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQoKTsKICAgICRFUlJPUignIzEuMTogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIHgoKTsKICAgICRFUlJPUignIzIuMTogdmFyIHggPSB1bmRlZmluZWQ7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHVuZGVmaW5lZDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9Cgo=","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbCgpOwogICAgJEVSUk9SKCcjMS4xOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobnVsbCgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbnVsbDsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbnVsbDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBudWxsOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"null\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IEJvb2xlYW4odHJ1ZSkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIHgoKTsKICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Boolean object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgTnVtYmVyKDEpKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbmV3IE51bWJlcigxKTsKICB4KCk7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Number object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgU3RyaW5nKCIxIikoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBTdHJpbmcoIjEiKSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgU3RyaW5nKCIxIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7CiAgeCgpOwogICRFUlJPUignIzIuMTogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking String object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0aGlzKCk7CiAgJEVSUk9SKCcjMS4xOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodGhpcygpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Global object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTWF0aCgpOwogICRFUlJPUignIzEuMTogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE1hdGgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Math object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoKSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoK","commentary":"Arguments : ()","description":"Function is declared with no FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoeCx5KSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbiBmX2FyZyh4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcubGVuZ3RoKSk7Cn0KCg==","commentary":"Arguments : ()","description":"Function is declared with FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbigpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMykubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoMSwyLDMpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbigpKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMylbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZygxLDIsMylbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oKSgpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzJdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZl9hcmcoMSwyLDMpWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzNdKSk7Cn0KCg==","commentary":"Arguments : (ArgumentList)","description":"Function is declared with no FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbih4LHkpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMykubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGZfYXJnKDEpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSlbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxKVswXSkpOwp9CgovL0NIRUNLIzMKaWYgKGZfYXJnKDEsMilbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIpWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKGZfYXJnKDEsMiwzKVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbM10pKTsKfQoKLy9DSEVDSyM2CmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChmX2FyZy5sZW5ndGgpKTsKfQoK","commentary":"Arguments : (ArgumentList)","description":"Function is declared with FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCwgQXNzaWdubWVudEV4cHJlc3Npb24pIGlzIGEgYmFkIHN5bnRheAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gaW5jb3JyZWN0IHN5bnRheAogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKZl9hcmcoMSwsMik7Cgo=","commentary":"Arguments : (ArgumentList : ArgumentList,, AssignmentExpression) is a bad syntax","description":"incorrect syntax","negative":"","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKZl9hcmcoeD0xLHgpOwoK","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKdHJ5IHsKICBmX2FyZyh4LHg9MSk7CiAgJEVSUk9SKCcjMS4xOiBmdW5jdGlvbiBmX2FyZygpIHt9IGZfYXJnKHgseD0xKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZfYXJnKHgseD0xKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4LHg9MSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKHgseSx6KSB7CiAgcmV0dXJuIHo7Cn0KCi8vQ0hFQ0sjMQppZiAoZl9hcmcoeD0xLHk9eCx4K3kpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gZl9hcmcoeCx5LHopIHtyZXR1cm4gejt9IGZfYXJnKHg9MSx5PXgseCt5KSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKHg9MSx5PXgseCt5KSkpOyAgICAKfQoK","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCnZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07CnZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07CgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKLy9DSEVDSyMxCnRyeSB7CiAgZl9hcmcoeCgpLHkoKSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IGZ1bmN0aW9uIGZfYXJnKCkge30gZl9hcmcoeCgpLHkoKSkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZl9hcmcoeCgpLHkoKSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgYXJndW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgYXJndW1lbnQnKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4KCkseSgpKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzKyspDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMrKzsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xLzExLjMuMS0yLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3cgaWYgdGhlIGlkZW50aWZpZXIgYXJndW1lbnRzIGFwcGVhciBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGFyZ3VtZW50cysrKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQphcmd1bWVudHMrKzsNCg==","commentary":"","description":"Strict Mode - SyntaxError is throw if the identifier arguments appear as a PostfixExpression(arguments++)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhciBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGV2YWwrKykNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsKys7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHNbLi4uXScgYXBwZWFycyBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGFyZ3VtZW50cysrKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGFyZ3VtZW50c1sxXSA9IDc7DQogICAgICAgIGFyZ3VtZW50c1sxXSsrOw0KICAgICAgICByZXR1cm4gYXJndW1lbnRzWzFdPT09ODsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQSsrIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Line Feed","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRCsrIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Carriage Return","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIFNlcHJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjgrKyIpOwoK","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Line Seprator","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYXJhZ3JhcGggc2VwYXJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjkrKyIpOwoK","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Paragraph separator","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICIrKyIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOSsrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzE6IHZhciB4ID0gMDsgeFxcdTAwMDkrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEIrKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHhcXHUwMDBCKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CQp9CgovL0NIRUNLIzMKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwQysrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMjArKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMEEwKys7IHgiKSAhPT0gMSkgewoJJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMCsrOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMCsrOyB4IikgIT09IDEpIHsKICAgICRFUlJPUignIzY6IHZhciB4ID0gMDsgeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space between LeftHandSideExpression and \"++\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHkgPSB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwogIH0gCn0KCi8vQ0hFQ0sjMgp0aGlzLnggPSAxOwp2YXIgeSA9IHRoaXMueCsrOyAKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKdmFyIHkgPSBvYmplY3QucHJvcCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgdmFyIHkgPSBvYmplY3QucHJvcCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IDE7IHZhciB5ID0gb2JqZWN0LnByb3ArKzsgb2JqZWN0LnByb3AgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKICB9IAp9CgoKCg==","commentary":"Operator x++ uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4Kys7CiAgJEVSUk9SKCcjMS4xOiB4KysgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KyspKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgrKyB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x++ uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxKys7CiAgJEVSUk9SKCcjMS4xOiAxKysgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDErKykpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSsrIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMSsrOwogIH0KfQoK","commentary":"Operator x++ uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QrKzsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gIGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM2LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzYuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0KysgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHkgPSBvYmplY3QrKzsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBvYmplY3QrKyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh5KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdCsrIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x++ uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKeCsrOwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB4Kys7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCngrKzsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgrKzsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAp4Kys7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHgrKzsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCngrKzsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyB4Kys7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4Kys7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAp4Kys7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAp4Kys7IAppZiAoeCAhPT0gLTEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4Kys7IHggPT09IC0xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngrKzsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyB4Kys7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCngrKzsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB4Kys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBmYWxzZTsgdmFyIHkgPSB4Kys7IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTAuMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAtMC4xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMC4xOyB2YXIgeSA9IHgrKzsgeSA9PT0gLTAuMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxLjEpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxLjEpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgdmFyIHkgPSB4Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsKdmFyIHkgPSB4Kys7IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgCnZhciB5ID0geCsrOwppZiAoeSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IHZhciB5ID0geCsrOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7CnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2YXIgeSA9IHgrKzsgeSA9PT0gMC4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzLS0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMtLTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhciBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGV2YWwtLSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsLS07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHNbLi4uXScgYXBwZWFycyBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGFyZ3VtZW50cy0tKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGFyZ3VtZW50c1sxXSA9IDc7DQogICAgICAgIGFyZ3VtZW50c1sxXS0tOw0KICAgICAgICByZXR1cm4gYXJndW1lbnRzWzFdPT09NjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQS0tIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Line Feed","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRC0tIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Carriage Return","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYWdlIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI4LS0iKTsKCg==","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Page separator","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI5LS0iKTsKCg==","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Line separator","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICItLSIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOS0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB4XFx1MDAwOS0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEItLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeFxcdTAwMEItLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEMtLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMDIwLS07IHgiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwLS07IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDBBMC0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMC0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTAtLTsgeCIpICE9PSAtMSkgewogICAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTAtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space between LeftHandSideExpression and \"--\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKHgtLSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgeC0tID09PSAxLiBBY3R1YWw6ICcgKyAoeC0tKSk7Cn0gZWxzZSB7CiAgaWYgKHggIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHgtLTsgeCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoKLy9DSEVDSyMyCnRoaXMueCA9IDE7CmlmICh0aGlzLngtLSAhPT0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IHRoaXMueC0tID09PSAxLiBBY3R1YWw6ICcgKyAodGhpcy54LS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdGhpcy54ID0gMTsgdGhpcy54LS07IHRoaXMueCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh0aGlzLngpKTsKICB9IAp9CgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAxOwppZiAob2JqZWN0LnByb3AtLSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgb2JqZWN0LnByb3AtLSA9PT0gMS4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wLS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyBvYmplY3QucHJvcC0tOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator x-- uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LS07CiAgJEVSUk9SKCcjMS4xOiB4LS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4LS0pKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgtLSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x-- uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLS07CiAgJEVSUk9SKCcjMS4xOiAxLS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEtLSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMS0tIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMS0tOwogIH0KfQoK","commentary":"Operator x-- uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0LS07CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QtLTsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgdmFyIHkgPSBvYmplY3QtLTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeSA9IG9iamVjdC0tOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdC0tIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x-- uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAp4LS07CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB4LS07IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgCngtLTsKaWYgKHggIT09IDAgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHgtLTsgeCA9PT0gMCAtIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAxLjE7IAp4LS07CmlmICh4ICE9PSAxLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxLjE7IHgtLTsgeCA9PT0gMS4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgCngtLTsgCmlmICh4ICE9PSAtMC4xIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgeC0tOyB4ID09PSAtMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4LS07IAppZiAoeCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgeC0tOyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gIngiOyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCItMSIpOyAKeC0tOwppZiAoeCAhPT0gLTEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4LS07IHggPT09IC0xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngtLTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKeC0tOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IHgtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IHgtLTsgCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMS4xOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMS4xOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgTnVtYmVyKC0wLjEpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IC0wLjEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTAuMSk7IHZhciB5ID0geC0tOyB5ID09PSAtMC4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOyAKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZhciB5ID0geC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CnZhciB5ID0geC0tOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4LS07IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdmFyIHkgPSB4LS07IHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7IAp2YXIgeSA9IHgtLTsKaWYgKGlzTmFOKHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciB5ID0geC0tOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG51bGw7CnZhciB5ID0geC0tOwppZiAoeSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x-- returns ToNumber(x)","description":"If Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgYXMgVW5hcnlFeHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KICB2YXIgeSA9IDI7DQogIHZhciB6ID0gMzsNCiAgDQogIGlmKCAoIWRlbGV0ZSB4IHx8IGRlbGV0ZSB5KSAmJg0KICAgICAgZGVsZXRlIGRlbGV0ZSB6KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator as UnaryExpression","path":"TestCases/ch11/11.4/11.4.1/11.4.1-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSA0MjsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (number)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyByZXR1cm5lZCB2YWx1ZSBmcm9tIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYklzRm9vQ2FsbGVkID0gZmFsc2U7DQogIHZhciBmb28gPSBmdW5jdGlvbigpe2JJc0Zvb0NhbGxlZCA9IHRydWU7fTsNCg0KICB2YXIgZCA9IGRlbGV0ZSBmb28oKTsNCiAgaWYoZCA9PT0gdHJ1ZSAmJiBiSXNGb29DYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator returns true when deleting returned value from a function","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBkZWxldGUgdHJ1ZTsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (boolean)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSAiYWJjIjsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (string)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG9iaikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSB7YTowfSA7DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting a non-reference (obj)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBkZWxldGUgbnVsbDsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (null)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8ganVzdCBjb29raW5nIHVwIGEgbG9uZy92ZXJ5TGlrZWx5IHVuaXF1ZSBuYW1lDQogIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8wX187DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting an unresolvable reference","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciB0aHJvd3MgUmVmZXJlbmNlRXJyb3Igd2hlbiBkZWxldGluZyBhbiBleHBsaWNpdGx5IHF1YWxpZmllZCB5ZXQgdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSAoYmFzZSBvYmogdW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGp1c3QgY29va2luZyB1cCBhIGxvbmcvdmVyeUxpa2VseSB1bmlxdWUgbmFtZQ0KICB0cnkNCiAgew0KICAgIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8yX18ueDsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator throws ReferenceError when deleting an explicitly qualified yet unresolvable reference (base obj undefined)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhbiBleHBsaWNpdGx5IHF1YWxpZmllZCB5ZXQgdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSAocHJvcGVydHkgdW5kZWZpbmVkIGZvciBiYXNlIG9iaikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzNfXyA9IHt9Ow0KICB2YXIgZCA9IGRlbGV0ZSBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV80XzFfM191bmlxdWVfaWRfM19fLng7DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting an explicitly qualified yet unresolvable reference (property undefined for base obj)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGFuIHVuLXJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIG9iaiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting an un-resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmMiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when deleting non-configurable data property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsgDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when deleting non-configurable accessor property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpc24ndCB0aHJvd24gd2hlbiBkZWxldGluZyBjb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown when deleting configurable data property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpc24ndCB0aHJvd24gd2hlbiBkZWxldGluZyBjb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOyANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown when deleting configurable accessor property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIGNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkID0gZGVsZXRlIG8uZm9vOw0KICBpZiAoZCA9PT0gdHJ1ZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a configurable data property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIGZvciBwcm9wZXJ0eSAoc3RyaW5naWZ5KSBkZWZpbmVkIG9uIGJ1aWx0LWluIG9iamVjdCAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgdmFyIG8gPSBKU09OLnN0cmluZ2lmeTsNCgkgIHZhciBkZXNjOw0KCSAgdHJ5IHsNCgkgIAlkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAnc3RyaW5naWZ5JykNCgkgIH0gDQoJICBjYXRjaCAoZSkgew0KCSAgfTsNCiAgICAgIHZhciBkID0gZGVsZXRlIEpTT04uc3RyaW5naWZ5Ow0KICAgICAgaWYgKGQgPT09IHRydWUgJiYgSlNPTi5zdHJpbmdpZnkgPT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfSBmaW5hbGx5IHsNCiAgICBpZiAoZGVzYykgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICdzdHJpbmdpZnknLCBkZXNjKQ0KCWVsc2UgSlNPTi5zdHJpbmdpZnkgPSBvICAvKiB0aGlzIGJyYW5jaCBtZXNzZXMgdXAgdGhlIGF0dHJpYnV0ZXMgKi87DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true for property (stringify) defined on built-in object (JSON)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIG9uIGRlbGV0aW5nIGFyZ3VtZW50cyBwcm9wdGVydGllcyhhcmd1bWVudHMuY2FsbGVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIpDQogIHsNCiAgICByZXR1cm4gKGRlbGV0ZSBhcmd1bWVudHMuY2FsbGVlKTsgDQogIH0NCiAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzLmNhbGxlZTsNCiAgaWYoZCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHMuY2FsbGVlID09PSB1bmRlZmluZWQpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true on deleting arguments propterties(arguments.callee)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIGEgcHJvcGVydHkobGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KICB2YXIgZCA9IGRlbGV0ZSBhLmxlbmd0aA0KICBpZihkID09PSBmYWxzZSAmJiBhLmxlbmd0aCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a property(length)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KDQogIHZhciBkID0gZGVsZXRlIGEgDQoNCiAgaWYoZCA9PT0gZmFsc2UgJiYgQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting Array object","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgQXJyYXkgZWxlbWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhID0gWzEsMiwzXQ0KICBhLnggPSAxMDsNCiAgdmFyIGQgPSBkZWxldGUgYVsxXQ0KICBpZihkID09PSB0cnVlICYmIGFbMV0gPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting Array elements","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgQXJyYXkgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhID0gWzEsMiwzXQ0KICBhLnggPSAxMDsNCiAgdmFyIGQgPSBkZWxldGUgYS54Ow0KICBpZiggZCA9PT0gdHJ1ZSAmJiBhLnggPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting Array expandos","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSBvbiBkZWxldGluZyBhcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBpZihkZWxldGUgYXJndW1lbnRzID09PSBmYWxzZSAmJiBhcmd1bWVudHMgIT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false on deleting arguments object","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIG9uIGRlbGV0aW5nIGEgYXJndW1lbnRzIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oYSxiKQ0KICB7DQogICAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgIHJldHVybiAoZCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCk7ICANCiAgfQ0KDQogIGlmKGZvbygxLDIpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true on deleting a arguments element","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIGNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gZGVmaW5lIGFuIGFjY2Vzc29yDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIA0KICB2YXIgZCA9IGRlbGV0ZSBvLmZvbzsNCiAgaWYgKGQgPT09IHRydWUgJiYgby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a configurable accessor property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7fTsNCiAgdmFyIGRlc2MgPSB7IHZhbHVlIDogMSB9OyAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIA0KICAvLyBOb3csIGRlbGV0aW5nIG8uZm9vIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdHJ5IHsNCiAgICBkZWxldGUgby5mb287DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZGVzYyA9IHsgdmFsdWUgOiAxLCBjb25maWd1cmFibGU6IGZhbHNlIH07IC8vIGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIC8vIE5vdywgZGVsZXRpbmcgby5mb28gc2hvdWxkIGZhaWwgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdmFyIGQgPSBkZWxldGUgby5mb287DQogIGlmIChkID09PSBmYWxzZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgKE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBOYU4gKDE1LjEuMS4xKSBoYXMgW1tDb25maWd1cmFibGVdXSBzZXQgdG8gZmFsc2UuDQogIHZhciBkID0gZGVsZXRlIE5hTjsNCiAgaWYgKGQgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property (NaN)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgdGhlIGVudmlyb25tZW50IG9iamVjdCBpbnNpZGUgJ3dpdGgnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ueCA9IDE7DQogIHZhciBkOw0KICB3aXRoKG8pDQogIHsNCiAgICBkID0gZGVsZXRlIG87DQogIH0NCiAgaWYgKGQgPT09IGZhbHNlICYmIHR5cGVvZihvKSA9PT0gJ29iamVjdCcgJiYgby54ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting the environment object inside 'with'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIHByb3BlcnR5IGluc2lkZSAnd2l0aCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby54ID0gMTsNCiAgdmFyIGQ7DQogIHdpdGgobykNCiAgew0KICAgIGQgPSBkZWxldGUgeDsNCiAgfQ0KICBpZiAoZCA9PT0gdHJ1ZSAmJiBvLnggPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a property inside 'with'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciBpbnNpZGUgJ2V2YWwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KICB2YXIgZCA9IGV2YWwoImRlbGV0ZSB4Iik7DQogIGlmIChkID09PSBmYWxzZSAmJiB4ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator inside 'eval'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAvLyBOYU4gKDE1LjEuMS4xKSBoYXMgW1tDb25maWd1cmFibGVdXSBzZXQgdG8gZmFsc2UuDQogIHRyeSB7DQogICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuTmFOOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgZm9yIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgIHZhciBvID0gSlNPTjsNCiAgICAgIHZhciBkID0gZGVsZXRlIEpTT047ICANCiAgICAgIGlmIChkID09PSB0cnVlKSB7CSAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0gZmluYWxseSB7DQogICAgSlNPTiA9IG87DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true for built-in objects (JSON)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSAoTWF0aC5MTjIpIGluIHN0cmljdCBtb2RlIA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIGRlbGV0ZSBNYXRoLkxOMjsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOyANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property (Math.LN2) in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgKE1hdGguTE4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gZGVsZXRlIE1hdGguTE4yOw0KICBpZiAoZCA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property (Math.LN2)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgdmFyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KDQogIC8vIE5vdywgZGVsZXRpbmcgJ3gnIGRpcmVjdGx5IHNob3VsZCBmYWlsOw0KICB2YXIgZCA9IGRlbGV0ZSB4Ow0KICBpZihkID09PSBmYWxzZSAmJiB4ID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns false when deleting a direct reference to a var","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgZnVuY3Rpb24gZm9vKGEsYikgew0KICANCiAgICAvLyBOb3csIGRlbGV0aW5nICdhJyBkaXJlY3RseSBzaG91bGQgZmFpbA0KICAgIC8vIGJlY2F1c2UgJ2EnIGlzIGRpcmVjdCByZWZlcmVuY2UgdG8gYSBmdW5jdGlvbiBhcmd1bWVudDsNCiAgICB2YXIgZCA9IGRlbGV0ZSBhOw0KICAgIHJldHVybiAoZCA9PT0gZmFsc2UgJiYgYSA9PT0gMSk7DQogIH0NCiAgcmV0dXJuIGZvbygxLDIpOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator returns false when deleting a direct reference to a function argument","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24gbmFtZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmb28gPSBmdW5jdGlvbigpe307DQoNCiAgLy8gTm93LCBkZWxldGluZyAnZm9vJyBkaXJlY3RseSBzaG91bGQgZmFpbDsNCiAgdmFyIGQgPSBkZWxldGUgZm9vOw0KICBpZihkID09PSBmYWxzZSAmJiBmbkV4aXN0cyhmb28pKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns false when deleting a direct reference to a function name","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdmFsdWUgdHlwZSAobnVtYmVyKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfNF8xXzUgPSA1Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgXzExXzRfMV81OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive value type (number)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQXJyYXkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsMiwzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGFyck9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Array","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgU3RyaW5nDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgc3RyT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type String","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQm9vbGVhbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgYm9vbE9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Boolean","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgTnVtYmVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBudW1PYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Number","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgRGF0ZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGRhdGVPYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Date","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgUmVnRXhwDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIHJlZ09iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type RegExp","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgRXJyb3INCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBlcnJPYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Error","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoYSwgYikgeyBkZWxldGUgYXJndW1lbnRzOyB9KDEsIDIpKTsiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChPYmplY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIE9iamVjdDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Object)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChGdW5jdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgRnVuY3Rpb247Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Function)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gcGFyYW1ldGVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqKHgpIHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSB4OyIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bk9iaigxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function parameter","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChBcnJheSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgQXJyYXk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Array)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChTdHJpbmcpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIFN0cmluZzsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (String)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChCb29sZWFuKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBCb29sZWFuOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Boolean)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChOdW1iZXIpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIE51bWJlcjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Number)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChEYXRlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBEYXRlOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Date)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChSZWdFeHApDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIFJlZ0V4cDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (RegExp)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChFcnJvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgZXJyb3JCYWNrdXAgPSBFcnJvcjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBFcnJvcjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEVycm9yID0gZXJyb3JCYWNrdXA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Error)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gbmFtZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGZ1bmN0aW9uIGZ1bk9iaiAoKSB7IH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iaiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function name","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gcGFyYW1ldGVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqKHgsIHksIHopIHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSB5OyIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bk9iaigxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function parameter","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdHlwZSAoYm9vbGVhbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzRfMV81ID0gdHJ1ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIF8xMV80XzFfNTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (boolean)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS01LWEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIHdoaWNoIGlzIHByaW1pdGl2ZSB0eXBlKGJvb2xlYW4pDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCnZhciBfMTFfNF8xXzUgPSA3Ow0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmRlbGV0ZSBfMTFfNF8xXzU7","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is primitive type(boolean)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdHlwZSAoc3RyaW5nKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfNF8xXzUgPSAiYWJjIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIF8xMV80XzFfNTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (string)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBPYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgb2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Object","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function object","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBmdW5jdGlvbiAoZGVjbGFyYXRpb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqICgpIHsgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type function (declaration)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuNC00LmEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7fTsNCiAgdmFyIGRlc2MgPSB7IHZhbHVlIDogMSB9OyAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIA0KICAvLyBOb3csIGRlbGV0aW5nIG8uZm9vIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdHJ5IHsNCiAgICBkZWxldGUgby5mb287DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.4-4.a-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gImRlbGV0ZSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImRlbGV0ZVx1MDAwOTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZVxcdTAwMDkwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiZGVsZXRlXHUwMDBCMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlXFx1MDAwQjAgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQzAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGRlbGV0ZVxcdTAwMEMwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiZGVsZXRlXHUwMDIwMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogZGVsZXRlXFx1MDAyMDAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJkZWxldGVcdTAwQTAwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBkZWxldGVcXHUwMEEwMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGRlbGV0ZVxcdTAwMEEwID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJkZWxldGVcdTAwMEQwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBkZWxldGVcXHUwMDBEMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoImRlbGV0ZVx1MjAyODAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IGRlbGV0ZVxcdTIwMjgwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiZGVsZXRlXHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogZGVsZXRlXFx1MjAyOTAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiZGVsZXRlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IGRlbGV0ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between \"delete\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcmltaXRpdmUgdmFsdWUgYW5kIE9iamVjdCB2YWx1ZSBjYXNlcwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSBuZXcgT2JqZWN0KCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgbmV3IE9iamVjdCgpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If Type(x) is not Reference, return true","description":"Checking primitive value and Object value cases","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyZWQgdmFyaWFibGUgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgeCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSB0aGlzLnggIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgdGhpcy54ID09PSB0cnVlJyk7Cn0KCg==","commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true","description":"Checking undeclared variable case","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdCBjYXNlcwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fQp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgZGVsZXRlIE15T2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBNeU9iamVjdCA9IG5ldyBPYmplY3QoKTsKaWYgKGRlbGV0ZSBNeU9iamVjdC5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIE15T2JqZWN0ID0gbmV3IE9iamVjdCgpOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true","description":"Checking Object object and Function object cases","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWNsYXJlZCB2YXJpYWJsZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChkZWxldGUgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IGRlbGV0ZSB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHkgPSAxOwppZiAoZGVsZXRlIHRoaXMueSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeSA9IDE7IGRlbGV0ZSB0aGlzLnkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKaWYgKGRlbGV0ZSBNeUZ1bmN0aW9uICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBkZWxldGUgTXlGdW5jdGlvbiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9Owp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If the property has the DontDelete attribute, return false","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHggPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwppZiAoZGVsZXRlIE15RnVuY3Rpb24ucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlGdW5jdGlvbi5wcm9wID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3QucHJvcCA9IDE7CmlmIChkZWxldGUgTXlPYmplY3QucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If the property doesn't have the DontDelete attribute, return true","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmVtb3ZlIHRoZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZGVjbGFyZWQgdmFyaWFibGUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID0gMTsKICBkZWxldGUgeDsKICB4OyAgICAKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7CiAgfQp9CgoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwpkZWxldGUgTXlGdW5jdGlvbi5wcm9wOwppZiAoTXlGdW5jdGlvbi5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlGdW5jdGlvbi5wcm9wID0gMTsgZGVsZXRlIE15RnVuY3Rpb24ucHJvcDsgTXlGdW5jdGlvbi5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uLnByb3ApKTsKCn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0VmFyID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3RWYXIucHJvcCA9IDE7CmRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOwppZiAoTXlPYmplY3RWYXIucHJvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gTXlGdW5jdGlvbigpe307IHZhciBNeU9iamVjdFZhciA9IG5ldyBNeUZ1bmN0aW9uKCk7IE15RnVuY3Rpb24ucHJvcCA9IDE7IGRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOyBNeU9iamVjdFZhci5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeU9iamVjdFZhci5wcm9wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVsZXRlIE15T2JqZWN0VmFyICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3RWYXIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOwpNeU9iamVjdE5vdFZhci5wcm9wID0gMTsKZGVsZXRlIE15T2JqZWN0Tm90VmFyLnByb3A7CmlmIChNeU9iamVjdE5vdFZhci5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3ROb3RWYXIucHJvcDsgTXlPYmplY3ROb3RWYXIucHJvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoTXlPYmplY3ROb3RWYXIucHJvcCkpOwp9CgovL0NIRUNLIzYKaWYgKGRlbGV0ZSBNeU9iamVjdE5vdFZhciAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3ROb3RWYXIgPT09IHRydWUnKTsKfQoKCg==","commentary":"If the property doesn't have the DontDelete attribute, remove the property","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiRGVsZXRlIiBvcGVyYXRvciByZW1vdmVzIHByb3BlcnR5LCB3aGljaCBpcyByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCwgbm90IHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0d28gcmVmZXJlbmNlIGJ5IG9uZSBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKdmFyIHJlZiA9IG9iajsKZGVsZXRlIHJlZjsKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogb2JqID0gbmV3IE9iamVjdCgpOyByZWYgPSBvYmo7IGRlbGV0ZSByZWY7IHR5cGVvZiBvYmogPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iaikpOwp9CgoK","commentary":"\"Delete\" operator removes property, which is reference to the object, not the object","description":"Checking two reference by one object","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHN0cmljdCBkZWxldGUgc2hvdWxkIGVpdGhlciBzdWNjZWVkLCByZXR1cm5pbmcgdHJ1ZSwgb3IgaXQKICogc2hvdWxkIGZhaWwgYnkgdGhyb3dpbmcgYSBUeXBlRXJyb3IuIFVuZGVyIG5vIGNpcmN1bXN0YW5jZXMKICogc2hvdWxkIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm4gZmFsc2UuCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BNS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGlmIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYQogKiBub24tc3RhbmRhcmQgcHJvcGVydHkuCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwoKdmFyIHJlTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhSZWdFeHApOwpmb3IgKHZhciBpID0gMCwgbGVuID0gcmVOYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogIHZhciByZU5hbWUgPSByZU5hbWVzW2ldOwogIGlmIChyZU5hbWUgIT09ICdwcm90b3R5cGUnKSB7CiAgICB2YXIgZGVsZXRlZCA9ICd1bmFzc2lnbmVkJzsKICAgIHRyeSB7CiAgICAgIGRlbGV0ZWQgPSBkZWxldGUgUmVnRXhwW3JlTmFtZV07CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAgICRFUlJPUignIzE6IHN0cmljdCBkZWxldGUgdGhyZXcgYSBub24tVHlwZUVycm9yOiAnICsgZXJyKTsKICAgICAgfQogICAgICAvLyBmYWxsIHRocm91Z2gKICAgIH0KICAgIGlmIChkZWxldGVkID09PSBmYWxzZSkgewogICAgICAkRVJST1IoJyMyOiBTdHJpY3QgZGVsZXRlIHJldHVybmVkIGZhbHNlJyk7CiAgICB9CiAgfQp9Cgo=","commentary":"A strict delete should either succeed, returning true, or it\nshould fail by throwing a TypeError. Under no circumstances\nshould a strict delete return false.","description":"See if a strict delete returns false when deleting a\nnon-standard property.","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInZvaWQiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ2b2lkXHUwMDA5MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkXFx1MDAwOTAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZvaWRcdTAwMEIwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZvaWRcXHUwMDBCMCA9PT0gdW5kZWZpbmVkJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2b2lkXHUwMDBDMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2b2lkXFx1MDAwQzAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInZvaWRcdTAwMjAwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHZvaWRcXHUwMDIwMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidm9pZFx1MDBBMDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdm9pZFxcdTAwQTAwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2b2lkXHUwMDBBMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2b2lkXFx1MDAwQTAgPT09IHVuZGVmaW5lZCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidm9pZFx1MDAwRDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogdm9pZFxcdTAwMEQwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2b2lkXHUyMDI4MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2b2lkXFx1MjAyODAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInZvaWRcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZvaWRcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInZvaWRcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2b2lkXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"void\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSh4KSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkIDAgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBPYmplY3QoKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCg==","commentary":"Operator \"void\" uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnZvaWQgeDsKCg==","commentary":"Operator \"void\" uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","negative":"","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsgCmlmIChpc05hTih2b2lkIHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is string primitive of String object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4odm9pZCB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTaW1wbGUgQXNzaWdubWVudCBvcGVyYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CmlmICh2b2lkICh4ID0gMSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdm9pZCAoeCA9IDEpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkICh4ID0gMSkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSkgewogICAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB2b2lkICh4ID0gMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Checking Simple Assignment operator","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInR5cGVvZiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDA5eCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOXg7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDBCeCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwQng7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEN4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBDeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMjB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDIweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwQTB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMEEweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEF4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBBeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MDAwRHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTAwMER4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjh4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOXgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjl4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5eDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space and Line Terminator between \"typeof\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgMCAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgMCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodHlwZW9mIHggIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHgpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IE9iamVjdCgpOwppZiAodHlwZW9mIHggIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHR5cGVvZiB4ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==","commentary":"Operator \"typeof\" uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCByZXR1cm4gInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHR5cGVvZiB4ID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==","commentary":"Operator \"typeof\" uses GetValue","description":"If GetBase(x) is null, return \"undefined\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdW5kZWZpbmVkIGlzICJ1bmRlZmluZWQiCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygdm9pZCAwICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiB2b2lkIDAgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHZvaWQgMCkpOwp9Cgo=","commentary":"Result of applying \"typeof\" operator to undefined is \"undefined\"","description":"typeof undefined === \"undefined\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gbnVsbCBpcyAib2JqZWN0IgogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gdHlwZW9mIG51bGwgPT09ICJvYmplY3QiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVsbCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBSZWdFeHAoIjAiKS5leGVjKCIxIikgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIFJlZ0V4cCgiMCIpLmV4ZWMoIjEiKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCIwIikuZXhlYygiMSIpKSk7Cn0KCg==","commentary":"Result of applying \"typeof\" operator to null is \"object\"","description":"typeof null === \"object\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gYm9vbGVhbiBpcyAiYm9vbGVhbiIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoYm9vbGVhbiB2YWx1ZSkgPT09ICJib29sZWFuIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRydWUgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzE6IHR5cGVvZiB0cnVlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmYWxzZSAhPT0gImJvb2xlYW4iKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIGZhbHNlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgZmFsc2UpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIS0xICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIS0xID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgIS0xKSk7Cn0KCg==","commentary":"Result of applying \"typeof\" operator to boolean is \"boolean\"","description":"typeof (boolean value) === \"boolean\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBudW1iZXIgaXMgIm51bWJlciIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjQuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAobnVtYmVyIHZhbHVlKSA9PT0gIm51bWJlciIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAxICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHR5cGVvZiAxID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIE51bWJlci5OYU4gIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIE5hTiA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgSW5maW5pdHkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgLUluZmluaXR5ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5QSSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5QSSkpOwp9Cgo=","commentary":"Result of appying \"typeof\" operator to number is \"number\"","description":"typeof (number value) === \"number\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBzdHJpbmcgaXMgInN0cmluZyIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjUuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoc3RyaW5nIHZhbHVlKSA9PT0gInN0cmluZyIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAiMSIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mICIxIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICJOYU4iICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzI6IHR5cGVvZiAiTmFOIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIk5hTiIpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIkluZmluaXR5IiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIkluZmluaXR5IiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIkluZmluaXR5IikpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAiIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgIiIgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mICIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mICJ0cnVlIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgInRydWUiID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAidHJ1ZSIpKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzY6IHR5cGVvZiBEYXRlKCkgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUoKSkpOwp9Cgo=","commentary":"Result of appying \"typeof\" operator to string is \"string\"","description":"typeof (string value) === \"string\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgZG9lc24ndCBpbXBsZW1lbnQgW1tDYWxsXV0gaXMgIm9iamVjdCIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjYuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAob2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0pID09PSAib2JqZWN0IgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRoaXMgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHRoaXMgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHRoaXMpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgbmV3IE9iamVjdCgpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IHR5cGVvZiBuZXcgT2JqZWN0KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBPYmplY3QoKSkpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIEFycmF5KDEsMiwzKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheSgxLDIsMykpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgbmV3IFN0cmluZygieCIpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IHR5cGVvZiBuZXcgU3RyaW5nKCJ4IikgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBTdHJpbmcoIngiKSkpOwp9CgovL0NIRUNLIzYKaWYgKHR5cGVvZiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM2OiB0eXBlb2YgbmV3IEJvb2xlYW4odHJ1ZSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAodHlwZW9mIG5ldyBOdW1iZXIoMSkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjNzogdHlwZW9mIG5ldyBOdW1iZXIoMSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4Ci8vVGhlIE1hdGggb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5OyAKLy9pdCBpcyBub3QgcG9zc2libGUgdG8gdXNlIHRoZSBNYXRoIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yIHdpdGggdGhlIG5ldyBvcGVyYXRvci4KLy9UaGUgTWF0aCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5OyBpdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBNYXRoIG9iamVjdCBhcyBhIG9iamVjdC4KaWYgKHR5cGVvZiBNYXRoICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzg6IHR5cGVvZiBNYXRoID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAodHlwZW9mIG5ldyBEYXRlKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIG5ldyBEYXRlKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBEYXRlKCkpKTsKfQoKLy9DSEVDSyMxMAppZiAodHlwZW9mIG5ldyBFcnJvcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzEwOiB0eXBlb2YgbmV3IEVycm9yKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBFcnJvcigpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHR5cGVvZiBuZXcgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTE6IHR5cGVvZiBuZXcgUmVnRXhwKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBSZWdFeHAoKSkpOwp9CgovL0NIRUNLIzEyCmlmICh0eXBlb2YgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTI6IHR5cGVvZiBSZWdFeHAoKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCkpKTsKfQoK","commentary":"Result of applying \"typeof\" operator to the object that is native and doesn't implement [[Call]] is \"object\"","description":"typeof (object without [[Call]]) === \"object\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgaW1wbGVtZW50cyBbW0NhbGxdXSBpcyAiZnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy43LmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgKG9iamVjdCB3aXRoIFtbQ2FsbF1dKSA9PT0gImZ1bmN0aW9uIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBGdW5jdGlvbigpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIG5ldyBGdW5jdGlvbigpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uKCkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb24oKSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE9iamVjdCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzM6IHR5cGVvZiBPYmplY3QgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIFN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzQ6IHR5cGVvZiBTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nKSk7Cn0KCi8vQ0hFQ0s1CmlmICh0eXBlb2YgQm9vbGVhbiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4pKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgTnVtYmVyICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIpKTsKfQoKLy9DSEVDSyM3CmlmICh0eXBlb2YgRGF0ZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzc6IHR5cGVvZiBEYXRlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUpKTsKfQoKLy9DSEVDSyM4CmlmICh0eXBlb2YgRXJyb3IgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyM4OiB0eXBlb2YgRXJyb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRXJyb3IpKTsKfQoKLy9DSEVDSyM5CmlmICh0eXBlb2YgUmVnRXhwICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIFJlZ0V4cCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBSZWdFeHApKTsKfQoK","commentary":"Result of applying \"typeof\" operator to the object that is native and implements [[Call]] is \"function\"","description":"typeof (object with [[Call]]) === \"function\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yICsrZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIisrZXZhbDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown for ++eval","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yICsrYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIrK2FyZ3VtZW50czsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown for ++arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGZvciArK2FyZ3VtZW50c1suLi5dDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgKythcmd1bWVudHNbMV07DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT04Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown for ++arguments[...]","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisrIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwOXgiKSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKytcXHUwMDA5eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDBCeCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyArK1xcdTAwMEJ4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQ3giKSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgKytcXHUwMDBDeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDIweCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyArK1xcdTAwMjB4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwQTB4IikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDA7ICsrXFx1MDBBMHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQXgiKSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gMDsgKytcXHUwMDBBeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwMER4IikgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7ICsrXFx1MDAwRHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MjAyOHgiKSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciB4ID0gMDsgKytcXHUyMDI4eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAwOyArK1xcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgKytcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"White Space and Line Terminator between \"++\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICsreCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgKyt4OyB4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKCsrdGhpcy54ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54OyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCsrb2JqZWN0LnByb3AgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator ++x uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICArK3g7CiAgJEVSUk9SKCcjMS4xOiArK3ggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgrK3gpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6ICsreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator ++x uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICArKzE7CiAgJEVSUk9SKCcjMS4xOiArKzEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKCsrMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogKysxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgKysxOwogIH0KfQoKCg==","commentary":"Operator ++x uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC40L1MxMS40LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK29iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKCsrb2JqZWN0ICE9PSAxICsgMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdDsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgKytvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICsrb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator ++x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKKyt4OwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyArK3g7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCisreDsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICsreDsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAorK3g7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7ICsreDsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCisreDsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyArK3g7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAorK3g7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyArK3g7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAorK3g7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAorK3g7CmlmICh4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreDsgeCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCisreDsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyArK3g7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCisreDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7ICsreDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKyt4ICE9PSAwICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gZmFsc2U7ICsreCA9PT0gMCArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgrK3ggIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKCsreCAhPT0gMC4xICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyArK3ggPT09IDAuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKCsreCAhPT0gLTEuMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7ICsreCA9PT0gLTEuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoK","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gIngiOyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKyt4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgKyt4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKCsreCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgKyt4ID09PSAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307ICsreCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yIC0tZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIi0tZXZhbDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown for --eval","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yIC0tYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCItLWFyZ3VtZW50czsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown for --arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC41LzExLjQuNS0yLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3cgaWYgdGhlIFVuYXJ5RXhwcmVzc2lvbiBvcGVyYXRlZCB1cG9uIGJ5IGEgUHJlZml4IEluY3JlbWVudCBvcGVyYXRvcigtLWFyZ3VtZW50cykNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KLS1hcmd1bWVudHM7DQo=","commentary":"","description":"Strict Mode - SyntaxError is throw if the UnaryExpression operated upon by a Prefix Increment operator(--arguments)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGZvciAtLWFyZ3VtZW50c1suLi5dDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgLS1hcmd1bWVudHNbMV07DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT02Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown for --arguments[...]","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0tIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwOXgiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS1cXHUwMDA5eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDBCeCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyAtLVxcdTAwMEJ4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQ3giKSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gMTsgLS1cXHUwMDBDeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyAtLVxcdTAwMjB4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwQTB4IikgIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDE7IC0tXFx1MDBBMHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQXgiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciB4ID0gMTsgLS1cXHUwMDBBeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwMER4IikgIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDE7IC0tXFx1MDAwRHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MjAyOHgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciB4ID0gMTsgLS1cXHUyMDI4eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAxOyAtLVxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMTsgLS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"White Space and Line Terminator between \"--\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKC0tdGhpcy54ICE9PSAxIC0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54OyB0aGlzLnggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKC0tb2JqZWN0LnByb3AgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator --x uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLXg7CiAgJEVSUk9SKCcjMS4xOiAtLXggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgtLXgpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IC0teCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator --x uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLTE7CiAgJEVSUk9SKCcjMS4xOiAtLTEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKC0tMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogLS0xIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgLS0xOwogIH0KfQoK","commentary":"Operator --x uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC41L1MxMS40LjVfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLW9iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKC0tb2JqZWN0ICE9PSAxIC0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdDsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgLS1vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIC0tb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator --x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gdHJ1ZTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAKLS14OwppZiAoeCAhPT0gMCAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgLS14OyB4ID09PSAwIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAotLXg7CmlmICh4ICE9PSAwLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IC0teDsgeCA9PT0gMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCi0teDsKaWYgKHggIT09IC0xLjEgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyAtLXg7IHggPT09IC0xLjEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgc3RyaW5nIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyAtLXg7IHggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAotLXg7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAotLXg7CmlmICh4ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teDsgeCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is primitive string or String object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCi0teDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IC0teDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKLS14OwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teDsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoLS14ICE9PSAwIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAtLXggPT09IDAgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKC0teCAhPT0gMC4xIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyAtLXggPT09IDAuMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKC0teCAhPT0gLTEuMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7IC0teCA9PT0gLTEuMS0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgLS14ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CmlmIChpc05hTigtLXgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IAppZiAoLS14ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OwppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyAtLXg7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKC0teCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teCA9PT0gLTEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoK","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKC0teCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAtLXggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvMTEuNC42LTItMS5qcw0KICogQGRlc2NyaXB0aW9uICsiIiBzaG91bGQgYmUgemVybw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiArIiIgPT09IDA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"+\"\" should be zero","path":"TestCases/ch11/11.4/11.4.6/11.4.6-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNi9TMTEuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIrXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogK1xcdTAwMDkxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiK1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICtcXHUwMDBCMSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiK1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICtcXHUwMDBDMSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIitcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiArXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIitcdTAwQTAxIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiArXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIrXHUwMDBBMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogK1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIrXHUwMDBEMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogK1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiK1x1MjAyODEiKSAhPT0gMSkgewogICRFUlJPUignIzg6ICtcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIitcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiArXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiK1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gMSkgewogICRFUlJPUignIzEwOiArXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMScpOwp9Cgo=","commentary":"White Space and Line Terminator between \"+\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCsxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKzEgPT09IDEuIEFjdHVhbDogJyArICgrMSkpOwp9CgovL0NIRUNLIzIKaWYgKCsoKzEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKygrMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoKygrMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gMTsKaWYgKCt4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSArMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwppZiAoKygreCkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7ICsoK3gpID09PSAxLiBBY3R1YWw6ICcgKyAoKygreCkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCtvYmplY3QucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgK29iamVjdC5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdC5wcm9wKSk7Cn0KCg==","commentary":"Operator +x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgK3g7CiAgJEVSUk9SKCcjMS4xOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCt4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator +x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKCtvYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKCtvYmplY3QgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgK29iamVjdCBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAoK29iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICtvYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator +x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoK2ZhbHNlICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogK2ZhbHNlID09PSAwLiBBY3R1YWw6ICcgKyAoK2ZhbHNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK25ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogK25ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoK25ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCswLjEgIT09IDAuMSkgewogICRFUlJPUignIzE6ICswLjEgPT09IDAuMS4gQWN0dWFsOiAnICsgKCswLjEpKTsKfQoKLy9DSEVDSyMyCmlmICgrbmV3IE51bWJlcigtMS4xKSAhPT0gLTEuMSkgewogICRFUlJPUignIzI6ICtuZXcgTnVtYmVyKC0xLjEpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAoK25ldyBOdW1iZXIoLTEuMSkpKTsKfQoK","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCsiMSIgIT09IDEpIHsKICAkRVJST1IoJyMxOiArIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoKyIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKCsieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKyJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKCtuZXcgTnVtYmVyKCItMSIpICE9PSAtMSkgewogICRFUlJPUignIzM6ICtuZXcgU3RyaW5nKCItMSIpID09PSAtMS4gQWN0dWFsOiAnICsgKCtuZXcgU3RyaW5nKCItMSIpKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3ZvaWQgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiArdm9pZCAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrdm9pZCAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK251bGwgIT09IDApIHsKICAkRVJST1IoJyMyOiArbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKCtudWxsKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3t9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICt7fSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3t9KSk7Cn0KCi8vQ0hFQ0sjMiAgCmlmIChpc05hTigrZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogK2Z1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrZnVuY3Rpb24oKXtyZXR1cm4gMX0pKTsKfQoK","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvMTEuNC43LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIC0iIiBzaG91bGQgYmUgemVybw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAtIiIgPT09IDA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"-\"\" should be zero","path":"TestCases/ch11/11.4/11.4.7/11.4.7-4-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItXHUwMDA5MSIpICE9PSAtMSkgewogICRFUlJPUignIzE6IC1cXHUwMDA5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCItXHUwMDBCMSIpICE9PSAtMSkgewogICRFUlJPUignIzI6IC1cXHUwMDBCMSA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi1cdTAwMEMxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLVxcdTAwMEMxID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi1cdTAwMjAxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLVxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLVx1MDBBMDEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiAtXFx1MDBBMDEgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLVx1MDAwQTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiAtXFx1MDAwQTEgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCItXHUwMDBEMSIpICE9PSAtMSkgewogICRFUlJPUignIzc6IC1cXHUwMDBEMSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItXHUyMDI4MSIpICE9PSAtMSkgewogICRFUlJPUignIzg6IC1cXHUyMDI4MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItXHUyMDI5MSIpICE9PSAtMSkgewogICRFUlJPUignIzk6IC1cXHUyMDI5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiLVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogLVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEgPT09IC0xJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"-\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKC0xICE9PSAtMSkgewogICRFUlJPUignIzE6IC0xID09PSAtMS4gQWN0dWFsOiAnICsgKC0xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLSgtMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAtKC0xKSA9PT0gLTEuIEFjdHVhbDogJyArICgtKC0xKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSAtMTsKaWYgKC14ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAtMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtMTsKaWYgKC0oLXgpICE9PSAtMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTE7IC0oLXgpID09PSAtMS4gQWN0dWFsOiAnICsgKC0oLXgpKSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwpvYmplY3QucHJvcCA9IDE7CmlmICgtb2JqZWN0LnByb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAtMTsgLW9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKC1vYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Operator -x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgLXg7CiAgJEVSUk9SKCcjMS4xOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKC14KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator -x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKC1vYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtb2JqZWN0ICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OwppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgtb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fQppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OyAtb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CiAgLW9iamVjdDsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAtb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC1vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAtb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator -x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKC1mYWxzZSAhPT0gMCkgewogICRFUlJPUignIzE6IC1mYWxzZSA9PT0gMC4gQWN0dWFsOiAnICsgKC1mYWxzZSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgQm9vbGVhbih0cnVlKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAtbmV3IEJvb2xlYW4odHJ1ZSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLW5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtKDEpICE9PSAtMSkgewogICRFUlJPUignIzE6IC0oMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSgxKSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgTnVtYmVyKC0xKSAhPT0gMSkgewogICRFUlJPUignIzI6IC1uZXcgTnVtYmVyKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKC1uZXcgTnVtYmVyKC0xKSkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtIjEiICE9PSAtMSkgewogICRFUlJPUignIzE6IC0iMSIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKC0ieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLSJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLSJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKC1uZXcgU3RyaW5nKCItMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogLW5ldyBTdHJpbmcoIi0xIikgPT09IDEuIEFjdHVhbDogJyArICgtbmV3IFN0cmluZygiLTEiKSkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC12b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogK3ZvaWQgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3ZvaWQgMCkpOwp9CgovL0NIRUNLIzIKaWYgKC1udWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogK251bGwgPT09IDAuIEFjdHVhbDogJyArICgrbnVsbCkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC17fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAte30gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC17fSkpOwp9CgovL0NIRUNLIzIgIAppZiAoaXNOYU4oLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC1mdW5jdGlvbigpe3JldHVybiAxfSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCg==","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgb3BlcmF0b3IgLXggcmV0dXJucyBOYU4KICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oLU5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTmFOKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IE5hTjsgCmlmIChpc05hTigteCkgIT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gTmFOOyAteCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLXgpKTsKfQoK","commentary":"If x is NaN, operator -x returns NaN","description":"Checking NaN","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZWdhdGluZyArMCBwcm9kdWNlcyAtMCwgbmVnYXRpbmcgLTAgcHJvZHVjZXMgKzAKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCnggPSAteDsKaWYgKHggIT09IC0wKSB7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDA7IHggPSAteDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfSBlbHNlIHsKICBpZiAoMS94ICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSAwOyB4ID0gLXg7IHggPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCnZhciB4ID0gLTA7IAp4ID0gLXg7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IC0wOyB4ID0gLXg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0gZWxzZSB7CiAgaWYgKDEveCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gLTA7IHggPSAteDsgeCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgoK","commentary":"Negating +0 produces -0, negating -0 produces +0","description":"Checking Infinity","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIn4iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOC9TMTEuNC44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ+XHUwMDA5MCIpICE9PSAtMSkgewogICRFUlJPUignIzA6IH5cXHUwMDA5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ+XHUwMDBCMCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IH5cXHUwMDBCMCA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIn5cdTAwMEMwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogflxcdTAwMEMwID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIn5cdTAwMjAwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogflxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiflx1MDBBMDAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB+XFx1MDBBMDAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiflx1MDAwQTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiB+XFx1MDAwQTAgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ+XHUwMDBEMCIpICE9PSAtMSkgewogICRFUlJPUignIzc6IH5cXHUwMDBEMCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ+XHUyMDI4MCIpICE9PSAtMSkgewogICRFUlJPUignIzg6IH5cXHUyMDI4MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ+XHUyMDI5MCIpICE9PSAtMSkgewogICRFUlJPUignIzk6IH5cXHUyMDI5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiflx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogflxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IC0xJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"~\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKH4wICE9PSAtMSkgewogICRFUlJPUignIzE6IH4wID09PSAtMS4gQWN0dWFsOiAnICsgKH4wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofih+MCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB+KH4wKSA9PT0gMC4gQWN0dWFsOiAnICsgKH4ofjApKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDA7CmlmICh+eCAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IDA7IH54ID09PSAtMS4gQWN0dWFsOiAnICsgKH54KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDA7CmlmICh+KH54KSAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgfih+eCkgPT09IDAuIEFjdHVhbDogJyArICh+KH54KSkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAwOwppZiAofm9iamVjdC5wcm9wICE9PSAtMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMDsgfm9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKH5vYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Operator ~x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgfng7CiAgJEVSUk9SKCcjMS4xOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKH54KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator ~x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgfm9iamVjdCBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCA9PT0gLTIuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAofm9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgfm9iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IH5vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator ~x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofmZhbHNlICE9PSAtMSkgewogICRFUlJPUignIzE6IH5mYWxzZSA9PT0gLTEuIEFjdHVhbDogJyArICh+ZmFsc2UpKTsKfQoKLy9DSEVDSyMyCmlmICh+bmV3IEJvb2xlYW4odHJ1ZSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBCb29sZWFuKHRydWUpID09PSAtMi4gQWN0dWFsOiAnICsgKH5uZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKH5uZXcgQm9vbGVhbihmYWxzZSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogfm5ldyBCb29sZWFuKGZhbHNlKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IEJvb2xlYW4oZmFsc2UpKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4wLjEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfjAuMSA9PT0gLTEuIEFjdHVhbDogJyArICh+MC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBOdW1iZXIoLTAuMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBOdW1iZXIoLTAuMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofm5ldyBOdW1iZXIoLTAuMSkpKTsKfQoKLy9DSEVDSyMzCmlmICh+TmFOICE9PSAtMSkgewogICRFUlJPUignIzM6IH5OYU4gPT09IC0xLiBBY3R1YWw6ICcgKyAofk5hTikpOwp9CgovL0NIRUNLIzQKaWYgKH5uZXcgTnVtYmVyKE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogfm5ldyBOdW1iZXIoTmFOKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcihOYU4pKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofjEgIT09IC0yKSB7CiAgJEVSUk9SKCcjNTogfjEgPT09IC0yLiBBY3R1YWw6ICcgKyAofjEpKTsKfQoKLy9DSEVDSyM2CmlmICh+bmV3IE51bWJlcigtMikgIT09IDEpIHsKICAkRVJST1IoJyM2OiB+bmV3IE51bWJlcigtMikgPT09IDEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcigtMikpKTsKfQoKLy9DSEVDSyM3CmlmICh+SW5maW5pdHkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNzogfkluZmluaXR5ID09PSAtMS4gQWN0dWFsOiAnICsgKH5JbmZpbml0eSkpOwp9Cgo=","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4iMSIgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogfiIxIiA9PT0gLTIuIEFjdHVhbDogJyArICh+IjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBTdHJpbmcoIjAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bmV3IFN0cmluZygiMCIpID09PSAtMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCIwIikpKTsKfQoKLy9DSEVDSyMzCmlmICh+IngiICE9PSAtMSkgewogICRFUlJPUignIzM6IH4ieCIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiJ4IikpOwp9CgovL0NIRUNLIzQKaWYgKH4iIiAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB+IiIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofm5ldyBTdHJpbmcoIi0yIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB+bmV3IFN0cmluZygiLTIiKSA9PT0gMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCItMiIpKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAofnZvaWQgMCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB+dm9pZCAwID09PSAtMS4gQWN0dWFsOiAnICsgKH52b2lkIDApKTsKfQoKLy9DSEVDSyMyCmlmICh+bnVsbCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bnVsbCA9PT0gLTEuIEFjdHVhbDogJyArICh+bnVsbCkpOwp9Cgo=","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofih7fSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfih7fSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofih7fSkpKTsKfQoKLy9DSEVDSyMyICAKaWYgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAtMSkgewogICRFUlJPUignIzI6IH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAtMS4gQWN0dWFsOiAnICsgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIiEiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIhXHUwMDA5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignI3RydWU6ICFcXHUwMDA5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIhXHUwMDBCdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFcXHUwMDBCdHJ1ZSA9PT0gZmFsc2UnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIiFcdTAwMEN0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIVxcdTAwMEN0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIiFcdTAwMjB0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogIVxcdTAwMjAgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiIVx1MDBBMHRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAhXFx1MDBBMHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiIVx1MDAwQXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhXFx1MDAwQXRydWUgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIhXHUwMDBEdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICFcXHUwMDBEdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIhXHUyMDI4dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICFcXHUyMDI4dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIhXHUyMDI5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICFcXHUyMDI5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiIVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogIVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"!\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCF0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICF0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoIXRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogISghdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gdHJ1ZTsKaWYgKCF4ICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4ID0gdHJ1ZTsgIXggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IHRydWU7CmlmICghKCF4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gdHJ1ZTsgISgheCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gdHJ1ZTsKaWYgKCFvYmplY3QucHJvcCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IHRydWU7ICFvYmplY3QucHJvcCA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIXg7CiAgJEVSUk9SKCcjMS4xOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCF4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator !x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgovL0NIRUNLIzgKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgo=","commentary":"Operator !x uses [[Default Value]]","description":"If Type(value) is Object, return false","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAhZmFsc2UgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFuZXcgQm9vbGVhbihmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIW5ldyBCb29sZWFuKGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoITAuMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhMC4xID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgTnVtYmVyKC0wLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFuZXcgTnVtYmVyKC0wLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFOYU4gIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAhTmFOID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIW5ldyBOdW1iZXIoTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAhbmV3IE51bWJlcihOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCEwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogITAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICghbmV3IE51bWJlcigwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhbmV3IE51bWJlcigwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICghSW5maW5pdHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogIUluZmluaXR5ID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoISIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgU3RyaW5nKCIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBTdHJpbmcoIjAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICghIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICEieCIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISIiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogISIiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIW5ldyBTdHJpbmcoIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICFuZXcgU3RyaW5nKCIiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghdm9pZCAwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIXZvaWQgMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCFudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIW51bGwgPT09IHRydWUnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIXt9KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhKHt9KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyICAKaWYgKCEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiKiIgb3IgYmV0d2VlbiAiKiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkqXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkqXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCKlx1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCKlxcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDKlx1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDKlxcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCpcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCpcXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAqXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAqXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBKlx1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBKlxcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEKlx1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEKlxcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCpcdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCpcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkqXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkqXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSpcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"*\" or between \"*\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgKiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKiB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAqIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x * y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAqIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x * y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAqIHk7CiAgJEVSUk9SKCcjMS4xOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x * y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICogMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAqIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAqIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICogMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAqIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgKiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x * y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAqIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICogeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICogeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICogeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAqIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpICogeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKiAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICogKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggKiAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAqIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICogKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAqIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKiB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAqIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAqICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgKiAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAqICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAqICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgKiAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAqICJ4IikpOwp9Cgo=","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBudWxsKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIHt9KSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAqIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICogMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICogMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICogIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICogIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICogIngiKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMxOiAxICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICogMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgKiBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIjEiICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqICIxIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICgiMSIgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgKiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKiBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICh0cnVlICogbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAqIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAqICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIDEpKTsgIAp9IAoK","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If left operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAqIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgKiBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiBOYU4pKTsgIAp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If right operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxICogLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAqIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgKiAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xICogMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgKiAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xICogLTEpKTsKfQoKLy9DSEVDSyM1CmlmICgwICogMCAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAqIDAgPT09IDAuIEFjdHVhbDogJyArICgwICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKiAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgKiAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAqIC0wICE9PSAtMCkgewogICRFUlJPUignIzYuMTogMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAqIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAqIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM2LjI6IDAgKiAtMCA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICogMCAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICogMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAqIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAqIC0wICE9PSAwKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgKiAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAqIC0wID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKiAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAtMCAqIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBJbmZpbml0eSAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC0wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oMCAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAwICogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICogLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogLTApKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTigwICogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDAgKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IEluZmluaXR5ICogMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oLTAgKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogLTAgKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBJbmZpbml0eSkpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by a zero results in NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIGFuIGluZmluaXR5IG9mIGFwcHJvcHJpYXRlIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICogLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by an infinity results in an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLTEgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogLTEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLTEgKiAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgKiAtMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAtMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiAtMSAqIEluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtMSAqIEluZmluaXR5KSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBJbmZpbml0eSAqIE51bWJlci5NQVhfVkFMVUUgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IEluZmluaXR5ICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTnVtYmVyLk1BWF9WQUxVRSAqIEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM4OiAtSW5maW5pdHkgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFICogLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9ICAKCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by a finite non-zero value results in a signed infinity","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFICogMS4xID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEuMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC0xLjEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtMS4xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgKiAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogLTEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKC0xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoK","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgKiAwLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAuMSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiAtMC4xICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLTAuIEFjdHVhbDogJyArICgtMC4xICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICogMC41ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUpKTsKfQoKLy9DSEVDSyM0CmlmICgtMC41ICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiAnICsgKC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAuNSAqIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTAuNSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUxICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNTEgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC41MSkpOwp9CgovL0NIRUNLIzYKaWYgKC0wLjUxICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM2OiAtMC41MSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuNTEgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE51bWJlci5NSU5fVkFMVUUgKiAwLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC45KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjODogLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too small to represent, the result is then a zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBpcyBub3QgYWx3YXlzIGFzc29jaWF0aXZlICh4ICogeSAqIHogaXMgdGhlIHNhbWUgYXMgKHggKiB5KSAqIHosIG5vdCB4ICogKHkgKiB6KSkKICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgIT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgPT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkpKTsKfSAKCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5NQVhfVkFMVUUgKiAxLjEpICogMC45ID09PSBOdW1iZXIuTUFYX1ZBTFVFICogKDEuMSAqIDAuOSkpIHsKICAkRVJST1IoJyMyOiAoTnVtYmVyLk1BWF9WQUxVRSAqIDEuMSkgKiAwLjkgIT09IE51bWJlci5NQVhfVkFMVUUgKiAoMS4xICogMC45KScpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication is not always associative (x * y * z is the same as (x * y) * z, not x * (y * z))","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiLyIgb3IgYmV0d2VlbiAiLyIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkvXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkvXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCL1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCL1xcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDL1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDL1xcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC9cdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC9cXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAvXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAvXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBL1x1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBL1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEL1x1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEL1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC9cdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC9cXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkvXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkvXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS9cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS9cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"/\" or between \"/\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAvIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wKSk7Cn0KIAoK","commentary":"Operator x / y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAvIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x / y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAvIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x / y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC8gMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAvIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAvIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC8gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAvIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgLyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x / y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAvIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC8geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC8geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC8geCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAvIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpIC8geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLyAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IC8gKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggLyAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAvIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC8gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAvIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLyB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAvIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAvICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLyAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAvICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAvICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLyAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAvICJ4IikpOwp9Cgo=","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAvIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAvIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgLyBudWxsKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIHt9KSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAvIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC8gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC8gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC8gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC8gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC8gIngiKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IDEgLyBudWxsID09PSArSW5maW5pdHkuIEFjdHVhbDogJyArICgxIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAvIDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgLyBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC8gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC8gbnVsbCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoIjEiIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIC8gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIC8gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgLyB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAvICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gLyBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gLyAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIDEpKTsgIAp9IAoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If left operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAvIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgLyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyBOYU4pKTsgIAp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If right operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgYm90aCBvcGVyYW5kcyBhcmUgZmluaXRlIGFuZCBub256ZXJvLCB0aGUgcXVvdGllbnQgaXMgY29tcHV0ZWQgYW5kIHJvdW5kZWQgdXNpbmcgSUVFRSA3NTQgcm91bmQtdG8tbmVhcmVzdCBtb2RlLgogKiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgLyAyLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMi4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4xKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAyLjAgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXIuTUlOX1ZBTFVFIC8gMi4wID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4wICE9PSAtMCkgewogICRFUlJPUignIzQuMTogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjAgPT09IC0wLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjApKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCA9PT0gLTAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDEuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzU6IE51bWJlci5NSU5fVkFMVUUgLyAxLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS45KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkpKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS4xICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAvIDEuMSA9PT0gTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAxLjEpKTsKfQoKLy9DSEVDSyM4CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM4OiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSA9PT0gLU51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSkpOwp9IAoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If both operands are finite and nonzero, the quotient is computed and rounded using IEEE 754 round-to-nearest mode.\nIf the magnitude is too small to represent, the result is then a zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxIC8gLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgLyAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xIC8gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAvIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgLyAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xIC8gLTEpKTsKfQoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAwICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAvIDAgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgLyAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTAgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0wID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0wKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAwID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0wICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0wID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0wKSk7Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by a zero results in an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IC1JbmZpbml0eSAvIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC8gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IEluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5IC8gLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC1JbmZpbml0eSkpOwp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by an infinity results in NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgLyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTEgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0xID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAxID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0xICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0xID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM2OiAtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by a finite non-zero value results in a signed infinity","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIGZpbml0ZSB2YWx1ZSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyMxLjE6IDEgLyAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgxIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8gLUluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMSAvIC1JbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTEgLyAtSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgxIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSArMCkgewogICRFUlJPUignIzMuMTogMSAvIEluZmluaXR5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAxIC8gSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgtMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0xIC8gSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTEgLyBJbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a finite value by an infinity results in zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYSB6ZXJvIHJlc3VsdHMgaW4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigrMCAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICswIC8gKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswIC8gKzApKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKC0wIC8gKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLTAgLyArMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oKzAgLyAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiArMCAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrMCAvIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTigtMCAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IC0wIC8gLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wIC8gLTApKTsKfSAKCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a zero by a zero results in NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYW55IG5vbi16ZXJvIGZpbml0ZSB2YWx1ZSAtMCByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoLTAgLyAxICE9PSAtMCkgewogICRFUlJPUignIzEuMTogLTAgLyAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgLyAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IC0wIC8gMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC0wIC8gLTEgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC8gLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKCswIC8gMSAhPT0gKzApIHsKICAkRVJST1IoJyMzLjE6ICswIC8gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCswIC8gMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogKzAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKCswIC8gLTEgIT09IC0wKSB7CiAgJEVSUk9SKCcjNC4xOiArMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoKzAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogKzAgLyAtMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCswIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNS4xOiAwIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwIC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgrMCAvIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6ICswIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM2CmlmICgtMCAvIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNi4xOiAtMCAvIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAvIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAvIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogLTAgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a zero by any non-zero finite value -0 results in zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1BWF9WQUxVRSAvIC0wLjkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IE51bWJlci5NQVhfVkFMVUUgLyAtMC45ID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTAuOSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgLyAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTEgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk1BWF9WQUxVRSAvIC0xID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLyAtMSkpOwp9IAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gKE51bWJlci5NQVhfVkFMVUUgLyAwLjkpID09PSAoTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5NQVhfVkFMVUUpIC8gMC45KSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1BWF9WQUxVRSAvIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSAhPT0gKE51bWJlci5NQVhfVkFMVUUgLyBOdW1iZXIuTUFYX1ZBTFVFKSAvIDAuOScpOwp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiJSIgb3IgYmV0d2VlbiAiJSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDklXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDklXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCJVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCJVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDJVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDJVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCVcdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCVcXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAlXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAlXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBJVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBJVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEJVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBEJVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCVcdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCVcXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjklXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjklXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"%\" or between \"%\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAlIDIgPT09IDEuIEFjdHVhbDogJyArICgxICUgMikpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIDIpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMjsKaWYgKDEgJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAxICUgeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgJSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggJSB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMjsKaWYgKG9iamVjdHgucHJvcCAlIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMjsgb2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x % y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAlIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x % y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAlIHk7CiAgJEVSUk9SKCcjMS4xOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x % y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICUgMiA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAlIDIpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAlIDIpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICUgMiBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAlIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgJSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x % y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAlIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICUgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICUgeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAlIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpICUgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggJSAoeCA9IDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ICUgKHggPSAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggJSAoeCA9IDIpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAlIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICUgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAlIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICUgeSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgJSB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAlIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgxICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAlICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgJSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAlICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAlICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgJSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAlICJ4IikpOwp9Cgo=","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAlIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgJSBudWxsKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIHt9KSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICUgMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICUgIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICUgIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgIngiKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICUgbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICUgIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgJSAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgJSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAlIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTmFOICUgKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogTmFOICUgKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlICswKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTmFOICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogTmFOICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IE5hTiAlIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBJbmZpbml0eSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IE5hTiAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgLUluZmluaXR5KSk7IAp9IAoKLy9DSEVDSyM2CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gCgovL0NIRUNLIzcKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IE5hTiAlIE51bWJlci5NSU5fVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIE51bWJlci5NSU5fVkFMVUUpKTsgCn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk5hTiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogTmFOICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgMSkpOyAgCn0KCg==","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTigrMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKzAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswICUgTmFOKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTigtMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLTAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgTmFOKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE5hTikpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICAtSW5maW5pdHkgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCAtSW5maW5pdHkgJSBOYU4pKTsgCn0gCgovL0NIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBOYU4pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIE5hTikpOyAKfQoKLy9DSEVDSyM4CmlmIChpc05hTigxICUgTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAxICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgTmFOKSk7ICAKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgZmluaXRlIG5vbi16ZXJvIHZhbHVlIHJlc3VsdCBlcXVhbHMgdGhlIHNpZ24gb2YgdGhlIGRpdmlkZWQKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAxICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMSAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtMSAlIC0xICE9PSAtMCkgewogICRFUlJPUignIzIuMTogLTEgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIC0xKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0xICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAlIDEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMy4xOiAtMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgtMSAlIDEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIDEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogLTEgJSAxID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNAppZiAoMSAlIC0xICE9PSAwKSB7CiAgJEVSUk9SKCcjNC4xOiAxICUgLTEgPT09IDAuIEFjdHVhbDogJyArICgxICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxICUgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogMSAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMTAxICUgNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNTogMTAxICUgNTEgPT09IDUwLiBBY3R1YWw6ICcgKyAoMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM2CmlmICgxMDEgJSAtNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNjogMTAxICUgLTUxID09PSA1MC4gQWN0dWFsOiAnICsgKDEwMSAlIC01MSkpOwp9CgovL0NIRUNLIzcKaWYgKC0xMDEgJSA1MSAhPT0gLTUwKSB7CiAgJEVSUk9SKCcjNzogLTEwMSAlIDUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM4CmlmICgtMTAxICUgLTUxICE9PSAtNTApIHsKICAkRVJST1IoJyM4OiAtMTAxICUgLTUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgLTUxKSk7Cn0KCg==","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"The sign of the finite non-zero value result equals the sign of the divided","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aWRlbmQgaXMgYW4gaW5maW5pdHkgcmVzdWx0cyBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICUgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAxKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogLUluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0xKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBJbmZpbml0eSAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMSkpOwp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IEluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLTEpKTsKfQoKLy9DSEVDSyM5CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IEluZmluaXR5ICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAtSW5maW5pdHkgJSAtTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgLU51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6IEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If the dividend is an infinity results is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aXNvciBpcyB6ZXJvIHJlc3VsdHMgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigtMCAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogLTAgJSAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMCAlIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC0wICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgLTApKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTigwICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAwICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMCAlIDApKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTigwICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMCAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgwICUgLTApKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTigtMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oLTEgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAtMSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oMSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgJSAtMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBJbmZpbml0eSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMCkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogLUluZmluaXR5ICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTE6IEluZmluaXR5ICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAwKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEyOiBJbmZpbml0eSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKGlzTmFOKE51bWJlci5NSU5fVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEzOiBOdW1iZXIuTUlOX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNAppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE0OiAtTnVtYmVyLk1JTl9WQUxVRSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE1OiBOdW1iZXIuTUFYX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE2OiBOdW1iZXIuTUFYX1ZBTFVFICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSAtMCkpOwp9Cgo=","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If the divisor is zero results is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBmaW5pdGUgYW5kIHRoZSBkaXZpc29yIGlzIGFuIGluZmluaXR5LCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxICUgLUluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIC1JbmZpbml0eSkpOwp9Ci8vQ0hFQ0sjMgppZiAoMSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0xKSB7CiAgJEVSUk9SKCcjMjogMSAlIEluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLTEgJSBJbmZpbml0eSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLTEgJSAtSW5maW5pdHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAwKSB7CiAgJEVSUk9SKCcjNS4xOiAwICUgSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBJbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzYKaWYgKDAgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogMCAlIC1JbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzcuMTogLTAgJSBJbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIEluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjOAppZiAoLTAgJSAgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzguMTogLTAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIC1JbmZpbml0eSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjOC4yOiAtMCAlIC1JbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUFYX1ZBTFVFICUgLUluZmluaXR5ID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEwCmlmIChOdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzExCmlmICgtTnVtYmVyLk1BWF9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyMxMTogLU51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzEyOiAtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTM6IE51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgLUluZmluaXR5KSk7Cn0KLy9DSEVDSyMxNAppZiAoTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzE0OiBOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMxNQppZiAoLU51bWJlci5NSU5fVkFMVUUgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTU6IC1OdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzE2CmlmICgtTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyMxNjogLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If dividend is finite and the divisor is an infinity, the result equals the dividend","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBhIHplcm8gYW5kIHRoZSBkaXZpc29yIGlzIG5vbnplcm8gZmluaXRlLCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDAgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAwICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMCAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICUgLTEgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IDAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSAgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogMCAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoLTAgJSAxICE9PSAtMCkgewogICRFUlJPUignIzMuMTogLTAgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgJSAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0wICUgMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKC0wICUgIC0xICE9PSAtMCkgewogICRFUlJPUignIzQuMTogLTAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlICAtMSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiAwICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNi4yOiAwICUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If dividend is a zero and the divisor is nonzero finite, the result equals the dividend","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBvcGVyYW5kcyBuZWl0aGVyIGFuIGluZmluaXR5LCBub3IgYSB6ZXJvLCBub3IgTmFOLCByZXR1cm4geCAtIHRydW5jYXRlKHggLyB5KSAqIHkKICovCgpmdW5jdGlvbiB0cnVuY2F0ZSh4KSB7CiAgaWYgKHggPiAwKSB7CiAgICByZXR1cm4gTWF0aC5mbG9vcih4KTsKICB9IGVsc2UgewogICAgcmV0dXJuIE1hdGguY2VpbCh4KTsKICB9Cn0KCi8vQ0hFQ0sjMQp4ID0gMS4zOyAKeSA9IDEuMTsKaWYgKHggJSB5ICE9PSAwLjE5OTk5OTk5OTk5OTk5OTk2KSB7CiAgJEVSUk9SKCcjMTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzIKeCA9IC0xLjM7IAp5ID0gMS4xOyAKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzI6IHggPSAtMS4zOyB5ID0gMS4xOyB4ICUgeSA9PT0gLTAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzMKeCA9IDEuMzsgCnkgPSAtMS4xOwppZiAoeCAlIHkgIT09IDAuMTk5OTk5OTk5OTk5OTk5OTYpIHsKICAkRVJST1IoJyMzOiB4ID0gMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzQKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzQ6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IC0wLjE5OTk5OTk5OTk5OTk5OTk2LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnggPSAxLjM7IAp5ID0gMS4xOwppZiAoeCAlIHkgIT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5KSB7CiAgJEVSUk9SKCcjNTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM2CnggPSAtMS4zOyAKeSA9IDEuMTsgCmlmICh4ICUgeSAhPT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkpIHsKICAkRVJST1IoJyM2OiB4ID0gLTEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM3CnggPSAxLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzc6IHggPSAxLjM7IHkgPSAtMS4xOyB4ICUgeSA9PT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzgKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzg6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If operands neither an infinity, nor a zero, nor NaN, return x - truncate(x / y) * y","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiKyIgb3IgYmV0d2VlbiAiKyIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkrXHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkrXFx1MDAwOTEgPT09IDInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCK1x1MDAwQjEiKSAhPT0gMikgewogICRFUlJPUignIzI6IDFcXHUwMDBCK1xcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDK1x1MDAwQzEiKSAhPT0gMikgewogICRFUlJPUignIzM6IDFcXHUwMDBDK1xcdTAwMEMxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCtcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCtcXHUwMDIwMSA9PT0gMicpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTArXHUwMEEwMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTArXFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBK1x1MDAwQTEiKSAhPT0gMikgewogICRFUlJPUignIzY6IDFcXHUwMDBBK1xcdTAwMEExID09PSAyJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEK1x1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEK1xcdTAwMEQxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCtcdTIwMjgxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCtcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkrXHUyMDI5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkrXFx1MjAyOTEgPT09IDInKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOStcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOStcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAyJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"+\" or between \"+\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSArIDEgPT09IDIuIEFjdHVhbDogJyArICgxICsgMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgKyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCArIG9iamVjdHkucHJvcCAhPT0gMikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wID09PSAyLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x + y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCArIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSArIHk7CiAgJEVSUk9SKCcjMS4xOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICsgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSArIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSArIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICsgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSArIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzU6IDEgKyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzY6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBEYXRlIG9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIGRhdGUgIT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKSkgewogICRFUlJPUignIzE6IHZhciBkYXRlID0gbmV3IERhdGUoKTsgZGF0ZSArIGRhdGUgPT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKS4gQWN0dWFsOiAnICsgKGRhdGUgKyBkYXRlKSk7ICAKfQoKLy9DSEVDSyMyCnZhciBkYXRlID0gbmV3IERhdGUoKTsKaWYgKGRhdGUgKyAwICE9PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIpIHsKICAkRVJST1IoJyMyOiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyAwID09PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIuIEFjdHVhbDogJyArIChkYXRlICsgMCkpOyAgCn0KCi8vQ0hFQ0sjMwp2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CmlmIChkYXRlICsgdHJ1ZSAhPT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyBkYXRlICsgdHJ1ZSA9PT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiLiBBY3R1YWw6ICcgKyAoZGF0ZSArIHRydWUpKTsgIAp9CgovL0NIRUNLIzQKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIG5ldyBPYmplY3QoKSAhPT0gZGF0ZS50b1N0cmluZygpICsgIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyBuZXcgT2JqZWN0KCkgPT09IGRhdGUudG9TdHJpbmcoKSArICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoZGF0ZSArIG5ldyBPYmplY3QoKSkpOyAgCn0KCgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Date object, evaluate ToPrimitive(value, String)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBGdW5jdGlvbiwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMDsKfQppZiAoZjEgKyAxICE9PSBmMS50b1N0cmluZygpICsgMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGYxKCkge3JldHVybiAwO307IGYxICsgMSA9PT0gZjEudG9TdHJpbmcoKSArIDEnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKCl7CiAgcmV0dXJuIDA7Cn0KZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307CmlmICgxICsgZjIgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogZjF1bmN0aW9uIGYyKCkge3JldHVybiAwO30gZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307IDEgKyBmMiA9PT0gMSArIDEuIEFjdHVhbDogJyArICgxICsgZjIpKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKCl7CiAgcmV0dXJuIDA7Cn0KZjMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoMSArIGYzICE9PSAxICsgMSkgewogICRFUlJPUignIzM6IGYxdW5jdGlvbiBmMygpIHtyZXR1cm4gMDt9IGYzLnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyAxICsgZjMgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoMSArIGYzKSk7Cn0KCi8vQ0hFQ0sjNApmdW5jdGlvbiBmNCgpewogIHJldHVybiAwOwp9CmY0LnZhbHVlT2YgPSBmdW5jdGlvbigpIHtyZXR1cm4gLTE7fTsKZjQudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoZjQgKyAxICE9PSAxIC0gMSkgewogICRFUlJPUignIzQ6IGYxdW5jdGlvbiBmNCgpIHtyZXR1cm4gMDt9OyBmMi52YWx1ZU9mID0gZnVuY3Rpb24oKSB7cmV0dXJuIC0xO307IGY0LnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyBmNCArIDEgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoZjQgKyAxKSk7Cn0KCg==","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Function, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCArIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICsgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICsgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICsgeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSArIHggPT09IDIuIEFjdHVhbDogJyArICgoeCA9IDEpICsgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKyAoeCA9IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggKyAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSArIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICsgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSArIHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKyB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKyB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzM6IHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IDEgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpICsgMSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzM6IDEgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKG51bGwgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVsbCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgbnVsbCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgKyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsICsgbnVsbCkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgb3IgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIDEgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxICsgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbnVsbCArIDEgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICsgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAxID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICsgbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgdHJ1ZSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKyBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsICsgdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IG51bGwgKyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobnVsbCArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiBudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzE6ICIxIiArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzM6ICIxIiArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCJ4IiArICIxIiAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjNTogIngiICsgIjEiID09PSAieDEiLiBBY3R1YWw6ICcgKyAoIngiICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiICsgIngiICE9PSAiMXgiKSB7CiAgJEVSUk9SKCcjNjogIjEiICsgIngiID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoIjEiICsgIngiKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICsge30pICE9PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9ICsge30pID09PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsge30pKSk7Cn0KCgoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMxOiAiMSIgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiAxICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiAiMSIgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKCJ4IiArIDEgIT09IngxIikgewogICRFUlJPUignIzk6ICJ4IiArIDEgPT09ICJ4MSIuIEFjdHVhbDogJyArICgieCIgKyAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgKyAieCIgIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogMSArICJ4IiA9PT0gIjF4Ii4gQWN0dWFsOiAnICsgKDEgKyAieCIpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgIjEiICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArICIxIiA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogIjEiICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKCIxIiArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArICIxIiAhPT0gInRydWUxIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgIjEiID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzQ6ICIxIiArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IFN0cmluZygiMSIpICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICsgbmV3IFN0cmluZygiMSIpID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgKyB1bmRlZmluZWQgIT09ICIxdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6ICIxIiArIHVuZGVmaW5lZCA9PT0gIjF1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAoIjEiICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkICsgIjEiICE9PSAidW5kZWZpbmVkMSIpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAiMSIgPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIHVuZGVmaW5lZCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICsgdW5kZWZpbmVkID09PSAiMXVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgKyBuZXcgU3RyaW5nKCIxIikgIT09ICJ1bmRlZmluZWQxIikgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInVuZGVmaW5lZDEiLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzE6ICIxIiArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICgiMSIgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCArICIxIiAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IG51bGwgKyAiMSIgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIm51bGwxIikgewogICRFUlJPUignIzQ6IG51bGwgKyBuZXcgU3RyaW5nKCIxIikgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICsgMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOICsgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgKyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxICsgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIG9wcG9zaXRlIHNpZ24gaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSArIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of opposite sign is NaN","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIHRoZSBzYW1lIHNpZ24gaXMgdGhlIGluZmluaXR5IG9mIHRoYXQgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAtSW5maW5pdHkpKTsKfQoKCgoK","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of the same sign is the infinity of that sign","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGFuIGluZmluaXR5IGFuZCBhIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgaW5maW5pdGUgb3BlcmFuZAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xICsgSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIDEgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM0OiAtMSArIC1JbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzc6IC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzg6IC1OdW1iZXIuTUFYX1ZBTFVFICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of an infinity and a finite value is equal to the infinite operand","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBuZWdhdGl2ZSB6ZXJvcyBpcyAtMC4gVGhlIHN1bSBvZiB0d28gcG9zaXRpdmUgemVyb3MsIG9yIG9mIHR3byB6ZXJvcyBvZiBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtMCArIC0wICE9PSAtMCApIHsgIAogICRFUlJPUignIzEuMTogLTAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgLTApKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCArIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjE6IC0wICsgLTAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICsgLTAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMyLjE6IDAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgKyAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAwICsgLTAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMCArIDAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wICsgMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICsgMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCArIDAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwICsgMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCArIDAgPT09IDAuIEFjdHVhbDogJyArICgwICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgKyAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two negative zeros is -0. The sum of two positive zeros, or of two zeros of opposite sign is +0","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGEgemVybyBhbmQgYSBub256ZXJvIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbm9uemVybyBvcGVyYW5kCiAqLwoKLy9DSEVDSyMxCmlmICgxICsgLTAgIT09IDEgKSB7ICAKICAkRVJST1IoJyMxOiAxICsgLTAgPT09IDEuIEFjdHVhbDogJyArICgxICsgLTApKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgMCAhPT0gMSApIHsgIAogICRFUlJPUignIzI6IDEgKyAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSArIDApKTsKfSAKCi8vQ0hFQ0sjMwppZiAoLTAgKyAxICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgKyAxID09PSAxLiBBY3R1YWw6ICcgKyAoLTAgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMCArIDEgIT09IDEgKSB7ICAKICAkRVJST1IoJyM0OiAwICsgMSA9PT0gMS4gQWN0dWFsOiAnICsgKDAgKyAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgKyAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKyAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSArIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCArIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKSB7ICAKICAkRVJST1IoJyM3OiAtMCArIE51bWJlci5NSU5fVkFMVUUgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArICgtMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgwICsgTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgKyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of a zero and a nonzero finite value is equal to the nonzero operand","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBub256ZXJvIGZpbml0ZSB2YWx1ZXMgb2YgdGhlIHNhbWUgbWFnbml0dWRlIGFuZCBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjE6IC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogLTEgLyBOdW1iZXIuTUFYX1ZBTFVFICsgMSAvIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two nonzero finite values of the same magnitude and opposite sign is +0","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMzCmlmICgxZSszMDggKyAxZSszMDggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IDFlKzMwOCArIDFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4ICsgMWUrMzA4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTguOTllKzMwNyAtIDguOTllKzMwNyAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogLTguOTllKzMwNyAtIDguOTllKzMwNyA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoLTguOTllKzMwNyAtIDguOTllKzMwNykpOwp9Cgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYWRkaXRpb24gb3BlcmF0b3IgaXMgbm90IGFsd2F5cyBhc3NvY2lhdGl2ZSAoIHggKyB5ICsgeiBpcyB0aGUgc2FtZSAoeCArIHkpICsgeiwgbm90IHggKyAoeSArIHopKQogKi8KCi8vQ0hFQ0sjMQppZiAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTogLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMyCmlmICgoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1OdW1iZXIuTUFYX1ZBTFVFICsgKE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSkgewogICRFUlJPUignIzI6ICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gLU51bWJlci5NQVhfVkFMVUUgKyAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpLiBBY3R1YWw6ICcgKyAoKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiICsgMSArIDEgIT09ICgiMSIgKyAxKSArIDEpIHsKICAkRVJST1IoJyMzOiAiMSIgKyAxICsgMSA9PT0gKCIxIiArIDEpICsgMS4gQWN0dWFsOiAnICsgKCIxIiArIDEgKyAxKSk7Cn0gCgovL0NIRUNLIzQKaWYgKCgiMSIgKyAxKSArIDEgPT09ICIxIiArICgxICsgMSkpIHsKICAkRVJST1IoJyM0OiAoIjEiICsgMSkgKyAxICE9PSAiMSIgKyAoMSArIDEpJyk7Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The addition operator is not always associative ( x + y + z is the same (x + y) + z, not x + (y + z))","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiLSIgb3IgYmV0d2VlbiAiLSIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDktXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDktXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCLVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCLVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDLVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDLVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC1cdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC1cXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAtXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAtXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBLVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBLVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBELVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBELVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC1cdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC1cXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjktXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjktXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"-\" or between \"-\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLSB5ID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAtIG9iamVjdHkucHJvcCAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wID09PSAwLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x - y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAtIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAtIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC0gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAtIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAtIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC0gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAtIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzU6IDEgLSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzY6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x - y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAtIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC0geCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAtIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpIC0geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLSAoeCA9IDEpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAtICh4ID0gMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeCAtICh4ID0gMSkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAtIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAtIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLSB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAtIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAtICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAtICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAtICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAtICJ4IikpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAtIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLSBudWxsKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIHt9KSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAtIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC0gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC0gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gIngiKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAtIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtIDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAtIDEgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IE51bWJlcigxKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbmV3IE51bWJlcigxKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAtIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC0gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgiMSIgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtICIxIiAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiBudWxsIC0gIjEiID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IFN0cmluZygiMSIpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgU3RyaW5nKCIxIikgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICh0cnVlIC0gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLSB0cnVlICE9PSAtMSkgewogICRFUlJPUignIzI6IG51bGwgLSB0cnVlID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC0gMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgLSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxIC0gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiBvcHBvc2l0ZSBzaWduIGlzIHRoZSBpbmZpbml0eSBvZiBtaW51ZW5kIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5IC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of opposite sign is the infinity of minuend sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiB0aGUgc2FtZSBzaWduIGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAtIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAtSW5maW5pdHkgLSAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of the same sign is NaN","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiBhbiBpbmZpbml0eSBhbmQgYSBmaW5pdGUgdmFsdWUgaXMgZXF1YWwgdG8gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xIC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC0xIC0gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLSAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC0gMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNDogLTEgLSAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgLSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgLSBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSA9PT0gSS1uZmluaXR5LiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzcKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAtIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM3OiAtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM4OiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of an infinity and a finite value is equal to infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgdHdvIHplcm9lcyBhbmQgdGhlIGZhY3QgdGhhdCBhIC0gYiA9IGEgKyAoLWIpCiAqLwoKLy9DSEVDSyMxCmlmICgtMCAtIC0wICE9PSAwICkgeyAgCiAgJEVSUk9SKCcjMS4xOiAtMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLSAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogLTAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKDAgLSAtMCAhPT0gMCApIHsgIAogICRFUlJPUignIzIuMTogMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAtIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAtIC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IDAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKC0wIC0gMCAhPT0gLTAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wIC0gMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCAtIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwIC0gMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCAtIDAgPT09IDAuIEFjdHVhbDogJyArICgwIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgLSAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgLSAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of two zeroes and the fact that a - b = a + (-b)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgYSB6ZXJvIGFuZCBhIG5vbnplcm8gZmluaXRlIHZhbHVlIGFuZCB0aGUgZmFjdCB0aGF0IGEgLSBiID0gYSArICgtYikKICovCgovL0NIRUNLIzEKaWYgKDEgLSAtMCAhPT0gMSApIHsgIAogICRFUlJPUignIzE6IDEgLSAtMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSAtMCkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAwICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMjogMSAtIDAgPT09IDEuIEFjdHVhbDogJyArICgxIC0gMCkpOwp9IAoKLy9DSEVDSyMzCmlmICgtMCAtIDEgIT09IC0xICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKC0wIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDAgLSAxICE9PSAtMSApIHsgIAogICRFUlJPUignIzQ6IDAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKDAgLSAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgLSAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAtIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC0gMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCAtIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNzogLTAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKC0wIC0gTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFICE9PSAtTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of a zero and a nonzero finite value and the fact that a - b = a + (-b)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgbWF0aGVtYXRpY2FsIGRpZmZlcmVuY2Ugb2YgdHdvIG5vbnplcm8gZmluaXRlIHZhbHVlcyBvZiB0aGUgc2FtZSBtYWduaXR1ZGUgYW5kIHNhbWUgc2lnbiBpcyArMAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IE51bWJlci5NSU5fVkFMVUUgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiBOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjI6IC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLU51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4xOiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxIC8gTnVtYmVyLk1BWF9WQUxVRSAtIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"The mathematical difference of two nonzero finite values of the same magnitude and same sign is +0","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSB1bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMWUrMzA4IC0gLTFlKzMwOCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogMWUrMzA4IC0gLTFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4IC0gLTFlKzMwOCkpOwp9CgovL0NIRUNLIzQKaWYgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcpKTsKfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPDwiIG9yIGJldHdlZW4gIjw8IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOTw8XHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDk8PFxcdTAwMDkxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQjw8XHUwMDBCMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogMVxcdTAwMEI8PFxcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPDxcdTAwMEMxIikgIT09IDIpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQzw8XFx1MDAwQzEgPT09IDInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPDxcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMDw8XFx1MDAyMDEgPT09IDInKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwPDxcdTAwQTAxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiAxXFx1MDBBMDw8XFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPDxcdTAwMEExIikgIT09IDIpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQTw8XFx1MDAwQTEgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ8PFx1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEPDxcXHUwMDBEMSA9PT0gMicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjg8PFx1MjAyODEiKSAhPT0gMikgewogICRFUlJPUignIzg6IDFcXHUyMDI4PDxcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PFx1MjAyOTEiKSAhPT0gMikgewogICRFUlJPUignIzk6IDFcXHUyMDI5PDxcXHUyMDI5MSA9PT0gMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTw8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMicpOwp9Cgo=","commentary":"White Space and Line Terminator between ShiftExpression and \"<<\" or between \"<<\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgyIDw8IDEgIT09IDQpIHsKICAkRVJST1IoJyMxOiAyIDw8IDEgPT09IDQuIEFjdHVhbDogJyArICgyIDw8IDEpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPDwgMSAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMjsgeCA8PCAxID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgyIDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDIgPDwgeSA9PT0gNC4gQWN0dWFsOiAnICsgKDIgPDwgeSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAyOwp2YXIgeSA9IDE7CmlmICh4IDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDI7IHZhciB5ID0gMTsgeCA8PCB5ID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAyOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wID09PSA0LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIDw8IG9iamVjdHkucHJvcCkpOwp9Cgo=","commentary":"Operator x << y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgMTsKICAkRVJST1IoJyMxLjE6IHggPDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x << y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPDwgeTsKICAkRVJST1IoJyMxLjE6IDEgPDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPDwgeSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x << y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw8IDEgIT09IDIpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM1OiAxIDw8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM2OiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x << y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8PCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA8PCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw8IHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPDwgeCA9PT0gMi4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPDwgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPDwgKHggPSAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCA8PCAoeCA9IDEpID09PSAwLiBBY3R1YWw6ICcgKyAoeCA8PCAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPDwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPDwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPDwgeSAhPT0gMikgewogICRFUlJPUignIzI6ICh5ID0gMSkgPDwgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPDwgeSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8IHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogMSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzE6ICIxIiA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzM6ICIxIiA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA8PCAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw8ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA8PCAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPDwgIngiKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsIDw8IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPDwgdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPDwgdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDw8IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG51bGwpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCB7fSkpKTsKfQoKCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPDwgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMyOiAxIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiAiMSIgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPDwgMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPDwgIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPDwgIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAieCIpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIDw8IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw8IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIG9yIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMyOiAiMSIgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiB0cnVlIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgU3RyaW5nKCIxIikgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PCB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA8PCAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xIDw8IDApKTsgCn0gCgoKaWYgKC0yIDw8IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yIDw8IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPDwgMCkpOyAKfSAKCgppZiAoLTQgPDwgMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPDwgMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA8PCAwKSk7IAp9IAoKCmlmICgtOCA8PCAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA8PCAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04IDw8IDApKTsgCn0gCgoKaWYgKC0xNiA8PCAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2IDw8IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAwKSk7IAp9IAoKCmlmICgtMzIgPDwgMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA8PCAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPDwgMCkpOyAKfSAKCgppZiAoLTY0IDw8IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPDwgMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDApKTsgCn0gCgoKaWYgKC0xMjggPDwgMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4IDw8IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4IDw8IDApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2IDw8IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDApKTsgCn0gCgoKaWYgKC01MTIgPDwgMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA8PCAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPDwgMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPDwgMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA8PCAwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPDwgMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA8PCAwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPDwgMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA8PCAwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPDwgMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA8PCAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2IDw8IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPDwgMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0IDw8IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA8PCAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPDwgMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPDwgMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPDwgMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPDwgMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPDwgMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA8PCAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0IDw8IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPDwgMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2IDw8IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA8PCAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPDwgMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAwKSk7IAp9IAoKCmlmICgtMSA8PCAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzMzogLTEgPDwgMSA9PT0gLTIuIEFjdHVhbDogJyArICgtMSA8PCAxKSk7IAp9IAoKCmlmICgtMiA8PCAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNDogLTIgPDwgMSA9PT0gLTQuIEFjdHVhbDogJyArICgtMiA8PCAxKSk7IAp9IAoKCmlmICgtNCA8PCAxICE9PSAtOCkgeyAKICAkRVJST1IoJyMzNTogLTQgPDwgMSA9PT0gLTguIEFjdHVhbDogJyArICgtNCA8PCAxKSk7IAp9IAoKCmlmICgtOCA8PCAxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY6IC04IDw8IDEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC04IDw8IDEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA8PCAxID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMyIDw8IDEgIT09IC02NCkgeyAKICAkRVJST1IoJyMzODogLTMyIDw8IDEgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxKSk7IAp9IAoKCmlmICgtNjQgPDwgMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzOTogLTY0IDw8IDEgPT09IC0xMjguIEFjdHVhbDogJyArICgtNjQgPDwgMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQwOiAtMTI4IDw8IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM0MTogLTI1NiA8PCAxID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQyOiAtNTEyIDw8IDEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MzogLTEwMjQgPDwgMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPDwgMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPDwgMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDY6IC04MTkyIDw8IDEgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA8PCAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYzODQgPDwgMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0ODogLTMyNzY4IDw8IDEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0OTogLTY1NTM2IDw8IDEgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUwOiAtMTMxMDcyIDw8IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1MTogLTI2MjE0NCA8PCAxID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4IDw8IDEgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1MzogLTEwNDg1NzYgPDwgMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPDwgMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPDwgMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTY6IC04Mzg4NjA4IDw8IDEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA8PCAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM1ODogLTMzNTU0NDMyIDw8IDEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM1OTogLTY3MTA4ODY0IDw8IDEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYwOiAtMTM0MjE3NzI4IDw8IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTogLTI2ODQzNTQ1NiA8PCAxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDEgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyIDw8IDEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2MzogLTEwNzM3NDE4MjQgPDwgMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxICE9PSAwKSB7IAogICRFUlJPUignIzY0OiAtMjE0NzQ4MzY0OCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMSkpOyAKfSAKCgppZiAoLTEgPDwgMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjU6IC0xIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEgPDwgMikpOyAKfSAKCgppZiAoLTIgPDwgMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY6IC0yIDw8IDIgPT09IC04LiBBY3R1YWw6ICcgKyAoLTIgPDwgMikpOyAKfSAKCgppZiAoLTQgPDwgMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzY3OiAtNCA8PCAyID09PSAtMTYuIEFjdHVhbDogJyArICgtNCA8PCAyKSk7IAp9IAoKCmlmICgtOCA8PCAyICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjg6IC04IDw8IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC04IDw8IDIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA8PCAyID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYgPDwgMikpOyAKfSAKCgppZiAoLTMyIDw8IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA8PCAyID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NCA8PCAyICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPDwgMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC02NCA8PCAyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzI6IC0xMjggPDwgMiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMikpOyAKfSAKCgppZiAoLTI1NiA8PCAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3MzogLTI1NiA8PCAyID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMikpOyAKfSAKCgppZiAoLTUxMiA8PCAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3NDogLTUxMiA8PCAyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzU6IC0xMDI0IDw8IDIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMikpOyAKfSAKCgppZiAoLTIwNDggPDwgMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4IDw8IDIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzc3OiAtNDA5NiA8PCAyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNzg6IC04MTkyIDw8IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA8PCAyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMikpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA8PCAyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPDwgMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODI6IC0xMzEwNzIgPDwgMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMikpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4MzogLTI2MjE0NCA8PCAyID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4NDogLTUyNDI4OCA8PCAyID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODU6IC0xMDQ4NTc2IDw8IDIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyIDw8IDIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzg3OiAtNDE5NDMwNCA8PCAyID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODg6IC04Mzg4NjA4IDw8IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA8PCAyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA8PCAyID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPDwgMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTI6IC0xMzQyMTc3MjggPDwgMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5MzogLTI2ODQzNTQ1NiA8PCAyID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NDogLTUzNjg3MDkxMiA8PCAyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMiAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4IDw8IDIgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyKSk7IAp9IAoKCmlmICgtMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyM5NzogLTEgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgtMSA8PCAzKSk7IAp9IAoKCmlmICgtMiA8PCAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjOTg6IC0yIDw8IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yIDw8IDMpKTsgCn0gCgoKaWYgKC00IDw8IDMgIT09IC0zMikgeyAKICAkRVJST1IoJyM5OTogLTQgPDwgMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMykpOyAKfSAKCgppZiAoLTggPDwgMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzEwMDogLTggPDwgMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTggPDwgMykpOyAKfSAKCgppZiAoLTE2IDw8IDMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTAxOiAtMTYgPDwgMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNiA8PCAzKSk7IAp9IAoKCmlmICgtMzIgPDwgMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA8PCAzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDMpKTsgCn0gCgoKaWYgKC02NCA8PCAzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzEwMzogLTY0IDw8IDMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjQgPDwgMykpOyAKfSAKCgppZiAoLTEyOCA8PCAzICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMDQ6IC0xMjggPDwgMyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTI4IDw8IDMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2IDw8IDMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzEwNjogLTUxMiA8PCAzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTA3OiAtMTAyNCA8PCAzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxMDg6IC0yMDQ4IDw8IDMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDMpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxMDk6IC00MDk2IDw8IDMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxMTA6IC04MTkyIDw8IDMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzExMTogLTE2Mzg0IDw8IDMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMykpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPDwgMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTM6IC02NTUzNiA8PCAzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTE0OiAtMTMxMDcyIDw8IDMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDMgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA8PCAzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMTY6IC01MjQyODggPDwgMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzExNzogLTEwNDg1NzYgPDwgMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAzICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTE4OiAtMjA5NzE1MiA8PCAzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAzICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTE5OiAtNDE5NDMwNCA8PCAzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTIwOiAtODM4ODYwOCA8PCAzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxMjE6IC0xNjc3NzIxNiA8PCAzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAzICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyIDw8IDMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMTIzOiAtNjcxMDg4NjQgPDwgMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDMgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzEyNDogLTEzNDIxNzcyOCA8PCAzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPDwgMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjc6IC0xMDczNzQxODI0IDw8IDMgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAzICE9PSAwKSB7IAogICRFUlJPUignIzEyODogLTIxNDc0ODM2NDggPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMpKTsgCn0gCgoKaWYgKC0xIDw8IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMjk6IC0xIDw8IDQgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xIDw8IDQpKTsgCn0gCgoKaWYgKC0yIDw8IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzA6IC0yIDw8IDQgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yIDw8IDQpKTsgCn0gCgoKaWYgKC00IDw8IDQgIT09IC02NCkgeyAKICAkRVJST1IoJyMxMzE6IC00IDw8IDQgPT09IC02NC4gQWN0dWFsOiAnICsgKC00IDw8IDQpKTsgCn0gCgoKaWYgKC04IDw8IDQgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA8PCA0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTggPDwgNCkpOyAKfSAKCgppZiAoLTE2IDw8IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTMzOiAtMTYgPDwgNCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA0KSk7IAp9IAoKCmlmICgtMzIgPDwgNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMzQ6IC0zMiA8PCA0ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDQpKTsgCn0gCgoKaWYgKC02NCA8PCA0ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMzU6IC02NCA8PCA0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC02NCA8PCA0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzEzNjogLTEyOCA8PCA0ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgNCkpOyAKfSAKCgppZiAoLTI1NiA8PCA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPDwgNCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MTIgPDwgNCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTM4OiAtNTEyIDw8IDQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA8PCA0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTAyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQwOiAtMjA0OCA8PCA0ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjA0OCA8PCA0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA8PCA0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNDA5NiA8PCA0KSk7IAp9IAoKCmlmICgtODE5MiA8PCA0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE0MjogLTgxOTIgPDwgNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE0MzogLTE2Mzg0IDw8IDQgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAtMzI3NjggPDwgNCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTQ1OiAtNjU1MzYgPDwgNCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNDY6IC0xMzEwNzIgPDwgNCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0IDw8IDQgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA0KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE0ODogLTUyNDI4OCA8PCA0ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPDwgNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1MDogLTIwOTcxNTIgPDwgNCA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPDwgNCA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxNTI6IC04Mzg4NjA4IDw8IDQgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMxNTM6IC0xNjc3NzIxNiA8PCA0ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCA0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE1NDogLTMzNTU0NDMyIDw8IDQgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE1NTogLTY3MTA4ODY0IDw8IDQgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTU2OiAtMTM0MjE3NzI4IDw8IDQgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTU3OiAtMjY4NDM1NDU2IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTg6IC01MzY4NzA5MTIgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA0ICE9PSAwKSB7IAogICRFUlJPUignIzE2MDogLTIxNDc0ODM2NDggPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDQpKTsgCn0gCgoKaWYgKC0xIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxNjE6IC0xIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xIDw8IDUpKTsgCn0gCgoKaWYgKC0yIDw8IDUgIT09IC02NCkgeyAKICAkRVJST1IoJyMxNjI6IC0yIDw8IDUgPT09IC02NC4gQWN0dWFsOiAnICsgKC0yIDw8IDUpKTsgCn0gCgoKaWYgKC00IDw8IDUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTYzOiAtNCA8PCA1ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgNSkpOyAKfSAKCgppZiAoLTggPDwgNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxNjQ6IC04IDw8IDUgPT09IC0yNTYuIEFjdHVhbDogJyArICgtOCA8PCA1KSk7IAp9IAoKCmlmICgtMTYgPDwgNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA8PCA1ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDUpKTsgCn0gCgoKaWYgKC0zMiA8PCA1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxNjY6IC0zMiA8PCA1ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCA1KSk7IAp9IAoKCmlmICgtNjQgPDwgNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTY3OiAtNjQgPDwgNSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNjQgPDwgNSkpOyAKfSAKCgppZiAoLTEyOCA8PCA1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNjg6IC0xMjggPDwgNSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTY5OiAtMjU2IDw8IDUgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxNzA6IC01MTIgPDwgNSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTcxOiAtMTAyNCA8PCA1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTAyNCA8PCA1KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTcyOiAtMjA0OCA8PCA1ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA1ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE3MzogLTQwOTYgPDwgNSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDUgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTc0OiAtODE5MiA8PCA1ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDUgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTc1OiAtMTYzODQgPDwgNSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTc2OiAtMzI3NjggPDwgNSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDUgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzE3NzogLTY1NTM2IDw8IDUgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTc4OiAtMTMxMDcyIDw8IDUgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDUgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE3OTogLTI2MjE0NCA8PCA1ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA1ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTgwOiAtNTI0Mjg4IDw8IDUgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE4MTogLTEwNDg1NzYgPDwgNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE4MjogLTIwOTcxNTIgPDwgNSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxODM6IC00MTk0MzA0IDw8IDUgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzE4NDogLTgzODg2MDggPDwgNSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE4NTogLTE2Nzc3MjE2IDw8IDUgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE4NjogLTMzNTU0NDMyIDw8IDUgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxODc6IC02NzEwODg2NCA8PCA1ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCA1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTg4OiAtMTM0MjE3NzI4IDw8IDUgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxODk6IC0yNjg0MzU0NTYgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MDogLTUzNjg3MDkxMiA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MTogLTEwNzM3NDE4MjQgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgNSkpOyAKfSAKCgppZiAoLTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzE5MzogLTEgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEgPDwgNikpOyAKfSAKCgppZiAoLTIgPDwgNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxOTQ6IC0yIDw8IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtMiA8PCA2KSk7IAp9IAoKCmlmICgtNCA8PCA2ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE5NTogLTQgPDwgNiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC00IDw8IDYpKTsgCn0gCgoKaWYgKC04IDw8IDYgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTk2OiAtOCA8PCA2ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTggPDwgNikpOyAKfSAKCgppZiAoLTE2IDw8IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE5NzogLTE2IDw8IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDYpKTsgCn0gCgoKaWYgKC0zMiA8PCA2ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA8PCA2ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0zMiA8PCA2KSk7IAp9IAoKCmlmICgtNjQgPDwgNiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPDwgNiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNjQgPDwgNikpOyAKfSAKCgppZiAoLTEyOCA8PCA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPDwgNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTI4IDw8IDYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzIwMTogLTI1NiA8PCA2ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MTIgPDwgNiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA8PCA2ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNTEyIDw8IDYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMDM6IC0xMDI0IDw8IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAtMjA0OCA8PCA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMyMDU6IC00MDk2IDw8IDYgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNDA5NiA8PCA2KSk7IAp9IAoKCmlmICgtODE5MiA8PCA2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzIwNjogLTgxOTIgPDwgNiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA8PCA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjA4OiAtMzI3NjggPDwgNiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2IDw8IDYgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyIDw8IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMyMTE6IC0yNjIxNDQgPDwgNiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA2KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPDwgNiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCA2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCA2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjEzOiAtMTA0ODU3NiA8PCA2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzIxNDogLTIwOTcxNTIgPDwgNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMjE1OiAtNDE5NDMwNCA8PCA2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMyMTY6IC04Mzg4NjA4IDw8IDYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPDwgNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzIxODogLTMzNTU0NDMyIDw8IDYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIxOTogLTY3MTA4ODY0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA8PCA2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjIxOiAtMjY4NDM1NDU2IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjI6IC01MzY4NzA5MTIgPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjM6IC0xMDczNzQxODI0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyNDogLTIxNDc0ODM2NDggPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDYpKTsgCn0gCgoKaWYgKC0xIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjI1OiAtMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTEgPDwgNykpOyAKfSAKCgppZiAoLTIgPDwgNyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMjY6IC0yIDw8IDcgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMiA8PCA3KSk7IAp9IAoKCmlmICgtNCA8PCA3ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIyNzogLTQgPDwgNyA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC00IDw8IDcpKTsgCn0gCgoKaWYgKC04IDw8IDcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIyODogLTggPDwgNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtOCA8PCA3KSk7IAp9IAoKCmlmICgtMTYgPDwgNyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjI5OiAtMTYgPDwgNyA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTYgPDwgNykpOyAKfSAKCgppZiAoLTMyIDw8IDcgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIzMDogLTMyIDw8IDcgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NCA8PCA3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMzE6IC02NCA8PCA3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC02NCA8PCA3KSk7IAp9IAoKCmlmICgtMTI4IDw8IDcgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPDwgNyA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDcgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMzM6IC0yNTYgPDwgNyA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA3KSk7IAp9IAoKCmlmICgtNTEyIDw8IDcgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMzQ6IC01MTIgPDwgNyA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA3KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzIzNTogLTEwMjQgPDwgNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDcpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDcgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjM2OiAtMjA0OCA8PCA3ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNykpOyAKfSAKCgppZiAoLTQwOTYgPDwgNyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2IDw8IDcgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNDA5NiA8PCA3KSk7IAp9IAoKCmlmICgtODE5MiA8PCA3ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyIDw8IDcgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDcgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0IDw8IDcgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCA3ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyNDA6IC0zMjc2OCA8PCA3ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQxOiAtNjU1MzYgPDwgNyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA3ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyIDw8IDcgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgNykpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCA3ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjQzOiAtMjYyMTQ0IDw8IDcgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA3ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjQ0OiAtNTI0Mjg4IDw8IDcgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNDU6IC0xMDQ4NTc2IDw8IDcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA3ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI0NjogLTIwOTcxNTIgPDwgNyA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDcgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA8PCA3ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA8PCA3ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA3ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA8PCA3ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA3KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTA6IC0zMzU1NDQzMiA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MTogLTY3MTA4ODY0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjUzOiAtMjY4NDM1NDU2IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTQ6IC01MzY4NzA5MTIgPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDcpKTsgCn0gCgoKaWYgKC0xIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgOCkpOyAKfSAKCgppZiAoLTIgPDwgOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNTg6IC0yIDw8IDggPT09IC01MTIuIEFjdHVhbDogJyArICgtMiA8PCA4KSk7IAp9IAoKCmlmICgtNCA8PCA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNTk6IC00IDw8IDggPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgOCkpOyAKfSAKCgppZiAoLTggPDwgOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA8PCA4ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04IDw8IDgpKTsgCn0gCgoKaWYgKC0xNiA8PCA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA8PCA4ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA4KSk7IAp9IAoKCmlmICgtMzIgPDwgOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPDwgOCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzIgPDwgOCkpOyAKfSAKCgppZiAoLTY0IDw8IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNjM6IC02NCA8PCA4ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjQgPDwgOCkpOyAKfSAKCgppZiAoLTEyOCA8PCA4ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4IDw8IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgOCkpOyAKfSAKCgppZiAoLTI1NiA8PCA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjY1OiAtMjU2IDw8IDggPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOCkpOyAKfSAKCgppZiAoLTUxMiA8PCA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI2NjogLTUxMiA8PCA4ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPDwgOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjY4OiAtMjA0OCA8PCA4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjY5OiAtNDA5NiA8PCA4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDgpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPDwgOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODE5MiA8PCA4KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjcxOiAtMTYzODQgPDwgOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI3MjogLTMyNzY4IDw8IDggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDgpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCA4ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjczOiAtNjU1MzYgPDwgOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgOCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzI3NDogLTEzMTA3MiA8PCA4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgOCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3NTogLTI2MjE0NCA8PCA4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNzY6IC01MjQyODggPDwgOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2IDw8IDggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzI3ODogLTIwOTcxNTIgPDwgOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzI3OTogLTQxOTQzMDQgPDwgOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA4KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4IDw8IDggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODI6IC0zMzU1NDQzMiA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4MzogLTY3MTA4ODY0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4NDogLTEzNDIxNzcyOCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODY6IC01MzY4NzA5MTIgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODc6IC0xMDczNzQxODI0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDgpKTsgCn0gCgoKaWYgKC0xIDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMjg5OiAtMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEgPDwgOSkpOyAKfSAKCgppZiAoLTIgPDwgOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA8PCA5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yIDw8IDkpKTsgCn0gCgoKaWYgKC00IDw8IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI5MTogLTQgPDwgOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNCA8PCA5KSk7IAp9IAoKCmlmICgtOCA8PCA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyOTI6IC04IDw8IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTggPDwgOSkpOyAKfSAKCgppZiAoLTE2IDw8IDkgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI5MzogLTE2IDw8IDkgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDkpKTsgCn0gCgoKaWYgKC0zMiA8PCA5ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjk0OiAtMzIgPDwgOSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NCA8PCA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPDwgOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDkpKTsgCn0gCgoKaWYgKC0xMjggPDwgOSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzI5NjogLTEyOCA8PCA5ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTI4IDw8IDkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgOSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyOTc6IC0yNTYgPDwgOSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOSkpOyAKfSAKCgppZiAoLTUxMiA8PCA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI5ODogLTUxMiA8PCA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzI5OTogLTEwMjQgPDwgOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPDwgOSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2IDw8IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzAyOiAtODE5MiA8PCA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDkpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA8PCA5ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzMwNDogLTMyNzY4IDw8IDkgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA5KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzMwNTogLTY1NTM2IDw8IDkgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCA5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzMDY6IC0xMzEwNzIgPDwgOSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzA3OiAtMjYyMTQ0IDw8IDkgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPDwgOSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDk6IC0xMDQ4NTc2IDw8IDkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyIDw8IDkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA8PCA5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEyOiAtODM4ODYwOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA5KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTQ6IC0zMzU1NDQzMiA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTg6IC01MzY4NzA5MTIgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMyMDogLTIxNDc0ODM2NDggPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDkpKTsgCn0gCgoKaWYgKC0xIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMjE6IC0xIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xIDw8IDEwKSk7IAp9IAoKCmlmICgtMiA8PCAxMCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA8PCAxMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMiA8PCAxMCkpOyAKfSAKCgppZiAoLTQgPDwgMTAgIT09IC00MDk2KSB7IAogICRFUlJPUignIzMyMzogLTQgPDwgMTAgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTApKTsgCn0gCgoKaWYgKC04IDw8IDEwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzMjQ6IC04IDw8IDEwID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC04IDw8IDEwKSk7IAp9IAoKCmlmICgtMTYgPDwgMTAgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMjU6IC0xNiA8PCAxMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzIgPDwgMTAgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA8PCAxMCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDEwKSk7IAp9IAoKCmlmICgtNjQgPDwgMTAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzMjc6IC02NCA8PCAxMCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEwKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEwICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMyODogLTEyOCA8PCAxMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTAgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2IDw8IDEwID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxMCkpOyAKfSAKCgppZiAoLTUxMiA8PCAxMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzMzA6IC01MTIgPDwgMTAgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNTEyIDw8IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA8PCAxMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPDwgMTAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDEwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2IDw8IDEwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA8PCAxMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODE5MiA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPDwgMTAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxMCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPDwgMTAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDEwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPDwgMTAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPDwgMTAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA8PCAxMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4IDw8IDEwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPDwgMTAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDEwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyIDw8IDEwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDM6IC00MTk0MzA0IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTApKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ2OiAtMzM1NTQ0MzIgPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDc6IC02NzEwODg2NCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDg6IC0xMzQyMTc3MjggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0OTogLTI2ODQzNTQ1NiA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUwOiAtNTM2ODcwOTEyIDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUxOiAtMTA3Mzc0MTgyNCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTI6IC0yMTQ3NDgzNjQ4IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTApKTsgCn0gCgoKaWYgKC0xIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNTM6IC0xIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xIDw8IDExKSk7IAp9IAoKCmlmICgtMiA8PCAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzU0OiAtMiA8PCAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMiA8PCAxMSkpOyAKfSAKCgppZiAoLTQgPDwgMTEgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM1NTogLTQgPDwgMTEgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTEpKTsgCn0gCgoKaWYgKC04IDw8IDExICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzU2OiAtOCA8PCAxMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM1NzogLTE2IDw8IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYgPDwgMTEpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM1ODogLTMyIDw8IDExID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMzIgPDwgMTEpKTsgCn0gCgoKaWYgKC02NCA8PCAxMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzNTk6IC02NCA8PCAxMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC02NCA8PCAxMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNjA6IC0xMjggPDwgMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDExKSk7IAp9IAoKCmlmICgtMjU2IDw8IDExICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM2MTogLTI1NiA8PCAxMSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTEpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM2MjogLTUxMiA8PCAxMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNTEyIDw8IDExKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzYzOiAtMTAyNCA8PCAxMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTEgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM2NDogLTIwNDggPDwgMTEgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDExICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzNjU6IC00MDk2IDw8IDExID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDExKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM2NjogLTgxOTIgPDwgMTEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTEgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMzNjc6IC0xNjM4NCA8PCAxMSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDExKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzNjg6IC0zMjc2OCA8PCAxMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDExKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPDwgMTEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTEgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMzcwOiAtMTMxMDcyIDw8IDExID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPDwgMTEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDExICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzNzI6IC01MjQyODggPDwgMTEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPDwgMTEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc1OiAtNDE5NDMwNCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzY6IC04Mzg4NjA4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyIDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDExKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc5OiAtNjcxMDg4NjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzgwOiAtMTM0MjE3NzI4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzODE6IC0yNjg0MzU0NTYgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDExKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MjogLTUzNjg3MDkxMiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MzogLTEwNzM3NDE4MjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg0OiAtMjE0NzQ4MzY0OCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDExKSk7IAp9IAoKCmlmICgtMSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMSA8PCAxMikpOyAKfSAKCgppZiAoLTIgPDwgMTIgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM4NjogLTIgPDwgMTIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMTIpKTsgCn0gCgoKaWYgKC00IDw8IDEyICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzg3OiAtNCA8PCAxMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTIpKTsgCn0gCgoKaWYgKC04IDw8IDEyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA8PCAxMiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTggPDwgMTIpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM4OTogLTE2IDw8IDEyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTIpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMiAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzOTA6IC0zMiA8PCAxMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMikpOyAKfSAKCgppZiAoLTY0IDw8IDEyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzM5MTogLTY0IDw8IDEyID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEyICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM5MjogLTEyOCA8PCAxMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTIgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM5MzogLTI1NiA8PCAxMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjU2IDw8IDEyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPDwgMTIgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPDwgMTIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTIpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDEyICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4IDw8IDEyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM5NzogLTQwOTYgPDwgMTIgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPDwgMTIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTIgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzOTk6IC0xNjM4NCA8PCAxMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDAwOiAtMzI3NjggPDwgMTIgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0MDE6IC02NTUzNiA8PCAxMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MDI6IC0xMzEwNzIgPDwgMTIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEyKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0MDM6IC0yNjIxNDQgPDwgMTIgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxMiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDA0OiAtNTI0Mjg4IDw8IDEyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTIpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogLTEwNDg1NzYgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiAtMjA5NzE1MiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDc6IC00MTk0MzA0IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwODogLTgzODg2MDggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDEwOiAtMzM1NTQ0MzIgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTE6IC02NzEwODg2NCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEyKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQxMzogLTI2ODQzNTQ1NiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTIpKTsgCn0gCgoKaWYgKC0xIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTc6IC0xIDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xIDw8IDEzKSk7IAp9IAoKCmlmICgtMiA8PCAxMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxODogLTIgPDwgMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yIDw8IDEzKSk7IAp9IAoKCmlmICgtNCA8PCAxMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQxOTogLTQgPDwgMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00IDw8IDEzKSk7IAp9IAoKCmlmICgtOCA8PCAxMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQyMDogLTggPDwgMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04IDw8IDEzKSk7IAp9IAoKCmlmICgtMTYgPDwgMTMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDIxOiAtMTYgPDwgMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYgPDwgMTMpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA8PCAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMykpOyAKfSAKCgppZiAoLTY0IDw8IDEzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQyMzogLTY0IDw8IDEzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEzKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEzICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPDwgMTMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxMykpOyAKfSAKCgppZiAoLTI1NiA8PCAxMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2IDw8IDEzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQyNjogLTUxMiA8PCAxMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTEyIDw8IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA8PCAxMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMTMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM0Mjg6IC0yMDQ4IDw8IDEzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxMykpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2IDw8IDEzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxMykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0MzA6IC04MTkyIDw8IDEzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODE5MiA8PCAxMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzQzMTogLTE2Mzg0IDw8IDEzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPDwgMTMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MzM6IC02NTUzNiA8PCAxMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNDM0OiAtMTMxMDcyIDw8IDEzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA8PCAxMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDEzKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNzogLTEwNDg1NzYgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM4OiAtMjA5NzE1MiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzk6IC00MTk0MzA0IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MTogLTE2Nzc3MjE2IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQyOiAtMzM1NTQ0MzIgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0NTogLTI2ODQzNTQ1NiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ2OiAtNTM2ODcwOTEyIDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ3OiAtMTA3Mzc0MTgyNCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDg6IC0yMTQ3NDgzNjQ4IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTMpKTsgCn0gCgoKaWYgKC0xIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMTQpKTsgCn0gCgoKaWYgKC0yIDw8IDE0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDUwOiAtMiA8PCAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTQpKTsgCn0gCgoKaWYgKC00IDw8IDE0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDUxOiAtNCA8PCAxNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTQpKTsgCn0gCgoKaWYgKC04IDw8IDE0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ1MjogLTggPDwgMTQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtOCA8PCAxNCkpOyAKfSAKCgppZiAoLTE2IDw8IDE0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ1MzogLTE2IDw8IDE0ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE0KSk7IAp9IAoKCmlmICgtMzIgPDwgMTQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPDwgMTQgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMzIgPDwgMTQpKTsgCn0gCgoKaWYgKC02NCA8PCAxNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNDU1OiAtNjQgPDwgMTQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0NTY6IC0xMjggPDwgMTQgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI1NiA8PCAxNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNDU3OiAtMjU2IDw8IDE0ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzQ1ODogLTUxMiA8PCAxNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNTEyIDw8IDE0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPDwgMTQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzQ2MDogLTIwNDggPDwgMTQgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzQ2MTogLTQwOTYgPDwgMTQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE0KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM0NjI6IC04MTkyIDw8IDE0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0NjM6IC0xNjM4NCA8PCAxNCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4IDw8IDE0ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzQ2NTogLTY1NTM2IDw8IDE0ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDY2OiAtMTMxMDcyIDw8IDE0ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njg6IC01MjQyODggPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IC0xMDQ4NTc2IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MDogLTIwOTcxNTIgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcxOiAtNDE5NDMwNCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzI6IC04Mzg4NjA4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzM6IC0xNjc3NzIxNiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NDogLTMzNTU0NDMyIDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiAtMTM0MjE3NzI4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Nzc6IC0yNjg0MzU0NTYgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3OTogLTEwNzM3NDE4MjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ4MTogLTEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xIDw8IDE1KSk7IAp9IAoKCmlmICgtMiA8PCAxNSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQ4MjogLTIgPDwgMTUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yIDw8IDE1KSk7IAp9IAoKCmlmICgtNCA8PCAxNSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0ODM6IC00IDw8IDE1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTUpKTsgCn0gCgoKaWYgKC04IDw8IDE1ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ4NDogLTggPDwgMTUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtOCA8PCAxNSkpOyAKfSAKCgppZiAoLTE2IDw8IDE1ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQ4NTogLTE2IDw8IDE1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE1KSk7IAp9IAoKCmlmICgtMzIgPDwgMTUgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzQ4NjogLTMyIDw8IDE1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMiA8PCAxNSkpOyAKfSAKCgppZiAoLTY0IDw8IDE1ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0ODc6IC02NCA8PCAxNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTUgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQ4ODogLTEyOCA8PCAxNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDE1KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE1ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM0ODk6IC0yNTYgPDwgMTUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxNSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ5MDogLTUxMiA8PCAxNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0OTE6IC0xMDI0IDw8IDE1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTUgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4IDw8IDE1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTUgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA8PCAxNSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE1KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0OTQ6IC04MTkyIDw8IDE1ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0OTU6IC0xNjM4NCA8PCAxNSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE1ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0OTY6IC0zMjc2OCA8PCAxNSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDk3OiAtNjU1MzYgPDwgMTUgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE1KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiAtMjYyMTQ0IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDA6IC01MjQyODggPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE1KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogLTIwOTcxNTIgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNjogLTMzNTU0NDMyIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiAtMTM0MjE3NzI4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IC0yNjg0MzU0NTYgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMDogLTUzNjg3MDkxMiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogLTEwNzM3NDE4MjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE1KSk7IAp9IAoK","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = -2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoLTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MTM6IC0xIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMSA8PCAxNikpOyAKfSAKCgppZiAoLTIgPDwgMTYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA8PCAxNiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yIDw8IDE2KSk7IAp9IAoKCmlmICgtNCA8PCAxNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTU6IC00IDw8IDE2ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTYpKTsgCn0gCgoKaWYgKC04IDw8IDE2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzUxNjogLTggPDwgMTYgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtOCA8PCAxNikpOyAKfSAKCgppZiAoLTE2IDw8IDE2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1MTc6IC0xNiA8PCAxNiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTYpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTE4OiAtMzIgPDwgMTYgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjQgPDwgMTYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzUxOTogLTY0IDw8IDE2ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNikpOyAKfSAKCgppZiAoLTEyOCA8PCAxNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTIwOiAtMTI4IDw8IDE2ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1MjE6IC0yNTYgPDwgMTYgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTYpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM1MjI6IC01MTIgPDwgMTYgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA8PCAxNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPDwgMTYgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNTI1OiAtNDA5NiA8PCAxNiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE2KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM1MjY6IC04MTkyIDw8IDE2ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTI3OiAtMTYzODQgPDwgMTYgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzUyODogLTMyNzY4IDw8IDE2ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE2KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogLTEzMTA3MiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAtMjYyMTQ0IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogLTIwOTcxNTIgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiAtNDE5NDMwNCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzY6IC04Mzg4NjA4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IC0xNjc3NzIxNiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogLTMzNTU0NDMyIDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM5OiAtNjcxMDg4NjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAtMTM0MjE3NzI4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogLTUzNjg3MDkxMiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogLTEwNzM3NDE4MjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE2KSk7IAp9IAoKCmlmICgtMSA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NDU6IC0xIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMTcpKTsgCn0gCgoKaWYgKC0yIDw8IDE3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU0NjogLTIgPDwgMTcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMiA8PCAxNykpOyAKfSAKCgppZiAoLTQgPDwgMTcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTQ3OiAtNCA8PCAxNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00IDw8IDE3KSk7IAp9IAoKCmlmICgtOCA8PCAxNyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTQ4OiAtOCA8PCAxNyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtOCA8PCAxNykpOyAKfSAKCgppZiAoLTE2IDw8IDE3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDk6IC0xNiA8PCAxNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTUwOiAtMzIgPDwgMTcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE3KSk7IAp9IAoKCmlmICgtNjQgPDwgMTcgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzU1MTogLTY0IDw8IDE3ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNykpOyAKfSAKCgppZiAoLTEyOCA8PCAxNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU1MjogLTEyOCA8PCAxNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNykpOyAKfSAKCgppZiAoLTI1NiA8PCAxNyAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzU1MzogLTI1NiA8PCAxNyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUxMiA8PCAxNyAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzU1NDogLTUxMiA8PCAxNyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA8PCAxNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM1NTY6IC0yMDQ4IDw8IDE3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDE3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzU1NzogLTQwOTYgPDwgMTcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzU1ODogLTgxOTIgPDwgMTcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTcpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNTU5OiAtMTYzODQgPDwgMTcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE3KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTcpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IC02NTUzNiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IC0xMzEwNzIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDE3KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTcpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAtNTI0Mjg4IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY1OiAtMTA0ODU3NiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IC0yMDk3MTUyIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogLTQxOTQzMDQgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDE3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAtMTY3NzcyMTYgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IC0zMzU1NDQzMiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogLTY3MTA4ODY0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDE3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMTcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAtMjY4NDM1NDU2IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IC01MzY4NzA5MTIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDE3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMTcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAxNykpOyAKfSAKCgppZiAoLTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xIDw8IDE4KSk7IAp9IAoKCmlmICgtMiA8PCAxOCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1Nzg6IC0yIDw8IDE4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTgpKTsgCn0gCgoKaWYgKC00IDw8IDE4ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1Nzk6IC00IDw8IDE4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00IDw8IDE4KSk7IAp9IAoKCmlmICgtOCA8PCAxOCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA8PCAxOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2IDw8IDE4ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA8PCAxOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYgPDwgMTgpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPDwgMTggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE4KSk7IAp9IAoKCmlmICgtNjQgPDwgMTggIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1ODM6IC02NCA8PCAxOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE4ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4IDw8IDE4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE4ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTg1OiAtMjU2IDw8IDE4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDE4KSk7IAp9IAoKCmlmICgtNTEyIDw8IDE4ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzU4NjogLTUxMiA8PCAxOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPDwgMTggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxOCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTggIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNTg4OiAtMjA0OCA8PCAxOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA8PCAxOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTggIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPDwgMTggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTE6IC0xNjM4NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkzOiAtNjU1MzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk0OiAtMTMxMDcyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDE4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NjogLTUyNDI4OCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogLTEwNDg1NzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDE4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMDogLTgzODg2MDggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogLTE2Nzc3MjE2IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDE4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAyOiAtMzM1NTQ0MzIgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDM6IC02NzEwODg2NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IC0xMzQyMTc3MjggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNTogLTI2ODQzNTQ1NiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA2OiAtNTM2ODcwOTEyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDE4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IC0yMTQ3NDgzNjQ4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTgpKTsgCn0gCgoKaWYgKC0xIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYwOTogLTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMSA8PCAxOSkpOyAKfSAKCgppZiAoLTIgPDwgMTkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzYxMDogLTIgPDwgMTkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTkpKTsgCn0gCgoKaWYgKC00IDw8IDE5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2MTE6IC00IDw8IDE5ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC00IDw8IDE5KSk7IAp9IAoKCmlmICgtOCA8PCAxOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNjEyOiAtOCA8PCAxOSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtOCA8PCAxOSkpOyAKfSAKCgppZiAoLTE2IDw8IDE5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM2MTM6IC0xNiA8PCAxOSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTYgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzYxNDogLTMyIDw8IDE5ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMzIgPDwgMTkpKTsgCn0gCgoKaWYgKC02NCA8PCAxOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzYxNTogLTY0IDw8IDE5ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPDwgMTkgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2IDw8IDE5ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxOSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MTg6IC01MTIgPDwgMTkgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTEyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTk6IC0xMDI0IDw8IDE5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MjA6IC0yMDQ4IDw8IDE5ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNjIxOiAtNDA5NiA8PCAxOSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIzOiAtMTYzODQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjQ6IC0zMjc2OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxOSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNjogLTEzMTA3MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI3OiAtMjYyMTQ0IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjk6IC0xMDQ4NTc2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMDogLTIwOTcxNTIgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzM6IC0xNjc3NzIxNiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNDogLTMzNTU0NDMyIDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAtNjcxMDg4NjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM2OiAtMTM0MjE3NzI4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxOSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mzc6IC0yNjg0MzU0NTYgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogLTUzNjg3MDkxMiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzOTogLTEwNzM3NDE4MjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjQxOiAtMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMSA8PCAyMCkpOyAKfSAKCgppZiAoLTIgPDwgMjAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY0MjogLTIgPDwgMjAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMjApKTsgCn0gCgoKaWYgKC00IDw8IDIwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NDM6IC00IDw8IDIwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00IDw8IDIwKSk7IAp9IAoKCmlmICgtOCA8PCAyMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjQ0OiAtOCA8PCAyMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtOCA8PCAyMCkpOyAKfSAKCgppZiAoLTE2IDw8IDIwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPDwgMjAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMCkpOyAKfSAKCgppZiAoLTMyIDw8IDIwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjQ2OiAtMzIgPDwgMjAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY0IDw8IDIwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjQ3OiAtNjQgPDwgMjAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NCA8PCAyMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAyMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM2NDg6IC0xMjggPDwgMjAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTI4IDw8IDIwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDIwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY0OTogLTI1NiA8PCAyMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjApKTsgCn0gCgoKaWYgKC01MTIgPDwgMjAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyIDw8IDIwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzY1MTogLTEwMjQgPDwgMjAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDIwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NTI6IC0yMDQ4IDw8IDIwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTM6IC00MDk2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjApKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NDogLTgxOTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIwKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU2OiAtMzI3NjggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjApKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTc6IC02NTUzNiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1OTogLTI2MjE0NCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYwOiAtNTI0Mjg4IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjI6IC0yMDk3MTUyIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MzogLTQxOTQzMDQgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjY6IC0zMzU1NDQzMiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NzogLTY3MTA4ODY0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2ODogLTEzNDIxNzcyOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjApKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY5OiAtMjY4NDM1NDU2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzA6IC01MzY4NzA5MTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzE6IC0xMDczNzQxODI0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MjogLTIxNDc0ODM2NDggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY3MzogLTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMjEpKTsgCn0gCgoKaWYgKC0yIDw8IDIxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NzQ6IC0yIDw8IDIxID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yIDw8IDIxKSk7IAp9IAoKCmlmICgtNCA8PCAyMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjc1OiAtNCA8PCAyMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNCA8PCAyMSkpOyAKfSAKCgppZiAoLTggPDwgMjEgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM2NzY6IC04IDw8IDIxID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtOCA8PCAyMSkpOyAKfSAKCgppZiAoLTE2IDw8IDIxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjc3OiAtMTYgPDwgMjEgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMyIDw8IDIxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPDwgMjEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMSkpOyAKfSAKCgppZiAoLTY0IDw8IDIxICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzY3OTogLTY0IDw8IDIxID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIxKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY4MDogLTEyOCA8PCAyMSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjgxOiAtMjU2IDw8IDIxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAyMSAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNjgyOiAtNTEyIDw8IDIxID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2ODM6IC0xMDI0IDw8IDIxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogLTQwOTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiAtODE5MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIxKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjEpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IC0zMjc2OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogLTY1NTM2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIxKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAtMjYyMTQ0IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IC01MjQyODggPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NDogLTIwOTcxNTIgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk1OiAtNDE5NDMwNCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IC0xNjc3NzIxNiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5ODogLTMzNTU0NDMyIDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiAtMTM0MjE3NzI4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA0OiAtMjE0NzQ4MzY0OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIxKSk7IAp9IAoKCmlmICgtMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzA1OiAtMSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMSA8PCAyMikpOyAKfSAKCgppZiAoLTIgPDwgMjIgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzcwNjogLTIgPDwgMjIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjIpKTsgCn0gCgoKaWYgKC00IDw8IDIyICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzA3OiAtNCA8PCAyMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjIpKTsgCn0gCgoKaWYgKC04IDw8IDIyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNzA4OiAtOCA8PCAyMiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyMiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzcwOTogLTE2IDw8IDIyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMiA8PCAyMiAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA8PCAyMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMikpOyAKfSAKCgppZiAoLTY0IDw8IDIyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzcxMTogLTY0IDw8IDIyID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIyICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzcxMjogLTEyOCA8PCAyMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjIgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzcxMzogLTI1NiA8PCAyMiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM3MTQ6IC01MTIgPDwgMjIgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIyKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTY6IC0yMDQ4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjIpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNzogLTQwOTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMikpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE5OiAtMTYzODQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjA6IC0zMjc2OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMjogLTEzMTA3MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIzOiAtMjYyMTQ0IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjU6IC0xMDQ4NTc2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNjogLTIwOTcxNTIgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjg6IC04Mzg4NjA4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjk6IC0xNjc3NzIxNiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMyOiAtMTM0MjE3NzI4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzM6IC0yNjg0MzU0NTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNDogLTUzNjg3MDkxMiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNTogLTEwNzM3NDE4MjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM2OiAtMjE0NzQ4MzY0OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIyKSk7IAp9IAoKCmlmICgtMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzM3OiAtMSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMSA8PCAyMykpOyAKfSAKCgppZiAoLTIgPDwgMjMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Mzg6IC0yIDw8IDIzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMiA8PCAyMykpOyAKfSAKCgppZiAoLTQgPDwgMjMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3Mzk6IC00IDw8IDIzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNCA8PCAyMykpOyAKfSAKCgppZiAoLTggPDwgMjMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NDA6IC04IDw8IDIzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtOCA8PCAyMykpOyAKfSAKCgppZiAoLTE2IDw8IDIzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzc0MTogLTE2IDw8IDIzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDIzKSk7IAp9IAoKCmlmICgtMzIgPDwgMjMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzQyOiAtMzIgPDwgMjMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzIgPDwgMjMpKTsgCn0gCgoKaWYgKC02NCA8PCAyMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NDM6IC02NCA8PCAyMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NCA8PCAyMykpOyAKfSAKCgppZiAoLTEyOCA8PCAyMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNzQ0OiAtMTI4IDw8IDIzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc0NTogLTI1NiA8PCAyMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjU2IDw8IDIzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NjogLTUxMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjMpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NzogLTEwMjQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIzKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDk6IC00MDk2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MDogLTgxOTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUyOiAtMzI3NjggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTM6IC02NTUzNiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NTogLTI2MjE0NCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU2OiAtNTI0Mjg4IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTg6IC0yMDk3MTUyIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1OTogLTQxOTQzMDQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYxOiAtMTY3NzcyMTYgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjI6IC0zMzU1NDQzMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY1OiAtMjY4NDM1NDU2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjY6IC01MzY4NzA5MTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njc6IC0xMDczNzQxODI0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2ODogLTIxNDc0ODM2NDggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMykpOyAKfSAKCgppZiAoLTEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Njk6IC0xIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMSA8PCAyNCkpOyAKfSAKCgppZiAoLTIgPDwgMjQgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3NzA6IC0yIDw8IDI0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMiA8PCAyNCkpOyAKfSAKCgppZiAoLTQgPDwgMjQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NzE6IC00IDw8IDI0ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtNCA8PCAyNCkpOyAKfSAKCgppZiAoLTggPDwgMjQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNzcyOiAtOCA8PCAyNCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC04IDw8IDI0KSk7IAp9IAoKCmlmICgtMTYgPDwgMjQgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzczOiAtMTYgPDwgMjQgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTYgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA8PCAyNCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNCkpOyAKfSAKCgppZiAoLTY0IDw8IDI0ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM3NzU6IC02NCA8PCAyNCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjQgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc3NjogLTEyOCA8PCAyNCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTI4IDw8IDI0KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogLTI1NiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiAtNTEyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IC0yMDQ4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjQpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogLTQwOTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI0KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAtMTYzODQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IC0zMjc2OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI0KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogLTEzMTA3MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAtMjYyMTQ0IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IC0xMDQ4NTc2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogLTIwOTcxNTIgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IC04Mzg4NjA4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IC0xNjc3NzIxNiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAtNjcxMDg4NjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk2OiAtMTM0MjE3NzI4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IC0yNjg0MzU0NTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogLTUzNjg3MDkxMiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAtMjE0NzQ4MzY0OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI0KSk7IAp9IAoKCmlmICgtMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwMTogLTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xIDw8IDI1KSk7IAp9IAoKCmlmICgtMiA8PCAyNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgwMjogLTIgPDwgMjUgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0yIDw8IDI1KSk7IAp9IAoKCmlmICgtNCA8PCAyNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4MDM6IC00IDw8IDI1ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjUpKTsgCn0gCgoKaWYgKC04IDw8IDI1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzgwNDogLTggPDwgMjUgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtOCA8PCAyNSkpOyAKfSAKCgppZiAoLTE2IDw8IDI1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgwNTogLTE2IDw8IDI1ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI1KSk7IAp9IAoKCmlmICgtMzIgPDwgMjUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzgwNjogLTMyIDw8IDI1ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY0IDw8IDI1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM4MDc6IC02NCA8PCAyNSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAtMTI4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IC0yNTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogLTEwMjQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAtMjA0OCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogLTgxOTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogLTE2Mzg0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IC02NTUzNiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IC0xMzEwNzIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjUpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiAtNTI0Mjg4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAtMTA0ODU3NiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI1KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyIDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjUpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogLTQxOTQzMDQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiAtODM4ODYwOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjY6IC0zMzU1NDQzMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNzogLTY3MTA4ODY0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI5OiAtMjY4NDM1NDU2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzA6IC01MzY4NzA5MTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMjogLTIxNDc0ODM2NDggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4MzM6IC0xIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMSA8PCAyNikpOyAKfSAKCgppZiAoLTIgPDwgMjYgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODM0OiAtMiA8PCAyNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yIDw8IDI2KSk7IAp9IAoKCmlmICgtNCA8PCAyNiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4MzU6IC00IDw8IDI2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjYpKTsgCn0gCgoKaWYgKC04IDw8IDI2ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgzNjogLTggPDwgMjYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtOCA8PCAyNikpOyAKfSAKCgppZiAoLTE2IDw8IDI2ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM4Mzc6IC0xNiA8PCAyNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODM4OiAtMzIgPDwgMjYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI2KSk7IAp9IAoKCmlmICgtNjQgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiAtNjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAtMTI4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNikpOyAKfSAKCgppZiAoLTI1NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI2KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogLTUxMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogLTEwMjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNikpOyAKfSAKCgppZiAoLTIwNDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI2KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IC00MDk2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjYpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NjogLTgxOTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNikpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiAtMzI3NjggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IC02NTUzNiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogLTI2MjE0NCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUyOiAtNTI0Mjg4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTQ6IC0yMDk3MTUyIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NTogLTQxOTQzMDQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU3OiAtMTY3NzcyMTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTg6IC0zMzU1NDQzMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogLTEzNDIxNzcyOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAtMjY4NDM1NDU2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogLTIxNDc0ODM2NDggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNikpOyAKfSAKCgppZiAoLTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODY1OiAtMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xIDw8IDI3KSk7IAp9IAoKCmlmICgtMiA8PCAyNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4NjY6IC0yIDw8IDI3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjcpKTsgCn0gCgoKaWYgKC00IDw8IDI3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg2NzogLTQgPDwgMjcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNCA8PCAyNykpOyAKfSAKCgppZiAoLTggPDwgMjcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg2ODogLTggPDwgMjcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNiA8PCAyNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPDwgMjcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI3KSk7IAp9IAoKCmlmICgtMzIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAtMzIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMjcpKTsgCn0gCgoKaWYgKC02NCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAyNykpOyAKfSAKCgppZiAoLTEyOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzI6IC0xMjggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDI3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogLTI1NiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjcpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc1OiAtMTAyNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IC0yMDQ4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiAtODE5MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAtMTYzODQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNykpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogLTY1NTM2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MjogLTEzMTA3MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IC01MjQyODggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODU6IC0xMDQ4NTc2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNykpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg3OiAtNDE5NDMwNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODg6IC04Mzg4NjA4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MDogLTMzNTU0NDMyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkxOiAtNjcxMDg4NjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTM6IC0yNjg0MzU0NTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NDogLTUzNjg3MDkxMiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI3KSk7IAp9IAoKCmlmICgtMSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4OTc6IC0xIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgMjgpKTsgCn0gCgoKaWYgKC0yIDw8IDI4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg5ODogLTIgPDwgMjggPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMiA8PCAyOCkpOyAKfSAKCgppZiAoLTQgPDwgMjggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg5OTogLTQgPDwgMjggPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjgpKTsgCn0gCgoKaWYgKC04IDw8IDI4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MDA6IC04IDw8IDI4ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC04IDw8IDI4KSk7IAp9IAoKCmlmICgtMTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAtMTYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTYgPDwgMjgpKTsgCn0gCgoKaWYgKC0zMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyOCkpOyAKfSAKCgppZiAoLTY0IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogLTY0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY0IDw8IDI4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogLTEyOCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjgpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyOCkpOyAKfSAKCgppZiAoLTUxMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IC01MTIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNTEyIDw8IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IC0xMDI0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAyOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiAtNDA5NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDI4KSk7IAp9IAoKCmlmICgtODE5MiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IC04MTkyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMjgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAyOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogLTMyNzY4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiAtNjU1MzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMjgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAyOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IC0yNjIxNDQgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogLTUyNDI4OCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMjgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAyOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAtMjA5NzE1MiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IC00MTk0MzA0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMjgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAyOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogLTE2Nzc3MjE2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAtMzM1NTQ0MzIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMjgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IC0xMzQyMTc3MjggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogLTI2ODQzNTQ1NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMjgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAyOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI3OiAtMTA3Mzc0MTgyNCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjg6IC0yMTQ3NDgzNjQ4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMjgpKTsgCn0gCgoKaWYgKC0xIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkyOTogLTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMSA8PCAyOSkpOyAKfSAKCgppZiAoLTIgPDwgMjkgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzkzMDogLTIgPDwgMjkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00IDw8IDI5ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MzE6IC00IDw8IDI5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00IDw8IDI5KSk7IAp9IAoKCmlmICgtOCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzI6IC04IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTggPDwgMjkpKTsgCn0gCgoKaWYgKC0xNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzM6IC0xNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNiA8PCAyOSkpOyAKfSAKCgppZiAoLTMyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNDogLTMyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI5KSk7IAp9IAoKCmlmICgtNjQgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM1OiAtNjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM2OiAtMTI4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyOSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI5KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzODogLTUxMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzOTogLTEwMjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyOSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDE6IC00MDk2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjkpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MjogLTgxOTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyOSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ0OiAtMzI3NjggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDU6IC02NTUzNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NzogLTI2MjE0NCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ4OiAtNTI0Mjg4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTA6IC0yMDk3MTUyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MTogLTQxOTQzMDQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI5KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUzOiAtMTY3NzcyMTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTQ6IC0zMzU1NDQzMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NjogLTEzNDIxNzcyOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU3OiAtMjY4NDM1NDU2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTk6IC0xMDczNzQxODI0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MDogLTIxNDc0ODM2NDggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2MTogLTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMzApKTsgCn0gCgoKaWYgKC0yIDw8IDMwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NjI6IC0yIDw8IDMwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yIDw8IDMwKSk7IAp9IAoKCmlmICgtNCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IC00IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzApKTsgCn0gCgoKaWYgKC04IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogLTggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMCkpOyAKfSAKCgppZiAoLTE2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogLTE2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMwKSk7IAp9IAoKCmlmICgtMzIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzApKTsgCn0gCgoKaWYgKC02NCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IC02NCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IC0xMjggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDMwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMzApKTsgCn0gCgoKaWYgKC01MTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiAtNTEyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAtMTAyNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMzApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogLTQwOTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiAtODE5MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMzApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IC0zMjc2OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogLTY1NTM2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMzApKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAtMjYyMTQ0IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IC01MjQyODggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMzApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogLTIwOTcxNTIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiAtNDE5NDMwNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDMwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMzApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IC0xNjc3NzIxNiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogLTMzNTU0NDMyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDMwKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMzApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAtMTM0MjE3NzI4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IC0yNjg0MzU0NTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMzApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MTogLTEwNzM3NDE4MjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkyOiAtMjE0NzQ4MzY0OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMwKSk7IAp9IAoKCmlmICgtMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTkzOiAtMSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMSA8PCAzMSkpOyAKfSAKCgppZiAoLTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yIDw8IDMxKSk7IAp9IAoKCmlmICgtNCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IC00IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzEpKTsgCn0gCgoKaWYgKC04IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogLTggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NzogLTE2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMxKSk7IAp9IAoKCmlmICgtMzIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAtMzIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzEpKTsgCn0gCgoKaWYgKC02NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IC02NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAtMjU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAtNTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNDogLTIwNDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogLTQwOTYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDc6IC0xNjM4NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAzMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IC0zMjc2OCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAzMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEwOiAtMTMxMDcyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAtMjYyMTQ0IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMzogLTEwNDg1NzYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNDogLTIwOTcxNTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzMSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogLTgzODg2MDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTc6IC0xNjc3NzIxNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAzMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IC02NzEwODg2NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIwOiAtMTM0MjE3NzI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIyOiAtNTM2ODcwOTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMzogLTEwNzM3NDE4MjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAzMSkpOyAKfSAKCgo=","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgwIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA8PCAwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAwKSk7IAp9IAoKCmlmICgxIDw8IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA8PCAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAwKSk7IAp9IAoKCmlmICgzIDw8IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA8PCAwID09PSAzLiBBY3R1YWw6ICcgKyAoMyA8PCAwKSk7IAp9IAoKCmlmICg3IDw8IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA8PCAwID09PSA3LiBBY3R1YWw6ICcgKyAoNyA8PCAwKSk7IAp9IAoKCmlmICgxNSA8PCAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA8PCAwID09PSAxNS4gQWN0dWFsOiAnICsgKDE1IDw8IDApKTsgCn0gCgoKaWYgKDMxIDw8IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxIDw8IDAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzEgPDwgMCkpOyAKfSAKCgppZiAoNjMgPDwgMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPDwgMCA9PT0gNjMuIEFjdHVhbDogJyArICg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMjcgPDwgMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA8PCAwID09PSAxMjcuIEFjdHVhbDogJyArICgxMjcgPDwgMCkpOyAKfSAKCgppZiAoMjU1IDw8IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPDwgMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDApKTsgCn0gCgoKaWYgKDUxMSA8PCAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA8PCAwID09PSA1MTEuIEFjdHVhbDogJyArICg1MTEgPDwgMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzIDw8IDAgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMDIzIDw8IDApKTsgCn0gCgoKaWYgKDIwNDcgPDwgMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA8PCAwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPDwgMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMCkpOyAKfSAKCgppZiAoODE5MSA8PCAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxIDw8IDAgPT09IDgxOTEuIEFjdHVhbDogJyArICg4MTkxIDw8IDApKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA8PCAwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA8PCAwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDApKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA8PCAwID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDApKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA8PCAwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzIDw8IDAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPDwgMCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA8PCAwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPDwgMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzIDw8IDAgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDApKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA8PCAwID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPDwgMCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPDwgMCA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPDwgMCA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPDwgMCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA8PCAwID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExIDw8IDAgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPDwgMCA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3IDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDApKTsgCn0gCgoKaWYgKDAgPDwgMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzogMCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxKSk7IAp9IAoKCmlmICgxIDw8IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzQ6IDEgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgMSkpOyAKfSAKCgppZiAoMyA8PCAxICE9PSA2KSB7IAogICRFUlJPUignIzM1OiAzIDw8IDEgPT09IDYuIEFjdHVhbDogJyArICgzIDw8IDEpKTsgCn0gCgoKaWYgKDcgPDwgMSAhPT0gMTQpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPDwgMSA9PT0gMTQuIEFjdHVhbDogJyArICg3IDw8IDEpKTsgCn0gCgoKaWYgKDE1IDw8IDEgIT09IDMwKSB7IAogICRFUlJPUignIzM3OiAxNSA8PCAxID09PSAzMC4gQWN0dWFsOiAnICsgKDE1IDw8IDEpKTsgCn0gCgoKaWYgKDMxIDw8IDEgIT09IDYyKSB7IAogICRFUlJPUignIzM4OiAzMSA8PCAxID09PSA2Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEpKTsgCn0gCgoKaWYgKDYzIDw8IDEgIT09IDEyNikgeyAKICAkRVJST1IoJyMzOTogNjMgPDwgMSA9PT0gMTI2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMSkpOyAKfSAKCgppZiAoMTI3IDw8IDEgIT09IDI1NCkgeyAKICAkRVJST1IoJyM0MDogMTI3IDw8IDEgPT09IDI1NC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxKSk7IAp9IAoKCmlmICgyNTUgPDwgMSAhPT0gNTEwKSB7IAogICRFUlJPUignIzQxOiAyNTUgPDwgMSA9PT0gNTEwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDEpKTsgCn0gCgoKaWYgKDUxMSA8PCAxICE9PSAxMDIyKSB7IAogICRFUlJPUignIzQyOiA1MTEgPDwgMSA9PT0gMTAyMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEgIT09IDIwNDYpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjMgPDwgMSA9PT0gMjA0Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxICE9PSA0MDk0KSB7IAogICRFUlJPUignIzQ0OiAyMDQ3IDw8IDEgPT09IDQwOTQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMSAhPT0gODE5MCkgeyAKICAkRVJST1IoJyM0NTogNDA5NSA8PCAxID09PSA4MTkwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEgIT09IDE2MzgyKSB7IAogICRFUlJPUignIzQ2OiA4MTkxIDw8IDEgPT09IDE2MzgyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxICE9PSAzMjc2NikgeyAKICAkRVJST1IoJyM0NzogMTYzODMgPDwgMSA9PT0gMzI3NjYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxICE9PSA2NTUzNCkgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPDwgMSA9PT0gNjU1MzQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxICE9PSAxMzEwNzApIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM1IDw8IDEgPT09IDEzMTA3MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxICE9PSAyNjIxNDIpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA8PCAxID09PSAyNjIxNDIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEgIT09IDUyNDI4NikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQzIDw8IDEgPT09IDUyNDI4Ni4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMSAhPT0gMTA0ODU3NCkgeyAKICAkRVJST1IoJyM1MjogNTI0Mjg3IDw8IDEgPT09IDEwNDg1NzQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxICE9PSAyMDk3MTUwKSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc1IDw8IDEgPT09IDIwOTcxNTAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMSAhPT0gNDE5NDMwMikgeyAKICAkRVJST1IoJyM1NDogMjA5NzE1MSA8PCAxID09PSA0MTk0MzAyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEgIT09IDgzODg2MDYpIHsgCiAgJEVSUk9SKCcjNTU6IDQxOTQzMDMgPDwgMSA9PT0gODM4ODYwNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMSkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxICE9PSAxNjc3NzIxNCkgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA8PCAxID09PSAxNjc3NzIxNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMSAhPT0gMzM1NTQ0MzApIHsgCiAgJEVSUk9SKCcjNTc6IDE2Nzc3MjE1IDw8IDEgPT09IDMzNTU0NDMwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMSAhPT0gNjcxMDg4NjIpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxIDw8IDEgPT09IDY3MTA4ODYyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMSAhPT0gMTM0MjE3NzI2KSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2MyA8PCAxID09PSAxMzQyMTc3MjYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMSAhPT0gMjY4NDM1NDU0KSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPDwgMSA9PT0gMjY4NDM1NDU0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxICE9PSA1MzY4NzA5MTApIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NSA8PCAxID09PSA1MzY4NzA5MTAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEgIT09IDEwNzM3NDE4MjIpIHsgCiAgJEVSUk9SKCcjNjI6IDUzNjg3MDkxMSA8PCAxID09PSAxMDczNzQxODIyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMSAhPT0gMjE0NzQ4MzY0NikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyMyA8PCAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEgIT09IC0yKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3IDw8IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxKSk7IAp9IAoKCmlmICgwIDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDAgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMikpOyAKfSAKCgppZiAoMSA8PCAyICE9PSA0KSB7IAogICRFUlJPUignIzY2OiAxIDw8IDIgPT09IDQuIEFjdHVhbDogJyArICgxIDw8IDIpKTsgCn0gCgoKaWYgKDMgPDwgMiAhPT0gMTIpIHsgCiAgJEVSUk9SKCcjNjc6IDMgPDwgMiA9PT0gMTIuIEFjdHVhbDogJyArICgzIDw8IDIpKTsgCn0gCgoKaWYgKDcgPDwgMiAhPT0gMjgpIHsgCiAgJEVSUk9SKCcjNjg6IDcgPDwgMiA9PT0gMjguIEFjdHVhbDogJyArICg3IDw8IDIpKTsgCn0gCgoKaWYgKDE1IDw8IDIgIT09IDYwKSB7IAogICRFUlJPUignIzY5OiAxNSA8PCAyID09PSA2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIpKTsgCn0gCgoKaWYgKDMxIDw8IDIgIT09IDEyNCkgeyAKICAkRVJST1IoJyM3MDogMzEgPDwgMiA9PT0gMTI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMikpOyAKfSAKCgppZiAoNjMgPDwgMiAhPT0gMjUyKSB7IAogICRFUlJPUignIzcxOiA2MyA8PCAyID09PSAyNTIuIEFjdHVhbDogJyArICg2MyA8PCAyKSk7IAp9IAoKCmlmICgxMjcgPDwgMiAhPT0gNTA4KSB7IAogICRFUlJPUignIzcyOiAxMjcgPDwgMiA9PT0gNTA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIpKTsgCn0gCgoKaWYgKDI1NSA8PCAyICE9PSAxMDIwKSB7IAogICRFUlJPUignIzczOiAyNTUgPDwgMiA9PT0gMTAyMC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyKSk7IAp9IAoKCmlmICg1MTEgPDwgMiAhPT0gMjA0NCkgeyAKICAkRVJST1IoJyM3NDogNTExIDw8IDIgPT09IDIwNDQuIEFjdHVhbDogJyArICg1MTEgPDwgMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyICE9PSA0MDkyKSB7IAogICRFUlJPUignIzc1OiAxMDIzIDw8IDIgPT09IDQwOTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMiAhPT0gODE4OCkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA8PCAyID09PSA4MTg4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIgIT09IDE2MzgwKSB7IAogICRFUlJPUignIzc3OiA0MDk1IDw8IDIgPT09IDE2MzgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIgIT09IDMyNzY0KSB7IAogICRFUlJPUignIzc4OiA4MTkxIDw8IDIgPT09IDMyNzY0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyICE9PSA2NTUzMikgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPDwgMiA9PT0gNjU1MzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyICE9PSAxMzEwNjgpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3IDw8IDIgPT09IDEzMTA2OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDIgIT09IDI2MjE0MCkgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPDwgMiA9PT0gMjYyMTQwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMikpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIgIT09IDUyNDI4NCkgeyAKICAkRVJST1IoJyM4MjogMTMxMDcxIDw8IDIgPT09IDUyNDI4NC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMiAhPT0gMTA0ODU3MikgeyAKICAkRVJST1IoJyM4MzogMjYyMTQzIDw8IDIgPT09IDEwNDg1NzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIgIT09IDIwOTcxNDgpIHsgCiAgJEVSUk9SKCcjODQ6IDUyNDI4NyA8PCAyID09PSAyMDk3MTQ4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMiAhPT0gNDE5NDMwMCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NSA8PCAyID09PSA0MTk0MzAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIgIT09IDgzODg2MDQpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPDwgMiA9PT0gODM4ODYwNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyICE9PSAxNjc3NzIxMikgeyAKICAkRVJST1IoJyM4NzogNDE5NDMwMyA8PCAyID09PSAxNjc3NzIxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMikpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyICE9PSAzMzU1NDQyOCkgeyAKICAkRVJST1IoJyM4ODogODM4ODYwNyA8PCAyID09PSAzMzU1NDQyOC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMiAhPT0gNjcxMDg4NjApIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1IDw8IDIgPT09IDY3MTA4ODYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMiAhPT0gMTM0MjE3NzI0KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA8PCAyID09PSAxMzQyMTc3MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyICE9PSAyNjg0MzU0NTIpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzIDw8IDIgPT09IDI2ODQzNTQ1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyICE9PSA1MzY4NzA5MDgpIHsgCiAgJEVSUk9SKCcjOTI6IDEzNDIxNzcyNyA8PCAyID09PSA1MzY4NzA5MDguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIgIT09IDEwNzM3NDE4MjApIHsgCiAgJEVSUk9SKCcjOTM6IDI2ODQzNTQ1NSA8PCAyID09PSAxMDczNzQxODIwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyICE9PSAyMTQ3NDgzNjQ0KSB7IAogICRFUlJPUignIzk0OiA1MzY4NzA5MTEgPDwgMiA9PT0gMjE0NzQ4MzY0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk1OiAxMDczNzQxODIzIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3IDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyKSk7IAp9IAoKCmlmICgwIDw8IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc6IDAgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMykpOyAKfSAKCgppZiAoMSA8PCAzICE9PSA4KSB7IAogICRFUlJPUignIzk4OiAxIDw8IDMgPT09IDguIEFjdHVhbDogJyArICgxIDw8IDMpKTsgCn0gCgoKaWYgKDMgPDwgMyAhPT0gMjQpIHsgCiAgJEVSUk9SKCcjOTk6IDMgPDwgMyA9PT0gMjQuIEFjdHVhbDogJyArICgzIDw8IDMpKTsgCn0gCgoKaWYgKDcgPDwgMyAhPT0gNTYpIHsgCiAgJEVSUk9SKCcjMTAwOiA3IDw8IDMgPT09IDU2LiBBY3R1YWw6ICcgKyAoNyA8PCAzKSk7IAp9IAoKCmlmICgxNSA8PCAzICE9PSAxMjApIHsgCiAgJEVSUk9SKCcjMTAxOiAxNSA8PCAzID09PSAxMjAuIEFjdHVhbDogJyArICgxNSA8PCAzKSk7IAp9IAoKCmlmICgzMSA8PCAzICE9PSAyNDgpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA8PCAzID09PSAyNDguIEFjdHVhbDogJyArICgzMSA8PCAzKSk7IAp9IAoKCmlmICg2MyA8PCAzICE9PSA1MDQpIHsgCiAgJEVSUk9SKCcjMTAzOiA2MyA8PCAzID09PSA1MDQuIEFjdHVhbDogJyArICg2MyA8PCAzKSk7IAp9IAoKCmlmICgxMjcgPDwgMyAhPT0gMTAxNikgeyAKICAkRVJST1IoJyMxMDQ6IDEyNyA8PCAzID09PSAxMDE2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDMpKTsgCn0gCgoKaWYgKDI1NSA8PCAzICE9PSAyMDQwKSB7IAogICRFUlJPUignIzEwNTogMjU1IDw8IDMgPT09IDIwNDAuIEFjdHVhbDogJyArICgyNTUgPDwgMykpOyAKfSAKCgppZiAoNTExIDw8IDMgIT09IDQwODgpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTEgPDwgMyA9PT0gNDA4OC4gQWN0dWFsOiAnICsgKDUxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMgIT09IDgxODQpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDIzIDw8IDMgPT09IDgxODQuIEFjdHVhbDogJyArICgxMDIzIDw8IDMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMyAhPT0gMTYzNzYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ3IDw8IDMgPT09IDE2Mzc2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDMgIT09IDMyNzYwKSB7IAogICRFUlJPUignIzEwOTogNDA5NSA8PCAzID09PSAzMjc2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMykpOyAKfSAKCgppZiAoODE5MSA8PCAzICE9PSA2NTUyOCkgeyAKICAkRVJST1IoJyMxMTA6IDgxOTEgPDwgMyA9PT0gNjU1MjguIEFjdHVhbDogJyArICg4MTkxIDw8IDMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMgIT09IDEzMTA2NCkgeyAKICAkRVJST1IoJyMxMTE6IDE2MzgzIDw8IDMgPT09IDEzMTA2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMgIT09IDI2MjEzNikgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3IDw8IDMgPT09IDI2MjEzNi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDMgIT09IDUyNDI4MCkgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM1IDw8IDMgPT09IDUyNDI4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzICE9PSAxMDQ4NTY4KSB7IAogICRFUlJPUignIzExNDogMTMxMDcxIDw8IDMgPT09IDEwNDg1NjguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMgIT09IDIwOTcxNDQpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPDwgMyA9PT0gMjA5NzE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMyAhPT0gNDE5NDI5NikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4NyA8PCAzID09PSA0MTk0Mjk2LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMyAhPT0gODM4ODYwMCkgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzUgPDwgMyA9PT0gODM4ODYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzICE9PSAxNjc3NzIwOCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTEgPDwgMyA9PT0gMTY3NzcyMDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMyAhPT0gMzM1NTQ0MjQpIHsgCiAgJEVSUk9SKCcjMTE5OiA0MTk0MzAzIDw8IDMgPT09IDMzNTU0NDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDMgIT09IDY3MTA4ODU2KSB7IAogICRFUlJPUignIzEyMDogODM4ODYwNyA8PCAzID09PSA2NzEwODg1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMyAhPT0gMTM0MjE3NzIwKSB7IAogICRFUlJPUignIzEyMTogMTY3NzcyMTUgPDwgMyA9PT0gMTM0MjE3NzIwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMyAhPT0gMjY4NDM1NDQ4KSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPDwgMyA9PT0gMjY4NDM1NDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMyAhPT0gNTM2ODcwOTA0KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjMgPDwgMyA9PT0gNTM2ODcwOTA0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMgIT09IDEwNzM3NDE4MTYpIHsgCiAgJEVSUk9SKCcjMTI0OiAxMzQyMTc3MjcgPDwgMyA9PT0gMTA3Mzc0MTgxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMyAhPT0gMjE0NzQ4MzY0MCkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA8PCAzID09PSAyMTQ3NDgzNjQwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjY6IDUzNjg3MDkxMSA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDMgIT09IC04KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyMyA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjg6IDIxNDc0ODM2NDcgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDMpKTsgCn0gCgoKaWYgKDAgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDAgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNCkpOyAKfSAKCgppZiAoMSA8PCA0ICE9PSAxNikgeyAKICAkRVJST1IoJyMxMzA6IDEgPDwgNCA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IDQpKTsgCn0gCgoKaWYgKDMgPDwgNCAhPT0gNDgpIHsgCiAgJEVSUk9SKCcjMTMxOiAzIDw8IDQgPT09IDQ4LiBBY3R1YWw6ICcgKyAoMyA8PCA0KSk7IAp9IAoKCmlmICg3IDw8IDQgIT09IDExMikgeyAKICAkRVJST1IoJyMxMzI6IDcgPDwgNCA9PT0gMTEyLiBBY3R1YWw6ICcgKyAoNyA8PCA0KSk7IAp9IAoKCmlmICgxNSA8PCA0ICE9PSAyNDApIHsgCiAgJEVSUk9SKCcjMTMzOiAxNSA8PCA0ID09PSAyNDAuIEFjdHVhbDogJyArICgxNSA8PCA0KSk7IAp9IAoKCmlmICgzMSA8PCA0ICE9PSA0OTYpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA8PCA0ID09PSA0OTYuIEFjdHVhbDogJyArICgzMSA8PCA0KSk7IAp9IAoKCmlmICg2MyA8PCA0ICE9PSAxMDA4KSB7IAogICRFUlJPUignIzEzNTogNjMgPDwgNCA9PT0gMTAwOC4gQWN0dWFsOiAnICsgKDYzIDw8IDQpKTsgCn0gCgoKaWYgKDEyNyA8PCA0ICE9PSAyMDMyKSB7IAogICRFUlJPUignIzEzNjogMTI3IDw8IDQgPT09IDIwMzIuIEFjdHVhbDogJyArICgxMjcgPDwgNCkpOyAKfSAKCgppZiAoMjU1IDw8IDQgIT09IDQwODApIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTUgPDwgNCA9PT0gNDA4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA0KSk7IAp9IAoKCmlmICg1MTEgPDwgNCAhPT0gODE3NikgeyAKICAkRVJST1IoJyMxMzg6IDUxMSA8PCA0ID09PSA4MTc2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNCAhPT0gMTYzNjgpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDIzIDw8IDQgPT09IDE2MzY4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA0KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDQgIT09IDMyNzUyKSB7IAogICRFUlJPUignIzE0MDogMjA0NyA8PCA0ID09PSAzMjc1Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgNCkpOyAKfSAKCgppZiAoNDA5NSA8PCA0ICE9PSA2NTUyMCkgeyAKICAkRVJST1IoJyMxNDE6IDQwOTUgPDwgNCA9PT0gNjU1MjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDQpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNCAhPT0gMTMxMDU2KSB7IAogICRFUlJPUignIzE0MjogODE5MSA8PCA0ID09PSAxMzEwNTYuIEFjdHVhbDogJyArICg4MTkxIDw8IDQpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDQgIT09IDI2MjEyOCkgeyAKICAkRVJST1IoJyMxNDM6IDE2MzgzIDw8IDQgPT09IDI2MjEyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDQpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDQgIT09IDUyNDI3MikgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3IDw8IDQgPT09IDUyNDI3Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDQpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDQgIT09IDEwNDg1NjApIHsgCiAgJEVSUk9SKCcjMTQ1OiA2NTUzNSA8PCA0ID09PSAxMDQ4NTYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDQgIT09IDIwOTcxMzYpIHsgCiAgJEVSUk9SKCcjMTQ2OiAxMzEwNzEgPDwgNCA9PT0gMjA5NzEzNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA0KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNCAhPT0gNDE5NDI4OCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0MyA8PCA0ID09PSA0MTk0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA0ICE9PSA4Mzg4NTkyKSB7IAogICRFUlJPUignIzE0ODogNTI0Mjg3IDw8IDQgPT09IDgzODg1OTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA0ICE9PSAxNjc3NzIwMCkgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzUgPDwgNCA9PT0gMTY3NzcyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNCAhPT0gMzM1NTQ0MTYpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxIDw8IDQgPT09IDMzNTU0NDE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCA0KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDQgIT09IDY3MTA4ODQ4KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwMyA8PCA0ID09PSA2NzEwODg0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA0ICE9PSAxMzQyMTc3MTIpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3IDw8IDQgPT09IDEzNDIxNzcxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgNCAhPT0gMjY4NDM1NDQwKSB7IAogICRFUlJPUignIzE1MzogMTY3NzcyMTUgPDwgNCA9PT0gMjY4NDM1NDQwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNCAhPT0gNTM2ODcwODk2KSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPDwgNCA9PT0gNTM2ODcwODk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNCAhPT0gMTA3Mzc0MTgwOCkgeyAKICAkRVJST1IoJyMxNTU6IDY3MTA4ODYzIDw8IDQgPT09IDEwNzM3NDE4MDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNCAhPT0gMjE0NzQ4MzYzMikgeyAKICAkRVJST1IoJyMxNTY6IDEzNDIxNzcyNyA8PCA0ID09PSAyMTQ3NDgzNjMyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU4OiA1MzY4NzA5MTEgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyMyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE2MDogMjE0NzQ4MzY0NyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDQpKTsgCn0gCgoKaWYgKDAgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjE6IDAgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNSkpOyAKfSAKCgppZiAoMSA8PCA1ICE9PSAzMikgeyAKICAkRVJST1IoJyMxNjI6IDEgPDwgNSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDUpKTsgCn0gCgoKaWYgKDMgPDwgNSAhPT0gOTYpIHsgCiAgJEVSUk9SKCcjMTYzOiAzIDw8IDUgPT09IDk2LiBBY3R1YWw6ICcgKyAoMyA8PCA1KSk7IAp9IAoKCmlmICg3IDw8IDUgIT09IDIyNCkgeyAKICAkRVJST1IoJyMxNjQ6IDcgPDwgNSA9PT0gMjI0LiBBY3R1YWw6ICcgKyAoNyA8PCA1KSk7IAp9IAoKCmlmICgxNSA8PCA1ICE9PSA0ODApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA8PCA1ID09PSA0ODAuIEFjdHVhbDogJyArICgxNSA8PCA1KSk7IAp9IAoKCmlmICgzMSA8PCA1ICE9PSA5OTIpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMSA8PCA1ID09PSA5OTIuIEFjdHVhbDogJyArICgzMSA8PCA1KSk7IAp9IAoKCmlmICg2MyA8PCA1ICE9PSAyMDE2KSB7IAogICRFUlJPUignIzE2NzogNjMgPDwgNSA9PT0gMjAxNi4gQWN0dWFsOiAnICsgKDYzIDw8IDUpKTsgCn0gCgoKaWYgKDEyNyA8PCA1ICE9PSA0MDY0KSB7IAogICRFUlJPUignIzE2ODogMTI3IDw8IDUgPT09IDQwNjQuIEFjdHVhbDogJyArICgxMjcgPDwgNSkpOyAKfSAKCgppZiAoMjU1IDw8IDUgIT09IDgxNjApIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPDwgNSA9PT0gODE2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA1KSk7IAp9IAoKCmlmICg1MTEgPDwgNSAhPT0gMTYzNTIpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPDwgNSA9PT0gMTYzNTIuIEFjdHVhbDogJyArICg1MTEgPDwgNSkpOyAKfSAKCgppZiAoMTAyMyA8PCA1ICE9PSAzMjczNikgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPDwgNSA9PT0gMzI3MzYuIEFjdHVhbDogJyArICgxMDIzIDw8IDUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNSAhPT0gNjU1MDQpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3IDw8IDUgPT09IDY1NTA0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA1KSk7IAp9IAoKCmlmICg0MDk1IDw8IDUgIT09IDEzMTA0MCkgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPDwgNSA9PT0gMTMxMDQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA1KSk7IAp9IAoKCmlmICg4MTkxIDw8IDUgIT09IDI2MjExMikgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPDwgNSA9PT0gMjYyMTEyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA1KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA1ICE9PSA1MjQyNTYpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA8PCA1ID09PSA1MjQyNTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCA1KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA1ICE9PSAxMDQ4NTQ0KSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPDwgNSA9PT0gMTA0ODU0NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDUgIT09IDIwOTcxMjApIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA8PCA1ID09PSAyMDk3MTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDUgIT09IDQxOTQyNzIpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPDwgNSA9PT0gNDE5NDI3Mi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNSAhPT0gODM4ODU3NikgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA8PCA1ID09PSA4Mzg4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA1ICE9PSAxNjc3NzE4NCkgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA8PCA1ID09PSAxNjc3NzE4NC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDUgIT09IDMzNTU0NDAwKSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA8PCA1ID09PSAzMzU1NDQwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA1ICE9PSA2NzEwODgzMikgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPDwgNSA9PT0gNjcxMDg4MzIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNSAhPT0gMTM0MjE3Njk2KSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA8PCA1ID09PSAxMzQyMTc2OTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNSAhPT0gMjY4NDM1NDI0KSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA8PCA1ID09PSAyNjg0MzU0MjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDUgIT09IDUzNjg3MDg4MCkgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1IDw8IDUgPT09IDUzNjg3MDg4MC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDUgIT09IDEwNzM3NDE3OTIpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA8PCA1ID09PSAxMDczNzQxNzkyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNSAhPT0gMjE0NzQ4MzYxNikgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzIDw8IDUgPT09IDIxNDc0ODM2MTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4ODogMTM0MjE3NzI3IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTE6IDEwNzM3NDE4MjMgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDcgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA1KSk7IAp9IAoKCmlmICgwIDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkzOiAwIDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDYpKTsgCn0gCgoKaWYgKDEgPDwgNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTk0OiAxIDw8IDYgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCA2KSk7IAp9IAoKCmlmICgzIDw8IDYgIT09IDE5MikgeyAKICAkRVJST1IoJyMxOTU6IDMgPDwgNiA9PT0gMTkyLiBBY3R1YWw6ICcgKyAoMyA8PCA2KSk7IAp9IAoKCmlmICg3IDw8IDYgIT09IDQ0OCkgeyAKICAkRVJST1IoJyMxOTY6IDcgPDwgNiA9PT0gNDQ4LiBBY3R1YWw6ICcgKyAoNyA8PCA2KSk7IAp9IAoKCmlmICgxNSA8PCA2ICE9PSA5NjApIHsgCiAgJEVSUk9SKCcjMTk3OiAxNSA8PCA2ID09PSA5NjAuIEFjdHVhbDogJyArICgxNSA8PCA2KSk7IAp9IAoKCmlmICgzMSA8PCA2ICE9PSAxOTg0KSB7IAogICRFUlJPUignIzE5ODogMzEgPDwgNiA9PT0gMTk4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDYpKTsgCn0gCgoKaWYgKDYzIDw8IDYgIT09IDQwMzIpIHsgCiAgJEVSUk9SKCcjMTk5OiA2MyA8PCA2ID09PSA0MDMyLiBBY3R1YWw6ICcgKyAoNjMgPDwgNikpOyAKfSAKCgppZiAoMTI3IDw8IDYgIT09IDgxMjgpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjcgPDwgNiA9PT0gODEyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCA2KSk7IAp9IAoKCmlmICgyNTUgPDwgNiAhPT0gMTYzMjApIHsgCiAgJEVSUk9SKCcjMjAxOiAyNTUgPDwgNiA9PT0gMTYzMjAuIEFjdHVhbDogJyArICgyNTUgPDwgNikpOyAKfSAKCgppZiAoNTExIDw8IDYgIT09IDMyNzA0KSB7IAogICRFUlJPUignIzIwMjogNTExIDw8IDYgPT09IDMyNzA0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDYpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNiAhPT0gNjU0NzIpIHsgCiAgJEVSUk9SKCcjMjAzOiAxMDIzIDw8IDYgPT09IDY1NDcyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDYgIT09IDEzMTAwOCkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPDwgNiA9PT0gMTMxMDA4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDYgIT09IDI2MjA4MCkgeyAKICAkRVJST1IoJyMyMDU6IDQwOTUgPDwgNiA9PT0gMjYyMDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDYgIT09IDUyNDIyNCkgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPDwgNiA9PT0gNTI0MjI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCA2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA2ICE9PSAxMDQ4NTEyKSB7IAogICRFUlJPUignIzIwNzogMTYzODMgPDwgNiA9PT0gMTA0ODUxMi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDYpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDYgIT09IDIwOTcwODgpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA8PCA2ID09PSAyMDk3MDg4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgNikpOyAKfSAKCgppZiAoNjU1MzUgPDwgNiAhPT0gNDE5NDI0MCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM1IDw8IDYgPT09IDQxOTQyNDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgNiAhPT0gODM4ODU0NCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MSA8PCA2ID09PSA4Mzg4NTQ0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA2ICE9PSAxNjc3NzE1MikgeyAKICAkRVJST1IoJyMyMTE6IDI2MjE0MyA8PCA2ID09PSAxNjc3NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNiAhPT0gMzM1NTQzNjgpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODcgPDwgNiA9PT0gMzM1NTQzNjguIEFjdHVhbDogJyArICg1MjQyODcgPDwgNikpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA2ICE9PSA2NzEwODgwMCkgeyAKICAkRVJST1IoJyMyMTM6IDEwNDg1NzUgPDwgNiA9PT0gNjcxMDg4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNiAhPT0gMTM0MjE3NjY0KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA8PCA2ID09PSAxMzQyMTc2NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNiAhPT0gMjY4NDM1MzkyKSB7IAogICRFUlJPUignIzIxNTogNDE5NDMwMyA8PCA2ID09PSAyNjg0MzUzOTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNiAhPT0gNTM2ODcwODQ4KSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA8PCA2ID09PSA1MzY4NzA4NDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDYgIT09IDEwNzM3NDE3NjApIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNSA8PCA2ID09PSAxMDczNzQxNzYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNiAhPT0gMjE0NzQ4MzU4NCkgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxIDw8IDYgPT09IDIxNDc0ODM1ODQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA2ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA8PCA2ID09PSAtNjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI3IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMTogMjY4NDM1NDU1IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExIDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjQ6IDIxNDc0ODM2NDcgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA2KSk7IAp9IAoKCmlmICgwIDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwIDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDcpKTsgCn0gCgoKaWYgKDEgPDwgNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzIyNjogMSA8PCA3ID09PSAxMjguIEFjdHVhbDogJyArICgxIDw8IDcpKTsgCn0gCgoKaWYgKDMgPDwgNyAhPT0gMzg0KSB7IAogICRFUlJPUignIzIyNzogMyA8PCA3ID09PSAzODQuIEFjdHVhbDogJyArICgzIDw8IDcpKTsgCn0gCgoKaWYgKDcgPDwgNyAhPT0gODk2KSB7IAogICRFUlJPUignIzIyODogNyA8PCA3ID09PSA4OTYuIEFjdHVhbDogJyArICg3IDw8IDcpKTsgCn0gCgoKaWYgKDE1IDw8IDcgIT09IDE5MjApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA8PCA3ID09PSAxOTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgNykpOyAKfSAKCgppZiAoMzEgPDwgNyAhPT0gMzk2OCkgeyAKICAkRVJST1IoJyMyMzA6IDMxIDw8IDcgPT09IDM5NjguIEFjdHVhbDogJyArICgzMSA8PCA3KSk7IAp9IAoKCmlmICg2MyA8PCA3ICE9PSA4MDY0KSB7IAogICRFUlJPUignIzIzMTogNjMgPDwgNyA9PT0gODA2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDcpKTsgCn0gCgoKaWYgKDEyNyA8PCA3ICE9PSAxNjI1NikgeyAKICAkRVJST1IoJyMyMzI6IDEyNyA8PCA3ID09PSAxNjI1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCA3KSk7IAp9IAoKCmlmICgyNTUgPDwgNyAhPT0gMzI2NDApIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPDwgNyA9PT0gMzI2NDAuIEFjdHVhbDogJyArICgyNTUgPDwgNykpOyAKfSAKCgppZiAoNTExIDw8IDcgIT09IDY1NDA4KSB7IAogICRFUlJPUignIzIzNDogNTExIDw8IDcgPT09IDY1NDA4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNyAhPT0gMTMwOTQ0KSB7IAogICRFUlJPUignIzIzNTogMTAyMyA8PCA3ID09PSAxMzA5NDQuIEFjdHVhbDogJyArICgxMDIzIDw8IDcpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNyAhPT0gMjYyMDE2KSB7IAogICRFUlJPUignIzIzNjogMjA0NyA8PCA3ID09PSAyNjIwMTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDcpKTsgCn0gCgoKaWYgKDQwOTUgPDwgNyAhPT0gNTI0MTYwKSB7IAogICRFUlJPUignIzIzNzogNDA5NSA8PCA3ID09PSA1MjQxNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNyAhPT0gMTA0ODQ0OCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTEgPDwgNyA9PT0gMTA0ODQ0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgNykpOyAKfSAKCgppZiAoMTYzODMgPDwgNyAhPT0gMjA5NzAyNCkgeyAKICAkRVJST1IoJyMyMzk6IDE2MzgzIDw8IDcgPT09IDIwOTcwMjQuIEFjdHVhbDogJyArICgxNjM4MyA8PCA3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA3ICE9PSA0MTk0MTc2KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPDwgNyA9PT0gNDE5NDE3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDcgIT09IDgzODg0ODApIHsgCiAgJEVSUk9SKCcjMjQxOiA2NTUzNSA8PCA3ID09PSA4Mzg4NDgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDcgIT09IDE2Nzc3MDg4KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcxIDw8IDcgPT09IDE2Nzc3MDg4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA3ICE9PSAzMzU1NDMwNCkgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA8PCA3ID09PSAzMzU1NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA3KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNyAhPT0gNjcxMDg3MzYpIHsgCiAgJEVSUk9SKCcjMjQ0OiA1MjQyODcgPDwgNyA9PT0gNjcxMDg3MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA3ICE9PSAxMzQyMTc2MDApIHsgCiAgJEVSUk9SKCcjMjQ1OiAxMDQ4NTc1IDw8IDcgPT09IDEzNDIxNzYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA3ICE9PSAyNjg0MzUzMjgpIHsgCiAgJEVSUk9SKCcjMjQ2OiAyMDk3MTUxIDw8IDcgPT09IDI2ODQzNTMyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA3ICE9PSA1MzY4NzA3ODQpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzAzIDw8IDcgPT09IDUzNjg3MDc4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA3ICE9PSAxMDczNzQxNjk2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwNyA8PCA3ID09PSAxMDczNzQxNjk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA3ICE9PSAyMTQ3NDgzNTIwKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTUgPDwgNyA9PT0gMjE0NzQ4MzUyMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTE6IDY3MTA4ODYzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1IDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTY6IDIxNDc0ODM2NDcgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgNykpOyAKfSAKCgppZiAoMCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA4KSk7IAp9IAoKCmlmICgxIDw8IDggIT09IDI1NikgeyAKICAkRVJST1IoJyMyNTg6IDEgPDwgOCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA4KSk7IAp9IAoKCmlmICgzIDw8IDggIT09IDc2OCkgeyAKICAkRVJST1IoJyMyNTk6IDMgPDwgOCA9PT0gNzY4LiBBY3R1YWw6ICcgKyAoMyA8PCA4KSk7IAp9IAoKCmlmICg3IDw8IDggIT09IDE3OTIpIHsgCiAgJEVSUk9SKCcjMjYwOiA3IDw8IDggPT09IDE3OTIuIEFjdHVhbDogJyArICg3IDw8IDgpKTsgCn0gCgoKaWYgKDE1IDw8IDggIT09IDM4NDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA8PCA4ID09PSAzODQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgOCkpOyAKfSAKCgppZiAoMzEgPDwgOCAhPT0gNzkzNikgeyAKICAkRVJST1IoJyMyNjI6IDMxIDw8IDggPT09IDc5MzYuIEFjdHVhbDogJyArICgzMSA8PCA4KSk7IAp9IAoKCmlmICg2MyA8PCA4ICE9PSAxNjEyOCkgeyAKICAkRVJST1IoJyMyNjM6IDYzIDw8IDggPT09IDE2MTI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgOCkpOyAKfSAKCgppZiAoMTI3IDw8IDggIT09IDMyNTEyKSB7IAogICRFUlJPUignIzI2NDogMTI3IDw8IDggPT09IDMyNTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDgpKTsgCn0gCgoKaWYgKDI1NSA8PCA4ICE9PSA2NTI4MCkgeyAKICAkRVJST1IoJyMyNjU6IDI1NSA8PCA4ID09PSA2NTI4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA4KSk7IAp9IAoKCmlmICg1MTEgPDwgOCAhPT0gMTMwODE2KSB7IAogICRFUlJPUignIzI2NjogNTExIDw8IDggPT09IDEzMDgxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDIzIDw8IDggIT09IDI2MTg4OCkgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPDwgOCA9PT0gMjYxODg4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA4KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDggIT09IDUyNDAzMikgeyAKICAkRVJST1IoJyMyNjg6IDIwNDcgPDwgOCA9PT0gNTI0MDMyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDggIT09IDEwNDgzMjApIHsgCiAgJEVSUk9SKCcjMjY5OiA0MDk1IDw8IDggPT09IDEwNDgzMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgOCAhPT0gMjA5Njg5NikgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPDwgOCA9PT0gMjA5Njg5Ni4gQWN0dWFsOiAnICsgKDgxOTEgPDwgOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgOCAhPT0gNDE5NDA0OCkgeyAKICAkRVJST1IoJyMyNzE6IDE2MzgzIDw8IDggPT09IDQxOTQwNDguIEFjdHVhbDogJyArICgxNjM4MyA8PCA4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA4ICE9PSA4Mzg4MzUyKSB7IAogICRFUlJPUignIzI3MjogMzI3NjcgPDwgOCA9PT0gODM4ODM1Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDggIT09IDE2Nzc2OTYwKSB7IAogICRFUlJPUignIzI3MzogNjU1MzUgPDwgOCA9PT0gMTY3NzY5NjAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgOCAhPT0gMzM1NTQxNzYpIHsgCiAgJEVSUk9SKCcjMjc0OiAxMzEwNzEgPDwgOCA9PT0gMzM1NTQxNzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgOCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDggIT09IDY3MTA4NjA4KSB7IAogICRFUlJPUignIzI3NTogMjYyMTQzIDw8IDggPT09IDY3MTA4NjA4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA4ICE9PSAxMzQyMTc0NzIpIHsgCiAgJEVSUk9SKCcjMjc2OiA1MjQyODcgPDwgOCA9PT0gMTM0MjE3NDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOCAhPT0gMjY4NDM1MjAwKSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA8PCA4ID09PSAyNjg0MzUyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOCAhPT0gNTM2ODcwNjU2KSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MSA8PCA4ID09PSA1MzY4NzA2NTYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgOCAhPT0gMTA3Mzc0MTU2OCkgeyAKICAkRVJST1IoJyMyNzk6IDQxOTQzMDMgPDwgOCA9PT0gMTA3Mzc0MTU2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA4ICE9PSAyMTQ3NDgzMzkyKSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA8PCA4ID09PSAyMTQ3NDgzMzkyLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTUgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODQ6IDEzNDIxNzcyNyA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1IDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgOCkpOyAKfSAKCgppZiAoMCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA5KSk7IAp9IAoKCmlmICgxIDw8IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMyOTA6IDEgPDwgOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA5KSk7IAp9IAoKCmlmICgzIDw8IDkgIT09IDE1MzYpIHsgCiAgJEVSUk9SKCcjMjkxOiAzIDw8IDkgPT09IDE1MzYuIEFjdHVhbDogJyArICgzIDw8IDkpKTsgCn0gCgoKaWYgKDcgPDwgOSAhPT0gMzU4NCkgeyAKICAkRVJST1IoJyMyOTI6IDcgPDwgOSA9PT0gMzU4NC4gQWN0dWFsOiAnICsgKDcgPDwgOSkpOyAKfSAKCgppZiAoMTUgPDwgOSAhPT0gNzY4MCkgeyAKICAkRVJST1IoJyMyOTM6IDE1IDw8IDkgPT09IDc2ODAuIEFjdHVhbDogJyArICgxNSA8PCA5KSk7IAp9IAoKCmlmICgzMSA8PCA5ICE9PSAxNTg3MikgeyAKICAkRVJST1IoJyMyOTQ6IDMxIDw8IDkgPT09IDE1ODcyLiBBY3R1YWw6ICcgKyAoMzEgPDwgOSkpOyAKfSAKCgppZiAoNjMgPDwgOSAhPT0gMzIyNTYpIHsgCiAgJEVSUk9SKCcjMjk1OiA2MyA8PCA5ID09PSAzMjI1Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDkpKTsgCn0gCgoKaWYgKDEyNyA8PCA5ICE9PSA2NTAyNCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA8PCA5ID09PSA2NTAyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCA5KSk7IAp9IAoKCmlmICgyNTUgPDwgOSAhPT0gMTMwNTYwKSB7IAogICRFUlJPUignIzI5NzogMjU1IDw8IDkgPT09IDEzMDU2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA5KSk7IAp9IAoKCmlmICg1MTEgPDwgOSAhPT0gMjYxNjMyKSB7IAogICRFUlJPUignIzI5ODogNTExIDw8IDkgPT09IDI2MTYzMi4gQWN0dWFsOiAnICsgKDUxMSA8PCA5KSk7IAp9IAoKCmlmICgxMDIzIDw8IDkgIT09IDUyMzc3NikgeyAKICAkRVJST1IoJyMyOTk6IDEwMjMgPDwgOSA9PT0gNTIzNzc2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDkgIT09IDEwNDgwNjQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ3IDw8IDkgPT09IDEwNDgwNjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgOSAhPT0gMjA5NjY0MCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTUgPDwgOSA9PT0gMjA5NjY0MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgOSkpOyAKfSAKCgppZiAoODE5MSA8PCA5ICE9PSA0MTkzNzkyKSB7IAogICRFUlJPUignIzMwMjogODE5MSA8PCA5ID09PSA0MTkzNzkyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA5ICE9PSA4Mzg4MDk2KSB7IAogICRFUlJPUignIzMwMzogMTYzODMgPDwgOSA9PT0gODM4ODA5Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDkgIT09IDE2Nzc2NzA0KSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPDwgOSA9PT0gMTY3NzY3MDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCA5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCA5ICE9PSAzMzU1MzkyMCkgeyAKICAkRVJST1IoJyMzMDU6IDY1NTM1IDw8IDkgPT09IDMzNTUzOTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgOSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDkgIT09IDY3MTA4MzUyKSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxIDw8IDkgPT09IDY3MTA4MzUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA5ICE9PSAxMzQyMTcyMTYpIHsgCiAgJEVSUk9SKCcjMzA3OiAyNjIxNDMgPDwgOSA9PT0gMTM0MjE3MjE2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDkpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA5ICE9PSAyNjg0MzQ5NDQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODcgPDwgOSA9PT0gMjY4NDM0OTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOSAhPT0gNTM2ODcwNDAwKSB7IAogICRFUlJPUignIzMwOTogMTA0ODU3NSA8PCA5ID09PSA1MzY4NzA0MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOSAhPT0gMTA3Mzc0MTMxMikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTEgPDwgOSA9PT0gMTA3Mzc0MTMxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA5ICE9PSAyMTQ3NDgzMTM2KSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwMyA8PCA5ID09PSAyMTQ3NDgzMTM2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTQ6IDMzNTU0NDMxIDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNTogNjcxMDg4NjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0NyA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA5KSk7IAp9IAoKCmlmICgwIDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTApKTsgCn0gCgoKaWYgKDEgPDwgMTAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzIyOiAxIDw8IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMSA8PCAxMCkpOyAKfSAKCgppZiAoMyA8PCAxMCAhPT0gMzA3MikgeyAKICAkRVJST1IoJyMzMjM6IDMgPDwgMTAgPT09IDMwNzIuIEFjdHVhbDogJyArICgzIDw8IDEwKSk7IAp9IAoKCmlmICg3IDw8IDEwICE9PSA3MTY4KSB7IAogICRFUlJPUignIzMyNDogNyA8PCAxMCA9PT0gNzE2OC4gQWN0dWFsOiAnICsgKDcgPDwgMTApKTsgCn0gCgoKaWYgKDE1IDw8IDEwICE9PSAxNTM2MCkgeyAKICAkRVJST1IoJyMzMjU6IDE1IDw8IDEwID09PSAxNTM2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEwKSk7IAp9IAoKCmlmICgzMSA8PCAxMCAhPT0gMzE3NDQpIHsgCiAgJEVSUk9SKCcjMzI2OiAzMSA8PCAxMCA9PT0gMzE3NDQuIEFjdHVhbDogJyArICgzMSA8PCAxMCkpOyAKfSAKCgppZiAoNjMgPDwgMTAgIT09IDY0NTEyKSB7IAogICRFUlJPUignIzMyNzogNjMgPDwgMTAgPT09IDY0NTEyLiBBY3R1YWw6ICcgKyAoNjMgPDwgMTApKTsgCn0gCgoKaWYgKDEyNyA8PCAxMCAhPT0gMTMwMDQ4KSB7IAogICRFUlJPUignIzMyODogMTI3IDw8IDEwID09PSAxMzAwNDguIEFjdHVhbDogJyArICgxMjcgPDwgMTApKTsgCn0gCgoKaWYgKDI1NSA8PCAxMCAhPT0gMjYxMTIwKSB7IAogICRFUlJPUignIzMyOTogMjU1IDw8IDEwID09PSAyNjExMjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTApKTsgCn0gCgoKaWYgKDUxMSA8PCAxMCAhPT0gNTIzMjY0KSB7IAogICRFUlJPUignIzMzMDogNTExIDw8IDEwID09PSA1MjMyNjQuIEFjdHVhbDogJyArICg1MTEgPDwgMTApKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTAgIT09IDEwNDc1NTIpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDIzIDw8IDEwID09PSAxMDQ3NTUyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMCAhPT0gMjA5NjEyOCkgeyAKICAkRVJST1IoJyMzMzI6IDIwNDcgPDwgMTAgPT09IDIwOTYxMjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDEwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEwICE9PSA0MTkzMjgwKSB7IAogICRFUlJPUignIzMzMzogNDA5NSA8PCAxMCA9PT0gNDE5MzI4MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTApKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTAgIT09IDgzODc1ODQpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkxIDw8IDEwID09PSA4Mzg3NTg0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTAgIT09IDE2Nzc2MTkyKSB7IAogICRFUlJPUignIzMzNTogMTYzODMgPDwgMTAgPT09IDE2Nzc2MTkyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEwICE9PSAzMzU1MzQwOCkgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY3IDw8IDEwID09PSAzMzU1MzQwOC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDEwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxMCAhPT0gNjcxMDc4NDApIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNSA8PCAxMCA9PT0gNjcxMDc4NDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCAxMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDEwICE9PSAxMzQyMTY3MDQpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzEgPDwgMTAgPT09IDEzNDIxNjcwNC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEwICE9PSAyNjg0MzQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDMgPDwgMTAgPT09IDI2ODQzNDQzMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEwICE9PSA1MzY4Njk4ODgpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODcgPDwgMTAgPT09IDUzNjg2OTg4OC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMCAhPT0gMTA3Mzc0MDgwMCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzUgPDwgMTAgPT09IDEwNzM3NDA4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDEwICE9PSAyMTQ3NDgyNjI0KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MSA8PCAxMCA9PT0gMjE0NzQ4MjYyNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MzogNDE5NDMwMyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDcgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0NTogMTY3NzcyMTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTApKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDY6IDMzNTU0NDMxIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NzEwODg2MyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyNyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjg0MzU0NTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MjogMjE0NzQ4MzY0NyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEwKSk7IAp9IAoKCmlmICgwIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTEpKTsgCn0gCgoKaWYgKDEgPDwgMTEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzU0OiAxIDw8IDExID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAxMSkpOyAKfSAKCgppZiAoMyA8PCAxMSAhPT0gNjE0NCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPDwgMTEgPT09IDYxNDQuIEFjdHVhbDogJyArICgzIDw8IDExKSk7IAp9IAoKCmlmICg3IDw8IDExICE9PSAxNDMzNikgeyAKICAkRVJST1IoJyMzNTY6IDcgPDwgMTEgPT09IDE0MzM2LiBBY3R1YWw6ICcgKyAoNyA8PCAxMSkpOyAKfSAKCgppZiAoMTUgPDwgMTEgIT09IDMwNzIwKSB7IAogICRFUlJPUignIzM1NzogMTUgPDwgMTEgPT09IDMwNzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTEpKTsgCn0gCgoKaWYgKDMxIDw8IDExICE9PSA2MzQ4OCkgeyAKICAkRVJST1IoJyMzNTg6IDMxIDw8IDExID09PSA2MzQ4OC4gQWN0dWFsOiAnICsgKDMxIDw8IDExKSk7IAp9IAoKCmlmICg2MyA8PCAxMSAhPT0gMTI5MDI0KSB7IAogICRFUlJPUignIzM1OTogNjMgPDwgMTEgPT09IDEyOTAyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDExKSk7IAp9IAoKCmlmICgxMjcgPDwgMTEgIT09IDI2MDA5NikgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA8PCAxMSA9PT0gMjYwMDk2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDExKSk7IAp9IAoKCmlmICgyNTUgPDwgMTEgIT09IDUyMjI0MCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NSA8PCAxMSA9PT0gNTIyMjQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDExKSk7IAp9IAoKCmlmICg1MTEgPDwgMTEgIT09IDEwNDY1MjgpIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPDwgMTEgPT09IDEwNDY1MjguIEFjdHVhbDogJyArICg1MTEgPDwgMTEpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTEgIT09IDIwOTUxMDQpIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzIDw8IDExID09PSAyMDk1MTA0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMSAhPT0gNDE5MjI1NikgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPDwgMTEgPT09IDQxOTIyNTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDExKSk7IAp9IAoKCmlmICg0MDk1IDw8IDExICE9PSA4Mzg2NTYwKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA8PCAxMSA9PT0gODM4NjU2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTEpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTEgIT09IDE2Nzc1MTY4KSB7IAogICRFUlJPUignIzM2NjogODE5MSA8PCAxMSA9PT0gMTY3NzUxNjguIEFjdHVhbDogJyArICg4MTkxIDw8IDExKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxMSAhPT0gMzM1NTIzODQpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA8PCAxMSA9PT0gMzM1NTIzODQuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTEgIT09IDY3MTA2ODE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjcgPDwgMTEgPT09IDY3MTA2ODE2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTEpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDExICE9PSAxMzQyMTU2ODApIHsgCiAgJEVSUk9SKCcjMzY5OiA2NTUzNSA8PCAxMSA9PT0gMTM0MjE1NjgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMSAhPT0gMjY4NDMzNDA4KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcxIDw8IDExID09PSAyNjg0MzM0MDguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMSAhPT0gNTM2ODY4ODY0KSB7IAogICRFUlJPUignIzM3MTogMjYyMTQzIDw8IDExID09PSA1MzY4Njg4NjQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxMSAhPT0gMTA3MzczOTc3NikgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA8PCAxMSA9PT0gMTA3MzczOTc3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMSAhPT0gMjE0NzQ4MTYwMCkgeyAKICAkRVJST1IoJyMzNzM6IDEwNDg1NzUgPDwgMTEgPT09IDIxNDc0ODE2MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3NjogODM4ODYwNyA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3ODogMzM1NTQ0MzEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzk6IDY3MTA4ODYzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM4MDogMTM0MjE3NzI3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzgyOiA1MzY4NzA5MTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDExKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTEpKTsgCn0gCgoKaWYgKDAgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAwIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxMikpOyAKfSAKCgppZiAoMSA8PCAxMiAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzODY6IDEgPDwgMTIgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IDEyKSk7IAp9IAoKCmlmICgzIDw8IDEyICE9PSAxMjI4OCkgeyAKICAkRVJST1IoJyMzODc6IDMgPDwgMTIgPT09IDEyMjg4LiBBY3R1YWw6ICcgKyAoMyA8PCAxMikpOyAKfSAKCgppZiAoNyA8PCAxMiAhPT0gMjg2NzIpIHsgCiAgJEVSUk9SKCcjMzg4OiA3IDw8IDEyID09PSAyODY3Mi4gQWN0dWFsOiAnICsgKDcgPDwgMTIpKTsgCn0gCgoKaWYgKDE1IDw8IDEyICE9PSA2MTQ0MCkgeyAKICAkRVJST1IoJyMzODk6IDE1IDw8IDEyID09PSA2MTQ0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEyKSk7IAp9IAoKCmlmICgzMSA8PCAxMiAhPT0gMTI2OTc2KSB7IAogICRFUlJPUignIzM5MDogMzEgPDwgMTIgPT09IDEyNjk3Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2MyA8PCAxMiAhPT0gMjU4MDQ4KSB7IAogICRFUlJPUignIzM5MTogNjMgPDwgMTIgPT09IDI1ODA0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDEyKSk7IAp9IAoKCmlmICgxMjcgPDwgMTIgIT09IDUyMDE5MikgeyAKICAkRVJST1IoJyMzOTI6IDEyNyA8PCAxMiA9PT0gNTIwMTkyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDEyKSk7IAp9IAoKCmlmICgyNTUgPDwgMTIgIT09IDEwNDQ0ODApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTUgPDwgMTIgPT09IDEwNDQ0ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTIpKTsgCn0gCgoKaWYgKDUxMSA8PCAxMiAhPT0gMjA5MzA1NikgeyAKICAkRVJST1IoJyMzOTQ6IDUxMSA8PCAxMiA9PT0gMjA5MzA1Ni4gQWN0dWFsOiAnICsgKDUxMSA8PCAxMikpOyAKfSAKCgppZiAoMTAyMyA8PCAxMiAhPT0gNDE5MDIwOCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjMgPDwgMTIgPT09IDQxOTAyMDguIEFjdHVhbDogJyArICgxMDIzIDw8IDEyKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDEyICE9PSA4Mzg0NTEyKSB7IAogICRFUlJPUignIzM5NjogMjA0NyA8PCAxMiA9PT0gODM4NDUxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTIpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTIgIT09IDE2NzczMTIwKSB7IAogICRFUlJPUignIzM5NzogNDA5NSA8PCAxMiA9PT0gMTY3NzMxMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDEyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEyICE9PSAzMzU1MDMzNikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTEgPDwgMTIgPT09IDMzNTUwMzM2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTIgIT09IDY3MTA0NzY4KSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPDwgMTIgPT09IDY3MTA0NzY4LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTIpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEyICE9PSAxMzQyMTM2MzIpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA8PCAxMiA9PT0gMTM0MjEzNjMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEyICE9PSAyNjg0MzEzNjApIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA8PCAxMiA9PT0gMjY4NDMxMzYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMiAhPT0gNTM2ODY2ODE2KSB7IAogICRFUlJPUignIzQwMjogMTMxMDcxIDw8IDEyID09PSA1MzY4NjY4MTYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMiAhPT0gMTA3MzczNzcyOCkgeyAKICAkRVJST1IoJyM0MDM6IDI2MjE0MyA8PCAxMiA9PT0gMTA3MzczNzcyOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEyICE9PSAyMTQ3NDc5NTUyKSB7IAogICRFUlJPUignIzQwNDogNTI0Mjg3IDw8IDEyID09PSAyMTQ3NDc5NTUyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDU6IDEwNDg1NzUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDg6IDgzODg2MDcgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2MyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyNyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODIzIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNjogMjE0NzQ4MzY0NyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEyKSk7IAp9IAoKCmlmICgwIDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTMpKTsgCn0gCgoKaWYgKDEgPDwgMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDE4OiAxIDw8IDEzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMSA8PCAxMykpOyAKfSAKCgppZiAoMyA8PCAxMyAhPT0gMjQ1NzYpIHsgCiAgJEVSUk9SKCcjNDE5OiAzIDw8IDEzID09PSAyNDU3Ni4gQWN0dWFsOiAnICsgKDMgPDwgMTMpKTsgCn0gCgoKaWYgKDcgPDwgMTMgIT09IDU3MzQ0KSB7IAogICRFUlJPUignIzQyMDogNyA8PCAxMyA9PT0gNTczNDQuIEFjdHVhbDogJyArICg3IDw8IDEzKSk7IAp9IAoKCmlmICgxNSA8PCAxMyAhPT0gMTIyODgwKSB7IAogICRFUlJPUignIzQyMTogMTUgPDwgMTMgPT09IDEyMjg4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMSA8PCAxMyAhPT0gMjUzOTUyKSB7IAogICRFUlJPUignIzQyMjogMzEgPDwgMTMgPT09IDI1Mzk1Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEzKSk7IAp9IAoKCmlmICg2MyA8PCAxMyAhPT0gNTE2MDk2KSB7IAogICRFUlJPUignIzQyMzogNjMgPDwgMTMgPT09IDUxNjA5Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDEzKSk7IAp9IAoKCmlmICgxMjcgPDwgMTMgIT09IDEwNDAzODQpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMjcgPDwgMTMgPT09IDEwNDAzODQuIEFjdHVhbDogJyArICgxMjcgPDwgMTMpKTsgCn0gCgoKaWYgKDI1NSA8PCAxMyAhPT0gMjA4ODk2MCkgeyAKICAkRVJST1IoJyM0MjU6IDI1NSA8PCAxMyA9PT0gMjA4ODk2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAxMykpOyAKfSAKCgppZiAoNTExIDw8IDEzICE9PSA0MTg2MTEyKSB7IAogICRFUlJPUignIzQyNjogNTExIDw8IDEzID09PSA0MTg2MTEyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDEzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEzICE9PSA4MzgwNDE2KSB7IAogICRFUlJPUignIzQyNzogMTAyMyA8PCAxMyA9PT0gODM4MDQxNi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTMgIT09IDE2NzY5MDI0KSB7IAogICRFUlJPUignIzQyODogMjA0NyA8PCAxMyA9PT0gMTY3NjkwMjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEzICE9PSAzMzU0NjI0MCkgeyAKICAkRVJST1IoJyM0Mjk6IDQwOTUgPDwgMTMgPT09IDMzNTQ2MjQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxMykpOyAKfSAKCgppZiAoODE5MSA8PCAxMyAhPT0gNjcxMDA2NzIpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkxIDw8IDEzID09PSA2NzEwMDY3Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDEzICE9PSAxMzQyMDk1MzYpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4MyA8PCAxMyA9PT0gMTM0MjA5NTM2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEzICE9PSAyNjg0MjcyNjQpIHsgCiAgJEVSUk9SKCcjNDMyOiAzMjc2NyA8PCAxMyA9PT0gMjY4NDI3MjY0LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEzICE9PSA1MzY4NjI3MjApIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA8PCAxMyA9PT0gNTM2ODYyNzIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMyAhPT0gMTA3MzczMzYzMikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MSA8PCAxMyA9PT0gMTA3MzczMzYzMi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEzICE9PSAyMTQ3NDc1NDU2KSB7IAogICRFUlJPUignIzQzNTogMjYyMTQzIDw8IDEzID09PSAyMTQ3NDc1NDU2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDEzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0Mzk6IDQxOTQzMDMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAxMykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQwOiA4Mzg4NjA3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAxMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0MzogNjcxMDg4NjMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NzogMTA3Mzc0MTgyMyA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDEzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxMykpOyAKfSAKCgppZiAoMCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDk6IDAgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE0KSk7IAp9IAoKCmlmICgxIDw8IDE0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPDwgMTQgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCAxNCkpOyAKfSAKCgppZiAoMyA8PCAxNCAhPT0gNDkxNTIpIHsgCiAgJEVSUk9SKCcjNDUxOiAzIDw8IDE0ID09PSA0OTE1Mi4gQWN0dWFsOiAnICsgKDMgPDwgMTQpKTsgCn0gCgoKaWYgKDcgPDwgMTQgIT09IDExNDY4OCkgeyAKICAkRVJST1IoJyM0NTI6IDcgPDwgMTQgPT09IDExNDY4OC4gQWN0dWFsOiAnICsgKDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE1IDw8IDE0ICE9PSAyNDU3NjApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA8PCAxNCA9PT0gMjQ1NzYwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMxIDw8IDE0ICE9PSA1MDc5MDQpIHsgCiAgJEVSUk9SKCcjNDU0OiAzMSA8PCAxNCA9PT0gNTA3OTA0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTQpKTsgCn0gCgoKaWYgKDYzIDw8IDE0ICE9PSAxMDMyMTkyKSB7IAogICRFUlJPUignIzQ1NTogNjMgPDwgMTQgPT09IDEwMzIxOTIuIEFjdHVhbDogJyArICg2MyA8PCAxNCkpOyAKfSAKCgppZiAoMTI3IDw8IDE0ICE9PSAyMDgwNzY4KSB7IAogICRFUlJPUignIzQ1NjogMTI3IDw8IDE0ID09PSAyMDgwNzY4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE0KSk7IAp9IAoKCmlmICgyNTUgPDwgMTQgIT09IDQxNzc5MjApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPDwgMTQgPT09IDQxNzc5MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNCAhPT0gODM3MjIyNCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA8PCAxNCA9PT0gODM3MjIyNC4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAxNCAhPT0gMTY3NjA4MzIpIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDIzIDw8IDE0ID09PSAxNjc2MDgzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTQgIT09IDMzNTM4MDQ4KSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA8PCAxNCA9PT0gMzM1MzgwNDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDE0KSk7IAp9IAoKCmlmICg0MDk1IDw8IDE0ICE9PSA2NzA5MjQ4MCkgeyAKICAkRVJST1IoJyM0NjE6IDQwOTUgPDwgMTQgPT09IDY3MDkyNDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNCkpOyAKfSAKCgppZiAoODE5MSA8PCAxNCAhPT0gMTM0MjAxMzQ0KSB7IAogICRFUlJPUignIzQ2MjogODE5MSA8PCAxNCA9PT0gMTM0MjAxMzQ0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTQgIT09IDI2ODQxOTA3MikgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzIDw8IDE0ID09PSAyNjg0MTkwNzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTQgIT09IDUzNjg1NDUyOCkgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY3IDw8IDE0ID09PSA1MzY4NTQ1MjguIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTQgIT09IDEwNzM3MjU0NDApIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA8PCAxNCA9PT0gMTA3MzcyNTQ0MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTQgIT09IDIxNDc0NjcyNjQpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPDwgMTQgPT09IDIxNDc0NjcyNjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQzIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Njk6IDEwNDg1NzUgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDczOiAxNjc3NzIxNSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2MyA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NjogMTM0MjE3NzI3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogMjY4NDM1NDU1IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTExIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTQpKTsgCn0gCgoKaWYgKDAgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAwIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNSkpOyAKfSAKCgppZiAoMSA8PCAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDgyOiAxIDw8IDE1ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgMTUpKTsgCn0gCgoKaWYgKDMgPDwgMTUgIT09IDk4MzA0KSB7IAogICRFUlJPUignIzQ4MzogMyA8PCAxNSA9PT0gOTgzMDQuIEFjdHVhbDogJyArICgzIDw8IDE1KSk7IAp9IAoKCmlmICg3IDw8IDE1ICE9PSAyMjkzNzYpIHsgCiAgJEVSUk9SKCcjNDg0OiA3IDw8IDE1ID09PSAyMjkzNzYuIEFjdHVhbDogJyArICg3IDw8IDE1KSk7IAp9IAoKCmlmICgxNSA8PCAxNSAhPT0gNDkxNTIwKSB7IAogICRFUlJPUignIzQ4NTogMTUgPDwgMTUgPT09IDQ5MTUyMC4gQWN0dWFsOiAnICsgKDE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMSA8PCAxNSAhPT0gMTAxNTgwOCkgeyAKICAkRVJST1IoJyM0ODY6IDMxIDw8IDE1ID09PSAxMDE1ODA4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTUpKTsgCn0gCgoKaWYgKDYzIDw8IDE1ICE9PSAyMDY0Mzg0KSB7IAogICRFUlJPUignIzQ4NzogNjMgPDwgMTUgPT09IDIwNjQzODQuIEFjdHVhbDogJyArICg2MyA8PCAxNSkpOyAKfSAKCgppZiAoMTI3IDw8IDE1ICE9PSA0MTYxNTM2KSB7IAogICRFUlJPUignIzQ4ODogMTI3IDw8IDE1ID09PSA0MTYxNTM2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNTUgPDwgMTUgIT09IDgzNTU4NDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTUgPDwgMTUgPT09IDgzNTU4NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTUpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNSAhPT0gMTY3NDQ0NDgpIHsgCiAgJEVSUk9SKCcjNDkwOiA1MTEgPDwgMTUgPT09IDE2NzQ0NDQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE1ICE9PSAzMzUyMTY2NCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjMgPDwgMTUgPT09IDMzNTIxNjY0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxNSAhPT0gNjcwNzYwOTYpIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3IDw8IDE1ID09PSA2NzA3NjA5Ni4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTUgIT09IDEzNDE4NDk2MCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPDwgMTUgPT09IDEzNDE4NDk2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTUgIT09IDI2ODQwMjY4OCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTEgPDwgMTUgPT09IDI2ODQwMjY4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE1ICE9PSA1MzY4MzgxNDQpIHsgCiAgJEVSUk9SKCcjNDk1OiAxNjM4MyA8PCAxNSA9PT0gNTM2ODM4MTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE1ICE9PSAxMDczNzA5MDU2KSB7IAogICRFUlJPUignIzQ5NjogMzI3NjcgPDwgMTUgPT09IDEwNzM3MDkwNTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTUgIT09IDIxNDc0NTA4ODApIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNSA8PCAxNSA9PT0gMjE0NzQ1MDg4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE1KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDE1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0MyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4NyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDE1KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAyOiAyMDk3MTUxIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNjogMzM1NTQ0MzEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDE1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyNyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDk6IDI2ODQzNTQ1NSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MTA6IDUzNjg3MDkxMSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODIzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE1KSk7IAp9IAoK","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoMCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDAgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE2KSk7IAp9IAoKCmlmICgxIDw8IDE2ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyM1MTQ6IDEgPDwgMTYgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMSA8PCAxNikpOyAKfSAKCgppZiAoMyA8PCAxNiAhPT0gMTk2NjA4KSB7IAogICRFUlJPUignIzUxNTogMyA8PCAxNiA9PT0gMTk2NjA4LiBBY3R1YWw6ICcgKyAoMyA8PCAxNikpOyAKfSAKCgppZiAoNyA8PCAxNiAhPT0gNDU4NzUyKSB7IAogICRFUlJPUignIzUxNjogNyA8PCAxNiA9PT0gNDU4NzUyLiBBY3R1YWw6ICcgKyAoNyA8PCAxNikpOyAKfSAKCgppZiAoMTUgPDwgMTYgIT09IDk4MzA0MCkgeyAKICAkRVJST1IoJyM1MTc6IDE1IDw8IDE2ID09PSA5ODMwNDAuIEFjdHVhbDogJyArICgxNSA8PCAxNikpOyAKfSAKCgppZiAoMzEgPDwgMTYgIT09IDIwMzE2MTYpIHsgCiAgJEVSUk9SKCcjNTE4OiAzMSA8PCAxNiA9PT0gMjAzMTYxNi4gQWN0dWFsOiAnICsgKDMxIDw8IDE2KSk7IAp9IAoKCmlmICg2MyA8PCAxNiAhPT0gNDEyODc2OCkgeyAKICAkRVJST1IoJyM1MTk6IDYzIDw8IDE2ID09PSA0MTI4NzY4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEyNyA8PCAxNiAhPT0gODMyMzA3MikgeyAKICAkRVJST1IoJyM1MjA6IDEyNyA8PCAxNiA9PT0gODMyMzA3Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAxNikpOyAKfSAKCgppZiAoMjU1IDw8IDE2ICE9PSAxNjcxMTY4MCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NSA8PCAxNiA9PT0gMTY3MTE2ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNiAhPT0gMzM0ODg4OTYpIHsgCiAgJEVSUk9SKCcjNTIyOiA1MTEgPDwgMTYgPT09IDMzNDg4ODk2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE2ICE9PSA2NzA0MzMyOCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPDwgMTYgPT09IDY3MDQzMzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNikpOyAKfSAKCgppZiAoMjA0NyA8PCAxNiAhPT0gMTM0MTUyMTkyKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA8PCAxNiA9PT0gMTM0MTUyMTkyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNikpOyAKfSAKCgppZiAoNDA5NSA8PCAxNiAhPT0gMjY4MzY5OTIwKSB7IAogICRFUlJPUignIzUyNTogNDA5NSA8PCAxNiA9PT0gMjY4MzY5OTIwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNikpOyAKfSAKCgppZiAoODE5MSA8PCAxNiAhPT0gNTM2ODA1Mzc2KSB7IAogICRFUlJPUignIzUyNjogODE5MSA8PCAxNiA9PT0gNTM2ODA1Mzc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTYgIT09IDEwNzM2NzYyODgpIHsgCiAgJEVSUk9SKCcjNTI3OiAxNjM4MyA8PCAxNiA9PT0gMTA3MzY3NjI4OC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxNiAhPT0gMjE0NzQxODExMikgeyAKICAkRVJST1IoJyM1Mjg6IDMyNzY3IDw8IDE2ID09PSAyMTQ3NDE4MTEyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTYpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTYpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMDogMTMxMDcxIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQzIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTEgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzU6IDQxOTQzMDMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM5OiA2NzEwODg2MyA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MjogNTM2ODcwOTExIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDM6IDEwNzM3NDE4MjMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTYpKTsgCn0gCgoKaWYgKDAgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ1OiAwIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNykpOyAKfSAKCgppZiAoMSA8PCAxNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzU0NjogMSA8PCAxNyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMSA8PCAxNykpOyAKfSAKCgppZiAoMyA8PCAxNyAhPT0gMzkzMjE2KSB7IAogICRFUlJPUignIzU0NzogMyA8PCAxNyA9PT0gMzkzMjE2LiBBY3R1YWw6ICcgKyAoMyA8PCAxNykpOyAKfSAKCgppZiAoNyA8PCAxNyAhPT0gOTE3NTA0KSB7IAogICRFUlJPUignIzU0ODogNyA8PCAxNyA9PT0gOTE3NTA0LiBBY3R1YWw6ICcgKyAoNyA8PCAxNykpOyAKfSAKCgppZiAoMTUgPDwgMTcgIT09IDE5NjYwODApIHsgCiAgJEVSUk9SKCcjNTQ5OiAxNSA8PCAxNyA9PT0gMTk2NjA4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE3KSk7IAp9IAoKCmlmICgzMSA8PCAxNyAhPT0gNDA2MzIzMikgeyAKICAkRVJST1IoJyM1NTA6IDMxIDw8IDE3ID09PSA0MDYzMjMyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMTcpKTsgCn0gCgoKaWYgKDYzIDw8IDE3ICE9PSA4MjU3NTM2KSB7IAogICRFUlJPUignIzU1MTogNjMgPDwgMTcgPT09IDgyNTc1MzYuIEFjdHVhbDogJyArICg2MyA8PCAxNykpOyAKfSAKCgppZiAoMTI3IDw8IDE3ICE9PSAxNjY0NjE0NCkgeyAKICAkRVJST1IoJyM1NTI6IDEyNyA8PCAxNyA9PT0gMTY2NDYxNDQuIEFjdHVhbDogJyArICgxMjcgPDwgMTcpKTsgCn0gCgoKaWYgKDI1NSA8PCAxNyAhPT0gMzM0MjMzNjApIHsgCiAgJEVSUk9SKCcjNTUzOiAyNTUgPDwgMTcgPT09IDMzNDIzMzYwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MTEgPDwgMTcgIT09IDY2OTc3NzkyKSB7IAogICRFUlJPUignIzU1NDogNTExIDw8IDE3ID09PSA2Njk3Nzc5Mi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNykpOyAKfSAKCgppZiAoMTAyMyA8PCAxNyAhPT0gMTM0MDg2NjU2KSB7IAogICRFUlJPUignIzU1NTogMTAyMyA8PCAxNyA9PT0gMTM0MDg2NjU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNykpOyAKfSAKCgppZiAoMjA0NyA8PCAxNyAhPT0gMjY4MzA0Mzg0KSB7IAogICRFUlJPUignIzU1NjogMjA0NyA8PCAxNyA9PT0gMjY4MzA0Mzg0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNykpOyAKfSAKCgppZiAoNDA5NSA8PCAxNyAhPT0gNTM2NzM5ODQwKSB7IAogICRFUlJPUignIzU1NzogNDA5NSA8PCAxNyA9PT0gNTM2NzM5ODQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNykpOyAKfSAKCgppZiAoODE5MSA8PCAxNyAhPT0gMTA3MzYxMDc1MikgeyAKICAkRVJST1IoJyM1NTg6IDgxOTEgPDwgMTcgPT09IDEwNzM2MTA3NTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDE3KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxNyAhPT0gMjE0NzM1MjU3NikgeyAKICAkRVJST1IoJyM1NTk6IDE2MzgzIDw8IDE3ID09PSAyMTQ3MzUyNTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTcpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2MDogMzI3NjcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYxOiA2NTUzNSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE3KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYyOiAxMzEwNzEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NjM6IDI2MjE0MyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxNykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NDogNTI0Mjg3IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NTogMTA0ODU3NSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1Njc6IDQxOTQzMDMgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2ODogODM4ODYwNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTUgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTcwOiAzMzU1NDQzMSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzI6IDEzNDIxNzcyNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU3MzogMjY4NDM1NDU1IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc0OiA1MzY4NzA5MTEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc1OiAxMDczNzQxODIzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE3KSk7IAp9IAoKCmlmICgwIDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTgpKTsgCn0gCgoKaWYgKDEgPDwgMTggIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1Nzg6IDEgPDwgMTggPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgMTgpKTsgCn0gCgoKaWYgKDMgPDwgMTggIT09IDc4NjQzMikgeyAKICAkRVJST1IoJyM1Nzk6IDMgPDwgMTggPT09IDc4NjQzMi4gQWN0dWFsOiAnICsgKDMgPDwgMTgpKTsgCn0gCgoKaWYgKDcgPDwgMTggIT09IDE4MzUwMDgpIHsgCiAgJEVSUk9SKCcjNTgwOiA3IDw8IDE4ID09PSAxODM1MDA4LiBBY3R1YWw6ICcgKyAoNyA8PCAxOCkpOyAKfSAKCgppZiAoMTUgPDwgMTggIT09IDM5MzIxNjApIHsgCiAgJEVSUk9SKCcjNTgxOiAxNSA8PCAxOCA9PT0gMzkzMjE2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE4KSk7IAp9IAoKCmlmICgzMSA8PCAxOCAhPT0gODEyNjQ2NCkgeyAKICAkRVJST1IoJyM1ODI6IDMxIDw8IDE4ID09PSA4MTI2NDY0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTgpKTsgCn0gCgoKaWYgKDYzIDw8IDE4ICE9PSAxNjUxNTA3MikgeyAKICAkRVJST1IoJyM1ODM6IDYzIDw8IDE4ID09PSAxNjUxNTA3Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDE4KSk7IAp9IAoKCmlmICgxMjcgPDwgMTggIT09IDMzMjkyMjg4KSB7IAogICRFUlJPUignIzU4NDogMTI3IDw8IDE4ID09PSAzMzI5MjI4OC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjU1IDw8IDE4ICE9PSA2Njg0NjcyMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA8PCAxOCA9PT0gNjY4NDY3MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTgpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOCAhPT0gMTMzOTU1NTg0KSB7IAogICRFUlJPUignIzU4NjogNTExIDw8IDE4ID09PSAxMzM5NTU1ODQuIEFjdHVhbDogJyArICg1MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTggIT09IDI2ODE3MzMxMikgeyAKICAkRVJST1IoJyM1ODc6IDEwMjMgPDwgMTggPT09IDI2ODE3MzMxMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTgpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTggIT09IDUzNjYwODc2OCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDcgPDwgMTggPT09IDUzNjYwODc2OC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTgpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTggIT09IDEwNzM0Nzk2ODApIHsgCiAgJEVSUk9SKCcjNTg5OiA0MDk1IDw8IDE4ID09PSAxMDczNDc5NjgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxOCkpOyAKfSAKCgppZiAoODE5MSA8PCAxOCAhPT0gMjE0NzIyMTUwNCkgeyAKICAkRVJST1IoJyM1OTA6IDgxOTEgPDwgMTggPT09IDIxNDcyMjE1MDQuIEFjdHVhbDogJyArICg4MTkxIDw8IDE4KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTE6IDE2MzgzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTgpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5MjogMzI3NjcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxOCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTkzOiA2NTUzNSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk0OiAxMzEwNzEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTgpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTU6IDI2MjE0MyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxOCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NjogNTI0Mjg3IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NzogMTA0ODU3NSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk4OiAyMDk3MTUxIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE4KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMDogODM4ODYwNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTUgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDM6IDY3MTA4ODYzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwNTogMjY4NDM1NDU1IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA2OiA1MzY4NzA5MTEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA3OiAxMDczNzQxODIzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDg6IDIxNDc0ODM2NDcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE4KSk7IAp9IAoKCmlmICgwIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYwOTogMCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTkpKTsgCn0gCgoKaWYgKDEgPDwgMTkgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPDwgMTkgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgMTkpKTsgCn0gCgoKaWYgKDMgPDwgMTkgIT09IDE1NzI4NjQpIHsgCiAgJEVSUk9SKCcjNjExOiAzIDw8IDE5ID09PSAxNTcyODY0LiBBY3R1YWw6ICcgKyAoMyA8PCAxOSkpOyAKfSAKCgppZiAoNyA8PCAxOSAhPT0gMzY3MDAxNikgeyAKICAkRVJST1IoJyM2MTI6IDcgPDwgMTkgPT09IDM2NzAwMTYuIEFjdHVhbDogJyArICg3IDw8IDE5KSk7IAp9IAoKCmlmICgxNSA8PCAxOSAhPT0gNzg2NDMyMCkgeyAKICAkRVJST1IoJyM2MTM6IDE1IDw8IDE5ID09PSA3ODY0MzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTkpKTsgCn0gCgoKaWYgKDMxIDw8IDE5ICE9PSAxNjI1MjkyOCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxIDw8IDE5ID09PSAxNjI1MjkyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDE5KSk7IAp9IAoKCmlmICg2MyA8PCAxOSAhPT0gMzMwMzAxNDQpIHsgCiAgJEVSUk9SKCcjNjE1OiA2MyA8PCAxOSA9PT0gMzMwMzAxNDQuIEFjdHVhbDogJyArICg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTI3IDw8IDE5ICE9PSA2NjU4NDU3NikgeyAKICAkRVJST1IoJyM2MTY6IDEyNyA8PCAxOSA9PT0gNjY1ODQ1NzYuIEFjdHVhbDogJyArICgxMjcgPDwgMTkpKTsgCn0gCgoKaWYgKDI1NSA8PCAxOSAhPT0gMTMzNjkzNDQwKSB7IAogICRFUlJPUignIzYxNzogMjU1IDw8IDE5ID09PSAxMzM2OTM0NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOSAhPT0gMjY3OTExMTY4KSB7IAogICRFUlJPUignIzYxODogNTExIDw8IDE5ID09PSAyNjc5MTExNjguIEFjdHVhbDogJyArICg1MTEgPDwgMTkpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTkgIT09IDUzNjM0NjYyNCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPDwgMTkgPT09IDUzNjM0NjYyNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTkpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTkgIT09IDEwNzMyMTc1MzYpIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ3IDw8IDE5ID09PSAxMDczMjE3NTM2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxOSkpOyAKfSAKCgppZiAoNDA5NSA8PCAxOSAhPT0gMjE0Njk1OTM2MCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTUgPDwgMTkgPT09IDIxNDY5NTkzNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDE5KSk7IAp9IAoKCmlmICg4MTkxIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMjogODE5MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTkpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMzogMTYzODMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxNjM4MyA8PCAxOSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDE5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTkpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxOSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyNzogMjYyMTQzIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE5KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODcgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE5KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwMyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMyOiA4Mzg4NjA3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjM3OiAyNjg0MzU0NTUgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTkpKTsgCn0gCgoKaWYgKDAgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAwIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMCkpOyAKfSAKCgppZiAoMSA8PCAyMCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NDI6IDEgPDwgMjAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxIDw8IDIwKSk7IAp9IAoKCmlmICgzIDw8IDIwICE9PSAzMTQ1NzI4KSB7IAogICRFUlJPUignIzY0MzogMyA8PCAyMCA9PT0gMzE0NTcyOC4gQWN0dWFsOiAnICsgKDMgPDwgMjApKTsgCn0gCgoKaWYgKDcgPDwgMjAgIT09IDczNDAwMzIpIHsgCiAgJEVSUk9SKCcjNjQ0OiA3IDw8IDIwID09PSA3MzQwMDMyLiBBY3R1YWw6ICcgKyAoNyA8PCAyMCkpOyAKfSAKCgppZiAoMTUgPDwgMjAgIT09IDE1NzI4NjQwKSB7IAogICRFUlJPUignIzY0NTogMTUgPDwgMjAgPT09IDE1NzI4NjQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjApKTsgCn0gCgoKaWYgKDMxIDw8IDIwICE9PSAzMjUwNTg1NikgeyAKICAkRVJST1IoJyM2NDY6IDMxIDw8IDIwID09PSAzMjUwNTg1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDIwKSk7IAp9IAoKCmlmICg2MyA8PCAyMCAhPT0gNjYwNjAyODgpIHsgCiAgJEVSUk9SKCcjNjQ3OiA2MyA8PCAyMCA9PT0gNjYwNjAyODguIEFjdHVhbDogJyArICg2MyA8PCAyMCkpOyAKfSAKCgppZiAoMTI3IDw8IDIwICE9PSAxMzMxNjkxNTIpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMjcgPDwgMjAgPT09IDEzMzE2OTE1Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMCkpOyAKfSAKCgppZiAoMjU1IDw8IDIwICE9PSAyNjczODY4ODApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTUgPDwgMjAgPT09IDI2NzM4Njg4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTExIDw8IDIwICE9PSA1MzU4MjIzMzYpIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPDwgMjAgPT09IDUzNTgyMjMzNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyMCAhPT0gMTA3MjY5MzI0OCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjMgPDwgMjAgPT09IDEwNzI2OTMyNDguIEFjdHVhbDogJyArICgxMDIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDIwICE9PSAyMTQ2NDM1MDcyKSB7IAogICRFUlJPUignIzY1MjogMjA0NyA8PCAyMCA9PT0gMjE0NjQzNTA3Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1MzogNDA5NSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg0MDk1IDw8IDIwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTEgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1NTogMTYzODMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTg6IDEzMTA3MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDIwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjYxOiAxMDQ4NTc1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDIwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY0OiA4Mzg4NjA3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDIwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY4OiAxMzQyMTc3MjcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyMCkpOyAKfSAKCgppZiAoMCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDIxKSk7IAp9IAoKCmlmICgxIDw8IDIxICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzY3NDogMSA8PCAyMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEgPDwgMjEpKTsgCn0gCgoKaWYgKDMgPDwgMjEgIT09IDYyOTE0NTYpIHsgCiAgJEVSUk9SKCcjNjc1OiAzIDw8IDIxID09PSA2MjkxNDU2LiBBY3R1YWw6ICcgKyAoMyA8PCAyMSkpOyAKfSAKCgppZiAoNyA8PCAyMSAhPT0gMTQ2ODAwNjQpIHsgCiAgJEVSUk9SKCcjNjc2OiA3IDw8IDIxID09PSAxNDY4MDA2NC4gQWN0dWFsOiAnICsgKDcgPDwgMjEpKTsgCn0gCgoKaWYgKDE1IDw8IDIxICE9PSAzMTQ1NzI4MCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1IDw8IDIxID09PSAzMTQ1NzI4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIxKSk7IAp9IAoKCmlmICgzMSA8PCAyMSAhPT0gNjUwMTE3MTIpIHsgCiAgJEVSUk9SKCcjNjc4OiAzMSA8PCAyMSA9PT0gNjUwMTE3MTIuIEFjdHVhbDogJyArICgzMSA8PCAyMSkpOyAKfSAKCgppZiAoNjMgPDwgMjEgIT09IDEzMjEyMDU3NikgeyAKICAkRVJST1IoJyM2Nzk6IDYzIDw8IDIxID09PSAxMzIxMjA1NzYuIEFjdHVhbDogJyArICg2MyA8PCAyMSkpOyAKfSAKCgppZiAoMTI3IDw8IDIxICE9PSAyNjYzMzgzMDQpIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPDwgMjEgPT09IDI2NjMzODMwNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjU1IDw8IDIxICE9PSA1MzQ3NzM3NjApIHsgCiAgJEVSUk9SKCcjNjgxOiAyNTUgPDwgMjEgPT09IDUzNDc3Mzc2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMSkpOyAKfSAKCgppZiAoNTExIDw8IDIxICE9PSAxMDcxNjQ0NjcyKSB7IAogICRFUlJPUignIzY4MjogNTExIDw8IDIxID09PSAxMDcxNjQ0NjcyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDIxICE9PSAyMTQ1Mzg2NDk2KSB7IAogICRFUlJPUignIzY4MzogMTAyMyA8PCAyMSA9PT0gMjE0NTM4NjQ5Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4NDogMjA0NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIxKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMSkpOyAKfSAKCgppZiAoODE5MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkxIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODc6IDE2MzgzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4OTogNjU1MzUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjkwOiAxMzEwNzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MzogMTA0ODU3NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzAzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5NjogODM4ODYwNyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5ODogMzM1NTQ0MzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTk6IDY3MTA4ODYzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzcwMDogMTM0MjE3NzI3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzAyOiA1MzY4NzA5MTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjMgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjEpKTsgCn0gCgoKaWYgKDAgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMikpOyAKfSAKCgppZiAoMSA8PCAyMiAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPDwgMjIgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDIyKSk7IAp9IAoKCmlmICgzIDw8IDIyICE9PSAxMjU4MjkxMikgeyAKICAkRVJST1IoJyM3MDc6IDMgPDwgMjIgPT09IDEyNTgyOTEyLiBBY3R1YWw6ICcgKyAoMyA8PCAyMikpOyAKfSAKCgppZiAoNyA8PCAyMiAhPT0gMjkzNjAxMjgpIHsgCiAgJEVSUk9SKCcjNzA4OiA3IDw8IDIyID09PSAyOTM2MDEyOC4gQWN0dWFsOiAnICsgKDcgPDwgMjIpKTsgCn0gCgoKaWYgKDE1IDw8IDIyICE9PSA2MjkxNDU2MCkgeyAKICAkRVJST1IoJyM3MDk6IDE1IDw8IDIyID09PSA2MjkxNDU2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIyKSk7IAp9IAoKCmlmICgzMSA8PCAyMiAhPT0gMTMwMDIzNDI0KSB7IAogICRFUlJPUignIzcxMDogMzEgPDwgMjIgPT09IDEzMDAyMzQyNC4gQWN0dWFsOiAnICsgKDMxIDw8IDIyKSk7IAp9IAoKCmlmICg2MyA8PCAyMiAhPT0gMjY0MjQxMTUyKSB7IAogICRFUlJPUignIzcxMTogNjMgPDwgMjIgPT09IDI2NDI0MTE1Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMjcgPDwgMjIgIT09IDUzMjY3NjYwOCkgeyAKICAkRVJST1IoJyM3MTI6IDEyNyA8PCAyMiA9PT0gNTMyNjc2NjA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIyKSk7IAp9IAoKCmlmICgyNTUgPDwgMjIgIT09IDEwNjk1NDc1MjApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPDwgMjIgPT09IDEwNjk1NDc1MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUxMSA8PCAyMiAhPT0gMjE0MzI4OTM0NCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA8PCAyMiA9PT0gMjE0MzI4OTM0NC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE1OiAxMDIzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcxNjogMjA0NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMikpOyAKfSAKCgppZiAoODE5MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE4OiA4MTkxIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjIpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMikpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMTogNjU1MzUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMzogMjYyMTQzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjQ6IDUyNDI4NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI3OiA0MTk0MzAzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMDogMzM1NTQ0MzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODYzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM0OiA1MzY4NzA5MTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjMgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjIpKTsgCn0gCgoKaWYgKDAgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAwIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMykpOyAKfSAKCgppZiAoMSA8PCAyMyAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Mzg6IDEgPDwgMjMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxIDw8IDIzKSk7IAp9IAoKCmlmICgzIDw8IDIzICE9PSAyNTE2NTgyNCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPDwgMjMgPT09IDI1MTY1ODI0LiBBY3R1YWw6ICcgKyAoMyA8PCAyMykpOyAKfSAKCgppZiAoNyA8PCAyMyAhPT0gNTg3MjAyNTYpIHsgCiAgJEVSUk9SKCcjNzQwOiA3IDw8IDIzID09PSA1ODcyMDI1Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjMpKTsgCn0gCgoKaWYgKDE1IDw8IDIzICE9PSAxMjU4MjkxMjApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNSA8PCAyMyA9PT0gMTI1ODI5MTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjMpKTsgCn0gCgoKaWYgKDMxIDw8IDIzICE9PSAyNjAwNDY4NDgpIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA8PCAyMyA9PT0gMjYwMDQ2ODQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMjMpKTsgCn0gCgoKaWYgKDYzIDw8IDIzICE9PSA1Mjg0ODIzMDQpIHsgCiAgJEVSUk9SKCcjNzQzOiA2MyA8PCAyMyA9PT0gNTI4NDgyMzA0LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjMpKTsgCn0gCgoKaWYgKDEyNyA8PCAyMyAhPT0gMTA2NTM1MzIxNikgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA8PCAyMyA9PT0gMTA2NTM1MzIxNi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMykpOyAKfSAKCgppZiAoMjU1IDw8IDIzICE9PSAyMTM5MDk1MDQwKSB7IAogICRFUlJPUignIzc0NTogMjU1IDw8IDIzID09PSAyMTM5MDk1MDQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDIzKSk7IAp9IAoKCmlmICg1MTEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0NjogNTExIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMykpOyAKfSAKCgppZiAoMTAyMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0ODogMjA0NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDIzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NDk6IDQwOTUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMykpOyAKfSAKCgppZiAoODE5MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTE6IDE2MzgzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUyOiAzMjc2NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NTogMjYyMTQzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTg6IDIwOTcxNTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MDogODM4ODYwNyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzYxOiAxNjc3NzIxNSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODYzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjMgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjMpKTsgCn0gCgoKaWYgKDAgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAwIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNCkpOyAKfSAKCgppZiAoMSA8PCAyNCAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzcwOiAxIDw8IDI0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEgPDwgMjQpKTsgCn0gCgoKaWYgKDMgPDwgMjQgIT09IDUwMzMxNjQ4KSB7IAogICRFUlJPUignIzc3MTogMyA8PCAyNCA9PT0gNTAzMzE2NDguIEFjdHVhbDogJyArICgzIDw8IDI0KSk7IAp9IAoKCmlmICg3IDw8IDI0ICE9PSAxMTc0NDA1MTIpIHsgCiAgJEVSUk9SKCcjNzcyOiA3IDw8IDI0ID09PSAxMTc0NDA1MTIuIEFjdHVhbDogJyArICg3IDw8IDI0KSk7IAp9IAoKCmlmICgxNSA8PCAyNCAhPT0gMjUxNjU4MjQwKSB7IAogICRFUlJPUignIzc3MzogMTUgPDwgMjQgPT09IDI1MTY1ODI0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDI0KSk7IAp9IAoKCmlmICgzMSA8PCAyNCAhPT0gNTIwMDkzNjk2KSB7IAogICRFUlJPUignIzc3NDogMzEgPDwgMjQgPT09IDUyMDA5MzY5Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI0KSk7IAp9IAoKCmlmICg2MyA8PCAyNCAhPT0gMTA1Njk2NDYwOCkgeyAKICAkRVJST1IoJyM3NzU6IDYzIDw8IDI0ID09PSAxMDU2OTY0NjA4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjQpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNCAhPT0gMjEzMDcwNjQzMikgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA8PCAyNCA9PT0gMjEzMDcwNjQzMi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc3OTogMTAyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MDogMjA0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyNCkpOyAKfSAKCgppZiAoNDA5NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MTogNDA5NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyNCkpOyAKfSAKCgppZiAoODE5MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MjogODE5MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODM6IDE2MzgzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODU6IDY1NTM1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyNCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyNCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg4OiA1MjQyODcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MTogNDE5NDMwMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MjogODM4ODYwNyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTQ6IDMzNTU0NDMxIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODYzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5OTogMTA3Mzc0MTgyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNCkpOyAKfSAKCgppZiAoMCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDAgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI1KSk7IAp9IAoKCmlmICgxIDw8IDI1ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MDI6IDEgPDwgMjUgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAyNSkpOyAKfSAKCgppZiAoMyA8PCAyNSAhPT0gMTAwNjYzMjk2KSB7IAogICRFUlJPUignIzgwMzogMyA8PCAyNSA9PT0gMTAwNjYzMjk2LiBBY3R1YWw6ICcgKyAoMyA8PCAyNSkpOyAKfSAKCgppZiAoNyA8PCAyNSAhPT0gMjM0ODgxMDI0KSB7IAogICRFUlJPUignIzgwNDogNyA8PCAyNSA9PT0gMjM0ODgxMDI0LiBBY3R1YWw6ICcgKyAoNyA8PCAyNSkpOyAKfSAKCgppZiAoMTUgPDwgMjUgIT09IDUwMzMxNjQ4MCkgeyAKICAkRVJST1IoJyM4MDU6IDE1IDw8IDI1ID09PSA1MDMzMTY0ODAuIEFjdHVhbDogJyArICgxNSA8PCAyNSkpOyAKfSAKCgppZiAoMzEgPDwgMjUgIT09IDEwNDAxODczOTIpIHsgCiAgJEVSUk9SKCcjODA2OiAzMSA8PCAyNSA9PT0gMTA0MDE4NzM5Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDI1KSk7IAp9IAoKCmlmICg2MyA8PCAyNSAhPT0gMjExMzkyOTIxNikgeyAKICAkRVJST1IoJyM4MDc6IDYzIDw8IDI1ID09PSAyMTEzOTI5MjE2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwODogMTI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwOTogMjU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxMDogNTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTI6IDIwNDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTM6IDQwOTUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE1OiAxNjM4MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2NyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjUpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxODogMTMxMDcxIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQzIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjE6IDEwNDg1NzUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjQ6IDgzODg2MDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI3OiA2NzEwODg2MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzI6IDIxNDc0ODM2NDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjUpKTsgCn0gCgoKaWYgKDAgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAwIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNikpOyAKfSAKCgppZiAoMSA8PCAyNiAhPT0gNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODM0OiAxIDw8IDI2ID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgMjYpKTsgCn0gCgoKaWYgKDMgPDwgMjYgIT09IDIwMTMyNjU5MikgeyAKICAkRVJST1IoJyM4MzU6IDMgPDwgMjYgPT09IDIwMTMyNjU5Mi4gQWN0dWFsOiAnICsgKDMgPDwgMjYpKTsgCn0gCgoKaWYgKDcgPDwgMjYgIT09IDQ2OTc2MjA0OCkgeyAKICAkRVJST1IoJyM4MzY6IDcgPDwgMjYgPT09IDQ2OTc2MjA0OC4gQWN0dWFsOiAnICsgKDcgPDwgMjYpKTsgCn0gCgoKaWYgKDE1IDw8IDI2ICE9PSAxMDA2NjMyOTYwKSB7IAogICRFUlJPUignIzgzNzogMTUgPDwgMjYgPT09IDEwMDY2MzI5NjAuIEFjdHVhbDogJyArICgxNSA8PCAyNikpOyAKfSAKCgppZiAoMzEgPDwgMjYgIT09IDIwODAzNzQ3ODQpIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA8PCAyNiA9PT0gMjA4MDM3NDc4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgzOTogNjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDE6IDI1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ0OiAyMDQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDI2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4MTkxIDw8IDI2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0NzogMTYzODMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0ODogMzI3NjcgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDI2KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTA6IDEzMTA3MSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0MyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDI2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI2KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODUzOiAxMDQ4NTc1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDI2KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI2KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU2OiA4Mzg4NjA3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1OTogNjcxMDg4NjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjI6IDUzNjg3MDkxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODYzOiAxMDczNzQxODIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI2KSk7IAp9IAoKCmlmICgwIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NTogMCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMjcpKTsgCn0gCgoKaWYgKDEgPDwgMjcgIT09IDEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPDwgMjcgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgMjcpKTsgCn0gCgoKaWYgKDMgPDwgMjcgIT09IDQwMjY1MzE4NCkgeyAKICAkRVJST1IoJyM4Njc6IDMgPDwgMjcgPT09IDQwMjY1MzE4NC4gQWN0dWFsOiAnICsgKDMgPDwgMjcpKTsgCn0gCgoKaWYgKDcgPDwgMjcgIT09IDkzOTUyNDA5NikgeyAKICAkRVJST1IoJyM4Njg6IDcgPDwgMjcgPT09IDkzOTUyNDA5Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjcpKTsgCn0gCgoKaWYgKDE1IDw8IDI3ICE9PSAyMDEzMjY1OTIwKSB7IAogICRFUlJPUignIzg2OTogMTUgPDwgMjcgPT09IDIwMTMyNjU5MjAuIEFjdHVhbDogJyArICgxNSA8PCAyNykpOyAKfSAKCgppZiAoMzEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODcwOiAzMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDI3KSk7IAp9IAoKCmlmICg2MyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzE6IDYzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjcpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzI6IDEyNyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNykpOyAKfSAKCgppZiAoMjU1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3MzogMjU1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI3KSk7IAp9IAoKCmlmICg1MTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc0OiA1MTEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg1MTEgPDwgMjcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc1OiAxMDIzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNykpOyAKfSAKCgppZiAoMjA0NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzY6IDIwNDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDI3KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3NzogNDA5NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc4OiA4MTkxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNykpOyAKfSAKCgppZiAoMTYzODMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc5OiAxNjM4MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODA6IDMyNzY3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MTogNjU1MzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MjogMTMxMDcxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODgzOiAyNjIxNDMgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODQ6IDUyNDI4NyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODU6IDEwNDg1NzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4NjogMjA5NzE1MSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODg3OiA0MTk0MzAzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODg6IDgzODg2MDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODk6IDE2Nzc3MjE1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5MDogMzM1NTQ0MzEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkxOiA2NzEwODg2MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkyOiAxMzQyMTc3MjcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4OTM6IDI2ODQzNTQ1NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NDogNTM2ODcwOTExIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NTogMTA3Mzc0MTgyMyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNykpOyAKfSAKCgppZiAoMCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDAgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI4KSk7IAp9IAoKCmlmICgxIDw8IDI4ICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjODk4OiAxIDw8IDI4ID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgxIDw8IDI4KSk7IAp9IAoKCmlmICgzIDw8IDI4ICE9PSA4MDUzMDYzNjgpIHsgCiAgJEVSUk9SKCcjODk5OiAzIDw8IDI4ID09PSA4MDUzMDYzNjguIEFjdHVhbDogJyArICgzIDw8IDI4KSk7IAp9IAoKCmlmICg3IDw8IDI4ICE9PSAxODc5MDQ4MTkyKSB7IAogICRFUlJPUignIzkwMDogNyA8PCAyOCA9PT0gMTg3OTA0ODE5Mi4gQWN0dWFsOiAnICsgKDcgPDwgMjgpKTsgCn0gCgoKaWYgKDE1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwMTogMTUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxNSA8PCAyOCkpOyAKfSAKCgppZiAoMzEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTAyOiAzMSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI4KSk7IAp9IAoKCmlmICg2MyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDM6IDYzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjgpKTsgCn0gCgoKaWYgKDEyNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDQ6IDEyNyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCAyOCkpOyAKfSAKCgppZiAoMjU1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwNTogMjU1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI4KSk7IAp9IAoKCmlmICg1MTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA2OiA1MTEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MTEgPDwgMjgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA3OiAxMDIzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyOCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDg6IDIwNDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwOTogNDA5NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTEwOiA4MTkxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTExOiAxNjM4MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTI6IDMyNzY3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxMzogNjU1MzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyOCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxNDogMTMxMDcxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI4KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE1OiAyNjIxNDMgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTY6IDUyNDI4NyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTc6IDEwNDg1NzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxODogMjA5NzE1MSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE5OiA0MTk0MzAzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjA6IDgzODg2MDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjE6IDE2Nzc3MjE1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyMjogMzM1NTQ0MzEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTIzOiA2NzEwODg2MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI0OiAxMzQyMTc3MjcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjU6IDI2ODQzNTQ1NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNjogNTM2ODcwOTExIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNzogMTA3Mzc0MTgyMyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI4OiAyMTQ3NDgzNjQ3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyOCkpOyAKfSAKCgppZiAoMCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjk6IDAgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI5KSk7IAp9IAoKCmlmICgxIDw8IDI5ICE9PSA1MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMwOiAxIDw8IDI5ID09PSA1MzY4NzA5MTIuIEFjdHVhbDogJyArICgxIDw8IDI5KSk7IAp9IAoKCmlmICgzIDw8IDI5ICE9PSAxNjEwNjEyNzM2KSB7IAogICRFUlJPUignIzkzMTogMyA8PCAyOSA9PT0gMTYxMDYxMjczNi4gQWN0dWFsOiAnICsgKDMgPDwgMjkpKTsgCn0gCgoKaWYgKDcgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMyOiA3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNyA8PCAyOSkpOyAKfSAKCgppZiAoMTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMzOiAxNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDE1IDw8IDI5KSk7IAp9IAoKCmlmICgzMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5MzQ6IDMxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMjkpKTsgCn0gCgoKaWYgKDYzIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNTogNjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg2MyA8PCAyOSkpOyAKfSAKCgppZiAoMTI3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNjogMTI3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI5KSk7IAp9IAoKCmlmICgyNTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyNTUgPDwgMjkpKTsgCn0gCgoKaWYgKDUxMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzg6IDUxMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyOSkpOyAKfSAKCgppZiAoMTAyMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDI5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0MDogMjA0NyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyOSkpOyAKfSAKCgppZiAoODE5MSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDI6IDgxOTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDI5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDM6IDE2MzgzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0NDogMzI3NjcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyOSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI5KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0MyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyOSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI5KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODYzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODIzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI5KSk7IAp9IAoKCmlmICgwIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMzApKTsgCn0gCgoKaWYgKDEgPDwgMzAgIT09IDEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYyOiAxIDw8IDMwID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAzMCkpOyAKfSAKCgppZiAoMyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYzOiAzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMgPDwgMzApKTsgCn0gCgoKaWYgKDcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NDogNyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg3IDw8IDMwKSk7IAp9IAoKCmlmICgxNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTY1OiAxNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxNSA8PCAzMCkpOyAKfSAKCgppZiAoMzEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NjogMzEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzApKTsgCn0gCgoKaWYgKDYzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njc6IDYzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDMwKSk7IAp9IAoKCmlmICgxMjcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2ODogMTI3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAzMCkpOyAKfSAKCgppZiAoMjU1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyNTUgPDwgMzApKTsgCn0gCgoKaWYgKDUxMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMwKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzE6IDEwMjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAzMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMzApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3MzogNDA5NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDMwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzQ6IDgxOTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAzMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMzApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc3OiA2NTUzNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg2NTUzNSA8PCAzMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMzApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MDogNTI0Mjg3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAzMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMzApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODM6IDQxOTQzMDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg2OiAzMzU1NDQzMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAzMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4OTogMjY4NDM1NDU1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAzMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyMyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTI6IDIxNDc0ODM2NDcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAzMCkpOyAKfSAKCgppZiAoMCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDAgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDMxKSk7IAp9IAoKCmlmICgxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAzMSkpOyAKfSAKCgppZiAoMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk1OiAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMgPDwgMzEpKTsgCn0gCgoKaWYgKDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5NjogNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg3IDw8IDMxKSk7IAp9IAoKCmlmICgxNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNSA8PCAzMSkpOyAKfSAKCgppZiAoMzEgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5ODogMzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzEpKTsgCn0gCgoKaWYgKDYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTk6IDYzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDMxKSk7IAp9IAoKCmlmICgxMjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMjcgPDwgMzEpKTsgCn0gCgoKaWYgKDI1NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDI1NSA8PCAzMSkpOyAKfSAKCgppZiAoNTExIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAyOiA1MTEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMzEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzMSkpOyAKfSAKCgppZiAoNDA5NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwNTogNDA5NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg0MDk1IDw8IDMxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMzEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNjM4MyA8PCAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDg6IDMyNzY3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMzEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAzMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDExOiAyNjIxNDMgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxNDogMjA5NzE1MSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMzEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTc6IDE2Nzc3MjE1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDIwOiAxMzQyMTc3MjcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTExIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMzogMTA3Mzc0MTgyMyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDI0OiAyMTQ3NDgzNjQ3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMzEpKTsgCn0gCgo=","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xIDw8IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA8PCAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPDwgMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPDwgMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xIDw8IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPDwgMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xIDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPDwgMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xIDw8IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA8PCAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA8PCAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgo=","commentary":"Operator x << y uses ToInt32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAtMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxIDw8IC0zMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMSA8PCAtMzEuMSAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAxIDw8IC0zMS4xID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMSA8PCAtMzAuMSAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiAxIDw8IC0zMC4xID09PSA0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMzAuMSkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoMSA8PCAtMjkuMSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiAxIDw8IC0yOS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjkuMSkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoMSA8PCAtMjguMSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNTogMSA8PCAtMjguMSA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IC0yOC4xKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgxIDw8IC0yNy4xICE9PSAzMikgeyAKICAkRVJST1IoJyM2OiAxIDw8IC0yNy4xID09PSAzMi4gQWN0dWFsOiAnICsgKDEgPDwgLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDEgPDwgLTI2LjEgIT09IDY0KSB7IAogICRFUlJPUignIzc6IDEgPDwgLTI2LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoMSA8PCAtMjUuMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzg6IDEgPDwgLTI1LjEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTI1LjEpKTsgCn0gCgovL0NIRUNLIzkKaWYgKDEgPDwgLTI0LjEgIT09IDI1NikgeyAKICAkRVJST1IoJyM5OiAxIDw8IC0yNC4xID09PSAyNTYuIEFjdHVhbDogJyArICgxIDw8IC0yNC4xKSk7IAp9IAoKLy9DSEVDSyMxMAppZiAoMSA8PCAtMjMuMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzEwOiAxIDw8IC0yMy4xID09PSA1MTIuIEFjdHVhbDogJyArICgxIDw8IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMSA8PCAtMjIuMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxMTogMSA8PCAtMjIuMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEgPDwgLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgxIDw8IC0yMS4xICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAxIDw8IC0yMS4xID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDEgPDwgLTIwLjEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTM6IDEgPDwgLTIwLjEgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IC0yMC4xKSk7IAp9IAoKLy9DSEVDSyMxNAppZiAoMSA8PCAtMTkuMSAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDogMSA8PCAtMTkuMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE5LjEpKTsgCn0gCgovL0NIRUNLIzE1CmlmICgxIDw8IC0xOC4xICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNTogMSA8PCAtMTguMSA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxIDw8IC0xOC4xKSk7IAp9IAoKLy9DSEVDSyMxNgppZiAoMSA8PCAtMTcuMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDEgPDwgLTE3LjEgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDEgPDwgLTE2LjEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzE3OiAxIDw8IC0xNi4xID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEgPDwgLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICgxIDw8IC0xNS4xICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IDEgPDwgLTE1LjEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE1LjEpKTsgCn0gCgovL0NIRUNLIzE5CmlmICgxIDw8IC0xNC4xICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTk6IDEgPDwgLTE0LjEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgLTE0LjEpKTsgCn0gCgovL0NIRUNLIzIwCmlmICgxIDw8IC0xMy4xICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDEgPDwgLTEzLjEgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgxIDw8IC0xMi4xICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxIDw8IC0xMi4xID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDEgPDwgLTExLjEgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjI6IDEgPDwgLTExLjEgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxIDw8IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMSA8PCAtMTAuMSAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogMSA8PCAtMTAuMSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEgPDwgLTEwLjEpKTsgCn0gCgovL0NIRUNLIzI0CmlmICgxIDw8IC05LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQ6IDEgPDwgLTkuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgLTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMjUKaWYgKDEgPDwgLTguMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjU6IDEgPDwgLTguMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IC04LjEpKTsgCn0gCgovL0NIRUNLIzI2CmlmICgxIDw8IC03LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAxIDw8IC03LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoMSA8PCAtNi4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogMSA8PCAtNi4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDEgPDwgLTUuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzI4OiAxIDw8IC01LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMjkKaWYgKDEgPDwgLTQuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAxIDw8IC00LjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgLTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzAKaWYgKDEgPDwgLTMuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiAxIDw8IC0zLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDEgPDwgLTIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMSA8PCAtMi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMSA8PCAtMS4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogMSA8PCAtMS4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMzMKaWYgKDEgPDwgMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMzogMSA8PCAzMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAzMi4xKSk7IAp9IAoKLy9DSEVDSyMzNAppZiAoMSA8PCAzMy4xICE9PSAyKSB7IAogICRFUlJPUignIzM0OiAxIDw8IDMzLjEgPT09IDIuIEFjdHVhbDogJyArICgxIDw8IDMzLjEpKTsgCn0gCgovL0NIRUNLIzM1CmlmICgxIDw8IDM0LjEgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzU6IDEgPDwgMzQuMSA9PT0gNC4gQWN0dWFsOiAnICsgKDEgPDwgMzQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzYKaWYgKDEgPDwgMzUuMSAhPT0gOCkgeyAKICAkRVJST1IoJyMzNjogMSA8PCAzNS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMSA8PCAzNi4xICE9PSAxNikgeyAKICAkRVJST1IoJyMzNzogMSA8PCAzNi4xID09PSAxNi4gQWN0dWFsOiAnICsgKDEgPDwgMzYuMSkpOyAKfSAKCi8vQ0hFQ0sjMzgKaWYgKDEgPDwgMzcuMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMzg6IDEgPDwgMzcuMSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDM3LjEpKTsgCn0gCgovL0NIRUNLIzM5CmlmICgxIDw8IDM4LjEgIT09IDY0KSB7IAogICRFUlJPUignIzM5OiAxIDw8IDM4LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAzOC4xKSk7IAp9IAoKLy9DSEVDSyM0MAppZiAoMSA8PCAzOS4xICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA6IDEgPDwgMzkuMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMSA8PCAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMSA8PCA0MC4xICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDE6IDEgPDwgNDAuMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoMSA8PCA0MS4xICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDI6IDEgPDwgNDEuMSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA0MS4xKSk7IAp9IAoKLy9DSEVDSyM0MwppZiAoMSA8PCA0Mi4xICE9PSAxMDI0KSB7IAogICRFUlJPUignIzQzOiAxIDw8IDQyLjEgPT09IDEwMjQuIEFjdHVhbDogJyArICgxIDw8IDQyLjEpKTsgCn0gCgovL0NIRUNLIzQ0CmlmICgxIDw8IDQzLjEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjNDQ6IDEgPDwgNDMuMSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEgPDwgNDMuMSkpOyAKfSAKCi8vQ0hFQ0sjNDUKaWYgKDEgPDwgNDQuMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NTogMSA8PCA0NC4xID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMSA8PCA0NC4xKSk7IAp9IAoKLy9DSEVDSyM0NgppZiAoMSA8PCA0NS4xICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ2OiAxIDw8IDQ1LjEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxIDw8IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgxIDw8IDQ2LjEgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ3OiAxIDw8IDQ2LjEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCA0Ni4xKSk7IAp9IAoKLy9DSEVDSyM0OAppZiAoMSA8PCA0Ny4xICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0ODogMSA8PCA0Ny4xID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgNDcuMSkpOyAKfSAKCi8vQ0hFQ0sjNDkKaWYgKDEgPDwgNDguMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDk6IDEgPDwgNDguMSA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxIDw8IDQ4LjEpKTsgCn0gCgovL0NIRUNLIzUwCmlmICgxIDw8IDQ5LjEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MDogMSA8PCA0OS4xID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxIDw8IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgxIDw8IDUwLjEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTogMSA8PCA1MC4xID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxIDw8IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICgxIDw8IDUxLjEgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM1MjogMSA8PCA1MS4xID09PSA1MjQyODguIEFjdHVhbDogJyArICgxIDw8IDUxLjEpKTsgCn0gCgovL0NIRUNLIzUzCmlmICgxIDw8IDUyLjEgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTM6IDEgPDwgNTIuMSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEgPDwgNTIuMSkpOyAKfSAKCi8vQ0hFQ0sjNTQKaWYgKDEgPDwgNTMuMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDogMSA8PCA1My4xID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMSA8PCA1My4xKSk7IAp9IAoKLy9DSEVDSyM1NQppZiAoMSA8PCA1NC4xICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzU1OiAxIDw8IDU0LjEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDU0LjEpKTsgCn0gCgovL0NIRUNLIzU2CmlmICgxIDw8IDU1LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTY6IDEgPDwgNTUuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDEgPDwgNTYuMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTc6IDEgPDwgNTYuMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IDU2LjEpKTsgCn0gCgovL0NIRUNLIzU4CmlmICgxIDw8IDU3LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU4OiAxIDw8IDU3LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCA1Ny4xKSk7IAp9IAoKLy9DSEVDSyM1OQppZiAoMSA8PCA1OC4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM1OTogMSA8PCA1OC4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgNTguMSkpOyAKfSAKCi8vQ0hFQ0sjNjAKaWYgKDEgPDwgNTkuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzYwOiAxIDw8IDU5LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDEgPDwgNjAuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYxOiAxIDw8IDYwLjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDEgPDwgNjEuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzYyOiAxIDw8IDYxLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgNjEuMSkpOyAKfSAKCi8vQ0hFQ0sjNjMKaWYgKDEgPDwgNjIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MzogMSA8PCA2Mi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCA2Mi4xKSk7IAp9IAoKLy9DSEVDSyM2NAppZiAoMSA8PCA2My4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NDogMSA8PCA2My4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgNjMuMSkpOyAKfSAKCg==","commentary":"Operator x << y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4iIG9yIGJldHdlZW4gIj4+IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiLTRcdTAwMDk+Plx1MDAwOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiAtNFxcdTAwMDk+PlxcdTAwMDkxID09PSAtMicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIi00XHUwMDBCPj5cdTAwMEIxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogLTRcXHUwMDBCPj5cXHUwMDBCMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi00XHUwMDBDPj5cdTAwMEMxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMzogLTRcXHUwMDBDPj5cXHUwMDBDMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCItNFx1MDAyMD4+XHUwMDIwMSIpICE9PSAtMikgewogICRFUlJPUignIzQ6IC00XFx1MDAyMD4+XFx1MDAyMDEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLTRcdTAwQTA+Plx1MDBBMDEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNFxcdTAwQTA+PlxcdTAwQTAxID09PSAtMicpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIi00XHUwMDBBPj5cdTAwMEExIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogLTRcXHUwMDBBPj5cXHUwMDBBMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIi00XHUwMDBEPj5cdTAwMEQxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogLTRcXHUwMDBEPj5cXHUwMDBEMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItNFx1MjAyOD4+XHUyMDI4MSIpICE9PSAtMikgewogICRFUlJPUignIzg6IC00XFx1MjAyOD4+XFx1MjAyODEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiLTRcdTIwMjk+Plx1MjAyOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM5OiAtNFxcdTIwMjk+PlxcdTIwMjkxID09PSAtMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCItNFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAtMikgewogICRFUlJPUignIzEwOiAtNFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gLTInKTsKfQoK","commentary":"White Space and Line Terminator between ShiftExpression and \">>\" or between \">>\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgtNCA+PiAxICE9PSAtMikgewogICRFUlJPUignIzE6IC00ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsKaWYgKHggPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IC00OyB4ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+PiB5ICE9PSAtMikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4geSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IC00Owp2YXIgeSA9IDE7CmlmICh4ID4+IHkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAtNDsgdmFyIHkgPSAxOyB4ID4+IHkgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IC00OwpvYmplY3R5LnByb3AgPSAxOwppZiAob2JqZWN0eC5wcm9wID4+IG9iamVjdHkucHJvcCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IC00OyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj4gb2JqZWN0eS5wcm9wID09PSAtMi4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCA+PiBvYmplY3R5LnByb3ApKTsKfQoK","commentary":"Operator x >> y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gMTsKICAkRVJST1IoJyMxLjE6IHggPj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >> y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj4geTsKICAkRVJST1IoJyMxLjE6IDEgPj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PiB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >> y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxICE9PSAtMikgewogICAgJEVSUk9SKCcjNC4xOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxID09PSAtMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4gMSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKC00ID4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNCA+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAtMikgewogICRFUlJPUignIzY6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x >> y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+IHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPj4geCA9PT0gMC4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+ICh4ID0gMSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+PiAoeCA9IDEpID09PSAtMi4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj4geSAhPT0gMCkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4geSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiID4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+PiAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPj4gIngiKSk7Cn0KCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4gdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG51bGwpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiB7fSkpKTsKfQoKCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+PiAieCIpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+ICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKCIxIiA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIikpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA+PiAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDApKTsgCn0gCgoKaWYgKC0yID4+IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yID4+IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPj4gMCkpOyAKfSAKCgppZiAoLTQgPj4gMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPj4gMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA+PiAwKSk7IAp9IAoKCmlmICgtOCA+PiAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA+PiAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04ID4+IDApKTsgCn0gCgoKaWYgKC0xNiA+PiAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2ID4+IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA+PiAwKSk7IAp9IAoKCmlmICgtMzIgPj4gMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA+PiAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPj4gMCkpOyAKfSAKCgppZiAoLTY0ID4+IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPj4gMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDApKTsgCn0gCgoKaWYgKC0xMjggPj4gMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4ID4+IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4ID4+IDApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2ID4+IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2ID4+IDApKTsgCn0gCgoKaWYgKC01MTIgPj4gMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA+PiAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPj4gMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPj4gMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA+PiAwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPj4gMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA+PiAwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPj4gMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA+PiAwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPj4gMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA+PiAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPj4gMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2ID4+IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPj4gMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0ID4+IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA+PiAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPj4gMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPj4gMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPj4gMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPj4gMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPj4gMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA+PiAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0ID4+IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPj4gMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2ID4+IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA+PiAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPj4gMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAwKSk7IAp9IAoKCmlmICgtMSA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMzogLTEgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxKSk7IAp9IAoKCmlmICgtMiA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNDogLTIgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxKSk7IAp9IAoKCmlmICgtNCA+PiAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzNTogLTQgPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiAxKSk7IAp9IAoKCmlmICgtOCA+PiAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjogLTggPj4gMSA9PT0gLTQuIEFjdHVhbDogJyArICgtOCA+PiAxKSk7IAp9IAoKCmlmICgtMTYgPj4gMSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA+PiAxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNiA+PiAxKSk7IAp9IAoKCmlmICgtMzIgPj4gMSAhPT0gLTE2KSB7IAogICRFUlJPUignIzM4OiAtMzIgPj4gMSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTMyID4+IDEpKTsgCn0gCgoKaWYgKC02NCA+PiAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzk6IC02NCA+PiAxID09PSAtMzIuIEFjdHVhbDogJyArICgtNjQgPj4gMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNDA6IC0xMjggPj4gMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjU2ID4+IDEgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDE6IC0yNTYgPj4gMSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQyOiAtNTEyID4+IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDEgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDM6IC0xMDI0ID4+IDEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPj4gMSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPj4gMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNDA5NiA+PiAxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NjogLTgxOTIgPj4gMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODE5MiA+PiAxKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA+PiAxID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ4OiAtMzI3NjggPj4gMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IC02NTUzNiA+PiAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTA6IC0xMzEwNzIgPj4gMSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE6IC0yNjIxNDQgPj4gMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4ID4+IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDEgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTM6IC0xMDQ4NTc2ID4+IDEgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPj4gMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPj4gMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NjogLTgzODg2MDggPj4gMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA+PiAxID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAtMzM1NTQ0MzIgPj4gMSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTk6IC02NzEwODg2NCA+PiAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjA6IC0xMzQyMTc3MjggPj4gMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IC0yNjg0MzU0NTYgPj4gMSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyID4+IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjM6IC0xMDczNzQxODI0ID4+IDEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogLTIxNDc0ODM2NDggPj4gMSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxKSk7IAp9IAoKCmlmICgtMSA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTogLTEgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyKSk7IAp9IAoKCmlmICgtMiA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NjogLTIgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyKSk7IAp9IAoKCmlmICgtNCA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzogLTQgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyKSk7IAp9IAoKCmlmICgtOCA+PiAyICE9PSAtMikgeyAKICAkRVJST1IoJyM2ODogLTggPj4gMiA9PT0gLTIuIEFjdHVhbDogJyArICgtOCA+PiAyKSk7IAp9IAoKCmlmICgtMTYgPj4gMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA+PiAyID09PSAtNC4gQWN0dWFsOiAnICsgKC0xNiA+PiAyKSk7IAp9IAoKCmlmICgtMzIgPj4gMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA+PiAyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMiA+PiAyKSk7IAp9IAoKCmlmICgtNjQgPj4gMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPj4gMiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMjggPj4gMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzcyOiAtMTI4ID4+IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNzM6IC0yNTYgPj4gMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTEyID4+IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzQ6IC01MTIgPj4gMiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3NTogLTEwMjQgPj4gMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4ID4+IDIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3NzogLTQwOTYgPj4gMiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3ODogLTgxOTIgPj4gMiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtODE5MiA+PiAyKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA+PiAyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA+PiAyID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPj4gMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzgyOiAtMTMxMDcyID4+IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjODM6IC0yNjIxNDQgPj4gMiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODQ6IC01MjQyODggPj4gMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogLTEwNDg1NzYgPj4gMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyID4+IDIgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4NzogLTQxOTQzMDQgPj4gMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogLTgzODg2MDggPj4gMiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA+PiAyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA+PiAyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPj4gMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzkyOiAtMTM0MjE3NzI4ID4+IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjOTM6IC0yNjg0MzU0NTYgPj4gMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IC01MzY4NzA5MTIgPj4gMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPj4gMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4ID4+IDIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyKSk7IAp9IAoKCmlmICgtMSA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzogLTEgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzKSk7IAp9IAoKCmlmICgtMiA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODogLTIgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzKSk7IAp9IAoKCmlmICgtNCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTogLTQgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAzKSk7IAp9IAoKCmlmICgtOCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA6IC04ID4+IDMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMykpOyAKfSAKCgppZiAoLTE2ID4+IDMgIT09IC0yKSB7IAogICRFUlJPUignIzEwMTogLTE2ID4+IDMgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDMpKTsgCn0gCgoKaWYgKC0zMiA+PiAzICE9PSAtNCkgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA+PiAzID09PSAtNC4gQWN0dWFsOiAnICsgKC0zMiA+PiAzKSk7IAp9IAoKCmlmICgtNjQgPj4gMyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTAzOiAtNjQgPj4gMyA9PT0gLTguIEFjdHVhbDogJyArICgtNjQgPj4gMykpOyAKfSAKCgppZiAoLTEyOCA+PiAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTA0OiAtMTI4ID4+IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMykpOyAKfSAKCgppZiAoLTI1NiA+PiAzICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2ID4+IDMgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMykpOyAKfSAKCgppZiAoLTUxMiA+PiAzICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiAtNTEyID4+IDMgPT09IC02NC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMykpOyAKfSAKCgppZiAoLTEwMjQgPj4gMyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxMDc6IC0xMDI0ID4+IDMgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTAyNCA+PiAzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAzICE9PSAtMjU2KSB7IAogICRFUlJPUignIzEwODogLTIwNDggPj4gMyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDMgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiAtNDA5NiA+PiAzID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMykpOyAKfSAKCgppZiAoLTgxOTIgPj4gMyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTEwOiAtODE5MiA+PiAzID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMTE6IC0xNjM4NCA+PiAzID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPj4gMyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMykpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzExMzogLTY1NTM2ID4+IDMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzExNDogLTEzMTA3MiA+PiAzID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA+PiAzID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzExNjogLTUyNDI4OCA+PiAzID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTE3OiAtMTA0ODU3NiA+PiAzID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IC0yMDk3MTUyID4+IDMgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzExOTogLTQxOTQzMDQgPj4gMyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzEyMDogLTgzODg2MDggPj4gMyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAtMTY3NzcyMTYgPj4gMyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyID4+IDMgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxMjM6IC02NzEwODg2NCA+PiAzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IC0xMzQyMTc3MjggPj4gMyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPj4gMyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAzKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPj4gMyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogLTEwNzM3NDE4MjQgPj4gMyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMTI4OiAtMjE0NzQ4MzY0OCA+PiAzID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMykpOyAKfSAKCgppZiAoLTEgPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTI5OiAtMSA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDQpKTsgCn0gCgoKaWYgKC0yID4+IDQgIT09IC0xKSB7IAogICRFUlJPUignIzEzMDogLTIgPj4gNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA0KSk7IAp9IAoKCmlmICgtNCA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzE6IC00ID4+IDQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNCkpOyAKfSAKCgppZiAoLTggPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDQpKTsgCn0gCgoKaWYgKC0xNiA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzM6IC0xNiA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA0KSk7IAp9IAoKCmlmICgtMzIgPj4gNCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMTM0OiAtMzIgPj4gNCA9PT0gLTIuIEFjdHVhbDogJyArICgtMzIgPj4gNCkpOyAKfSAKCgppZiAoLTY0ID4+IDQgIT09IC00KSB7IAogICRFUlJPUignIzEzNTogLTY0ID4+IDQgPT09IC00LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDQpKTsgCn0gCgoKaWYgKC0xMjggPj4gNCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTM2OiAtMTI4ID4+IDQgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA0KSk7IAp9IAoKCmlmICgtMjU2ID4+IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPj4gNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA0KSk7IAp9IAoKCmlmICgtNTEyID4+IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzg6IC01MTIgPj4gNCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiA0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiA0ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA+PiA0ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA0KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA0ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzE0MDogLTIwNDggPj4gNCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA+PiA0ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNDI6IC04MTkyID4+IDQgPT09IC01MTIuIEFjdHVhbDogJyArICgtODE5MiA+PiA0KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTQzOiAtMTYzODQgPj4gNCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzE0NDogLTMyNzY4ID4+IDQgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDQpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IC02NTUzNiA+PiA0ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA0KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDQgIT09IC04MTkyKSB7IAogICRFUlJPUignIzE0NjogLTEzMTA3MiA+PiA0ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0ID4+IDQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiAtNTI0Mjg4ID4+IDQgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gNCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPj4gNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gNCAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMxNTA6IC0yMDk3MTUyID4+IDQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPj4gNCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDQpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTUyOiAtODM4ODYwOCA+PiA0ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDQgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzE1MzogLTE2Nzc3MjE2ID4+IDQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IC0zMzU1NDQzMiA+PiA0ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTU1OiAtNjcxMDg4NjQgPj4gNCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA0ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxNTY6IC0xMzQyMTc3MjggPj4gNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDQpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogLTI2ODQzNTQ1NiA+PiA0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1ODogLTUzNjg3MDkxMiA+PiA0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0ID4+IDQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDQpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAtMjE0NzQ4MzY0OCA+PiA0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNCkpOyAKfSAKCgppZiAoLTEgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTYxOiAtMSA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDUpKTsgCn0gCgoKaWYgKC0yID4+IDUgIT09IC0xKSB7IAogICRFUlJPUignIzE2MjogLTIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA1KSk7IAp9IAoKCmlmICgtNCA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjM6IC00ID4+IDUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNSkpOyAKfSAKCgppZiAoLTggPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY0OiAtOCA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDUpKTsgCn0gCgoKaWYgKC0xNiA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA1KSk7IAp9IAoKCmlmICgtMzIgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY2OiAtMzIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gNSkpOyAKfSAKCgppZiAoLTY0ID4+IDUgIT09IC0yKSB7IAogICRFUlJPUignIzE2NzogLTY0ID4+IDUgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDUpKTsgCn0gCgoKaWYgKC0xMjggPj4gNSAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMTY4OiAtMTI4ID4+IDUgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA1KSk7IAp9IAoKCmlmICgtMjU2ID4+IDUgIT09IC04KSB7IAogICRFUlJPUignIzE2OTogLTI1NiA+PiA1ID09PSAtOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gNSkpOyAKfSAKCgppZiAoLTUxMiA+PiA1ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTcwOiAtNTEyID4+IDUgPT09IC0xNi4gQWN0dWFsOiAnICsgKC01MTIgPj4gNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE3MTogLTEwMjQgPj4gNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gNSAhPT0gLTY0KSB7IAogICRFUlJPUignIzE3MjogLTIwNDggPj4gNSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gNSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxNzM6IC00MDk2ID4+IDUgPT09IC0xMjguIEFjdHVhbDogJyArICgtNDA5NiA+PiA1KSk7IAp9IAoKCmlmICgtODE5MiA+PiA1ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE3NDogLTgxOTIgPj4gNSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC04MTkyID4+IDUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA1ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzE3NTogLTE2Mzg0ID4+IDUgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDUgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE3NjogLTMyNzY4ID4+IDUgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDUpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA1ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxNzc6IC02NTUzNiA+PiA1ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA1KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDUgIT09IC00MDk2KSB7IAogICRFUlJPUignIzE3ODogLTEzMTA3MiA+PiA1ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA1ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNzk6IC0yNjIxNDQgPj4gNSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDUpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gNSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE4MDogLTUyNDI4OCA+PiA1ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDUpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IC0xMDQ4NTc2ID4+IDUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDUgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxODI6IC0yMDk3MTUyID4+IDUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDUpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDUgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTgzOiAtNDE5NDMwNCA+PiA1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gNSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IC04Mzg4NjA4ID4+IDUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxODU6IC0xNjc3NzIxNiA+PiA1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA1ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMxODY6IC0zMzU1NDQzMiA+PiA1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiAtNjcxMDg4NjQgPj4gNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA1ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxODg6IC0xMzQyMTc3MjggPj4gNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMTg5OiAtMjY4NDM1NDU2ID4+IDUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDUgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IC01MzY4NzA5MTIgPj4gNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTkxOiAtMTA3Mzc0MTgyNCA+PiA1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA1KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA1ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA+PiA1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA1KSk7IAp9IAoKCmlmICgtMSA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTM6IC0xID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNikpOyAKfSAKCgppZiAoLTIgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk0OiAtMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDYpKTsgCn0gCgoKaWYgKC00ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NTogLTQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA2KSk7IAp9IAoKCmlmICgtOCA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTY6IC04ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNikpOyAKfSAKCgppZiAoLTE2ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NzogLTE2ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDYpKTsgCn0gCgoKaWYgKC0zMiA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA2KSk7IAp9IAoKCmlmICgtNjQgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNikpOyAKfSAKCgppZiAoLTEyOCA+PiA2ICE9PSAtMikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPj4gNiA9PT0gLTIuIEFjdHVhbDogJyArICgtMTI4ID4+IDYpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMjAxOiAtMjU2ID4+IDYgPT09IC00LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA2KSk7IAp9IAoKCmlmICgtNTEyID4+IDYgIT09IC04KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA+PiA2ID09PSAtOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNikpOyAKfSAKCgppZiAoLTEwMjQgPj4gNiAhPT0gLTE2KSB7IAogICRFUlJPUignIzIwMzogLTEwMjQgPj4gNiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNikpOyAKfSAKCgppZiAoLTIwNDggPj4gNiAhPT0gLTMyKSB7IAogICRFUlJPUignIzIwNDogLTIwNDggPj4gNiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIwNTogLTQwOTYgPj4gNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNikpOyAKfSAKCgppZiAoLTgxOTIgPj4gNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyMDY6IC04MTkyID4+IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtODE5MiA+PiA2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA+PiA2ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiA2ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIwODogLTMyNzY4ID4+IDYgPT09IC01MTIuIEFjdHVhbDogJyArICgtMzI3NjggPj4gNikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2ID4+IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNiAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyID4+IDYgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDYgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIxMTogLTI2MjE0NCA+PiA2ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPj4gNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDYpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDYgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMTM6IC0xMDQ4NTc2ID4+IDYgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDYgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IC0yMDk3MTUyID4+IDYgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMTU6IC00MTk0MzA0ID4+IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDYpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjE2OiAtODM4ODYwOCA+PiA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDYgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPj4gNiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiA2KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gNiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMTg6IC0zMzU1NDQzMiA+PiA2ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTk6IC02NzEwODg2NCA+PiA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDYgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA+PiA2ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA2ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMjE6IC0yNjg0MzU0NTYgPj4gNiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjIyOiAtNTM2ODcwOTEyID4+IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA2ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAtMTA3Mzc0MTgyNCA+PiA2ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA2ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjI0OiAtMjE0NzQ4MzY0OCA+PiA2ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA2KSk7IAp9IAoKCmlmICgtMSA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjU6IC0xID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNykpOyAKfSAKCgppZiAoLTIgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjI2OiAtMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDcpKTsgCn0gCgoKaWYgKC00ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyNzogLTQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA3KSk7IAp9IAoKCmlmICgtOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjg6IC04ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNykpOyAKfSAKCgppZiAoLTE2ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyOTogLTE2ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMiA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzA6IC0zMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA3KSk7IAp9IAoKCmlmICgtNjQgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjMxOiAtNjQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNykpOyAKfSAKCgppZiAoLTEyOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDcpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNyAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjMzOiAtMjU2ID4+IDcgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA3KSk7IAp9IAoKCmlmICgtNTEyID4+IDcgIT09IC00KSB7IAogICRFUlJPUignIzIzNDogLTUxMiA+PiA3ID09PSAtNC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNykpOyAKfSAKCgppZiAoLTEwMjQgPj4gNyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMjM1OiAtMTAyNCA+PiA3ID09PSAtOC4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDcpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDcgIT09IC0xNikgeyAKICAkRVJST1IoJyMyMzY6IC0yMDQ4ID4+IDcgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDcgIT09IC0zMikgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2ID4+IDcgPT09IC0zMi4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDcgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyID4+IDcgPT09IC02NC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDcpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0ID4+IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTYzODQgPj4gNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDcgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjQwOiAtMzI3NjggPj4gNyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gNyAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNDE6IC02NTUzNiA+PiA3ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDcpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyID4+IDcgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA3KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDcgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI0MzogLTI2MjE0NCA+PiA3ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA3ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IC01MjQyODggPj4gNyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDcpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDcgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI0NTogLTEwNDg1NzYgPj4gNyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA3ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjQ2OiAtMjA5NzE1MiA+PiA3ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA3KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA3ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA+PiA3ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiA3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiA3ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA+PiA3ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA+PiA3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogLTMzNTU0NDMyID4+IDcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjUxOiAtNjcxMDg4NjQgPj4gNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDcgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA+PiA3ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IC0yNjg0MzU0NTYgPj4gNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjU0OiAtNTM2ODcwOTEyID4+IDcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA3ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0ID4+IDcgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPj4gNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNykpOyAKfSAKCgppZiAoLTEgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDgpKTsgCn0gCgoKaWYgKC0yID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI1ODogLTIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA4KSk7IAp9IAoKCmlmICgtNCA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNTk6IC00ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gOCkpOyAKfSAKCgppZiAoLTggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDgpKTsgCn0gCgoKaWYgKC0xNiA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA4KSk7IAp9IAoKCmlmICgtMzIgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gOCkpOyAKfSAKCgppZiAoLTY0ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2MzogLTY0ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDgpKTsgCn0gCgoKaWYgKC0xMjggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA4KSk7IAp9IAoKCmlmICgtMjU2ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2NTogLTI1NiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gOCkpOyAKfSAKCgppZiAoLTUxMiA+PiA4ICE9PSAtMikgeyAKICAkRVJST1IoJyMyNjY6IC01MTIgPj4gOCA9PT0gLTIuIEFjdHVhbDogJyArICgtNTEyID4+IDgpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDggIT09IC00KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPj4gOCA9PT0gLTQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA4KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA4ICE9PSAtOCkgeyAKICAkRVJST1IoJyMyNjg6IC0yMDQ4ID4+IDggPT09IC04LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gOCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gOCAhPT0gLTE2KSB7IAogICRFUlJPUignIzI2OTogLTQwOTYgPj4gOCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOCAhPT0gLTMyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPj4gOCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDggIT09IC02NCkgeyAKICAkRVJST1IoJyMyNzE6IC0xNjM4NCA+PiA4ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDggIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjcyOiAtMzI3NjggPj4gOCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyNzM6IC02NTUzNiA+PiA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNzQ6IC0xMzEwNzIgPj4gOCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNzU6IC0yNjIxNDQgPj4gOCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjc2OiAtNTI0Mjg4ID4+IDggPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiA4KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2ID4+IDggPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjc4OiAtMjA5NzE1MiA+PiA4ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNzk6IC00MTk0MzA0ID4+IDggPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDggIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4ID4+IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPj4gOCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDgpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI4MjogLTMzNTU0NDMyID4+IDggPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiAtNjcxMDg4NjQgPj4gOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA4KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjg0OiAtMTM0MjE3NzI4ID4+IDggPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDgpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2ID4+IDggPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA4KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogLTUzNjg3MDkxMiA+PiA4ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjg3OiAtMTA3Mzc0MTgyNCA+PiA4ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDgpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPj4gOCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA4KSk7IAp9IAoKCmlmICgtMSA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyODk6IC0xID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gOSkpOyAKfSAKCgppZiAoLTIgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDkpKTsgCn0gCgoKaWYgKC00ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MTogLTQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA5KSk7IAp9IAoKCmlmICgtOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTI6IC04ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gOSkpOyAKfSAKCgppZiAoLTE2ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MzogLTE2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMiA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTQ6IC0zMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA5KSk7IAp9IAoKCmlmICgtNjQgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gOSkpOyAKfSAKCgppZiAoLTEyOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTY6IC0xMjggPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDkpKTsgCn0gCgoKaWYgKC0yNTYgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk3OiAtMjU2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA5KSk7IAp9IAoKCmlmICgtNTEyID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5ODogLTUxMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gOSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gOSAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjk5OiAtMTAyNCA+PiA5ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDkpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDkgIT09IC00KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPj4gOSA9PT0gLTQuIEFjdHVhbDogJyArICgtMjA0OCA+PiA5KSk7IAp9IAoKCmlmICgtNDA5NiA+PiA5ICE9PSAtOCkgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2ID4+IDkgPT09IC04LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOSAhPT0gLTE2KSB7IAogICRFUlJPUignIzMwMjogLTgxOTIgPj4gOSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDkgIT09IC0zMikgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA+PiA5ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDkgIT09IC02NCkgeyAKICAkRVJST1IoJyMzMDQ6IC0zMjc2OCA+PiA5ID09PSAtNjQuIEFjdHVhbDogJyArICgtMzI3NjggPj4gOSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDkgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMzA1OiAtNjU1MzYgPj4gOSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDkgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMzA2OiAtMTMxMDcyID4+IDkgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMDc6IC0yNjIxNDQgPj4gOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA5ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPj4gOSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDkpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzMwOTogLTEwNDg1NzYgPj4gOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyID4+IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gOSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA+PiA5ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDkgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMTI6IC04Mzg4NjA4ID4+IDkgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPj4gOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA5ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzE0OiAtMzM1NTQ0MzIgPj4gOSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA5ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0ID4+IDkgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA+PiA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2ID4+IDkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gOSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzE4OiAtNTM2ODcwOTEyID4+IDkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0ID4+IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzIwOiAtMjE0NzQ4MzY0OCA+PiA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDkpKTsgCn0gCgoKaWYgKC0xID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjE6IC0xID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEwKSk7IAp9IAoKCmlmICgtMiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMCkpOyAKfSAKCgppZiAoLTQgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyMzogLTQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTApKTsgCn0gCgoKaWYgKC04ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjQ6IC04ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEwKSk7IAp9IAoKCmlmICgtMTYgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyNTogLTE2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMCkpOyAKfSAKCgppZiAoLTMyID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI3OiAtNjQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEwKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjg6IC0xMjggPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI1NiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTApKTsgCn0gCgoKaWYgKC01MTIgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMzMDogLTUxMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTAgIT09IC0yKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPj4gMTAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTApKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEwICE9PSAtNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2ID4+IDEwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA+PiAxMCA9PT0gLTguIEFjdHVhbDogJyArICgtODE5MiA+PiAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPj4gMTAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDEwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPj4gMTAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPj4gMTAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPj4gMTAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA+PiAxMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMTApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMTAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4ID4+IDEwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPj4gMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyID4+IDEwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxMCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiAtNDE5NDMwNCA+PiAxMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTAgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPj4gMTAgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2ID4+IDEwID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM0NjogLTMzNTU0NDMyID4+IDEwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM0NzogLTY3MTA4ODY0ID4+IDEwID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzQ4OiAtMTM0MjE3NzI4ID4+IDEwID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxMCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IC0yNjg0MzU0NTYgPj4gMTAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDEwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDEwICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM1MDogLTUzNjg3MDkxMiA+PiAxMCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzNTE6IC0xMDczNzQxODI0ID4+IDEwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAtMjE0NzQ4MzY0OCA+PiAxMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1MzogLTEgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMTEpKTsgCn0gCgoKaWYgKC0yID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTQ6IC0yID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDExKSk7IAp9IAoKCmlmICgtNCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU1OiAtNCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAxMSkpOyAKfSAKCgppZiAoLTggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1NjogLTggPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMTEpKTsgCn0gCgoKaWYgKC0xNiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU3OiAtMTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDExKSk7IAp9IAoKCmlmICgtMzIgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1ODogLTMyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAxMSkpOyAKfSAKCgppZiAoLTY0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTk6IC02NCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMjggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM2MDogLTEyOCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDExKSk7IAp9IAoKCmlmICgtMjU2ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjE6IC0yNTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAtNTEyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjM6IC0xMDI0ID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDExKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzY0OiAtMjA0OCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMTEgIT09IC0yKSB7IAogICRFUlJPUignIzM2NTogLTQwOTYgPj4gMTEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMTEpKTsgCn0gCgoKaWYgKC04MTkyID4+IDExICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjY6IC04MTkyID4+IDExID09PSAtNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMTEgIT09IC04KSB7IAogICRFUlJPUignIzM2NzogLTE2Mzg0ID4+IDExID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDExICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY4OiAtMzI3NjggPj4gMTEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDExICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPj4gMTEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzM3MDogLTEzMTA3MiA+PiAxMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPj4gMTEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDExICE9PSAtMjU2KSB7IAogICRFUlJPUignIzM3MjogLTUyNDI4OCA+PiAxMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDExICE9PSAtNTEyKSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPj4gMTEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPj4gMTEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTEpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzU6IC00MTk0MzA0ID4+IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiAtODM4ODYwOCA+PiAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDExICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA+PiAxMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTEpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyID4+IDExID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM3OTogLTY3MTA4ODY0ID4+IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzODA6IC0xMzQyMTc3MjggPj4gMTEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzgxOiAtMjY4NDM1NDU2ID4+IDExID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IC01MzY4NzA5MTIgPj4gMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDExKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzODM6IC0xMDczNzQxODI0ID4+IDExID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDExICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzODQ6IC0yMTQ3NDgzNjQ4ID4+IDExID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDExKSk7IAp9IAoKCmlmICgtMSA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxMikpOyAKfSAKCgppZiAoLTIgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM4NjogLTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTIpKTsgCn0gCgoKaWYgKC00ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODc6IC00ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDEyKSk7IAp9IAoKCmlmICgtOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxMikpOyAKfSAKCgppZiAoLTE2ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODk6IC0xNiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTIpKTsgCn0gCgoKaWYgKC0zMiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkwOiAtMzIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDEyKSk7IAp9IAoKCmlmICgtNjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MTogLTY0ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxMikpOyAKfSAKCgppZiAoLTEyOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkyOiAtMTI4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MzogLTI1NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDEyKSk7IAp9IAoKCmlmICgtNTEyID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzk3OiAtNDA5NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxMikpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTIgIT09IC0yKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPj4gMTIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTIpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzk5OiAtMTYzODQgPj4gMTIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTIgIT09IC04KSB7IAogICRFUlJPUignIzQwMDogLTMyNzY4ID4+IDEyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDAxOiAtNjU1MzYgPj4gMTIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzQwMjogLTEzMTA3MiA+PiAxMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzQwMzogLTI2MjE0NCA+PiAxMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0MDQ6IC01MjQyODggPj4gMTIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0MDU6IC0xMDQ4NTc2ID4+IDEyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQwNjogLTIwOTcxNTIgPj4gMTIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTIgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQwNzogLTQxOTQzMDQgPj4gMTIgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDEyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MDg6IC04Mzg4NjA4ID4+IDEyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2ID4+IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDEyICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTA6IC0zMzU1NDQzMiA+PiAxMiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxMTogLTY3MTA4ODY0ID4+IDEyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTIgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPj4gMTIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTIgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0MTM6IC0yNjg0MzU0NTYgPj4gMTIgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyID4+IDEyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTIgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA+PiAxMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4ID4+IDEyID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTIpKTsgCn0gCgoKaWYgKC0xID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MTc6IC0xID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEzKSk7IAp9IAoKCmlmICgtMiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDE4OiAtMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMykpOyAKfSAKCgppZiAoLTQgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQxOTogLTQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTMpKTsgCn0gCgoKaWYgKC04ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjA6IC04ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEzKSk7IAp9IAoKCmlmICgtMTYgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyMTogLTE2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMykpOyAKfSAKCgppZiAoLTMyID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTMpKTsgCn0gCgoKaWYgKC02NCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDIzOiAtNjQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEzKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMykpOyAKfSAKCgppZiAoLTI1NiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyNjogLTUxMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyODogLTIwNDggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEzKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDMwOiAtODE5MiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxMykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEzICE9PSAtMikgeyAKICAkRVJST1IoJyM0MzE6IC0xNjM4NCA+PiAxMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTMpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPj4gMTMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEzKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTMgIT09IC04KSB7IAogICRFUlJPUignIzQzMzogLTY1NTM2ID4+IDEzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzQzNDogLTEzMTA3MiA+PiAxMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA+PiAxMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA+PiAxMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDM3OiAtMTA0ODU3NiA+PiAxMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDEzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0Mzg6IC0yMDk3MTUyID4+IDEzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDEzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQzOTogLTQxOTQzMDQgPj4gMTMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMykpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTMgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPj4gMTMgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTMpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNDQxOiAtMTY3NzcyMTYgPj4gMTMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMTMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQ0MjogLTMzNTU0NDMyID4+IDEzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA+PiAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPj4gMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IC0yNjg0MzU0NTYgPj4gMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0NDY6IC01MzY4NzA5MTIgPj4gMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ0NzogLTEwNzM3NDE4MjQgPj4gMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAtMjE0NzQ4MzY0OCA+PiAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDEzKSk7IAp9IAoKCmlmICgtMSA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNCkpOyAKfSAKCgppZiAoLTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1MDogLTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTE6IC00ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE0KSk7IAp9IAoKCmlmICgtOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDUyOiAtOCA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNCkpOyAKfSAKCgppZiAoLTE2ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTM6IC0xNiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTQpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE0KSk7IAp9IAoKCmlmICgtNjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NTogLTY0ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU2OiAtMTI4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTQpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NzogLTI1NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE0KSk7IAp9IAoKCmlmICgtNTEyID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTg6IC01MTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTQpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NjA6IC0yMDQ4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYxOiAtNDA5NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ2MjogLTgxOTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYzOiAtMTYzODQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE0KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTQgIT09IC0yKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4ID4+IDE0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM0NjU6IC02NTUzNiA+PiAxNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTQpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTQgIT09IC04KSB7IAogICRFUlJPUignIzQ2NjogLTEzMTA3MiA+PiAxNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE0KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0ID4+IDE0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNDY4OiAtNTI0Mjg4ID4+IDE0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzQ2OTogLTEwNDg1NzYgPj4gMTQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE0KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0NzA6IC0yMDk3MTUyID4+IDE0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE0ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQ3MTogLTQxOTQzMDQgPj4gMTQgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTQgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiAtODM4ODYwOCA+PiAxNCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTQgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ3MzogLTE2Nzc3MjE2ID4+IDE0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE0ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NzQ6IC0zMzU1NDQzMiA+PiAxNCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTQpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPj4gMTQgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE0KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE0ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NzY6IC0xMzQyMTc3MjggPj4gMTQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogLTI2ODQzNTQ1NiA+PiAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA+PiAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTQgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0Nzk6IC0xMDczNzQxODI0ID4+IDE0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTQgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA+PiAxNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtMSA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDgxOiAtMSA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNSkpOyAKfSAKCgppZiAoLTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4MjogLTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTUpKTsgCn0gCgoKaWYgKC00ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODM6IC00ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE1KSk7IAp9IAoKCmlmICgtOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg0OiAtOCA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNSkpOyAKfSAKCgppZiAoLTE2ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODU6IC0xNiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTUpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg2OiAtMzIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE1KSk7IAp9IAoKCmlmICgtNjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4NzogLTY0ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg4OiAtMTI4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTUpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4OTogLTI1NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE1KSk7IAp9IAoKCmlmICgtNTEyID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTA6IC01MTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5MTogLTEwMjQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE1KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NDogLTgxOTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDk1OiAtMTYzODQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE1KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NjogLTMyNzY4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE1ICE9PSAtMikgeyAKICAkRVJST1IoJyM0OTc6IC02NTUzNiA+PiAxNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTUgIT09IC00KSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA+PiAxNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE1KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OTk6IC0yNjIxNDQgPj4gMTUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzUwMDogLTUyNDI4OCA+PiAxNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTUgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2ID4+IDE1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTUgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MDI6IC0yMDk3MTUyID4+IDE1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA+PiAxNSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4ID4+IDE1ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA+PiAxNSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1MDY6IC0zMzU1NDQzMiA+PiAxNSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPj4gMTUgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IC0xMzQyMTc3MjggPj4gMTUgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTA5OiAtMjY4NDM1NDU2ID4+IDE1ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTUpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM1MTA6IC01MzY4NzA5MTIgPj4gMTUgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAtMTA3Mzc0MTgyNCA+PiAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA+PiAxNSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTUpKTsgCn0gIAoK","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = -2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKC0xID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTM6IC0xID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE2KSk7IAp9IAoKCmlmICgtMiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNikpOyAKfSAKCgppZiAoLTQgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNTogLTQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTYpKTsgCn0gCgoKaWYgKC04ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTY6IC04ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE2KSk7IAp9IAoKCmlmICgtMTYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNzogLTE2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNikpOyAKfSAKCgppZiAoLTMyID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTg6IC0zMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTYpKTsgCn0gCgoKaWYgKC02NCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE5OiAtNjQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE2KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjA6IC0xMjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNikpOyAKfSAKCgppZiAoLTI1NiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIxOiAtMjU2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTYpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyMjogLTUxMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE2KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNikpOyAKfSAKCgppZiAoLTIwNDggPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTYpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjU6IC00MDk2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE2KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI2OiAtODE5MiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Mjc6IC0xNjM4NCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI4OiAtMzI3NjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE2KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTMwOiAtMTMxMDcyID4+IDE2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTYgIT09IC00KSB7IAogICRFUlJPUignIzUzMTogLTI2MjE0NCA+PiAxNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE2KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPj4gMTYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTYgIT09IC0xNikgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2ID4+IDE2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTYgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MzQ6IC0yMDk3MTUyID4+IDE2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTYgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MzU6IC00MTk0MzA0ID4+IDE2ID09PSAtNjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTYgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTM2OiAtODM4ODYwOCA+PiAxNiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTYgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAtMTY3NzcyMTYgPj4gMTYgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxNiAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1Mzg6IC0zMzU1NDQzMiA+PiAxNiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE2ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1Mzk6IC02NzEwODg2NCA+PiAxNiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTYgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzU0MDogLTEzNDIxNzcyOCA+PiAxNiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE2ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPj4gMTYgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTQyOiAtNTM2ODcwOTEyID4+IDE2ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE2ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAtMTA3Mzc0MTgyNCA+PiAxNiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE2ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA+PiAxNiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTYpKTsgCn0gCgoKaWYgKC0xID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDU6IC0xID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE3KSk7IAp9IAoKCmlmICgtMiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTQ2OiAtMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNykpOyAKfSAKCgppZiAoLTQgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0NzogLTQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTcpKTsgCn0gCgoKaWYgKC04ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDg6IC04ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE3KSk7IAp9IAoKCmlmICgtMTYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0OTogLTE2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNykpOyAKfSAKCgppZiAoLTMyID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTA6IC0zMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTcpKTsgCn0gCgoKaWYgKC02NCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUxOiAtNjQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE3KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTI6IC0xMjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNykpOyAKfSAKCgppZiAoLTI1NiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUzOiAtMjU2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTcpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NDogLTUxMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE3KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NjogLTIwNDggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTc6IC00MDk2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE3KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU4OiAtODE5MiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTk6IC0xNjM4NCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTcpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU2MTogLTY1NTM2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYyOiAtMTMxMDcyID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTcgIT09IC0yKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA+PiAxNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE3KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1NjQ6IC01MjQyODggPj4gMTcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTcgIT09IC04KSB7IAogICRFUlJPUignIzU2NTogLTEwNDg1NzYgPj4gMTcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTY2OiAtMjA5NzE1MiA+PiAxNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE3ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiAtNDE5NDMwNCA+PiAxNyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTcpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDE3ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA+PiAxNyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM1Njk6IC0xNjc3NzIxNiA+PiAxNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE3ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzU3MDogLTMzNTU0NDMyID4+IDE3ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTcgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNTcxOiAtNjcxMDg4NjQgPj4gMTcgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA+PiAxNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE3ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IC0yNjg0MzU0NTYgPj4gMTcgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNTc0OiAtNTM2ODcwOTEyID4+IDE3ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0ID4+IDE3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxNyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPj4gMTcgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE3KSk7IAp9IAoKCmlmICgtMSA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxOCkpOyAKfSAKCgppZiAoLTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU3ODogLTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTgpKTsgCn0gCgoKaWYgKC00ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Nzk6IC00ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE4KSk7IAp9IAoKCmlmICgtOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTgpKTsgCn0gCgoKaWYgKC0zMiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4MzogLTY0ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxOCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTgpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NTogLTI1NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE4KSk7IAp9IAoKCmlmICgtNTEyID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODY6IC01MTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxOCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODg6IC0yMDQ4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTkxOiAtMTYzODQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE4KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxOCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTM6IC02NTUzNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5NDogLTEzMTA3MiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE4KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxOCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTk2OiAtNTI0Mjg4ID4+IDE4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDE4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1OTc6IC0xMDQ4NTc2ID4+IDE4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA+PiAxOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxOCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTggIT09IC0xNikgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0ID4+IDE4ID09PSAtMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTggIT09IC0zMikgeyAKICAkRVJST1IoJyM2MDA6IC04Mzg4NjA4ID4+IDE4ID09PSAtMzIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE4ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjAxOiAtMTY3NzcyMTYgPj4gMTggPT09IC02NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE4ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYwMjogLTMzNTU0NDMyID4+IDE4ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiAtNjcxMDg4NjQgPj4gMTggPT09IC0yNTYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTggIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjA0OiAtMTM0MjE3NzI4ID4+IDE4ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxOCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxOCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjA1OiAtMjY4NDM1NDU2ID4+IDE4ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTggIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzYwNjogLTUzNjg3MDkxMiA+PiAxOCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDE4KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxOCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA+PiAxOCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxOCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTggIT09IC04MTkyKSB7IAogICRFUlJPUignIzYwODogLTIxNDc0ODM2NDggPj4gMTggPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTgpKTsgCn0gCgoKaWYgKC0xID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MDk6IC0xID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE5KSk7IAp9IAoKCmlmICgtMiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjEwOiAtMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxOSkpOyAKfSAKCgppZiAoLTQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMTogLTQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTkpKTsgCn0gCgoKaWYgKC04ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTI6IC04ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE5KSk7IAp9IAoKCmlmICgtMTYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMzogLTE2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMyID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTQ6IC0zMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTkpKTsgCn0gCgoKaWYgKC02NCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE1OiAtNjQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxOSkpOyAKfSAKCgppZiAoLTI1NiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTkpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxODogLTUxMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE5OiAtMTAyNCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxOSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyMDogLTIwNDggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTkpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjE6IC00MDk2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE5KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjM6IC0xNjM4NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI0OiAtMzI3NjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE5KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI2OiAtMTMxMDcyID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNzogLTI2MjE0NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE5KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTkgIT09IC0yKSB7IAogICRFUlJPUignIzYyOTogLTEwNDg1NzYgPj4gMTkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM2MzA6IC0yMDk3MTUyID4+IDE5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDE5KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxOSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA+PiAxOSA9PT0gLTguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTkgIT09IC0xNikgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4ID4+IDE5ID09PSAtMTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE5ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAtMTY3NzcyMTYgPj4gMTkgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE5ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjM0OiAtMzM1NTQ0MzIgPj4gMTkgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE5ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYzNTogLTY3MTA4ODY0ID4+IDE5ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE5ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzYzNjogLTEzNDIxNzcyOCA+PiAxOSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjM3OiAtMjY4NDM1NDU2ID4+IDE5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjM4OiAtNTM2ODcwOTEyID4+IDE5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE5ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IC0xMDczNzQxODI0ID4+IDE5ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxOSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA+PiAxOSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0MTogLTEgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjApKTsgCn0gCgoKaWYgKC0yID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDI6IC0yID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIwKSk7IAp9IAoKCmlmICgtNCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQzOiAtNCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMCkpOyAKfSAKCgppZiAoLTggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NDogLTggPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjApKTsgCn0gCgoKaWYgKC0xNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIwKSk7IAp9IAoKCmlmICgtMzIgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NjogLTMyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDc6IC02NCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjApKTsgCn0gCgoKaWYgKC0xMjggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0ODogLTEyOCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDk6IC0yNTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMCkpOyAKfSAKCgppZiAoLTUxMiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjApKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTE6IC0xMDI0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUyOiAtMjA0OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1MzogLTQwOTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjApKTsgCn0gCgoKaWYgKC04MTkyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTQ6IC04MTkyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTY6IC0zMjc2OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjApKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU3OiAtNjU1MzYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU5OiAtMjYyMTQ0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY2MDogLTUyNDI4OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjAgIT09IC0yKSB7IAogICRFUlJPUignIzY2MjogLTIwOTcxNTIgPj4gMjAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIwICE9PSAtNCkgeyAKICAkRVJST1IoJyM2NjM6IC00MTk0MzA0ID4+IDIwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA+PiAyMCA9PT0gLTguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPj4gMjAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAtMzM1NTQ0MzIgPj4gMjAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjY3OiAtNjcxMDg4NjQgPj4gMjAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM2Njg6IC0xMzQyMTc3MjggPj4gMjAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDIwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzY2OTogLTI2ODQzNTQ1NiA+PiAyMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMjApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMjAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjcwOiAtNTM2ODcwOTEyID4+IDIwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzY3MTogLTEwNzM3NDE4MjQgPj4gMjAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IC0yMTQ3NDgzNjQ4ID4+IDIwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDIwKSk7IAp9IAoKCmlmICgtMSA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjczOiAtMSA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyMSkpOyAKfSAKCgppZiAoLTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3NDogLTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMjEpKTsgCn0gCgoKaWYgKC00ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzU6IC00ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDIxKSk7IAp9IAoKCmlmICgtOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc2OiAtOCA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAyMSkpOyAKfSAKCgppZiAoLTE2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Nzc6IC0xNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMjEpKTsgCn0gCgoKaWYgKC0zMiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDIxKSk7IAp9IAoKCmlmICgtNjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3OTogLTY0ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjgwOiAtMTI4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMjEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MTogLTI1NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTEyID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODI6IC01MTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAyMSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MzogLTEwMjQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMjEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDIxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg1OiAtNDA5NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4NjogLTgxOTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDIxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4ODogLTMyNzY4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODk6IC02NTUzNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDIxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTE6IC0yNjIxNDQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjkyOiAtNTI0Mjg4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjk0OiAtMjA5NzE1MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMjEgIT09IC0yKSB7IAogICRFUlJPUignIzY5NTogLTQxOTQzMDQgPj4gMjEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMjEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDIxICE9PSAtNCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4ID4+IDIxID09PSAtNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDIxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMjEgIT09IC04KSB7IAogICRFUlJPUignIzY5NzogLTE2Nzc3MjE2ID4+IDIxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjk4OiAtMzM1NTQ0MzIgPj4gMjEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPj4gMjEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzcwMDogLTEzNDIxNzcyOCA+PiAyMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPj4gMjEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA+PiAyMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDIxICE9PSAtNTEyKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPj4gMjEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzcwNDogLTIxNDc0ODM2NDggPj4gMjEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjEpKTsgCn0gCgoKaWYgKC0xID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDU6IC0xID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDIyKSk7IAp9IAoKCmlmICgtMiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzA2OiAtMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyMikpOyAKfSAKCgppZiAoLTQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwNzogLTQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjIpKTsgCn0gCgoKaWYgKC04ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDg6IC04ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDIyKSk7IAp9IAoKCmlmICgtMTYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwOTogLTE2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyMikpOyAKfSAKCgppZiAoLTMyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjIpKTsgCn0gCgoKaWYgKC02NCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzExOiAtNjQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIyKSk7IAp9IAoKCmlmICgtMTI4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTI6IC0xMjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzEzOiAtMjU2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjIpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNDogLTUxMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyMikpOyAKfSAKCgppZiAoLTIwNDggPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNjogLTIwNDggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjIpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTc6IC00MDk2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDIyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyMikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTk6IC0xNjM4NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIwOiAtMzI3NjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDIyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIyOiAtMTMxMDcyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMzogLTI2MjE0NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDIyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyNTogLTEwNDg1NzYgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjY6IC0yMDk3MTUyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDIyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyMikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjIgIT09IC0yKSB7IAogICRFUlJPUignIzcyODogLTgzODg2MDggPj4gMjIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzI5OiAtMTY3NzcyMTYgPj4gMjIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDIyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjIgIT09IC04KSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyID4+IDIyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPj4gMjIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzczMjogLTEzNDIxNzcyOCA+PiAyMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzczMzogLTI2ODQzNTQ1NiA+PiAyMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MzQ6IC01MzY4NzA5MTIgPj4gMjIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3MzU6IC0xMDczNzQxODI0ID4+IDIyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzczNjogLTIxNDc0ODM2NDggPj4gMjIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyMikpOyAKfSAKCgppZiAoLTEgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzczNzogLTEgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjMpKTsgCn0gCgoKaWYgKC0yID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Mzg6IC0yID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIzKSk7IAp9IAoKCmlmICgtNCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzM5OiAtNCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMykpOyAKfSAKCgppZiAoLTggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MDogLTggPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjMpKTsgCn0gCgoKaWYgKC0xNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQxOiAtMTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIzKSk7IAp9IAoKCmlmICgtMzIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MjogLTMyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMykpOyAKfSAKCgppZiAoLTY0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDM6IC02NCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0NDogLTEyOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIzKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDU6IC0yNTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUxMiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ2OiAtNTEyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDc6IC0xMDI0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0OTogLTQwOTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjMpKTsgCn0gCgoKaWYgKC04MTkyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTA6IC04MTkyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIzKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTI6IC0zMjc2OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzUzOiAtNjU1MzYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIzKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU1OiAtMjYyMTQ0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1NjogLTUyNDI4OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIzKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1ODogLTIwOTcxNTIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTk6IC00MTk0MzA0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIzICE9PSAtMikgeyAKICAkRVJST1IoJyM3NjE6IC0xNjc3NzIxNiA+PiAyMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzYyOiAtMzM1NTQ0MzIgPj4gMjMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDIzKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjMgIT09IC04KSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0ID4+IDIzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA+PiAyMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzc2NTogLTI2ODQzNTQ1NiA+PiAyMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzc2NjogLTUzNjg3MDkxMiA+PiAyMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzY3OiAtMTA3Mzc0MTgyNCA+PiAyMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3Njg6IC0yMTQ3NDgzNjQ4ID4+IDIzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjMpKTsgCn0gCgoKaWYgKC0xID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Njk6IC0xID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI0KSk7IAp9IAoKCmlmICgtMiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzcwOiAtMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNCkpOyAKfSAKCgppZiAoLTQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MTogLTQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjQpKTsgCn0gCgoKaWYgKC04ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzI6IC04ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI0KSk7IAp9IAoKCmlmICgtMTYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MzogLTE2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNCkpOyAKfSAKCgppZiAoLTMyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjQpKTsgCn0gCgoKaWYgKC02NCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc1OiAtNjQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI0KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzY6IC0xMjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc3OiAtMjU2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjQpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3ODogLTUxMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4MDogLTIwNDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODE6IC00MDk2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI0KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODM6IC0xNjM4NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg0OiAtMzI3NjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI0KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg2OiAtMTMxMDcyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NzogLTI2MjE0NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4OTogLTEwNDg1NzYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OTA6IC0yMDk3MTUyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc5MjogLTgzODg2MDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkzOiAtMTY3NzcyMTYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI0KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjQgIT09IC0yKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyID4+IDI0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM3OTU6IC02NzEwODg2NCA+PiAyNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjQgIT09IC04KSB7IAogICRFUlJPUignIzc5NjogLTEzNDIxNzcyOCA+PiAyNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAtMjY4NDM1NDU2ID4+IDI0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiAtNTM2ODcwOTEyID4+IDI0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPj4gMjQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4MDA6IC0yMTQ3NDgzNjQ4ID4+IDI0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDE6IC0xID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI1KSk7IAp9IAoKCmlmICgtMiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODAyOiAtMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNSkpOyAKfSAKCgppZiAoLTQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwMzogLTQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjUpKTsgCn0gCgoKaWYgKC04ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDQ6IC04ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI1KSk7IAp9IAoKCmlmICgtMTYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwNTogLTE2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNSkpOyAKfSAKCgppZiAoLTMyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDY6IC0zMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjUpKTsgCn0gCgoKaWYgKC02NCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA3OiAtNjQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI1KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDg6IC0xMjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNSkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA5OiAtMjU2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjUpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI1KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODExOiAtMTAyNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMjogLTIwNDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjUpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI1KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE0OiAtODE5MiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTU6IC0xNjM4NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjUpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI1KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxNzogLTY1NTM2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE4OiAtMTMxMDcyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI1KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjA6IC01MjQyODggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyMTogLTEwNDg1NzYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI1KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODIzOiAtNDE5NDMwNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNDogLTgzODg2MDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI1KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNjogLTMzNTU0NDMyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI1ICE9PSAtMikgeyAKICAkRVJST1IoJyM4Mjc6IC02NzEwODg2NCA+PiAyNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjUgIT09IC00KSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA+PiAyNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI1KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4Mjk6IC0yNjg0MzU0NTYgPj4gMjUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzgzMDogLTUzNjg3MDkxMiA+PiAyNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjUgIT09IC0zMikgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0ID4+IDI1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjUgIT09IC02NCkgeyAKICAkRVJST1IoJyM4MzI6IC0yMTQ3NDgzNjQ4ID4+IDI1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzMzogLTEgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjYpKTsgCn0gCgoKaWYgKC0yID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MzQ6IC0yID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI2KSk7IAp9IAoKCmlmICgtNCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM1OiAtNCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNikpOyAKfSAKCgppZiAoLTggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzNjogLTggPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjYpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM3OiAtMTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI2KSk7IAp9IAoKCmlmICgtMzIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzODogLTMyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNikpOyAKfSAKCgppZiAoLTY0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Mzk6IC02NCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0MDogLTEyOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI2KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNikpOyAKfSAKCgppZiAoLTUxMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQyOiAtNTEyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDM6IC0xMDI0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI2KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NTogLTQwOTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjYpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDY6IC04MTkyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNikpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDg6IC0zMjc2OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ5OiAtNjU1MzYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI2KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUxOiAtMjYyMTQ0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1MjogLTUyNDI4OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1NDogLTIwOTcxNTIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTU6IC00MTk0MzA0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTc6IC0xNjc3NzIxNiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU4OiAtMzM1NTQ0MzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjODYwOiAtMTM0MjE3NzI4ID4+IDI2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjYgIT09IC00KSB7IAogICRFUlJPUignIzg2MTogLTI2ODQzNTQ1NiA+PiAyNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPj4gMjYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjYgIT09IC0xNikgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0ID4+IDI2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjYgIT09IC0zMikgeyAKICAkRVJST1IoJyM4NjQ6IC0yMTQ3NDgzNjQ4ID4+IDI2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNikpOyAKfSAKCgppZiAoLTEgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2NTogLTEgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjcpKTsgCn0gCgoKaWYgKC0yID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NjY6IC0yID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI3KSk7IAp9IAoKCmlmICgtNCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY3OiAtNCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNykpOyAKfSAKCgppZiAoLTggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2ODogLTggPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjcpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI3KSk7IAp9IAoKCmlmICgtMzIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MDogLTMyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNykpOyAKfSAKCgppZiAoLTY0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MjogLTEyOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI3KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzM6IC0yNTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNykpOyAKfSAKCgppZiAoLTUxMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzU6IC0xMDI0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc2OiAtMjA0OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Nzg6IC04MTkyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3OTogLTE2Mzg0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjcpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgxOiAtNjU1MzYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODI6IC0xMzEwNzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjcpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NDogLTUyNDI4OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg1OiAtMTA0ODU3NiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODc6IC00MTk0MzA0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg4OiAtODM4ODYwOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkwOiAtMzM1NTQ0MzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg5MTogLTY3MTA4ODY0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjcgIT09IC0yKSB7IAogICRFUlJPUignIzg5MzogLTI2ODQzNTQ1NiA+PiAyNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM4OTQ6IC01MzY4NzA5MTIgPj4gMjcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjcgIT09IC04KSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPj4gMjcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA+PiAyNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjcpKTsgCn0gCgoKaWYgKC0xID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4OTc6IC0xID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI4KSk7IAp9IAoKCmlmICgtMiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODk4OiAtMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyOCkpOyAKfSAKCgppZiAoLTQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzg5OTogLTQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjgpKTsgCn0gCgoKaWYgKC04ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDA6IC04ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI4KSk7IAp9IAoKCmlmICgtMTYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwMTogLTE2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyOCkpOyAKfSAKCgppZiAoLTMyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjgpKTsgCn0gCgoKaWYgKC02NCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTAzOiAtNjQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI4KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDQ6IC0xMjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyOCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjgpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwNjogLTUxMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA3OiAtMTAyNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyOCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjgpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDk6IC00MDk2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI4KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEwOiAtODE5MiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjgpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEyOiAtMzI3NjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxMzogLTY1NTM2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyOCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNTogLTI2MjE0NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTY6IC01MjQyODggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjgpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTg6IC0yMDk3MTUyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE5OiAtNDE5NDMwNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTIxOiAtMTY3NzcyMTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMjogLTMzNTU0NDMyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyNDogLTEzNDIxNzcyOCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjU6IC0yNjg0MzU0NTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyOCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyID4+IDI4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDI4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5Mjc6IC0xMDczNzQxODI0ID4+IDI4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjOTI4OiAtMjE0NzQ4MzY0OCA+PiAyOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkyOTogLTEgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjkpKTsgCn0gCgoKaWYgKC0yID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzA6IC0yID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI5KSk7IAp9IAoKCmlmICgtNCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMxOiAtNCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyOSkpOyAKfSAKCgppZiAoLTggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzMjogLTggPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjkpKTsgCn0gCgoKaWYgKC0xNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMzOiAtMTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI5KSk7IAp9IAoKCmlmICgtMzIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNDogLTMyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyOSkpOyAKfSAKCgppZiAoLTY0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzU6IC02NCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNjogLTEyOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI5KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyOSkpOyAKfSAKCgppZiAoLTUxMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTM4OiAtNTEyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzk6IC0xMDI0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI5KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyOSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MTogLTQwOTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjkpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDI6IC04MTkyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI5KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDQ6IC0zMjc2OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ1OiAtNjU1MzYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyOSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ3OiAtMjYyMTQ0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0ODogLTUyNDI4OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyOSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1MDogLTIwOTcxNTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTE6IC00MTk0MzA0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTM6IC0xNjc3NzIxNiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU0OiAtMzM1NTQ0MzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU2OiAtMTM0MjE3NzI4ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NzogLTI2ODQzNTQ1NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjkgIT09IC0yKSB7IAogICRFUlJPUignIzk1OTogLTEwNzM3NDE4MjQgPj4gMjkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5NjA6IC0yMTQ3NDgzNjQ4ID4+IDI5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDI5KSk7IAp9IAoKCmlmICgtMSA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTYxOiAtMSA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzMCkpOyAKfSAKCgppZiAoLTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2MjogLTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMzApKTsgCn0gCgoKaWYgKC00ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjM6IC00ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDMwKSk7IAp9IAoKCmlmICgtOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY0OiAtOCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAzMCkpOyAKfSAKCgppZiAoLTE2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjU6IC0xNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMzApKTsgCn0gCgoKaWYgKC0zMiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDMwKSk7IAp9IAoKCmlmICgtNjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2NzogLTY0ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAzMCkpOyAKfSAKCgppZiAoLTEyOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY4OiAtMTI4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDMwKSk7IAp9IAoKCmlmICgtNTEyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzA6IC01MTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3MTogLTEwMjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzApKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTczOiAtNDA5NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NDogLTgxOTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzApKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDMwKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NjogLTMyNzY4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAzMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzc6IC02NTUzNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzApKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzk6IC0yNjIxNDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgwOiAtNTI0Mjg4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzApKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDMwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgyOiAtMjA5NzE1MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4MzogLTQxOTQzMDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzApKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDMwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4NTogLTE2Nzc3MjE2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODY6IC0zMzU1NDQzMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDMwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODg6IC0xMzQyMTc3MjggPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg5OiAtMjY4NDM1NDU2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDMwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTkxOiAtMTA3Mzc0MTgyNCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMzAgIT09IC0yKSB7IAogICRFUlJPUignIzk5MjogLTIxNDc0ODM2NDggPj4gMzAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzApKTsgCn0gCgoKaWYgKC0xID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTM6IC0xID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDMxKSk7IAp9IAoKCmlmICgtMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzMSkpOyAKfSAKCgppZiAoLTQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NTogLTQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMzEpKTsgCn0gCgoKaWYgKC04ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTY6IC04ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDMxKSk7IAp9IAoKCmlmICgtMTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NzogLTE2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAzMSkpOyAKfSAKCgppZiAoLTMyID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTg6IC0zMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk5OiAtNjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDMxKSk7IAp9IAoKCmlmICgtMTI4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDE6IC0yNTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAzMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMjogLTUxMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDMxKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA0OiAtMjA0OCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDU6IC00MDk2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDMxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNzogLTE2Mzg0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA4OiAtMzI3NjggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDMxKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTA6IC0xMzEwNzIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxMTogLTI2MjE0NCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMxKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEzOiAtMTA0ODU3NiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTQ6IC0yMDk3MTUyID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDMxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE2OiAtODM4ODYwOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE3OiAtMTY3NzcyMTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDMxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxOTogLTY3MTA4ODY0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyMDogLTEzNDIxNzcyOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDMxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzEpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjI6IC01MzY4NzA5MTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjM6IC0xMDczNzQxODI0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzEpKTsgCn0KCg==","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMCA+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzE6IDAgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMCkpOyAKfSAKCgppZiAoMSA+PiAwICE9PSAxKSB7IAogICRFUlJPUignIzI6IDEgPj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4gMCkpOyAKfSAKCgppZiAoMyA+PiAwICE9PSAzKSB7IAogICRFUlJPUignIzM6IDMgPj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4gMCkpOyAKfSAKCgppZiAoNyA+PiAwICE9PSA3KSB7IAogICRFUlJPUignIzQ6IDcgPj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4gMCkpOyAKfSAKCgppZiAoMTUgPj4gMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTogMTUgPj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+PiAwKSk7IAp9IAoKCmlmICgzMSA+PiAwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2OiAzMSA+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+IDApKTsgCn0gCgoKaWYgKDYzID4+IDAgIT09IDYzKSB7IAogICRFUlJPUignIzc6IDYzID4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4gMCkpOyAKfSAKCgppZiAoMTI3ID4+IDAgIT09IDEyNykgeyAKICAkRVJST1IoJyM4OiAxMjcgPj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDApKTsgCn0gCgoKaWYgKDI1NSA+PiAwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjOTogMjU1ID4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+PiAwKSk7IAp9IAoKCmlmICg1MTEgPj4gMCAhPT0gNTExKSB7IAogICRFUlJPUignIzEwOiA1MTEgPj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+IDApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTogMTAyMyA+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTI6IDIwNDcgPj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAwICE9PSA0MDk1KSB7IAogICRFUlJPUignIzEzOiA0MDk1ID4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNDogODE5MSA+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxNTogMTYzODMgPj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAwICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNjogMzI3NjcgPj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiAwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNjU1MzUgPj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4OiAxMzEwNzEgPj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDApKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAwICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTk6IDI2MjE0MyA+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMDogNTI0Mjg3ID4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE6IDEwNDg1NzUgPj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAwICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzIyOiAyMDk3MTUxID4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMzogNDE5NDMwMyA+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDAgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjQ6IDgzODg2MDcgPj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU6IDE2Nzc3MjE1ID4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjY6IDMzNTU0NDMxID4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjc6IDY3MTA4ODYzID4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDAgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMyODogMTM0MjE3NzI3ID4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzI5OiAyNjg0MzU0NTUgPj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAwICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzA6IDUzNjg3MDkxMSA+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAwICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzMxOiAxMDczNzQxODIzID4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMCAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMzMjogMjE0NzQ4MzY0NyA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAwKSk7IAp9IAoKCmlmICgwID4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM6IDAgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMSkpOyAKfSAKCgppZiAoMSA+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM0OiAxID4+IDEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEpKTsgCn0gCgoKaWYgKDMgPj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNTogMyA+PiAxID09PSAxLiBBY3R1YWw6ICcgKyAoMyA+PiAxKSk7IAp9IAoKCmlmICg3ID4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPj4gMSA9PT0gMy4gQWN0dWFsOiAnICsgKDcgPj4gMSkpOyAKfSAKCgppZiAoMTUgPj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzNzogMTUgPj4gMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE1ID4+IDEpKTsgCn0gCgoKaWYgKDMxID4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM4OiAzMSA+PiAxID09PSAxNS4gQWN0dWFsOiAnICsgKDMxID4+IDEpKTsgCn0gCgoKaWYgKDYzID4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzM5OiA2MyA+PiAxID09PSAzMS4gQWN0dWFsOiAnICsgKDYzID4+IDEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MDogMTI3ID4+IDEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEpKTsgCn0gCgoKaWYgKDI1NSA+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDE6IDI1NSA+PiAxID09PSAxMjcuIEFjdHVhbDogJyArICgyNTUgPj4gMSkpOyAKfSAKCgppZiAoNTExID4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MjogNTExID4+IDEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUxMSA+PiAxKSk7IAp9IAoKCmlmICgxMDIzID4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MzogMTAyMyA+PiAxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDIzID4+IDEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NDogMjA0NyA+PiAxID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxKSk7IAp9IAoKCmlmICg0MDk1ID4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDU6IDQwOTUgPj4gMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMSkpOyAKfSAKCgppZiAoODE5MSA+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ2OiA4MTkxID4+IDEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4MTkxID4+IDEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDc6IDE2MzgzID4+IDEgPT09IDgxOTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPj4gMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogNjU1MzUgPj4gMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA+PiAxID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUxOiAyNjIxNDMgPj4gMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTI6IDUyNDI4NyA+PiAxID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTM6IDEwNDg1NzUgPj4gMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTQ6IDIwOTcxNTEgPj4gMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU1OiA0MTk0MzAzID4+IDEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA+PiAxID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU3OiAxNjc3NzIxNSA+PiAxID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxID4+IDEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNTk6IDY3MTA4ODYzID4+IDEgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPj4gMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MTogMjY4NDM1NDU1ID4+IDEgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYyOiA1MzY4NzA5MTEgPj4gMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzYzOiAxMDczNzQxODIzID4+IDEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3ID4+IDEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEpKTsgCn0gCgoKaWYgKDAgPj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTogMCA+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyKSk7IAp9IAoKCmlmICgxID4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY6IDEgPj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMikpOyAKfSAKCgppZiAoMyA+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY3OiAzID4+IDIgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIpKTsgCn0gCgoKaWYgKDcgPj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODogNyA+PiAyID09PSAxLiBBY3R1YWw6ICcgKyAoNyA+PiAyKSk7IAp9IAoKCmlmICgxNSA+PiAyICE9PSAzKSB7IAogICRFUlJPUignIzY5OiAxNSA+PiAyID09PSAzLiBBY3R1YWw6ICcgKyAoMTUgPj4gMikpOyAKfSAKCgppZiAoMzEgPj4gMiAhPT0gNykgeyAKICAkRVJST1IoJyM3MDogMzEgPj4gMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMxID4+IDIpKTsgCn0gCgoKaWYgKDYzID4+IDIgIT09IDE1KSB7IAogICRFUlJPUignIzcxOiA2MyA+PiAyID09PSAxNS4gQWN0dWFsOiAnICsgKDYzID4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+PiAyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MjogMTI3ID4+IDIgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+PiAyICE9PSA2MykgeyAKICAkRVJST1IoJyM3MzogMjU1ID4+IDIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzQ6IDUxMSA+PiAyID09PSAxMjcuIEFjdHVhbDogJyArICg1MTEgPj4gMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzU6IDEwMjMgPj4gMiA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA+PiAyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM3NzogNDA5NSA+PiAyID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+IDIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzg6IDgxOTEgPj4gMiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4gMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPj4gMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3ID4+IDIgPT09IDgxOTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPj4gMiA9PT0gMTYzODMuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjODI6IDEzMTA3MSA+PiAyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMiAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjODM6IDI2MjE0MyA+PiAyID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzg0OiA1MjQyODcgPj4gMiA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzg1OiAxMDQ4NTc1ID4+IDIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPj4gMiA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjODc6IDQxOTQzMDMgPj4gMiA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzg4OiA4Mzg4NjA3ID4+IDIgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1ID4+IDIgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA+PiAyID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMiAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzID4+IDIgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzkyOiAxMzQyMTc3MjcgPj4gMiA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzkzOiAyNjg0MzU0NTUgPj4gMiA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDIgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM5NDogNTM2ODcwOTExID4+IDIgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM5NTogMTA3Mzc0MTgyMyA+PiAyID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMiAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3ID4+IDIgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMikpOyAKfSAKCgppZiAoMCA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk3OiAwID4+IDMgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMpKTsgCn0gCgoKaWYgKDEgPj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODogMSA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAzKSk7IAp9IAoKCmlmICgzID4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk6IDMgPj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMykpOyAKfSAKCgppZiAoNyA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMDogNyA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzKSk7IAp9IAoKCmlmICgxNSA+PiAzICE9PSAxKSB7IAogICRFUlJPUignIzEwMTogMTUgPj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+IDMpKTsgCn0gCgoKaWYgKDMxID4+IDMgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4gMykpOyAKfSAKCgppZiAoNjMgPj4gMyAhPT0gNykgeyAKICAkRVJST1IoJyMxMDM6IDYzID4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+PiAzKSk7IAp9IAoKCmlmICgxMjcgPj4gMyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTA0OiAxMjcgPj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4gMykpOyAKfSAKCgppZiAoMjU1ID4+IDMgIT09IDMxKSB7IAogICRFUlJPUignIzEwNTogMjU1ID4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDMpKTsgCn0gCgoKaWYgKDUxMSA+PiAzICE9PSA2MykgeyAKICAkRVJST1IoJyMxMDY6IDUxMSA+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+PiAzKSk7IAp9IAoKCmlmICgxMDIzID4+IDMgIT09IDEyNykgeyAKICAkRVJST1IoJyMxMDc6IDEwMjMgPj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDMgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxMDg6IDIwNDcgPj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDMgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxMDk6IDQwOTUgPj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzKSk7IAp9IAoKCmlmICg4MTkxID4+IDMgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTEwOiA4MTkxID4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+IDMpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTExOiAxNjM4MyA+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3ID4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzICE9PSA4MTkxKSB7IAogICRFUlJPUignIzExMzogNjU1MzUgPj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxMTQ6IDEzMTA3MSA+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzExNjogNTI0Mjg3ID4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMyAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzExNzogMTA0ODU3NSA+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMyAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzExODogMjA5NzE1MSA+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMyAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzExOTogNDE5NDMwMyA+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMjA6IDgzODg2MDcgPj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMyAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMjE6IDE2Nzc3MjE1ID4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTIzOiA2NzEwODg2MyA+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzEyNDogMTM0MjE3NzI3ID4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAzICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMyAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTI2OiA1MzY4NzA5MTEgPj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMDczNzQxODIzID4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAzICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMTI4OiAyMTQ3NDgzNjQ3ID4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMykpOyAKfSAKCgppZiAoMCA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEyOTogMCA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA0KSk7IAp9IAoKCmlmICgxID4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMwOiAxID4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDQpKTsgCn0gCgoKaWYgKDMgPj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzE6IDMgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNCkpOyAKfSAKCgppZiAoNyA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMjogNyA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA0KSk7IAp9IAoKCmlmICgxNSA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMzogMTUgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDQpKTsgCn0gCgoKaWYgKDMxID4+IDQgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4gNCkpOyAKfSAKCgppZiAoNjMgPj4gNCAhPT0gMykgeyAKICAkRVJST1IoJyMxMzU6IDYzID4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+PiA0KSk7IAp9IAoKCmlmICgxMjcgPj4gNCAhPT0gNykgeyAKICAkRVJST1IoJyMxMzY6IDEyNyA+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDQpKTsgCn0gCgoKaWYgKDI1NSA+PiA0ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMzc6IDI1NSA+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+PiA0KSk7IAp9IAoKCmlmICg1MTEgPj4gNCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTM4OiA1MTEgPj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4gNCkpOyAKfSAKCgppZiAoMTAyMyA+PiA0ICE9PSA2MykgeyAKICAkRVJST1IoJyMxMzk6IDEwMjMgPj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+IDQpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNCAhPT0gMTI3KSB7IAogICRFUlJPUignIzE0MDogMjA0NyA+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+IDQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNCAhPT0gMjU1KSB7IAogICRFUlJPUignIzE0MTogNDA5NSA+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gNCAhPT0gNTExKSB7IAogICRFUlJPUignIzE0MjogODE5MSA+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+IDQpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDQgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTQzOiAxNjM4MyA+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gNCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3ID4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA0KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA0ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzE0NTogNjU1MzUgPj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA0ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0NjogMTMxMDcxID4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDQgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE0NzogMjYyMTQzID4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA0ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNDg6IDUyNDI4NyA+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDQgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE0OTogMTA0ODU3NSA+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA0ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxID4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA0ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTUxOiA0MTk0MzAzID4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiA0ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3ID4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gNCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxNTM6IDE2Nzc3MjE1ID4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA0ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDQgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTU1OiA2NzEwODg2MyA+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDQgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTU2OiAxMzQyMTc3MjcgPj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDQgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzE1ODogNTM2ODcwOTExID4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTU5OiAxMDczNzQxODIzID4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDQgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxNjA6IDIxNDc0ODM2NDcgPj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0KSk7IAp9IAoKCmlmICgwID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYxOiAwID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDUpKTsgCn0gCgoKaWYgKDEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjI6IDEgPj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNSkpOyAKfSAKCgppZiAoMyA+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MzogMyA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA1KSk7IAp9IAoKCmlmICg3ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY0OiA3ID4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDUpKTsgCn0gCgoKaWYgKDE1ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNSkpOyAKfSAKCgppZiAoMzEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDMxID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA1KSk7IAp9IAoKCmlmICg2MyA+PiA1ICE9PSAxKSB7IAogICRFUlJPUignIzE2NzogNjMgPj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+IDUpKTsgCn0gCgoKaWYgKDEyNyA+PiA1ICE9PSAzKSB7IAogICRFUlJPUignIzE2ODogMTI3ID4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4gNSkpOyAKfSAKCgppZiAoMjU1ID4+IDUgIT09IDcpIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+PiA1KSk7IAp9IAoKCmlmICg1MTEgPj4gNSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4gNSkpOyAKfSAKCgppZiAoMTAyMyA+PiA1ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+IDUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3ID4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA1KSk7IAp9IAoKCmlmICg0MDk1ID4+IDUgIT09IDEyNykgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA1KSk7IAp9IAoKCmlmICg4MTkxID4+IDUgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA1ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiA1KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA1ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDUpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDUgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDUgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA1ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDUgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA1ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gNSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDUgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1ID4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDUgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gNSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzID4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxODg6IDEzNDIxNzcyNyA+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA1ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1ID4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDUgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExID4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTkxOiAxMDczNzQxODIzID4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDUgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzE5MjogMjE0NzQ4MzY0NyA+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNSkpOyAKfSAKCgppZiAoMCA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5MzogMCA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA2KSk7IAp9IAoKCmlmICgxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk0OiAxID4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDYpKTsgCn0gCgoKaWYgKDMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTU6IDMgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNikpOyAKfSAKCgppZiAoNyA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NjogNyA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA2KSk7IAp9IAoKCmlmICgxNSA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NzogMTUgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDYpKTsgCn0gCgoKaWYgKDMxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk4OiAzMSA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gNikpOyAKfSAKCgppZiAoNjMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTk6IDYzID4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA2KSk7IAp9IAoKCmlmICgxMjcgPj4gNiAhPT0gMSkgeyAKICAkRVJST1IoJyMyMDA6IDEyNyA+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDYpKTsgCn0gCgoKaWYgKDI1NSA+PiA2ICE9PSAzKSB7IAogICRFUlJPUignIzIwMTogMjU1ID4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4gNikpOyAKfSAKCgppZiAoNTExID4+IDYgIT09IDcpIHsgCiAgJEVSUk9SKCcjMjAyOiA1MTEgPj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+PiA2KSk7IAp9IAoKCmlmICgxMDIzID4+IDYgIT09IDE1KSB7IAogICRFUlJPUignIzIwMzogMTAyMyA+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNikpOyAKfSAKCgppZiAoMjA0NyA+PiA2ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjA1OiA0MDk1ID4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA2KSk7IAp9IAoKCmlmICg4MTkxID4+IDYgIT09IDEyNykgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjA3OiAxNjM4MyA+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiA2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiA2KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIwOTogNjU1MzUgPj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxMDogMTMxMDcxID4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNikpOyAKfSAKCgppZiAoMjYyMTQzID4+IDYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjExOiAyNjIxNDMgPj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA2KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMyMTI6IDUyNDI4NyA+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjEzOiAxMDQ4NTc1ID4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMyMTU6IDQxOTQzMDMgPj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDYgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyMTc6IDE2Nzc3MjE1ID4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDYgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxID4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDYgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDYgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjIwOiAxMzQyMTc3MjcgPj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNiAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMjE6IDI2ODQzNTQ1NSA+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA2ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExID4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA2ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNiAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjI0OiAyMTQ3NDgzNjQ3ID4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2KSk7IAp9IAoKCmlmICgwID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDcpKTsgCn0gCgoKaWYgKDEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjY6IDEgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNykpOyAKfSAKCgppZiAoMyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNzogMyA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA3KSk7IAp9IAoKCmlmICg3ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI4OiA3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDcpKTsgCn0gCgoKaWYgKDE1ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNykpOyAKfSAKCgppZiAoMzEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzA6IDMxID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA3KSk7IAp9IAoKCmlmICg2MyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMTogNjMgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDcpKTsgCn0gCgoKaWYgKDEyNyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMjogMTI3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gNykpOyAKfSAKCgppZiAoMjU1ID4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI1NSA+PiA3KSk7IAp9IAoKCmlmICg1MTEgPj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyMzQ6IDUxMSA+PiA3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTExID4+IDcpKTsgCn0gCgoKaWYgKDEwMjMgPj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyMzU6IDEwMjMgPj4gNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNykpOyAKfSAKCgppZiAoMjA0NyA+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyMzY6IDIwNDcgPj4gNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDQ3ID4+IDcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjM3OiA0MDk1ID4+IDcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA3KSk7IAp9IAoKCmlmICg4MTkxID4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzIzODogODE5MSA+PiA3ID09PSA2My4gQWN0dWFsOiAnICsgKDgxOTEgPj4gNykpOyAKfSAKCgppZiAoMTYzODMgPj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzIzOTogMTYzODMgPj4gNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPj4gNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0MTogNjU1MzUgPj4gNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQyOiAxMzEwNzEgPj4gNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA+PiA3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI0NDogNTI0Mjg3ID4+IDcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MjQyODcgPj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI0NTogMTA0ODU3NSA+PiA3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI0NjogMjA5NzE1MSA+PiA3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNDc6IDQxOTQzMDMgPj4gNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjQ4OiA4Mzg4NjA3ID4+IDcgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxNjc3NzIxNSA+PiA3ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA+PiA3ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjUxOiA2NzEwODg2MyA+PiA3ID09PSA1MjQyODcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA+PiA3ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1ID4+IDcgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPj4gNyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzID4+IDcgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU2OiAyMTQ3NDgzNjQ3ID4+IDcgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA3KSk7IAp9IAoKCmlmICgwID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU3OiAwID4+IDggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDgpKTsgCn0gCgoKaWYgKDEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTg6IDEgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gOCkpOyAKfSAKCgppZiAoMyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1OTogMyA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA4KSk7IAp9IAoKCmlmICg3ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYwOiA3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gOCkpOyAKfSAKCgppZiAoMzEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjI6IDMxID4+IDggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA4KSk7IAp9IAoKCmlmICg2MyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MzogNjMgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NDogMTI3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY1OiAyNTUgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4gOCAhPT0gMSkgeyAKICAkRVJST1IoJyMyNjY6IDUxMSA+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTExID4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4gOCAhPT0gMykgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPj4gOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+PiA4ICE9PSA3KSB7IAogICRFUlJPUignIzI2ODogMjA0NyA+PiA4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+IDggIT09IDE1KSB7IAogICRFUlJPUignIzI2OTogNDA5NSA+PiA4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gOCkpOyAKfSAKCgppZiAoODE5MSA+PiA4ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPj4gOCA9PT0gMzEuIEFjdHVhbDogJyArICg4MTkxID4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDggIT09IDYzKSB7IAogICRFUlJPUignIzI3MTogMTYzODMgPj4gOCA9PT0gNjMuIEFjdHVhbDogJyArICgxNjM4MyA+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA4ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjcyOiAzMjc2NyA+PiA4ID09PSAxMjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA4ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjczOiA2NTUzNSA+PiA4ID09PSAyNTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOCAhPT0gNTExKSB7IAogICRFUlJPUignIzI3NDogMTMxMDcxID4+IDggPT09IDUxMS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMyNzU6IDI2MjE0MyA+PiA4ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA4ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzI3NjogNTI0Mjg3ID4+IDggPT09IDIwNDcuIEFjdHVhbDogJyArICg1MjQyODcgPj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA4ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA+PiA4ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDggIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMjc4OiAyMDk3MTUxID4+IDggPT09IDgxOTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gOCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjc5OiA0MTk0MzAzID4+IDggPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDggIT09IDMyNzY3KSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA+PiA4ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gOCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjgxOiAxNjc3NzIxNSA+PiA4ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDggIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMyODI6IDMzNTU0NDMxID4+IDggPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDggIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzID4+IDggPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA4ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjg0OiAxMzQyMTc3MjcgPj4gOCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA4ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1ID4+IDggPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDggIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPj4gOCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDggIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzID4+IDggPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gOCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPj4gOCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gOCkpOyAKfSAKCgppZiAoMCA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA5KSk7IAp9IAoKCmlmICgxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkwOiAxID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDkpKTsgCn0gCgoKaWYgKDMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTE6IDMgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gOSkpOyAKfSAKCgppZiAoNyA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MjogNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA5KSk7IAp9IAoKCmlmICgxNSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MzogMTUgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDkpKTsgCn0gCgoKaWYgKDMxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk0OiAzMSA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gOSkpOyAKfSAKCgppZiAoNjMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTU6IDYzID4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA5KSk7IAp9IAoKCmlmICgxMjcgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDkpKTsgCn0gCgoKaWYgKDI1NSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NzogMjU1ID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gOSkpOyAKfSAKCgppZiAoNTExID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiA1MTEgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiA5KSk7IAp9IAoKCmlmICgxMDIzID4+IDkgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjk5OiAxMDIzID4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+IDkpKTsgCn0gCgoKaWYgKDIwNDcgPj4gOSAhPT0gMykgeyAKICAkRVJST1IoJyMzMDA6IDIwNDcgPj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4gOSkpOyAKfSAKCgppZiAoNDA5NSA+PiA5ICE9PSA3KSB7IAogICRFUlJPUignIzMwMTogNDA5NSA+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA5KSk7IAp9IAoKCmlmICg4MTkxID4+IDkgIT09IDE1KSB7IAogICRFUlJPUignIzMwMjogODE5MSA+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMzAzOiAxNjM4MyA+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDkgIT09IDYzKSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+PiA5KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzA1OiA2NTUzNSA+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxID4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOSAhPT0gNTExKSB7IAogICRFUlJPUignIzMwNzogMjYyMTQzID4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA5KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzMDg6IDUyNDI4NyA+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMzMDk6IDEwNDg1NzUgPj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzMxMDogMjA5NzE1MSA+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMzExOiA0MTk0MzAzID4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gOSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3ID4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA5ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMzMTM6IDE2Nzc3MjE1ID4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gOSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMzE0OiAzMzU1NDQzMSA+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDkgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzMTU6IDY3MTA4ODYzID4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA5ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMzE2OiAxMzQyMTc3MjcgPj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA5ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA5ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzMxODogNTM2ODcwOTExID4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA5ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzMxOTogMTA3Mzc0MTgyMyA+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDkgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMzIwOiAyMTQ3NDgzNjQ3ID4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDkpKTsgCn0gCgoKaWYgKDAgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIxOiAwID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMCkpOyAKfSAKCgppZiAoMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjI6IDEgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEwKSk7IAp9IAoKCmlmICgzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMzogMyA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTApKTsgCn0gCgoKaWYgKDcgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI0OiA3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI1OiAxNSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjY6IDMxID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTApKTsgCn0gCgoKaWYgKDYzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNzogNjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyODogMTI3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI5OiAyNTUgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzA6IDUxMSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzE6IDEwMjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEwICE9PSAxKSB7IAogICRFUlJPUignIzMzMjogMjA0NyA+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzMzOiA0MDk1ID4+IDEwID09PSAzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+PiAxMCAhPT0gNykgeyAKICAkRVJST1IoJyMzMzQ6IDgxOTEgPj4gMTAgPT09IDcuIEFjdHVhbDogJyArICg4MTkxID4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzM1OiAxNjM4MyA+PiAxMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTAgIT09IDMxKSB7IAogICRFUlJPUignIzMzNjogMzI3NjcgPj4gMTAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDEwICE9PSA2MykgeyAKICAkRVJST1IoJyMzMzc6IDY1NTM1ID4+IDEwID09PSA2My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTAgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMzg6IDEzMTA3MSA+PiAxMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTAgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzMzk6IDI2MjE0MyA+PiAxMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTAgIT09IDUxMSkgeyAKICAkRVJST1IoJyMzNDA6IDUyNDI4NyA+PiAxMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM0MTogMTA0ODU3NSA+PiAxMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzQyOiAyMDk3MTUxID4+IDEwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxMCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNDM6IDQxOTQzMDMgPj4gMTAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzM0NDogODM4ODYwNyA+PiAxMCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNDU6IDE2Nzc3MjE1ID4+IDEwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzQ2OiAzMzU1NDQzMSA+PiAxMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzM0NzogNjcxMDg4NjMgPj4gMTAgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM0ODogMTM0MjE3NzI3ID4+IDEwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMCAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM0OTogMjY4NDM1NDU1ID4+IDEwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExID4+IDEwID09PSA1MjQyODcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzID4+IDEwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxMCAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzNTI6IDIxNDc0ODM2NDcgPj4gMTAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEwKSk7IAp9IAoKCmlmICgwID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMTEpKTsgCn0gCgoKaWYgKDEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU0OiAxID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxMSkpOyAKfSAKCgppZiAoMyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDExKSk7IAp9IAoKCmlmICg3ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NjogNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMTEpKTsgCn0gCgoKaWYgKDE1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NzogMTUgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAxMSkpOyAKfSAKCgppZiAoMzEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU4OiAzMSA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDExKSk7IAp9IAoKCmlmICg2MyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTk6IDYzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMTEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAxMSkpOyAKfSAKCgppZiAoMjU1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MTogMjU1ID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDExKSk7IAp9IAoKCmlmICg1MTEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAxMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDExKSk7IAp9IAoKCmlmICg0MDk1ID4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMTEpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY2OiA4MTkxID4+IDExID09PSAzLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAxMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA+PiAxMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDExKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzY4OiAzMjc2NyA+PiAxMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM2OTogNjU1MzUgPj4gMTEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzcwOiAxMzEwNzEgPj4gMTEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzNzE6IDI2MjE0MyA+PiAxMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDExKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA+PiAxMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzczOiAxMDQ4NTc1ID4+IDExID09PSA1MTEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM3NDogMjA5NzE1MSA+PiAxMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzID4+IDExID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNzY6IDgzODg2MDcgPj4gMTEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNzc6IDE2Nzc3MjE1ID4+IDExID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNzg6IDMzNTU0NDMxID4+IDExID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzc5OiA2NzEwODg2MyA+PiAxMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzODA6IDEzNDIxNzcyNyA+PiAxMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM4MTogMjY4NDM1NDU1ID4+IDExID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM4MjogNTM2ODcwOTExID4+IDExID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPj4gMTEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3ID4+IDExID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxMSkpOyAKfSAKCgppZiAoMCA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODU6IDAgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDEyKSk7IAp9IAoKCmlmICgxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NjogMSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTIpKTsgCn0gCgoKaWYgKDMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg3OiAzID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxMikpOyAKfSAKCgppZiAoNyA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODg6IDcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDEyKSk7IAp9IAoKCmlmICgxNSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODk6IDE1ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTIpKTsgCn0gCgoKaWYgKDMxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MDogMzEgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxMikpOyAKfSAKCgppZiAoNjMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkxOiA2MyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDEyKSk7IAp9IAoKCmlmICgxMjcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkyOiAxMjcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTIpKTsgCn0gCgoKaWYgKDI1NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTM6IDI1NSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxMikpOyAKfSAKCgppZiAoNTExID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NDogNTExID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDEyKSk7IAp9IAoKCmlmICgxMDIzID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NTogMTAyMyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk2OiAyMDQ3ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxMikpOyAKfSAKCgppZiAoNDA5NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTc6IDQwOTUgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDEyKSk7IAp9IAoKCmlmICg4MTkxID4+IDEyICE9PSAxKSB7IAogICRFUlJPUignIzM5ODogODE5MSA+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTIpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEyICE9PSAzKSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMikpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDEyICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MDI6IDEzMTA3MSA+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDAzOiAyNjIxNDMgPj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTIgIT09IDEyNykgeyAKICAkRVJST1IoJyM0MDQ6IDUyNDI4NyA+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDA1OiAxMDQ4NTc1ID4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxID4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEyICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDA4OiA4Mzg4NjA3ID4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDA5OiAxNjc3NzIxNSA+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxID4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDEyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0MTE6IDY3MTA4ODYzID4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQxMjogMTM0MjE3NzI3ID4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEyICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0MTM6IDI2ODQzNTQ1NSA+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExID4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0MTU6IDEwNzM3NDE4MjMgPj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTIgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0MTY6IDIxNDc0ODM2NDcgPj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE3OiAwID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMykpOyAKfSAKCgppZiAoMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTg6IDEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEzKSk7IAp9IAoKCmlmICgzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxOTogMyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIwOiA3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIxOiAxNSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEzKSk7IAp9IAoKCmlmICgzMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjI6IDMxID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMzogNjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNDogMTI3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI1OiAyNTUgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjY6IDUxMSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjc6IDEwMjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyODogMjA0NyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI5OiA0MDk1ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzA6IDgxOTEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMyAhPT0gMSkgeyAKICAkRVJST1IoJyM0MzE6IDE2MzgzID4+IDEzID09PSAxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDEzICE9PSAzKSB7IAogICRFUlJPUignIzQzMjogMzI3NjcgPj4gMTMgPT09IDMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA+PiAxMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTMgIT09IDE1KSB7IAogICRFUlJPUignIzQzNDogMTMxMDcxID4+IDEzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDEzICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MzU6IDI2MjE0MyA+PiAxMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDM2OiA1MjQyODcgPj4gMTMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1ID4+IDEzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDM4OiAyMDk3MTUxID4+IDEzID09PSAyNTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEzICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDM5OiA0MTk0MzAzID4+IDEzID09PSA1MTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEzICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ0MDogODM4ODYwNyA+PiAxMyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEzICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ0MTogMTY3NzcyMTUgPj4gMTMgPT09IDIwNDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTMgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA+PiAxMyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NDM6IDY3MTA4ODYzID4+IDEzID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMyAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPj4gMTMgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTMgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1ID4+IDEzID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDEzICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA+PiAxMyA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTMgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NDc6IDEwNzM3NDE4MjMgPj4gMTMgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTMgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPj4gMTMgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ5OiAwID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNCkpOyAKfSAKCgppZiAoMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE0KSk7IAp9IAoKCmlmICgzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MTogMyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUyOiA3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE0KSk7IAp9IAoKCmlmICgzMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTQ6IDMxID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NTogNjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NjogMTI3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTk6IDEwMjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYxOiA0MDk1ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjI6IDgxOTEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE0ICE9PSAxKSB7IAogICRFUlJPUignIzQ2NDogMzI3NjcgPj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA+PiAxNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPj4gMTQgPT09IDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDY3OiAyNjIxNDMgPj4gMTQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTQgIT09IDMxKSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3ID4+IDE0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDY5OiAxMDQ4NTc1ID4+IDE0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTQgIT09IDEyNykgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPj4gMTQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTQgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPj4gMTQgPT09IDI1NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTQgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPj4gMTQgPT09IDUxMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE0ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ3MzogMTY3NzcyMTUgPj4gMTQgPT09IDEwMjMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTQgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA+PiAxNCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0NzU6IDY3MTA4ODYzID4+IDE0ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NzY6IDEzNDIxNzcyNyA+PiAxNCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE0ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0Nzc6IDI2ODQzNTQ1NSA+PiAxNCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDc4OiA1MzY4NzA5MTEgPj4gMTQgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE0ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPj4gMTQgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQ4MDogMjE0NzQ4MzY0NyA+PiAxNCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNCkpOyAKfSAKCgppZiAoMCA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODE6IDAgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE1KSk7IAp9IAoKCmlmICgxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MjogMSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgzOiAzID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNSkpOyAKfSAKCgppZiAoNyA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODQ6IDcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE1KSk7IAp9IAoKCmlmICgxNSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODU6IDE1ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NjogMzEgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg3OiA2MyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg4OiAxMjcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODk6IDI1NSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MDogNTExID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MTogMTAyMyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NDogODE5MSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NTogMTYzODMgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAzMjc2NyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNSAhPT0gMSkgeyAKICAkRVJST1IoJyM0OTc6IDY1NTM1ID4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNSAhPT0gMykgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA+PiAxNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE1ICE9PSA3KSB7IAogICRFUlJPUignIzQ5OTogMjYyMTQzID4+IDE1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTUgIT09IDE1KSB7IAogICRFUlJPUignIzUwMDogNTI0Mjg3ID4+IDE1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1ID4+IDE1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTUgIT09IDYzKSB7IAogICRFUlJPUignIzUwMjogMjA5NzE1MSA+PiAxNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE1ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzID4+IDE1ID09PSAxMjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE1ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3ID4+IDE1ID09PSAyNTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNSAhPT0gNTExKSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPj4gMTUgPT09IDUxMS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1MDY6IDMzNTU0NDMxID4+IDE1ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDE1ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPj4gMTUgPT09IDIwNDcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE1ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzUwODogMTM0MjE3NzI3ID4+IDE1ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTUgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTA5OiAyNjg0MzU0NTUgPj4gMTUgPT09IDgxOTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTEwOiA1MzY4NzA5MTEgPj4gMTUgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE1ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MTE6IDEwNzM3NDE4MjMgPj4gMTUgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3ID4+IDE1ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTUpKTsgCn0gCgo=","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKDAgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEzOiAwID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNikpOyAKfSAKCgppZiAoMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTQ6IDEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE2KSk7IAp9IAoKCmlmICgzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNTogMyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTYpKTsgCn0gCgoKaWYgKDcgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE2OiA3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNikpOyAKfSAKCgppZiAoMTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE3OiAxNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTg6IDMxID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTYpKTsgCn0gCgoKaWYgKDYzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxOTogNjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNikpOyAKfSAKCgppZiAoMTI3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMDogMTI3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE2KSk7IAp9IAoKCmlmICgyNTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIxOiAyNTUgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTYpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjI6IDUxMSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNikpOyAKfSAKCgppZiAoMTAyMyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE2KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI1OiA0MDk1ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNikpOyAKfSAKCgppZiAoODE5MSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjY6IDgxOTEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjc6IDE2MzgzID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTYpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyODogMzI3NjcgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTYgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTMwOiAxMzEwNzEgPj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNiAhPT0gMykgeyAKICAkRVJST1IoJyM1MzE6IDI2MjE0MyA+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE2ICE9PSA3KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3ID4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTM0OiAyMDk3MTUxID4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTYgIT09IDYzKSB7IAogICRFUlJPUignIzUzNTogNDE5NDMwMyA+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE2ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTM2OiA4Mzg4NjA3ID4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNiAhPT0gMjU1KSB7IAogICRFUlJPUignIzUzNzogMTY3NzcyMTUgPj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNiAhPT0gNTExKSB7IAogICRFUlJPUignIzUzODogMzM1NTQ0MzEgPj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1Mzk6IDY3MTA4ODYzID4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDA6IDEzNDIxNzcyNyA+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE2ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1ID4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTYgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTQyOiA1MzY4NzA5MTEgPj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTYgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzU0MzogMTA3Mzc0MTgyMyA+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE2ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNikpOyAKfSAKCgppZiAoMCA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDAgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE3KSk7IAp9IAoKCmlmICgxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NjogMSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTcpKTsgCn0gCgoKaWYgKDMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ3OiAzID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNykpOyAKfSAKCgppZiAoNyA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDg6IDcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE3KSk7IAp9IAoKCmlmICgxNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDk6IDE1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTcpKTsgCn0gCgoKaWYgKDMxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MDogMzEgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNykpOyAKfSAKCgppZiAoNjMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUxOiA2MyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE3KSk7IAp9IAoKCmlmICgxMjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUyOiAxMjcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTcpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTM6IDI1NSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNykpOyAKfSAKCgppZiAoNTExID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NDogNTExID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE3KSk7IAp9IAoKCmlmICgxMDIzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NTogMTAyMyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTcpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU2OiAyMDQ3ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNykpOyAKfSAKCgppZiAoNDA5NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTc6IDQwOTUgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE3KSk7IAp9IAoKCmlmICg4MTkxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1ODogODE5MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTcpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1OTogMTYzODMgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAzMjc2NyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE3KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IDY1NTM1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTcpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDEzMTA3MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MzogMjYyMTQzID4+IDE3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE3KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTY0OiA1MjQyODcgPj4gMTcgPT09IDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTcpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTY1OiAxMDQ4NTc1ID4+IDE3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNykpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxID4+IDE3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU2NzogNDE5NDMwMyA+PiAxNyA9PT0gMzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1Njg6IDgzODg2MDcgPj4gMTcgPT09IDYzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxNykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1Njk6IDE2Nzc3MjE1ID4+IDE3ID09PSAxMjcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzA6IDMzNTU0NDMxID4+IDE3ID09PSAyNTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzID4+IDE3ID09PSA1MTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU3MjogMTM0MjE3NzI3ID4+IDE3ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE3KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTczOiAyNjg0MzU0NTUgPj4gMTcgPT09IDIwNDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTcpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1NzQ6IDUzNjg3MDkxMSA+PiAxNyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxNykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NzU6IDEwNzM3NDE4MjMgPj4gMTcgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE3KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPj4gMTcgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNykpOyAKfSAKCgppZiAoMCA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzc6IDAgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE4KSk7IAp9IAoKCmlmICgxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3ODogMSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc5OiAzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxOCkpOyAKfSAKCgppZiAoNyA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODA6IDcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE4KSk7IAp9IAoKCmlmICgxNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODE6IDE1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MjogMzEgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgzOiA2MyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg0OiAxMjcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NjogNTExID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NzogMTAyMyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg4OiAyMDQ3ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODk6IDQwOTUgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MDogODE5MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MTogMTYzODMgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkyOiAzMjc2NyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTM6IDY1NTM1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTQ6IDEzMTA3MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NTogMjYyMTQzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk2OiA1MjQyODcgPj4gMTggPT09IDEuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTggIT09IDMpIHsgCiAgJEVSUk9SKCcjNTk3OiAxMDQ4NTc1ID4+IDE4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxOCAhPT0gNykgeyAKICAkRVJST1IoJyM1OTg6IDIwOTcxNTEgPj4gMTggPT09IDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPj4gMTggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjAwOiA4Mzg4NjA3ID4+IDE4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE4ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MDE6IDE2Nzc3MjE1ID4+IDE4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzYwMjogMzM1NTQ0MzEgPj4gMTggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzYwMzogNjcxMDg4NjMgPj4gMTggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTggIT09IDUxMSkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA+PiAxOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjA1OiAyNjg0MzU0NTUgPj4gMTggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2MDY6IDUzNjg3MDkxMSA+PiAxOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2MDc6IDEwNzM3NDE4MjMgPj4gMTggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzYwODogMjE0NzQ4MzY0NyA+PiAxOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTgpKTsgCn0gCgoKaWYgKDAgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjA5OiAwID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxOSkpOyAKfSAKCgppZiAoMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE5KSk7IAp9IAoKCmlmICgzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMTogMyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTkpKTsgCn0gCgoKaWYgKDcgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiA3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxOSkpOyAKfSAKCgppZiAoMTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEzOiAxNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE5KSk7IAp9IAoKCmlmICgzMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTkpKTsgCn0gCgoKaWYgKDYzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNTogNjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxOSkpOyAKfSAKCgppZiAoMTI3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNjogMTI3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE3OiAyNTUgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTkpKTsgCn0gCgoKaWYgKDUxMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTg6IDUxMSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxOSkpOyAKfSAKCgppZiAoMTAyMyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE5KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMDogMjA0NyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTkpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIxOiA0MDk1ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxOSkpOyAKfSAKCgppZiAoODE5MSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjI6IDgxOTEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE5KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjM6IDE2MzgzID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNDogMzI3NjcgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI1OiA2NTUzNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI2OiAxMzEwNzEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTkpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjc6IDI2MjE0MyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyODogNTI0Mjg3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE5ICE9PSAxKSB7IAogICRFUlJPUignIzYyOTogMTA0ODU3NSA+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTkgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjMwOiAyMDk3MTUxID4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxOSAhPT0gNykgeyAKICAkRVJST1IoJyM2MzE6IDQxOTQzMDMgPj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE5ICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MzI6IDgzODg2MDcgPj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTkgIT09IDMxKSB7IAogICRFUlJPUignIzYzMzogMTY3NzcyMTUgPj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDE5ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxID4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOSAhPT0gMTI3KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTkgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MzY6IDEzNDIxNzcyNyA+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTkgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2Mzc6IDI2ODQzNTQ1NSA+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTkgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjM4OiA1MzY4NzA5MTEgPj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTkgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjM5OiAxMDczNzQxODIzID4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxOSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2NDA6IDIxNDc0ODM2NDcgPj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDE5KSk7IAp9IAoKCmlmICgwID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogMCA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjApKTsgCn0gCgoKaWYgKDEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQyOiAxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMCkpOyAKfSAKCgppZiAoMyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDM6IDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIwKSk7IAp9IAoKCmlmICg3ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NDogNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NTogMTUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ2OiAzMSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIwKSk7IAp9IAoKCmlmICg2MyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDc6IDYzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDg6IDEyNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0OTogMjU1ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUxOiAxMDIzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTI6IDIwNDcgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MzogNDA5NSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU0OiA4MTkxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU1OiAxNjM4MyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NzogNjU1MzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1ODogMTMxMDcxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjA6IDUyNDI4NyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDEwNDg1NzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA+PiAyMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjAgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjYzOiA0MTk0MzAzID4+IDIwID09PSAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMCAhPT0gNykgeyAKICAkRVJST1IoJyM2NjQ6IDgzODg2MDcgPj4gMjAgPT09IDcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjY1OiAxNjc3NzIxNSA+PiAyMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjAgIT09IDMxKSB7IAogICRFUlJPUignIzY2NjogMzM1NTQ0MzEgPj4gMjAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDIwICE9PSA2MykgeyAKICAkRVJST1IoJyM2Njc6IDY3MTA4ODYzID4+IDIwID09PSA2My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjAgIT09IDEyNykgeyAKICAkRVJST1IoJyM2Njg6IDEzNDIxNzcyNyA+PiAyMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2Njk6IDI2ODQzNTQ1NSA+PiAyMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjAgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA+PiAyMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA+PiAyMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjcyOiAyMTQ3NDgzNjQ3ID4+IDIwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyMCkpOyAKfSAKCgppZiAoMCA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDIxKSk7IAp9IAoKCmlmICgxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogMSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMjEpKTsgCn0gCgoKaWYgKDMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc1OiAzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAyMSkpOyAKfSAKCgppZiAoNyA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzY6IDcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDIxKSk7IAp9IAoKCmlmICgxNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMjEpKTsgCn0gCgoKaWYgKDMxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3ODogMzEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc5OiA2MyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDIxKSk7IAp9IAoKCmlmICgxMjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMjEpKTsgCn0gCgoKaWYgKDI1NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODE6IDI1NSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAyMSkpOyAKfSAKCgppZiAoNTExID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MjogNTExID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDIzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MzogMTAyMyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMjEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg0OiAyMDQ3ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAyMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDIxKSk7IAp9IAoKCmlmICg4MTkxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NjogODE5MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMjEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NzogMTYzODMgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAyMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDIxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODk6IDY1NTM1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTA6IDEzMTA3MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDIxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkyOiA1MjQyODcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkzOiAxMDQ4NTc1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAyMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDIxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NTogNDE5NDMwMyA+PiAyMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjk2OiA4Mzg4NjA3ID4+IDIxID09PSAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAyMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA+PiAyMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDIxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjk4OiAzMzU1NDQzMSA+PiAyMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzY5OTogNjcxMDg4NjMgPj4gMjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzAwOiAxMzQyMTc3MjcgPj4gMjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA+PiAyMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MDI6IDUzNjg3MDkxMSA+PiAyMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzAzOiAxMDczNzQxODIzID4+IDIxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcwNDogMjE0NzQ4MzY0NyA+PiAyMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjEpKTsgCn0gCgoKaWYgKDAgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyMikpOyAKfSAKCgppZiAoMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDIyKSk7IAp9IAoKCmlmICgzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogMyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjIpKTsgCn0gCgoKaWYgKDcgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA4OiA3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyMikpOyAKfSAKCgppZiAoMTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAxNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDIyKSk7IAp9IAoKCmlmICgzMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDMxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjIpKTsgCn0gCgoKaWYgKDYzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMTogNjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTI3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMTI3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIyKSk7IAp9IAoKCmlmICgyNTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDEwMjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDIyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNjogMjA0NyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE3OiA0MDk1ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyMikpOyAKfSAKCgppZiAoODE5MSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTg6IDgxOTEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDIyKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMDogMzI3NjcgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyMikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIxOiA2NTUzNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDIyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjM6IDI2MjE0MyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNDogNTI0Mjg3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjIpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI2OiAyMDk3MTUxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDQxOTQzMDMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDIyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIyICE9PSAzKSB7IAogICRFUlJPUignIzcyOTogMTY3NzcyMTUgPj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzMwOiAzMzU1NDQzMSA+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDIyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzMxOiA2NzEwODg2MyA+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MzI6IDEzNDIxNzcyNyA+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzMzOiAyNjg0MzU0NTUgPj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjIgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MzQ6IDUzNjg3MDkxMSA+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzM1OiAxMDczNzQxODIzID4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3ID4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIyKSk7IAp9IAoKCmlmICgwID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMCA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMykpOyAKfSAKCgppZiAoMyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIzKSk7IAp9IAoKCmlmICg3ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIzKSk7IAp9IAoKCmlmICg2MyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDYzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjU1ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MTEgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwNDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDA5NSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjM4MyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTI6IDMyNzY3ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NDogMTMxMDcxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU1OiAyNjIxNDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTc6IDEwNDg1NzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1ODogMjA5NzE1MSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDgzODg2MDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMyAhPT0gMSkgeyAKICAkRVJST1IoJyM3NjE6IDE2Nzc3MjE1ID4+IDIzID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDIzICE9PSAzKSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPj4gMjMgPT09IDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzYzOiA2NzEwODg2MyA+PiAyMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjMgIT09IDE1KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3ID4+IDIzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIzICE9PSAzMSkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA+PiAyMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAyMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPj4gMjMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzY3OiAxMDczNzQxODIzID4+IDIzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3ID4+IDIzID09PSAyNTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIzKSk7IAp9IAoKCmlmICgwID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogMCA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcwOiAxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNCkpOyAKfSAKCgppZiAoMyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzE6IDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI0KSk7IAp9IAoKCmlmICg3ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MjogNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogMTUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc0OiAzMSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI0KSk7IAp9IAoKCmlmICg2MyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzU6IDYzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogMjU1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAxMDIzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IDIwNDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogNDA5NSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiA4MTkxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAxNjM4MyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogNjU1MzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogMTMxMDcxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IDUyNDI4NyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IDEwNDg1NzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiA0MTk0MzAzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IDgzODg2MDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5NDogMzM1NTQ0MzEgPj4gMjQgPT09IDEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzk1OiA2NzEwODg2MyA+PiAyNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPj4gMjQgPT09IDcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPj4gMjQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjQgIT09IDMxKSB7IAogICRFUlJPUignIzc5ODogNTM2ODcwOTExID4+IDI0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzk5OiAxMDczNzQxODIzID4+IDI0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjQgIT09IDEyNykgeyAKICAkRVJST1IoJyM4MDA6IDIxNDc0ODM2NDcgPj4gMjQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAxOiAwID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNSkpOyAKfSAKCgppZiAoMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDI6IDEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI1KSk7IAp9IAoKCmlmICgzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiA3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA1OiAxNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI1KSk7IAp9IAoKCmlmICgzMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDY6IDMxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogNjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwODogMTI3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA5OiAyNTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDUxMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMjogMjA0NyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiA0MDk1ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTU6IDE2MzgzID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNjogMzI3NjcgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE4OiAxMzEwNzEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTk6IDI2MjE0MyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMTogMTA0ODU3NSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIyOiAyMDk3MTUxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNDogODM4ODYwNyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNTogMTY3NzcyMTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4Mjc6IDY3MTA4ODYzID4+IDI1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNSAhPT0gMykgeyAKICAkRVJST1IoJyM4Mjg6IDEzNDIxNzcyNyA+PiAyNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI1ICE9PSA3KSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1ID4+IDI1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjUgIT09IDE1KSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExID4+IDI1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODMxOiAxMDczNzQxODIzID4+IDI1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjUgIT09IDYzKSB7IAogICRFUlJPUignIzgzMjogMjE0NzQ4MzY0NyA+PiAyNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI1KSk7IAp9IAoKCmlmICgwID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzMzogMCA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM0OiAxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNikpOyAKfSAKCgppZiAoMyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzU6IDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI2KSk7IAp9IAoKCmlmICg3ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNjogNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNzogMTUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI2KSk7IAp9IAoKCmlmICg2MyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzk6IDYzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MTogMjU1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQyOiA1MTEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDQ6IDIwNDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NTogNDA5NSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ3OiAxNjM4MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDg6IDMyNzY3ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MDogMTMxMDcxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUxOiAyNjIxNDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTM6IDEwNDg1NzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NDogMjA5NzE1MSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTY6IDgzODg2MDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTc6IDE2Nzc3MjE1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU5OiA2NzEwODg2MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjYgIT09IDEpIHsgCiAgJEVSUk9SKCcjODYwOiAxMzQyMTc3MjcgPj4gMjYgPT09IDEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNiAhPT0gMykgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA+PiAyNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI2ICE9PSA3KSB7IAogICRFUlJPUignIzg2MjogNTM2ODcwOTExID4+IDI2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NjM6IDEwNzM3NDE4MjMgPj4gMjYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3ID4+IDI2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjYpKTsgCn0gCgoKaWYgKDAgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiAwID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNykpOyAKfSAKCgppZiAoMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI3KSk7IAp9IAoKCmlmICgzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NzogMyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjcpKTsgCn0gCgoKaWYgKDcgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY4OiA3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNykpOyAKfSAKCgppZiAoMTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY5OiAxNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI3KSk7IAp9IAoKCmlmICgzMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzA6IDMxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjcpKTsgCn0gCgoKaWYgKDYzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MTogNjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNykpOyAKfSAKCgppZiAoMTI3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogMTI3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI3KSk7IAp9IAoKCmlmICgyNTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODczOiAyNTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjcpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzQ6IDUxMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNykpOyAKfSAKCgppZiAoMTAyMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDEwMjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI3KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NjogMjA0NyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc3OiA0MDk1ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNykpOyAKfSAKCgppZiAoODE5MSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzg6IDgxOTEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI3KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzk6IDE2MzgzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjcpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MDogMzI3NjcgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgxOiA2NTUzNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiAxMzEwNzEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODM6IDI2MjE0MyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NDogNTI0Mjg3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogMTA0ODU3NSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg2OiAyMDk3MTUxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODc6IDQxOTQzMDMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4ODogODM4ODYwNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4OTogMTY3NzcyMTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkwOiAzMzU1NDQzMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTE6IDY3MTA4ODYzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDEzNDIxNzcyNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MzogMjY4NDM1NDU1ID4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjcgIT09IDMpIHsgCiAgJEVSUk9SKCcjODk0OiA1MzY4NzA5MTEgPj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjcgIT09IDcpIHsgCiAgJEVSUk9SKCcjODk1OiAxMDczNzQxODIzID4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3ID4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjcpKTsgCn0gCgoKaWYgKDAgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk3OiAwID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyOCkpOyAKfSAKCgppZiAoMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTg6IDEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI4KSk7IAp9IAoKCmlmICgzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5OTogMyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjgpKTsgCn0gCgoKaWYgKDcgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAwOiA3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyOCkpOyAKfSAKCgppZiAoMTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAxNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI4KSk7IAp9IAoKCmlmICgzMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IDMxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjgpKTsgCn0gCgoKaWYgKDYzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogNjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyOCkpOyAKfSAKCgppZiAoMTI3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogMTI3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI4KSk7IAp9IAoKCmlmICgyNTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAyNTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjgpKTsgCn0gCgoKaWYgKDUxMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IDUxMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyOCkpOyAKfSAKCgppZiAoMTAyMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IDEwMjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI4KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogMjA0NyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjgpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiA0MDk1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyOCkpOyAKfSAKCgppZiAoODE5MSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IDgxOTEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI4KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IDE2MzgzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjgpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogMzI3NjcgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyOCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiA2NTUzNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAxMzEwNzEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjgpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IDI2MjE0MyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyOCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogNTI0Mjg3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI4KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogMTA0ODU3NSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAyMDk3MTUxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IDQxOTQzMDMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogODM4ODYwNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogMTY3NzcyMTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAzMzU1NDQzMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IDY3MTA4ODYzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IDEzNDIxNzcyNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogMjY4NDM1NDU1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI2OiA1MzY4NzA5MTEgPj4gMjggPT09IDEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTI3OiAxMDczNzQxODIzID4+IDI4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5Mjg6IDIxNDc0ODM2NDcgPj4gMjggPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI4KSk7IAp9IAoKCmlmICgwID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkyOTogMCA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMwOiAxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyOSkpOyAKfSAKCgppZiAoMyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzE6IDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI5KSk7IAp9IAoKCmlmICg3ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMzogMTUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM0OiAzMSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI5KSk7IAp9IAoKCmlmICg2MyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDYzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzY6IDEyNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNzogMjU1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM4OiA1MTEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM5OiAxMDIzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDA6IDIwNDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MTogNDA5NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiA4MTkxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQzOiAxNjM4MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDQ6IDMyNzY3ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogNjU1MzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NjogMTMxMDcxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ3OiAyNjIxNDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDg6IDUyNDI4NyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDk6IDEwNDg1NzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MDogMjA5NzE1MSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUxOiA0MTk0MzAzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDgzODg2MDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTM6IDE2Nzc3MjE1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NDogMzM1NTQ0MzEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU1OiA2NzEwODg2MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU2OiAxMzQyMTc3MjcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTc6IDI2ODQzNTQ1NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1ODogNTM2ODcwOTExID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI5ICE9PSAxKSB7IAogICRFUlJPUignIzk1OTogMTA3Mzc0MTgyMyA+PiAyOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjkgIT09IDMpIHsgCiAgJEVSUk9SKCcjOTYwOiAyMTQ3NDgzNjQ3ID4+IDI5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyOSkpOyAKfSAKCgppZiAoMCA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDAgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMwKSk7IAp9IAoKCmlmICgxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MjogMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMzApKTsgCn0gCgoKaWYgKDMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYzOiAzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAzMCkpOyAKfSAKCgppZiAoNyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjQ6IDcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDMwKSk7IAp9IAoKCmlmICgxNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjU6IDE1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMzApKTsgCn0gCgoKaWYgKDMxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NjogMzEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAzMCkpOyAKfSAKCgppZiAoNjMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY3OiA2MyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDMwKSk7IAp9IAoKCmlmICgxMjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY4OiAxMjcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMzApKTsgCn0gCgoKaWYgKDI1NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMCkpOyAKfSAKCgppZiAoNTExID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MDogNTExID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogMTAyMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMzApKTsgCn0gCgoKaWYgKDIwNDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzM6IDQwOTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NDogODE5MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMzApKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc2OiAzMjc2NyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzc6IDY1NTM1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMzApKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3OTogMjYyMTQzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgwOiA1MjQyODcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMzApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODI6IDIwOTcxNTEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MzogNDE5NDMwMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMzApKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg1OiAxNjc3NzIxNSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODY6IDMzNTU0NDMxID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMzApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4ODogMTM0MjE3NzI3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg5OiAyNjg0MzU0NTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMzApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDEwNzM3NDE4MjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MjogMjE0NzQ4MzY0NyA+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzApKTsgCn0gCgoKaWYgKDAgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAwID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAzMSkpOyAKfSAKCgppZiAoMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDMxKSk7IAp9IAoKCmlmICgzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NTogMyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMzEpKTsgCn0gCgoKaWYgKDcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk2OiA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzMSkpOyAKfSAKCgppZiAoMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDMxKSk7IAp9IAoKCmlmICgzMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTg6IDMxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMzEpKTsgCn0gCgoKaWYgKDYzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5OTogNjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDE6IDI1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDI6IDUxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTAyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiAyMDQ3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA1OiA0MDk1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzMSkpOyAKfSAKCgppZiAoODE5MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAzMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogMTYzODMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwODogMzI3NjcgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAzMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDEzMTA3MSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTE6IDI2MjE0MyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAzMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAzMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiAxMDQ4NTc1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiAyMDk3MTUxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAzMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAzMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE2OiA4Mzg4NjA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogMTY3NzcyMTUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAzMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxOTogNjcxMDg4NjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDEzNDIxNzcyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjI6IDUzNjg3MDkxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIzOiAxMDczNzQxODIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAzMSkpOyAKfSAKCg==","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xID4+IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA+PiAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4gMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPj4gMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4gMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xID4+IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA+PiAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgo=","commentary":"Operator x >> y uses ToInt32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0NyA+PiAtMzIuMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMxOiAyMTQ3NDgzNjQ3ID4+IC0zMi4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMjE0NzQ4MzY0NyA+PiAtMzEuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMyOiAyMTQ3NDgzNjQ3ID4+IC0zMS4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMjE0NzQ4MzY0NyA+PiAtMzAuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM6IDIxNDc0ODM2NDcgPj4gLTMwLjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDIxNDc0ODM2NDcgPj4gLTI5LjEgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM0OiAyMTQ3NDgzNjQ3ID4+IC0yOS4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICgyMTQ3NDgzNjQ3ID4+IC0yOC4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjNTogMjE0NzQ4MzY0NyA+PiAtMjguMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoMjE0NzQ4MzY0NyA+PiAtMjcuMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjNjogMjE0NzQ4MzY0NyA+PiAtMjcuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yNy4xKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgyMTQ3NDgzNjQ3ID4+IC0yNi4xICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM3OiAyMTQ3NDgzNjQ3ID4+IC0yNi4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTI2LjEpKTsgCn0gCgovL0NIRUNLIzgKaWYgKDIxNDc0ODM2NDcgPj4gLTI1LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzg6IDIxNDc0ODM2NDcgPj4gLTI1LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjUuMSkpOyAKfSAKCi8vQ0hFQ0sjOQppZiAoMjE0NzQ4MzY0NyA+PiAtMjQuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5OiAyMTQ3NDgzNjQ3ID4+IC0yNC4xID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjQuMSkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKDIxNDc0ODM2NDcgPj4gLTIzLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTA6IDIxNDc0ODM2NDcgPj4gLTIzLjEgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMjE0NzQ4MzY0NyA+PiAtMjIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMTogMjE0NzQ4MzY0NyA+PiAtMjIuMSA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgyMTQ3NDgzNjQ3ID4+IC0yMS4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyOiAyMTQ3NDgzNjQ3ID4+IC0yMS4xID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDIxNDc0ODM2NDcgPj4gLTIwLjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxMzogMjE0NzQ4MzY0NyA+PiAtMjAuMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDIxNDc0ODM2NDcgPj4gLTE5LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNDogMjE0NzQ4MzY0NyA+PiAtMTkuMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDIxNDc0ODM2NDcgPj4gLTE4LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTogMjE0NzQ4MzY0NyA+PiAtMTguMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDIxNDc0ODM2NDcgPj4gLTE3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE2OiAyMTQ3NDgzNjQ3ID4+IC0xNy4xID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTE3LjEpKTsgCn0gCgovL0NIRUNLIzE3CmlmICgyMTQ3NDgzNjQ3ID4+IC0xNi4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNzogMjE0NzQ4MzY0NyA+PiAtMTYuMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNi4xKSk7IAp9IAoKLy9DSEVDSyMxOAppZiAoMjE0NzQ4MzY0NyA+PiAtMTUuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTg6IDIxNDc0ODM2NDcgPj4gLTE1LjEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMTkKaWYgKDIxNDc0ODM2NDcgPj4gLTE0LjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTk6IDIxNDc0ODM2NDcgPj4gLTE0LjEgPT09IDgxOTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNC4xKSk7IAp9IAoKLy9DSEVDSyMyMAppZiAoMjE0NzQ4MzY0NyA+PiAtMTMuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMDogMjE0NzQ4MzY0NyA+PiAtMTMuMSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgyMTQ3NDgzNjQ3ID4+IC0xMi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxOiAyMTQ3NDgzNjQ3ID4+IC0xMi4xID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDIxNDc0ODM2NDcgPj4gLTExLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjI6IDIxNDc0ODM2NDcgPj4gLTExLjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMjE0NzQ4MzY0NyA+PiAtMTAuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzIzOiAyMTQ3NDgzNjQ3ID4+IC0xMC4xID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoMjE0NzQ4MzY0NyA+PiAtOS4xICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjQ6IDIxNDc0ODM2NDcgPj4gLTkuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoMjE0NzQ4MzY0NyA+PiAtOC4xICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjU6IDIxNDc0ODM2NDcgPj4gLTguMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoMjE0NzQ4MzY0NyA+PiAtNy4xICE9PSA2MykgeyAKICAkRVJST1IoJyMyNjogMjE0NzQ4MzY0NyA+PiAtNy4xID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMjcKaWYgKDIxNDc0ODM2NDcgPj4gLTYuMSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc6IDIxNDc0ODM2NDcgPj4gLTYuMSA9PT0gMzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC02LjEpKTsgCn0gCgovL0NIRUNLIzI4CmlmICgyMTQ3NDgzNjQ3ID4+IC01LjEgIT09IDE1KSB7IAogICRFUlJPUignIzI4OiAyMTQ3NDgzNjQ3ID4+IC01LjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtNS4xKSk7IAp9IAoKLy9DSEVDSyMyOQppZiAoMjE0NzQ4MzY0NyA+PiAtNC4xICE9PSA3KSB7IAogICRFUlJPUignIzI5OiAyMTQ3NDgzNjQ3ID4+IC00LjEgPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC00LjEpKTsgCn0gCgovL0NIRUNLIzMwCmlmICgyMTQ3NDgzNjQ3ID4+IC0zLjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzA6IDIxNDc0ODM2NDcgPj4gLTMuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDIxNDc0ODM2NDcgPj4gLTIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMTogMjE0NzQ4MzY0NyA+PiAtMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMjE0NzQ4MzY0NyA+PiAtMS4xICE9PSAwKSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+IC0xLjEgPT09IDAuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xLjEpKTsgCn0gCgovL0NIRUNLIzMzCmlmICgyMTQ3NDgzNjQ3ID4+IDMyLjEgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjMzM6IDIxNDc0ODM2NDcgPj4gMzIuMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzQKaWYgKDIxNDc0ODM2NDcgPj4gMzMuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMzNDogMjE0NzQ4MzY0NyA+PiAzMy4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzMy4xKSk7IAp9IAoKLy9DSEVDSyMzNQppZiAoMjE0NzQ4MzY0NyA+PiAzNC4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzU6IDIxNDc0ODM2NDcgPj4gMzQuMSA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoMjE0NzQ4MzY0NyA+PiAzNS4xICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMzY6IDIxNDc0ODM2NDcgPj4gMzUuMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMjE0NzQ4MzY0NyA+PiAzNi4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMzc6IDIxNDc0ODM2NDcgPj4gMzYuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoMjE0NzQ4MzY0NyA+PiAzNy4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMzODogMjE0NzQ4MzY0NyA+PiAzNy4xID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzcuMSkpOyAKfSAKCi8vQ0hFQ0sjMzkKaWYgKDIxNDc0ODM2NDcgPj4gMzguMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMzk6IDIxNDc0ODM2NDcgPj4gMzguMSA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDM4LjEpKTsgCn0gCgovL0NIRUNLIzQwCmlmICgyMTQ3NDgzNjQ3ID4+IDM5LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzQwOiAyMTQ3NDgzNjQ3ID4+IDM5LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMjE0NzQ4MzY0NyA+PiA0MC4xICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzQxOiAyMTQ3NDgzNjQ3ID4+IDQwLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQwLjEpKTsgCn0gCgovL0NIRUNLIzQyCmlmICgyMTQ3NDgzNjQ3ID4+IDQxLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjNDI6IDIxNDc0ODM2NDcgPj4gNDEuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDEuMSkpOyAKfSAKCi8vQ0hFQ0sjNDMKaWYgKDIxNDc0ODM2NDcgPj4gNDIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM0MzogMjE0NzQ4MzY0NyA+PiA0Mi4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Mi4xKSk7IAp9IAoKLy9DSEVDSyM0NAppZiAoMjE0NzQ4MzY0NyA+PiA0My4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzQ0OiAyMTQ3NDgzNjQ3ID4+IDQzLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQzLjEpKTsgCn0gCgovL0NIRUNLIzQ1CmlmICgyMTQ3NDgzNjQ3ID4+IDQ0LjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0NTogMjE0NzQ4MzY0NyA+PiA0NC4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICgyMTQ3NDgzNjQ3ID4+IDQ1LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NjogMjE0NzQ4MzY0NyA+PiA0NS4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgyMTQ3NDgzNjQ3ID4+IDQ2LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NzogMjE0NzQ4MzY0NyA+PiA0Ni4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICgyMTQ3NDgzNjQ3ID4+IDQ3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQ4OiAyMTQ3NDgzNjQ3ID4+IDQ3LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Ny4xKSk7IAp9IAoKLy9DSEVDSyM0OQppZiAoMjE0NzQ4MzY0NyA+PiA0OC4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogMjE0NzQ4MzY0NyA+PiA0OC4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDguMSkpOyAKfSAKCi8vQ0hFQ0sjNTAKaWYgKDIxNDc0ODM2NDcgPj4gNDkuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTA6IDIxNDc0ODM2NDcgPj4gNDkuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgyMTQ3NDgzNjQ3ID4+IDUwLjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTE6IDIxNDc0ODM2NDcgPj4gNTAuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTAuMSkpOyAKfSAKCi8vQ0hFQ0sjNTIKaWYgKDIxNDc0ODM2NDcgPj4gNTEuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjogMjE0NzQ4MzY0NyA+PiA1MS4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1MS4xKSk7IAp9IAoKLy9DSEVDSyM1MwppZiAoMjE0NzQ4MzY0NyA+PiA1Mi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUzOiAyMTQ3NDgzNjQ3ID4+IDUyLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDUyLjEpKTsgCn0gCgovL0NIRUNLIzU0CmlmICgyMTQ3NDgzNjQ3ID4+IDUzLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTQ6IDIxNDc0ODM2NDcgPj4gNTMuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTMuMSkpOyAKfSAKCi8vQ0hFQ0sjNTUKaWYgKDIxNDc0ODM2NDcgPj4gNTQuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzU1OiAyMTQ3NDgzNjQ3ID4+IDU0LjEgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDIxNDc0ODM2NDcgPj4gNTUuMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzU2OiAyMTQ3NDgzNjQ3ID4+IDU1LjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDIxNDc0ODM2NDcgPj4gNTYuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzU3OiAyMTQ3NDgzNjQ3ID4+IDU2LjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDIxNDc0ODM2NDcgPj4gNTcuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTg6IDIxNDc0ODM2NDcgPj4gNTcuMSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDU3LjEpKTsgCn0gCgovL0NIRUNLIzU5CmlmICgyMTQ3NDgzNjQ3ID4+IDU4LjEgIT09IDMxKSB7IAogICRFUlJPUignIzU5OiAyMTQ3NDgzNjQ3ID4+IDU4LjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1OC4xKSk7IAp9IAoKLy9DSEVDSyM2MAppZiAoMjE0NzQ4MzY0NyA+PiA1OS4xICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MDogMjE0NzQ4MzY0NyA+PiA1OS4xID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDIxNDc0ODM2NDcgPj4gNjAuMSAhPT0gNykgeyAKICAkRVJST1IoJyM2MTogMjE0NzQ4MzY0NyA+PiA2MC4xID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2MC4xKSk7IAp9IAoKLy9DSEVDSyM2MgppZiAoMjE0NzQ4MzY0NyA+PiA2MS4xICE9PSAzKSB7IAogICRFUlJPUignIzYyOiAyMTQ3NDgzNjQ3ID4+IDYxLjEgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDYxLjEpKTsgCn0gCgovL0NIRUNLIzYzCmlmICgyMTQ3NDgzNjQ3ID4+IDYyLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjM6IDIxNDc0ODM2NDcgPj4gNjIuMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNjIuMSkpOyAKfSAKCi8vQ0hFQ0sjNjQKaWYgKDIxNDc0ODM2NDcgPj4gNjMuMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0NyA+PiA2My4xID09PSAwLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2My4xKSk7IAp9IAoK","commentary":"Operator x >> y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4+IiBvciBiZXR3ZWVuICI+Pj4iIGFuZCBBZGRpdGl2ZUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItNFx1MDAwOT4+Plx1MDAwOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IC00XFx1MDAwOT4+PlxcdTAwMDkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiLTRcdTAwMEI+Pj5cdTAwMEIxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMyOiAtNFxcdTAwMEI+Pj5cXHUwMDBCMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiLTRcdTAwMEM+Pj5cdTAwMEMxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiAtNFxcdTAwMEM+Pj5cXHUwMDBDMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi00XHUwMDIwPj4+XHUwMDIwMSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNDogLTRcXHUwMDIwPj4+XFx1MDAyMDEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCItNFx1MDBBMD4+Plx1MDBBMDEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IC00XFx1MDBBMD4+PlxcdTAwQTAxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLTRcdTAwMEE+Pj5cdTAwMEExIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM2OiAtNFxcdTAwMEE+Pj5cXHUwMDBBMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiLTRcdTAwMEQ+Pj5cdTAwMEQxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM3OiAtNFxcdTAwMEQ+Pj5cXHUwMDBEMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIi00XHUyMDI4Pj4+XHUyMDI4MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjODogLTRcXHUyMDI4Pj4+XFx1MjAyODEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItNFx1MjAyOT4+Plx1MjAyOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzk6IC00XFx1MjAyOT4+PlxcdTIwMjkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIi00XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMTA6IC00XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Pj4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMjE0NzQ4MzY0NicpOwp9Cgo=","commentary":"White Space and Line Terminator between ShiftExpression and \">>>\" or between \">>>\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoLTQgPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMxOiAtNCA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC00OwppZiAoeCA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHZhciB4ID0gLTQ7IHggPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh4ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4+IHkgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICgtNCA+Pj4geSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtNDsKdmFyIHkgPSAxOwppZiAoeCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTQ7IHZhciB5ID0gMTsgeCA+Pj4geSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+IHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gLTQ7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj4+IG9iamVjdHkucHJvcCAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gLTQ7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+Pj4gb2JqZWN0eS5wcm9wID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wID4+PiBvYmplY3R5LnByb3ApKTsKfQoK","commentary":"Operator x >>> y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID4+PiAxOwogICRFUlJPUignIzEuMTogeCA+Pj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4+IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x >>> y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID4+PiB5OwogICRFUlJPUignIzEuMTogMSA+Pj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4+IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x >>> y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgW1tEZWZhdWx0IFZhbHVlXV0KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+PiAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICBpZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+Pj4gMSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgtNCA+Pj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNTogLTQgPj4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM2CmlmICgtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgJEVSUk9SKCcjNy4xOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x >>> y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+Pj4geTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCA+Pj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+PiB4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID4+PiB4ID09PSAwLiBBY3R1YWw6ICcgKyAoKHggPSAxKSA+Pj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+PiAoeCA9IDEpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+Pj4gKHggPSAxKSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+ICh4ID0gMSkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4+IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPj4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPj4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4+ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA+Pj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+Pj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoeSA9IDEpID4+PiB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+Pj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4+IHkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIngiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPj4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+Pj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAieCIpKTsKfQoK","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKG51bGwgPj4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCA+Pj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+PiB1bmRlZmluZWQgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbnVsbCkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBPYmplY3Qgb2JqZWN0IGFuZCBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh7fSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzIKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IHt9KSkpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzQKaWYgKCh7fSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IHt9KSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4+IDEpKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+Pj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4+ICJ4IiA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+ICJ4IikpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMSA+Pj4gMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxID4+PiAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMCkpOyAKfSAKCgppZiAoMiA+Pj4gMCAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAyID4+PiAwID09PSAyLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMCkpOyAKfSAKCgppZiAoNCA+Pj4gMCAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiA0ID4+PiAwID09PSA0LiBBY3R1YWw6ICcgKyAoNCA+Pj4gMCkpOyAKfSAKCgppZiAoOCA+Pj4gMCAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiA4ID4+PiAwID09PSA4LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTYgPj4+IDAgIT09IDE2KSB7IAogICRFUlJPUignIzU6IDE2ID4+PiAwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2ID4+PiAwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjogMzIgPj4+IDAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDApKTsgCn0gCgoKaWYgKDY0ID4+PiAwICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OiA2NCA+Pj4gMCA9PT0gNjQuIEFjdHVhbDogJyArICg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjODogMTI4ID4+PiAwID09PSAxMjguIEFjdHVhbDogJyArICgxMjggPj4+IDApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzk6IDI1NiA+Pj4gMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAwKSk7IAp9IAoKCmlmICg1MTIgPj4+IDAgIT09IDUxMikgeyAKICAkRVJST1IoJyMxMDogNTEyID4+PiAwID09PSA1MTIuIEFjdHVhbDogJyArICg1MTIgPj4+IDApKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMTE6IDEwMjQgPj4+IDAgPT09IDEwMjQuIEFjdHVhbDogJyArICgxMDI0ID4+PiAwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAyMDQ4ID4+PiAwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxMzogNDA5NiA+Pj4gMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDApKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDAgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTQ6IDgxOTIgPj4+IDAgPT09IDgxOTIuIEFjdHVhbDogJyArICg4MTkyID4+PiAwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTU6IDE2Mzg0ID4+PiAwID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAwKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDMyNzY4ID4+PiAwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTc6IDY1NTM2ID4+PiAwID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODogMTMxMDcyID4+PiAwID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAyNjIxNDQgPj4+IDAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAwICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDUyNDI4OCA+Pj4gMCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxMDQ4NTc2ID4+PiAwID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogMjA5NzE1MiA+Pj4gMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDAgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjM6IDQxOTQzMDQgPj4+IDAgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAwICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI0OiA4Mzg4NjA4ID4+PiAwID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDAgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAxNjc3NzIxNiA+Pj4gMCA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDAgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAzMzU1NDQzMiA+Pj4gMCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDAgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3OiA2NzEwODg2NCA+Pj4gMCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAwICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IDEzNDIxNzcyOCA+Pj4gMCA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDAgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyOTogMjY4NDM1NDU2ID4+PiAwID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMCAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiA1MzY4NzA5MTIgPj4+IDAgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMCAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMTA3Mzc0MTgyNCA+Pj4gMCA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzI6IDIxNDc0ODM2NDggPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAwKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzMzOiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMiA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDogMiA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIgPj4+IDEpKTsgCn0gCgoKaWYgKDQgPj4+IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzU6IDQgPj4+IDEgPT09IDIuIEFjdHVhbDogJyArICg0ID4+PiAxKSk7IAp9IAoKCmlmICg4ID4+PiAxICE9PSA0KSB7IAogICRFUlJPUignIzM2OiA4ID4+PiAxID09PSA0LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMSkpOyAKfSAKCgppZiAoMTYgPj4+IDEgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzc6IDE2ID4+PiAxID09PSA4LiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEpKTsgCn0gCgoKaWYgKDMyID4+PiAxICE9PSAxNikgeyAKICAkRVJST1IoJyMzODogMzIgPj4+IDEgPT09IDE2LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDEpKTsgCn0gCgoKaWYgKDY0ID4+PiAxICE9PSAzMikgeyAKICAkRVJST1IoJyMzOTogNjQgPj4+IDEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNDA6IDEyOCA+Pj4gMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMjggPj4+IDEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzQxOiAyNTYgPj4+IDEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMSkpOyAKfSAKCgppZiAoNTEyID4+PiAxICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDI6IDUxMiA+Pj4gMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjQgPj4+IDEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNDQ6IDIwNDggPj4+IDEgPT09IDEwMjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ1OiA0MDk2ID4+PiAxID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NjogODE5MiA+Pj4gMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ3OiAxNjM4NCA+Pj4gMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDg6IDMyNzY4ID4+PiAxID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM2ID4+PiAxID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUwOiAxMzEwNzIgPj4+IDEgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQ0ID4+PiAxID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiA1MjQyODggPj4+IDEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc2ID4+PiAxID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzU0OiAyMDk3MTUyID4+PiAxID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogNDE5NDMwNCA+Pj4gMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTY6IDgzODg2MDggPj4+IDEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NzogMTY3NzcyMTYgPj4+IDEgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAzMzU1NDQzMiA+Pj4gMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2NCA+Pj4gMSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MDogMTM0MjE3NzI4ID4+PiAxID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NiA+Pj4gMSA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDEgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MjogNTM2ODcwOTEyID4+PiAxID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyNCA+Pj4gMSA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0OCA+Pj4gMSA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEpKTsgCn0gCgoKaWYgKDEgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDEgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyKSk7IAp9IAoKCmlmICgyID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY2OiAyID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMikpOyAKfSAKCgppZiAoNCA+Pj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2NzogNCA+Pj4gMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQgPj4+IDIpKTsgCn0gCgoKaWYgKDggPj4+IDIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjg6IDggPj4+IDIgPT09IDIuIEFjdHVhbDogJyArICg4ID4+PiAyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMiAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTogMTYgPj4+IDIgPT09IDQuIEFjdHVhbDogJyArICgxNiA+Pj4gMikpOyAKfSAKCgppZiAoMzIgPj4+IDIgIT09IDgpIHsgCiAgJEVSUk9SKCcjNzA6IDMyID4+PiAyID09PSA4LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIpKTsgCn0gCgoKaWYgKDY0ID4+PiAyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MTogNjQgPj4+IDIgPT09IDE2LiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzI6IDEyOCA+Pj4gMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMjggPj4+IDIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNzM6IDI1NiA+Pj4gMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNTYgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzc0OiA1MTIgPj4+IDIgPT09IDEyOC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMikpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzc1OiAxMDI0ID4+PiAyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNzY6IDIwNDggPj4+IDIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzc6IDQwOTYgPj4+IDIgPT09IDEwMjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzc4OiA4MTkyID4+PiAyID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IDE2Mzg0ID4+PiAyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyICE9PSA4MTkyKSB7IAogICRFUlJPUignIzgwOiAzMjc2OCA+Pj4gMiA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjODE6IDY1NTM2ID4+PiAyID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzgyOiAxMzEwNzIgPj4+IDIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzgzOiAyNjIxNDQgPj4+IDIgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM4NDogNTI0Mjg4ID4+PiAyID09PSAxMzEwNzIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NiA+Pj4gMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMiAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzg2OiAyMDk3MTUyID4+PiAyID09PSA1MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzg3OiA0MTk0MzA0ID4+PiAyID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMiAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogODM4ODYwOCA+Pj4gMiA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzg5OiAxNjc3NzIxNiA+Pj4gMiA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM5MDogMzM1NTQ0MzIgPj4+IDIgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiA2NzEwODg2NCA+Pj4gMiA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM5MjogMTM0MjE3NzI4ID4+PiAyID09PSAzMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM5MzogMjY4NDM1NDU2ID4+PiAyID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IDUzNjg3MDkxMiA+Pj4gMiA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTU6IDEwNzM3NDE4MjQgPj4+IDIgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDIgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjogMjE0NzQ4MzY0OCA+Pj4gMiA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMikpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzogMSA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMpKTsgCn0gCgoKaWYgKDIgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg6IDIgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzKSk7IAp9IAoKCmlmICg0ID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk5OiA0ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMykpOyAKfSAKCgppZiAoOCA+Pj4gMyAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDA6IDggPj4+IDMgPT09IDEuIEFjdHVhbDogJyArICg4ID4+PiAzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMyAhPT0gMikgeyAKICAkRVJST1IoJyMxMDE6IDE2ID4+PiAzID09PSAyLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMpKTsgCn0gCgoKaWYgKDMyID4+PiAzICE9PSA0KSB7IAogICRFUlJPUignIzEwMjogMzIgPj4+IDMgPT09IDQuIEFjdHVhbDogJyArICgzMiA+Pj4gMykpOyAKfSAKCgppZiAoNjQgPj4+IDMgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTAzOiA2NCA+Pj4gMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzKSk7IAp9IAoKCmlmICgxMjggPj4+IDMgIT09IDE2KSB7IAogICRFUlJPUignIzEwNDogMTI4ID4+PiAzID09PSAxNi4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMykpOyAKfSAKCgppZiAoMjU2ID4+PiAzICE9PSAzMikgeyAKICAkRVJST1IoJyMxMDU6IDI1NiA+Pj4gMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNTYgPj4+IDMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMyAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTIgPj4+IDMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAzICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDI0ID4+PiAzID09PSAxMjguIEFjdHVhbDogJyArICgxMDI0ID4+PiAzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ4ID4+PiAzID09PSAyNTYuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAzKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAzICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiA0MDk2ID4+PiAzID09PSA1MTIuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAzICE9PSAxMDI0KSB7IAogICRFUlJPUignIzExMDogODE5MiA+Pj4gMyA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzExMTogMTYzODQgPj4+IDMgPT09IDIwNDguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDMgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAzMjc2OCA+Pj4gMyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM2ID4+PiAzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMyAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTE0OiAxMzEwNzIgPj4+IDMgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDMgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzExNTogMjYyMTQ0ID4+PiAzID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4OCA+Pj4gMyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzYgPj4+IDMgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTIgPj4+IDMgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTk6IDQxOTQzMDQgPj4+IDMgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTIwOiA4Mzg4NjA4ID4+PiAzID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDMgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAxNjc3NzIxNiA+Pj4gMyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMyAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMjI6IDMzNTU0NDMyID4+PiAzID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjQgPj4+IDMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAzICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IDEzNDIxNzcyOCA+Pj4gMyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMyAhPT0gMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTI1OiAyNjg0MzU0NTYgPj4+IDMgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzEyNjogNTM2ODcwOTEyID4+PiAzID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMyAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyNCA+Pj4gMyA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMyAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyODogMjE0NzQ4MzY0OCA+Pj4gMyA9PT0gMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgyID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMDogMiA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDQpKTsgCn0gCgoKaWYgKDQgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMxOiA0ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNCkpOyAKfSAKCgppZiAoOCA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzI6IDggPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA0KSk7IAp9IAoKCmlmICgxNiA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzM6IDE2ID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDQpKTsgCn0gCgoKaWYgKDMyID4+PiA0ICE9PSAyKSB7IAogICRFUlJPUignIzEzNDogMzIgPj4+IDQgPT09IDIuIEFjdHVhbDogJyArICgzMiA+Pj4gNCkpOyAKfSAKCgppZiAoNjQgPj4+IDQgIT09IDQpIHsgCiAgJEVSUk9SKCcjMTM1OiA2NCA+Pj4gNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY0ID4+PiA0KSk7IAp9IAoKCmlmICgxMjggPj4+IDQgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTM2OiAxMjggPj4+IDQgPT09IDguIEFjdHVhbDogJyArICgxMjggPj4+IDQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNCAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTYgPj4+IDQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA0KSk7IAp9IAoKCmlmICg1MTIgPj4+IDQgIT09IDMyKSB7IAogICRFUlJPUignIzEzODogNTEyID4+PiA0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDI0ID4+PiA0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDQgIT09IDEyOCkgeyAKICAkRVJST1IoJyMxNDA6IDIwNDggPj4+IDQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDQgIT09IDI1NikgeyAKICAkRVJST1IoJyMxNDE6IDQwOTYgPj4+IDQgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDQpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDQgIT09IDUxMikgeyAKICAkRVJST1IoJyMxNDI6IDgxOTIgPj4+IDQgPT09IDUxMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA0ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzE0MzogMTYzODQgPj4+IDQgPT09IDEwMjQuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDQgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAzMjc2OCA+Pj4gNCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IDY1NTM2ID4+PiA0ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDY6IDEzMTA3MiA+Pj4gNCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0NCA+Pj4gNCA9PT0gMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiA1MjQyODggPj4+IDQgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA0ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzYgPj4+IDQgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNCAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzE1MDogMjA5NzE1MiA+Pj4gNCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwNCA+Pj4gNCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gNCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gNCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzE1MjogODM4ODYwOCA+Pj4gNCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDQgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTUzOiAxNjc3NzIxNiA+Pj4gNCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IDMzNTU0NDMyID4+PiA0ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA0ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzE1NTogNjcxMDg4NjQgPj4+IDQgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA0ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzE1NjogMTM0MjE3NzI4ID4+PiA0ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDQgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogMjY4NDM1NDU2ID4+PiA0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA0ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyMxNTg6IDUzNjg3MDkxMiA+Pj4gNCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDQgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyNCA+Pj4gNCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA0ICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAyMTQ3NDgzNjQ4ID4+PiA0ID09PSAxMzQyMTc3MjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA0KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MTogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDIgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYyOiAyID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNSkpOyAKfSAKCgppZiAoNCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjM6IDQgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA1KSk7IAp9IAoKCmlmICg4ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NDogOCA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NTogMTYgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNSkpOyAKfSAKCgppZiAoMzIgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMiA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMyID4+PiA1KSk7IAp9IAoKCmlmICg2NCA+Pj4gNSAhPT0gMikgeyAKICAkRVJST1IoJyMxNjc6IDY0ID4+PiA1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNSAhPT0gNCkgeyAKICAkRVJST1IoJyMxNjg6IDEyOCA+Pj4gNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNSkpOyAKfSAKCgppZiAoMjU2ID4+PiA1ICE9PSA4KSB7IAogICRFUlJPUignIzE2OTogMjU2ID4+PiA1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDUgIT09IDE2KSB7IAogICRFUlJPUignIzE3MDogNTEyID4+PiA1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMTcxOiAxMDI0ID4+PiA1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDUgIT09IDY0KSB7IAogICRFUlJPUignIzE3MjogMjA0OCA+Pj4gNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiA1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA1ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTczOiA0MDk2ID4+PiA1ID09PSAxMjguIEFjdHVhbDogJyArICg0MDk2ID4+PiA1KSk7IAp9IAoKCmlmICg4MTkyID4+PiA1ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTc0OiA4MTkyID4+PiA1ID09PSAyNTYuIEFjdHVhbDogJyArICg4MTkyID4+PiA1KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNSAhPT0gNTEyKSB7IAogICRFUlJPUignIzE3NTogMTYzODQgPj4+IDUgPT09IDUxMi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxNzY6IDMyNzY4ID4+PiA1ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiA1ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzE3NzogNjU1MzYgPj4+IDUgPT09IDIwNDguIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA1ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzE3ODogMTMxMDcyID4+PiA1ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDUgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTc5OiAyNjIxNDQgPj4+IDUgPT09IDgxOTIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTgwOiA1MjQyODggPj4+IDUgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA1ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IDEwNDg1NzYgPj4+IDUgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTgyOiAyMDk3MTUyID4+PiA1ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDUgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODM6IDQxOTQzMDQgPj4+IDUgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDUgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IDgzODg2MDggPj4+IDUgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA1ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMTg1OiAxNjc3NzIxNiA+Pj4gNSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA1ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzE4NjogMzM1NTQ0MzIgPj4+IDUgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDUgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiA2NzEwODg2NCA+Pj4gNSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDUgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTg4OiAxMzQyMTc3MjggPj4+IDUgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMxODk6IDI2ODQzNTQ1NiA+Pj4gNSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA1ICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IDUzNjg3MDkxMiA+Pj4gNSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDUgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzE5MTogMTA3Mzc0MTgyNCA+Pj4gNSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA1ICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDggPj4+IDUgPT09IDY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gNSkpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTM6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NDogMiA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDYpKTsgCn0gCgoKaWYgKDQgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk1OiA0ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNikpOyAKfSAKCgppZiAoOCA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTY6IDggPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA2KSk7IAp9IAoKCmlmICgxNiA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTc6IDE2ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5ODogMzIgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gNikpOyAKfSAKCgppZiAoNjQgPj4+IDYgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTk5OiA2NCA+Pj4gNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY0ID4+PiA2KSk7IAp9IAoKCmlmICgxMjggPj4+IDYgIT09IDIpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjggPj4+IDYgPT09IDIuIEFjdHVhbDogJyArICgxMjggPj4+IDYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNiAhPT0gNCkgeyAKICAkRVJST1IoJyMyMDE6IDI1NiA+Pj4gNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gNikpOyAKfSAKCgppZiAoNTEyID4+PiA2ICE9PSA4KSB7IAogICRFUlJPUignIzIwMjogNTEyID4+PiA2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTEyID4+PiA2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA2ICE9PSAxNikgeyAKICAkRVJST1IoJyMyMDM6IDEwMjQgPj4+IDYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAyMDQ4ID4+PiA2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDYpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDYgIT09IDY0KSB7IAogICRFUlJPUignIzIwNTogNDA5NiA+Pj4gNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiA2KSk7IAp9IAoKCmlmICg4MTkyID4+PiA2ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMjA2OiA4MTkyID4+PiA2ID09PSAxMjguIEFjdHVhbDogJyArICg4MTkyID4+PiA2KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNiAhPT0gMjU2KSB7IAogICRFUlJPUignIzIwNzogMTYzODQgPj4+IDYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNiAhPT0gNTEyKSB7IAogICRFUlJPUignIzIwODogMzI3NjggPj4+IDYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM2ID4+PiA2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNiAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MiA+Pj4gNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA2ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzIxMTogMjYyMTQ0ID4+PiA2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDYgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODggPj4+IDYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDYgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzIxMzogMTA0ODU3NiA+Pj4gNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA2ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IDIwOTcxNTIgPj4+IDYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNikpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjE1OiA0MTk0MzA0ID4+PiA2ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDYgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMyMTY6IDgzODg2MDggPj4+IDYgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA2ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNiA+Pj4gNiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA2ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjE4OiAzMzU1NDQzMiA+Pj4gNiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA2ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOTogNjcxMDg4NjQgPj4+IDYgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA2ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI4ID4+PiA2ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDYgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjIxOiAyNjg0MzU0NTYgPj4+IDYgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gNiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMyMjI6IDUzNjg3MDkxMiA+Pj4gNiA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gNiAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAxMDczNzQxODI0ID4+PiA2ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDYgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzIyNDogMjE0NzQ4MzY0OCA+Pj4gNiA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA2KSk7IAp9IAoKCmlmICgxID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNTogMSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDcpKTsgCn0gCgoKaWYgKDIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI2OiAyID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNykpOyAKfSAKCgppZiAoNCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjc6IDQgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA3KSk7IAp9IAoKCmlmICg4ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyODogOCA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDcpKTsgCn0gCgoKaWYgKDE2ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyOTogMTYgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNykpOyAKfSAKCgppZiAoMzIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMwOiAzMiA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzE6IDY0ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNyAhPT0gMSkgeyAKICAkRVJST1IoJyMyMzI6IDEyOCA+Pj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNykpOyAKfSAKCgppZiAoMjU2ID4+PiA3ICE9PSAyKSB7IAogICRFUlJPUignIzIzMzogMjU2ID4+PiA3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDcgIT09IDQpIHsgCiAgJEVSUk9SKCcjMjM0OiA1MTIgPj4+IDcgPT09IDQuIEFjdHVhbDogJyArICg1MTIgPj4+IDcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDcgIT09IDgpIHsgCiAgJEVSUk9SKCcjMjM1OiAxMDI0ID4+PiA3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMjM2OiAyMDQ4ID4+PiA3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDcgIT09IDMyKSB7IAogICRFUlJPUignIzIzNzogNDA5NiA+Pj4gNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MDk2ID4+PiA3KSk7IAp9IAoKCmlmICg4MTkyID4+PiA3ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTIgPj4+IDcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDcgIT09IDEyOCkgeyAKICAkRVJST1IoJyMyMzk6IDE2Mzg0ID4+PiA3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDcgIT09IDI1NikgeyAKICAkRVJST1IoJyMyNDA6IDMyNzY4ID4+PiA3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDcgIT09IDUxMikgeyAKICAkRVJST1IoJyMyNDE6IDY1NTM2ID4+PiA3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA3ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcyID4+PiA3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDcgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMjQzOiAyNjIxNDQgPj4+IDcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNyAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IDUyNDI4OCA+Pj4gNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gNyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMyNDU6IDEwNDg1NzYgPj4+IDcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA3ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMyNDY6IDIwOTcxNTIgPj4+IDcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNykpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNyAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzA0ID4+PiA3ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDcgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwOCA+Pj4gNyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTYgPj4+IDcgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNyAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogMzM1NTQ0MzIgPj4+IDcgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gNyAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI1MTogNjcxMDg4NjQgPj4+IDcgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDcgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjUyOiAxMzQyMTc3MjggPj4+IDcgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNyAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IDI2ODQzNTQ1NiA+Pj4gNyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA3ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI1NDogNTM2ODcwOTEyID4+PiA3ID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA3ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI1NTogMTA3Mzc0MTgyNCA+Pj4gNyA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDcgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogMjE0NzQ4MzY0OCA+Pj4gNyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA3KSk7IAp9IAoKCmlmICgxID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDgpKTsgCn0gCgoKaWYgKDIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU4OiAyID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gOCkpOyAKfSAKCgppZiAoNCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTk6IDQgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA4KSk7IAp9IAoKCmlmICg4ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MDogOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDgpKTsgCn0gCgoKaWYgKDE2ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MTogMTYgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gOCkpOyAKfSAKCgppZiAoMzIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYyOiAzMiA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA4KSk7IAp9IAoKCmlmICg2NCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjM6IDY0ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjQ6IDEyOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gOCkpOyAKfSAKCgppZiAoMjU2ID4+PiA4ICE9PSAxKSB7IAogICRFUlJPUignIzI2NTogMjU2ID4+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDggIT09IDIpIHsgCiAgJEVSUk9SKCcjMjY2OiA1MTIgPj4+IDggPT09IDIuIEFjdHVhbDogJyArICg1MTIgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDggIT09IDQpIHsgCiAgJEVSUk9SKCcjMjY3OiAxMDI0ID4+PiA4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gOCAhPT0gOCkgeyAKICAkRVJST1IoJyMyNjg6IDIwNDggPj4+IDggPT09IDguIEFjdHVhbDogJyArICgyMDQ4ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA4ICE9PSAxNikgeyAKICAkRVJST1IoJyMyNjk6IDQwOTYgPj4+IDggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gOCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjcwOiA4MTkyID4+PiA4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDgpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA4ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyNzE6IDE2Mzg0ID4+PiA4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gOCAhPT0gMTI4KSB7IAogICRFUlJPUignIzI3MjogMzI3NjggPj4+IDggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOCAhPT0gMjU2KSB7IAogICRFUlJPUignIzI3MzogNjU1MzYgPj4+IDggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDggIT09IDUxMikgeyAKICAkRVJST1IoJyMyNzQ6IDEzMTA3MiA+Pj4gOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDggIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMjc1OiAyNjIxNDQgPj4+IDggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gOCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyNzY6IDUyNDI4OCA+Pj4gOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gOCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IDEwNDg1NzYgPj4+IDggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA4ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MiA+Pj4gOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDggIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzI3OTogNDE5NDMwNCA+Pj4gOCA9PT0gMTYzODQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiA4ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IDgzODg2MDggPj4+IDggPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDggIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTYgPj4+IDggPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA4ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMiA+Pj4gOCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA4ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiA2NzEwODg2NCA+Pj4gOCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI4NDogMTM0MjE3NzI4ID4+PiA4ID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMyODU6IDI2ODQzNTQ1NiA+Pj4gOCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA4ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogNTM2ODcwOTEyID4+PiA4ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA4ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI4NzogMTA3Mzc0MTgyNCA+Pj4gOCA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDggIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjg4OiAyMTQ3NDgzNjQ4ID4+PiA4ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gOCkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyODk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MDogMiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDkpKTsgCn0gCgoKaWYgKDQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkxOiA0ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gOSkpOyAKfSAKCgppZiAoOCA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTI6IDggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA5KSk7IAp9IAoKCmlmICgxNiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTM6IDE2ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDkpKTsgCn0gCgoKaWYgKDMyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NDogMzIgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gOSkpOyAKfSAKCgppZiAoNjQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk1OiA2NCA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiA5KSk7IAp9IAoKCmlmICgxMjggPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk2OiAxMjggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTc6IDI1NiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gOSkpOyAKfSAKCgppZiAoNTEyID4+PiA5ICE9PSAxKSB7IAogICRFUlJPUignIzI5ODogNTEyID4+PiA5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTEyID4+PiA5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA5ICE9PSAyKSB7IAogICRFUlJPUignIzI5OTogMTAyNCA+Pj4gOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDkgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ4ID4+PiA5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gOSAhPT0gOCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTYgPj4+IDkgPT09IDguIEFjdHVhbDogJyArICg0MDk2ID4+PiA5KSk7IAp9IAoKCmlmICg4MTkyID4+PiA5ICE9PSAxNikgeyAKICAkRVJST1IoJyMzMDI6IDgxOTIgPj4+IDkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDkgIT09IDMyKSB7IAogICRFUlJPUignIzMwMzogMTYzODQgPj4+IDkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDkpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiA5ICE9PSA2NCkgeyAKICAkRVJST1IoJyMzMDQ6IDMyNzY4ID4+PiA5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOSAhPT0gMTI4KSB7IAogICRFUlJPUignIzMwNTogNjU1MzYgPj4+IDkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDkgIT09IDI1NikgeyAKICAkRVJST1IoJyMzMDY6IDEzMTA3MiA+Pj4gOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMzMDc6IDI2MjE0NCA+Pj4gOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDkgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODggPj4+IDkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDkgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzA5OiAxMDQ4NTc2ID4+PiA5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gOSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTIgPj4+IDkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiA5ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwNCA+Pj4gOSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDkgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzMxMjogODM4ODYwOCA+Pj4gOSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gOSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNiA+Pj4gOSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDkgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzMxNDogMzM1NTQ0MzIgPj4+IDkgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA5ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzE1OiA2NzEwODg2NCA+Pj4gOSA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI4ID4+PiA5ID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzMxNzogMjY4NDM1NDU2ID4+PiA5ID09PSA1MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gOSAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMiA+Pj4gOSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gOSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjQgPj4+IDkgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA5ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0OCA+Pj4gOSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDkpKTsgCn0gCgoKaWYgKDEgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMCkpOyAKfSAKCgppZiAoMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIyOiAyID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEwKSk7IAp9IAoKCmlmICg0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjM6IDQgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTApKTsgCn0gCgoKaWYgKDggPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNDogOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMCkpOyAKfSAKCgppZiAoMTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNTogMTYgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI2OiAzMiA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDY0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjc6IDY0ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjg6IDEyOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyOTogMjU2ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMwOiA1MTIgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDI0ID4+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMCAhPT0gMikgeyAKICAkRVJST1IoJyMzMzI6IDIwNDggPj4+IDEwID09PSAyLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEwICE9PSA0KSB7IAogICRFUlJPUignIzMzMzogNDA5NiA+Pj4gMTAgPT09IDQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTAgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkyID4+PiAxMCA9PT0gOC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTAgIT09IDE2KSB7IAogICRFUlJPUignIzMzNTogMTYzODQgPj4+IDEwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEwICE9PSAzMikgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY4ID4+PiAxMCA9PT0gMzIuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxMCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNiA+Pj4gMTAgPT09IDY0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzIgPj4+IDEwID09PSAxMjguIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEwICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDQgPj4+IDEwID09PSAyNTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEwICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODggPj4+IDEwID09PSA1MTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzYgPj4+IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDEwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MiA+Pj4gMTAgPT09IDIwNDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTAgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiA0MTk0MzA0ID4+PiAxMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDggPj4+IDEwID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzQ1OiAxNjc3NzIxNiA+Pj4gMTAgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTAgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM0NjogMzM1NTQ0MzIgPj4+IDEwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEwICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMzNDc6IDY3MTA4ODY0ID4+PiAxMCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyOCA+Pj4gMTAgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTAgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IDI2ODQzNTQ1NiA+Pj4gMTAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTAgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMzNTA6IDUzNjg3MDkxMiA+Pj4gMTAgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM1MTogMTA3Mzc0MTgyNCA+Pj4gMTAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTAgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAyMTQ3NDgzNjQ4ID4+PiAxMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEwKSk7IAp9IAoKCmlmICgxID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTM6IDEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NDogMiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxMSkpOyAKfSAKCgppZiAoNCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU1OiA0ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDExKSk7IAp9IAoKCmlmICg4ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTY6IDggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTc6IDE2ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxMSkpOyAKfSAKCgppZiAoMzIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1ODogMzIgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU5OiA2NCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYwOiAxMjggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxMSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDExKSk7IAp9IAoKCmlmICg1MTIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MjogNTEyID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MzogMTAyNCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxMSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzY0OiAyMDQ4ID4+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDExKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxMSAhPT0gMikgeyAKICAkRVJST1IoJyMzNjU6IDQwOTYgPj4+IDExID09PSAyLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDExICE9PSA0KSB7IAogICRFUlJPUignIzM2NjogODE5MiA+Pj4gMTEgPT09IDQuIEFjdHVhbDogJyArICg4MTkyID4+PiAxMSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDExICE9PSA4KSB7IAogICRFUlJPUignIzM2NzogMTYzODQgPj4+IDExID09PSA4LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDExKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTEgIT09IDE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjggPj4+IDExID09PSAxNi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDExICE9PSAzMikgeyAKICAkRVJST1IoJyMzNjk6IDY1NTM2ID4+PiAxMSA9PT0gMzIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTEgIT09IDY0KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcyID4+PiAxMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDExICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzcxOiAyNjIxNDQgPj4+IDExID09PSAxMjguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDExKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDExICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzcyOiA1MjQyODggPj4+IDExID09PSAyNTYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzM3MzogMTA0ODU3NiA+Pj4gMTEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTIgPj4+IDExID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDExICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM3NTogNDE5NDMwNCA+Pj4gMTEgPT09IDIwNDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiA4Mzg4NjA4ID4+PiAxMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTEgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNiA+Pj4gMTEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzc4OiAzMzU1NDQzMiA+Pj4gMTEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTEgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM3OTogNjcxMDg4NjQgPj4+IDExID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzgwOiAxMzQyMTc3MjggPj4+IDExID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NiA+Pj4gMTEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IDUzNjg3MDkxMiA+Pj4gMTEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDExICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMzgzOiAxMDczNzQxODI0ID4+PiAxMSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDExICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM4NDogMjE0NzQ4MzY0OCA+Pj4gMTEgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODY6IDIgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NzogNCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxMikpOyAKfSAKCgppZiAoOCA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg4OiA4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDEyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg5OiAxNiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTA6IDMyID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxMikpOyAKfSAKCgppZiAoNjQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MTogNjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMjggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MjogMTI4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTYgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxMikpOyAKfSAKCgppZiAoNTEyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTQ6IDUxMiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NjogMjA0OCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxMikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzk3OiA0MDk2ID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDEyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAxMiAhPT0gMikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTIgPj4+IDEyID09PSAyLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxMiAhPT0gNCkgeyAKICAkRVJST1IoJyMzOTk6IDE2Mzg0ID4+PiAxMiA9PT0gNC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEyICE9PSA4KSB7IAogICRFUlJPUignIzQwMDogMzI3NjggPj4+IDEyID09PSA4LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTIgIT09IDE2KSB7IAogICRFUlJPUignIzQwMTogNjU1MzYgPj4+IDEyID09PSAxNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDAyOiAxMzEwNzIgPj4+IDEyID09PSAzMi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTIgIT09IDY0KSB7IAogICRFUlJPUignIzQwMzogMjYyMTQ0ID4+PiAxMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEyICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA0OiA1MjQyODggPj4+IDEyID09PSAxMjguIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzQwNTogMTA0ODU3NiA+Pj4gMTIgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMiAhPT0gNTEyKSB7IAogICRFUlJPUignIzQwNjogMjA5NzE1MiA+Pj4gMTIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0MDc6IDQxOTQzMDQgPj4+IDEyID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQwODogODM4ODYwOCA+Pj4gMTIgPT09IDIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDEyICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTYgPj4+IDEyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTIgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDEwOiAzMzU1NDQzMiA+Pj4gMTIgPT09IDgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2NCA+Pj4gMTIgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDEyICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyOCA+Pj4gMTIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxMiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTYgPj4+IDEyID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0MTQ6IDUzNjg3MDkxMiA+Pj4gMTIgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEyICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODI0ID4+PiAxMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEyICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjNDE2OiAyMTQ3NDgzNjQ4ID4+PiAxMiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMykpOyAKfSAKCgppZiAoMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE4OiAyID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEzKSk7IAp9IAoKCmlmICg0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTk6IDQgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDggPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMDogOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMykpOyAKfSAKCgppZiAoMTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMTogMTYgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEzKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIyOiAzMiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDY0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjM6IDY0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMykpOyAKfSAKCgppZiAoMTI4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjQ6IDEyOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNTogMjU2ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI2OiA1MTIgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI3OiAxMDI0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjg6IDIwNDggPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyOTogNDA5NiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkyID4+PiAxMyA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTMgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4NCA+Pj4gMTMgPT09IDIuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxMyAhPT0gNCkgeyAKICAkRVJST1IoJyM0MzI6IDMyNzY4ID4+PiAxMyA9PT0gNC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDEzICE9PSA4KSB7IAogICRFUlJPUignIzQzMzogNjU1MzYgPj4+IDEzID09PSA4LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEzICE9PSAxNikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MiA+Pj4gMTMgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxMyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDM1OiAyNjIxNDQgPj4+IDEzID09PSAzMi4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTMgIT09IDY0KSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg4ID4+PiAxMyA9PT0gNjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMyAhPT0gMTI4KSB7IAogICRFUlJPUignIzQzNzogMTA0ODU3NiA+Pj4gMTMgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMyAhPT0gMjU2KSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MiA+Pj4gMTMgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMyAhPT0gNTEyKSB7IAogICRFUlJPUignIzQzOTogNDE5NDMwNCA+Pj4gMTMgPT09IDUxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMyAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NDA6IDgzODg2MDggPj4+IDEzID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE2ID4+PiAxMyA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEzICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQ0MjogMzM1NTQ0MzIgPj4+IDEzID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDQzOiA2NzEwODg2NCA+Pj4gMTMgPT09IDgxOTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTMgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ0NDogMTM0MjE3NzI4ID4+PiAxMyA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDEzICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IDI2ODQzNTQ1NiA+Pj4gMTMgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxMyAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDQ2OiA1MzY4NzA5MTIgPj4+IDEzID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEzICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDQ3OiAxMDczNzQxODI0ID4+PiAxMyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEzICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyMTQ3NDgzNjQ4ID4+PiAxMyA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ0OTogMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNCkpOyAKfSAKCgppZiAoMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUwOiAyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE0KSk7IAp9IAoKCmlmICg0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTE6IDQgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDggPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MjogOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MzogMTYgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE0KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU0OiAzMiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTU6IDY0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTY6IDEyOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE0KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NzogMjU2ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU4OiA1MTIgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDI0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjA6IDIwNDggPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MTogNDA5NiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYyOiA4MTkyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTQgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDYzOiAxNjM4NCA+Pj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNCAhPT0gMikgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY4ID4+PiAxNCA9PT0gMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE0ICE9PSA0KSB7IAogICRFUlJPUignIzQ2NTogNjU1MzYgPj4+IDE0ID09PSA0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE0ICE9PSA4KSB7IAogICRFUlJPUignIzQ2NjogMTMxMDcyID4+PiAxNCA9PT0gOC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTQgIT09IDE2KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQ0ID4+PiAxNCA9PT0gMTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE0ICE9PSAzMikgeyAKICAkRVJST1IoJyM0Njg6IDUyNDI4OCA+Pj4gMTQgPT09IDMyLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTQgIT09IDY0KSB7IAogICRFUlJPUignIzQ2OTogMTA0ODU3NiA+Pj4gMTQgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE0ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDcwOiAyMDk3MTUyID4+PiAxNCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE0ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDcxOiA0MTk0MzA0ID4+PiAxNCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE0ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiA4Mzg4NjA4ID4+PiAxNCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NzM6IDE2Nzc3MjE2ID4+PiAxNCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE0ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ3NDogMzM1NTQ0MzIgPj4+IDE0ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTQgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2NCA+Pj4gMTQgPT09IDQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTQgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDc2OiAxMzQyMTc3MjggPj4+IDE0ID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc3OiAyNjg0MzU0NTYgPj4+IDE0ID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTQgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTEyID4+PiAxNCA9PT0gMzI3NjguIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDc5OiAxMDczNzQxODI0ID4+PiAxNCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTQgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDggPj4+IDE0ID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE1KSk7IAp9IAoKCmlmICgyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODI6IDIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MzogNCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxNSkpOyAKfSAKCgppZiAoOCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg0OiA4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg1OiAxNiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODY6IDMyID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxNSkpOyAKfSAKCgppZiAoNjQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NzogNjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4ODogMTI4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTYgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxNSkpOyAKfSAKCgppZiAoNTEyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTA6IDUxMiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MjogMjA0OCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkzOiA0MDk2ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTU6IDE2Mzg0ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDE1ICE9PSAxKSB7IAogICRFUlJPUignIzQ5NjogMzI3NjggPj4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTUgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNiA+Pj4gMTUgPT09IDIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTUgIT09IDQpIHsgCiAgJEVSUk9SKCcjNDk4OiAxMzEwNzIgPj4+IDE1ID09PSA0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxNSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0NCA+Pj4gMTUgPT09IDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE1ICE9PSAxNikgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4OCA+Pj4gMTUgPT09IDE2LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTUgIT09IDMyKSB7IAogICRFUlJPUignIzUwMTogMTA0ODU3NiA+Pj4gMTUgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE1ICE9PSA2NCkgeyAKICAkRVJST1IoJyM1MDI6IDIwOTcxNTIgPj4+IDE1ID09PSA2NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNSAhPT0gMTI4KSB7IAogICRFUlJPUignIzUwMzogNDE5NDMwNCA+Pj4gMTUgPT09IDEyOC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxNSAhPT0gMjU2KSB7IAogICRFUlJPUignIzUwNDogODM4ODYwOCA+Pj4gMTUgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTUgIT09IDUxMikgeyAKICAkRVJST1IoJyM1MDU6IDE2Nzc3MjE2ID4+PiAxNSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTUgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTA2OiAzMzU1NDQzMiA+Pj4gMTUgPT09IDEwMjQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1MDc6IDY3MTA4ODY0ID4+PiAxNSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxNSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyOCA+Pj4gMTUgPT09IDQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDE1ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzUwOTogMjY4NDM1NDU2ID4+PiAxNSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTUgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzUxMDogNTM2ODcwOTEyID4+PiAxNSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODI0ID4+PiAxNSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTUgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUxMjogMjE0NzQ4MzY0OCA+Pj4gMTUgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTUpKTsgCn0gIAoK","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgxID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNDogMiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxNikpOyAKfSAKCgppZiAoNCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE1OiA0ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE2KSk7IAp9IAoKCmlmICg4ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTY6IDggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTc6IDE2ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxODogMzIgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE2KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE5OiA2NCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIwOiAxMjggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxNikpOyAKfSAKCgppZiAoMjU2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMjogNTEyID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMzogMTAyNCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI0OiAyMDQ4ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjU6IDQwOTYgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNjogODE5MiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNzogMTYzODQgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI4OiAzMjc2OCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1Mjk6IDY1NTM2ID4+PiAxNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxNiAhPT0gMikgeyAKICAkRVJST1IoJyM1MzA6IDEzMTA3MiA+Pj4gMTYgPT09IDIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE2ICE9PSA0KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQ0ID4+PiAxNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTYgIT09IDgpIHsgCiAgJEVSUk9SKCcjNTMyOiA1MjQyODggPj4+IDE2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTYgIT09IDE2KSB7IAogICRFUlJPUignIzUzMzogMTA0ODU3NiA+Pj4gMTYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE2ICE9PSAzMikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTIgPj4+IDE2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNTM1OiA0MTk0MzA0ID4+PiAxNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTYgIT09IDEyOCkgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDggPj4+IDE2ID09PSAxMjguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDE2ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNiA+Pj4gMTYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE2ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMiA+Pj4gMTYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE2ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzUzOTogNjcxMDg4NjQgPj4+IDE2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDE2ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI4ID4+PiAxNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTYgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNTQxOiAyNjg0MzU0NTYgPj4+IDE2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxNiAhPT0gODE5MikgeyAKICAkRVJST1IoJyM1NDI6IDUzNjg3MDkxMiA+Pj4gMTYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAxMDczNzQxODI0ID4+PiAxNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTYgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzU0NDogMjE0NzQ4MzY0OCA+Pj4gMTYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NTogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ2OiAyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE3KSk7IAp9IAoKCmlmICg0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDc6IDQgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDggPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0ODogOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNykpOyAKfSAKCgppZiAoMTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0OTogMTYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE3KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUwOiAzMiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTE6IDY0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNykpOyAKfSAKCgppZiAoMTI4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTI6IDEyOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE3KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MzogMjU2ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU0OiA1MTIgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU1OiAxMDI0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTY6IDIwNDggPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NzogNDA5NiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU4OiA4MTkyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU5OiAxNjM4NCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjA6IDMyNzY4ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MTogNjU1MzYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MjogMTMxMDcyID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTcgIT09IDIpIHsgCiAgJEVSUk9SKCcjNTYzOiAyNjIxNDQgPj4+IDE3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxNykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxNyAhPT0gNCkgeyAKICAkRVJST1IoJyM1NjQ6IDUyNDI4OCA+Pj4gMTcgPT09IDQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxNyAhPT0gOCkgeyAKICAkRVJST1IoJyM1NjU6IDEwNDg1NzYgPj4+IDE3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE3ICE9PSAxNikgeyAKICAkRVJST1IoJyM1NjY6IDIwOTcxNTIgPj4+IDE3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE3KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiA0MTk0MzA0ID4+PiAxNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTcgIT09IDY0KSB7IAogICRFUlJPUignIzU2ODogODM4ODYwOCA+Pj4gMTcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTYgPj4+IDE3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxNyAhPT0gMjU2KSB7IAogICRFUlJPUignIzU3MDogMzM1NTQ0MzIgPj4+IDE3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNyAhPT0gNTEyKSB7IAogICRFUlJPUignIzU3MTogNjcxMDg4NjQgPj4+IDE3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTcgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTcyOiAxMzQyMTc3MjggPj4+IDE3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IDI2ODQzNTQ1NiA+Pj4gMTcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE3ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzU3NDogNTM2ODcwOTEyID4+PiAxNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE3ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzU3NTogMTA3Mzc0MTgyNCA+Pj4gMTcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTcgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogMjE0NzQ4MzY0OCA+Pj4gMTcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOCkpOyAKfSAKCgppZiAoMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc4OiAyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE4KSk7IAp9IAoKCmlmICg0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDQgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDggPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MDogOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxOCkpOyAKfSAKCgppZiAoMTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MTogMTYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE4KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgyOiAzMiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDY0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODM6IDY0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODQ6IDEyOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE4KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NTogMjU2ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg2OiA1MTIgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxOCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg3OiAxMDI0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE4KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDggPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4OTogNDA5NiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkwOiA4MTkyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE4KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkxOiAxNjM4NCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTI6IDMyNzY4ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxOCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MzogNjU1MzYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NDogMTMxMDcyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk1OiAyNjIxNDQgPj4+IDE4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxOCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxOCAhPT0gMikgeyAKICAkRVJST1IoJyM1OTY6IDUyNDI4OCA+Pj4gMTggPT09IDIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxOCAhPT0gNCkgeyAKICAkRVJST1IoJyM1OTc6IDEwNDg1NzYgPj4+IDE4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE4ICE9PSA4KSB7IAogICRFUlJPUignIzU5ODogMjA5NzE1MiA+Pj4gMTggPT09IDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxOCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTggIT09IDE2KSB7IAogICRFUlJPUignIzU5OTogNDE5NDMwNCA+Pj4gMTggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE4ICE9PSAzMikgeyAKICAkRVJST1IoJyM2MDA6IDgzODg2MDggPj4+IDE4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTggIT09IDY0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTYgPj4+IDE4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE4ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMiA+Pj4gMTggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE4ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiA2NzEwODg2NCA+Pj4gMTggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOCAhPT0gNTEyKSB7IAogICRFUlJPUignIzYwNDogMTM0MjE3NzI4ID4+PiAxOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2MDU6IDI2ODQzNTQ1NiA+Pj4gMTggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE4ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzYwNjogNTM2ODcwOTEyID4+PiAxOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE4ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzYwNzogMTA3Mzc0MTgyNCA+Pj4gMTggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTggIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNjA4OiAyMTQ3NDgzNjQ4ID4+PiAxOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxOSkpOyAKfSAKCgppZiAoNCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE5KSk7IAp9IAoKCmlmICg4ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTI6IDggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDE2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxOSkpOyAKfSAKCgppZiAoMzIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNDogMzIgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE5KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE1OiA2NCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE2OiAxMjggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTc6IDI1NiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxODogNTEyID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxOTogMTAyNCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ4ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTYgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMjogODE5MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMzogMTYzODQgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2OCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNzogMjYyMTQ0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODggPj4+IDE5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTkgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc2ID4+PiAxOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxOSAhPT0gNCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTIgPj4+IDE5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE5ICE9PSA4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwNCA+Pj4gMTkgPT09IDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTkgIT09IDE2KSB7IAogICRFUlJPUignIzYzMjogODM4ODYwOCA+Pj4gMTkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxOSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNiA+Pj4gMTkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTkgIT09IDY0KSB7IAogICRFUlJPUignIzYzNDogMzM1NTQ0MzIgPj4+IDE5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE5ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjM1OiA2NzEwODg2NCA+Pj4gMTkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOSAhPT0gMjU2KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI4ID4+PiAxOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOSAhPT0gNTEyKSB7IAogICRFUlJPUignIzYzNzogMjY4NDM1NDU2ID4+PiAxOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxOSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMiA+Pj4gMTkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxOSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjQgPj4+IDE5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDE5ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0OCA+Pj4gMTkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxOSkpOyAKfSAKCgppZiAoMSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAxID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIwKSk7IAp9IAoKCmlmICgyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDI6IDIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjApKTsgCn0gCgoKaWYgKDQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MzogNCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMCkpOyAKfSAKCgppZiAoOCA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ0OiA4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIwKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ1OiAxNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDY6IDMyID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMCkpOyAKfSAKCgppZiAoNjQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NzogNjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIwKSk7IAp9IAoKCmlmICgxMjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0ODogMTI4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTYgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTEyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTA6IDUxMiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MjogMjA0OCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUzOiA0MDk2ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIwKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjApKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTU6IDE2Mzg0ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NjogMzI3NjggPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU4OiAxMzEwNzIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTk6IDI2MjE0NCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MTogMTA0ODU3NiA+Pj4gMjAgPT09IDEuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjAgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjYyOiAyMDk3MTUyID4+PiAyMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIwKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMCAhPT0gNCkgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDQgPj4+IDIwID09PSA0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIwICE9PSA4KSB7IAogICRFUlJPUignIzY2NDogODM4ODYwOCA+Pj4gMjAgPT09IDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIwICE9PSAxNikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE2ID4+PiAyMCA9PT0gMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMiA+Pj4gMjAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDIwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMjAgIT09IDY0KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjQgPj4+IDIwID09PSA2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMCAhPT0gMTI4KSB7IAogICRFUlJPUignIzY2ODogMTM0MjE3NzI4ID4+PiAyMCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU2ID4+PiAyMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMCAhPT0gNTEyKSB7IAogICRFUlJPUignIzY3MDogNTM2ODcwOTEyID4+PiAyMCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNjcxOiAxMDczNzQxODI0ID4+PiAyMCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyMCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDggPj4+IDIwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3MzogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc0OiAyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDIxKSk7IAp9IAoKCmlmICg0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzU6IDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDggPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NjogOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAyMSkpOyAKfSAKCgppZiAoMTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NzogMTYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDIxKSk7IAp9IAoKCmlmICgzMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc4OiAzMiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzk6IDY0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAyMSkpOyAKfSAKCgppZiAoMTI4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODA6IDEyOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDIxKSk7IAp9IAoKCmlmICgyNTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MTogMjU2ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgyOiA1MTIgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgzOiAxMDI0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IDIwNDggPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogNDA5NiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAxNjM4NCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IDMyNzY4ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogNjU1MzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogMTMxMDcyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAyNjIxNDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyMSkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4OCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIxKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IDEwNDg1NzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NDogMjA5NzE1MiA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMjEgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzA0ID4+PiAyMSA9PT0gMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDIxKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAyMSAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTY6IDgzODg2MDggPj4+IDIxID09PSA0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyMSAhPT0gOCkgeyAKICAkRVJST1IoJyM2OTc6IDE2Nzc3MjE2ID4+PiAyMSA9PT0gOC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDIxICE9PSAxNikgeyAKICAkRVJST1IoJyM2OTg6IDMzNTU0NDMyID4+PiAyMSA9PT0gMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiA2NzEwODg2NCA+Pj4gMjEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDIxICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MDA6IDEzNDIxNzcyOCA+Pj4gMjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzcwMTogMjY4NDM1NDU2ID4+PiAyMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMSAhPT0gMjU2KSB7IAogICRFUlJPUignIzcwMjogNTM2ODcwOTEyID4+PiAyMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjEgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjQgPj4+IDIxID09PSA1MTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ4ID4+PiAyMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDIxKSk7IAp9IAoKCmlmICgxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDU6IDEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNjogMiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyMikpOyAKfSAKCgppZiAoNCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA3OiA0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDIyKSk7IAp9IAoKCmlmICg4ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDg6IDggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDk6IDE2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyMikpOyAKfSAKCgppZiAoMzIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMDogMzIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIyKSk7IAp9IAoKCmlmICg2NCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzExOiA2NCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEyOiAxMjggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyMikpOyAKfSAKCgppZiAoMjU2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTM6IDI1NiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNDogNTEyID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNTogMTAyNCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE2OiAyMDQ4ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTYgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxODogODE5MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxOTogMTYzODQgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2OCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjE6IDY1NTM2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjI6IDEzMTA3MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMzogMjYyMTQ0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI0OiA1MjQyODggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI1OiAxMDQ4NTc2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyNzogNDE5NDMwNCA+Pj4gMjIgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzI4OiA4Mzg4NjA4ID4+PiAyMiA9PT0gMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjIgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNiA+Pj4gMjIgPT09IDQuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMiAhPT0gOCkgeyAKICAkRVJST1IoJyM3MzA6IDMzNTU0NDMyID4+PiAyMiA9PT0gOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODY0ID4+PiAyMiA9PT0gMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMjIgIT09IDMyKSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI4ID4+PiAyMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDIyICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NiA+Pj4gMjIgPT09IDY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzczNDogNTM2ODcwOTEyID4+PiAyMiA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjIgIT09IDI1NikgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjQgPj4+IDIyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjIgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MzY6IDIxNDc0ODM2NDggPj4+IDIyID09PSA1MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMikpOyAKfSAKCgppZiAoMSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAxID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIzKSk7IAp9IAoKCmlmICgyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzg6IDIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczOTogNCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMykpOyAKfSAKCgppZiAoOCA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQwOiA4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDI6IDMyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMykpOyAKfSAKCgppZiAoNjQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MzogNjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIzKSk7IAp9IAoKCmlmICgxMjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NDogMTI4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ1OiAyNTYgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMykpOyAKfSAKCgppZiAoNTEyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDY6IDUxMiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDc6IDEwMjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0ODogMjA0OCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMykpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ5OiA0MDk2ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTA6IDgxOTIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTE6IDE2Mzg0ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MjogMzI3NjggPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUzOiA2NTUzNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTU6IDI2MjE0NCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIzKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NjogNTI0Mjg4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMykpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU4OiAyMDk3MTUyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTk6IDQxOTQzMDQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIzICE9PSAxKSB7IAogICRFUlJPUignIzc2MDogODM4ODYwOCA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIzICE9PSAyKSB7IAogICRFUlJPUignIzc2MTogMTY3NzcyMTYgPj4+IDIzID09PSAyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDIzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjMgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzYyOiAzMzU1NDQzMiA+Pj4gMjMgPT09IDQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMyAhPT0gOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODY0ID4+PiAyMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNzY0OiAxMzQyMTc3MjggPj4+IDIzID09PSAxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjMgIT09IDMyKSB7IAogICRFUlJPUignIzc2NTogMjY4NDM1NDU2ID4+PiAyMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDIzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDIzICE9PSA2NCkgeyAKICAkRVJST1IoJyM3NjY6IDUzNjg3MDkxMiA+Pj4gMjMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjMgIT09IDEyOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjQgPj4+IDIzID09PSAxMjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjMgIT09IDI1NikgeyAKICAkRVJST1IoJyM3Njg6IDIxNDc0ODM2NDggPj4+IDIzID09PSAyNTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMykpOyAKfSAKCgppZiAoMSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAxID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI0KSk7IAp9IAoKCmlmICgyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzA6IDIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MTogNCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNCkpOyAKfSAKCgppZiAoOCA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcyOiA4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI0KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzczOiAxNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzQ6IDMyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNCkpOyAKfSAKCgppZiAoNjQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NTogNjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI0KSk7IAp9IAoKCmlmICgxMjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NjogMTI4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTYgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTEyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzg6IDUxMiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI0KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzk6IDEwMjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MDogMjA0OCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgxOiA0MDk2ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI0KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODI6IDgxOTIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODM6IDE2Mzg0ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NDogMzI3NjggPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg1OiA2NTUzNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODc6IDI2MjE0NCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4ODogNTI0Mjg4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkwOiAyMDk3MTUyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI0KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTE6IDQxOTQzMDQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MjogODM4ODYwOCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5MzogMTY3NzcyMTYgPj4+IDI0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjQgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzk0OiAzMzU1NDQzMiA+Pj4gMjQgPT09IDIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNCAhPT0gNCkgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODY0ID4+PiAyNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNCAhPT0gOCkgeyAKICAkRVJST1IoJyM3OTY6IDEzNDIxNzcyOCA+Pj4gMjQgPT09IDguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI0ICE9PSAxNikgeyAKICAkRVJST1IoJyM3OTc6IDI2ODQzNTQ1NiA+Pj4gMjQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTIgPj4+IDI0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI0ICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OTk6IDEwNzM3NDE4MjQgPj4+IDI0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNCAhPT0gMTI4KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0OCA+Pj4gMjQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI0KSk7IAp9IAoKCmlmICgxID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogMiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNSkpOyAKfSAKCgppZiAoNCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAzOiA0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI1KSk7IAp9IAoKCmlmICg4ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDQ6IDggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDE2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNSkpOyAKfSAKCgppZiAoMzIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogMzIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI1KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA3OiA2NCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAxMjggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNSkpOyAKfSAKCgppZiAoMjU2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDI1NiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogNTEyID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMTAyNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAyMDQ4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IDQwOTYgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogODE5MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogMTYzODQgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2OCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IDY1NTM2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IDEzMTA3MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQ0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiA1MjQyODggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAxMDQ4NTc2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogNDE5NDMwNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiA4Mzg4NjA4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4MjY6IDMzNTU0NDMyID4+PiAyNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI1ICE9PSAyKSB7IAogICRFUlJPUignIzgyNzogNjcxMDg4NjQgPj4+IDI1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI1ICE9PSA0KSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI4ID4+PiAyNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjUgIT09IDgpIHsgCiAgJEVSUk9SKCcjODI5OiAyNjg0MzU0NTYgPj4+IDI1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjODMwOiA1MzY4NzA5MTIgPj4+IDI1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI1ICE9PSAzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjQgPj4+IDI1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjODMyOiAyMTQ3NDgzNjQ4ID4+PiAyNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI2KSk7IAp9IAoKCmlmICgyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzQ6IDIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNTogNCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNikpOyAKfSAKCgppZiAoOCA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiA4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI2KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM3OiAxNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzg6IDMyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNikpOyAKfSAKCgppZiAoNjQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzOTogNjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI2KSk7IAp9IAoKCmlmICgxMjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MDogMTI4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQxOiAyNTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNikpOyAKfSAKCgppZiAoNTEyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDM6IDEwMjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NDogMjA0OCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk2ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI2KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDgxOTIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDc6IDE2Mzg0ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0ODogMzI3NjggPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ5OiA2NTUzNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUwOiAxMzEwNzIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0NCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MjogNTI0Mjg4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MzogMTA0ODU3NiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTU6IDQxOTQzMDQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NjogODM4ODYwOCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU4OiAzMzU1NDQzMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNiAhPT0gMSkgeyAKICAkRVJST1IoJyM4NTk6IDY3MTA4ODY0ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNiAhPT0gMikgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyOCA+Pj4gMjYgPT09IDIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI2ICE9PSA0KSB7IAogICRFUlJPUignIzg2MTogMjY4NDM1NDU2ID4+PiAyNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjYgIT09IDgpIHsgCiAgJEVSUk9SKCcjODYyOiA1MzY4NzA5MTIgPj4+IDI2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjYgIT09IDE2KSB7IAogICRFUlJPUignIzg2MzogMTA3Mzc0MTgyNCA+Pj4gMjYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI2ICE9PSAzMikgeyAKICAkRVJST1IoJyM4NjQ6IDIxNDc0ODM2NDggPj4+IDI2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI2KSk7IAp9IAoKCmlmICgxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjU6IDEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NjogMiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNykpOyAKfSAKCgppZiAoNCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY3OiA0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI3KSk7IAp9IAoKCmlmICg4ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njg6IDggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njk6IDE2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNykpOyAKfSAKCgppZiAoMzIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MDogMzIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI3KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcxOiA2NCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcyOiAxMjggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNykpOyAKfSAKCgppZiAoMjU2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzM6IDI1NiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NDogNTEyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NTogMTAyNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc2OiAyMDQ4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzc6IDQwOTYgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3ODogODE5MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3OTogMTYzODQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgwOiAzMjc2OCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODE6IDY1NTM2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODI6IDEzMTA3MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MzogMjYyMTQ0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg0OiA1MjQyODggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg1OiAxMDQ4NTc2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODY6IDIwOTcxNTIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NzogNDE5NDMwNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg4OiA4Mzg4NjA4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg5OiAxNjc3NzIxNiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTA6IDMzNTU0NDMyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MTogNjcxMDg4NjQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MjogMTM0MjE3NzI4ID4+PiAyNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjcgIT09IDIpIHsgCiAgJEVSUk9SKCcjODkzOiAyNjg0MzU0NTYgPj4+IDI3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNyAhPT0gNCkgeyAKICAkRVJST1IoJyM4OTQ6IDUzNjg3MDkxMiA+Pj4gMjcgPT09IDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyNyAhPT0gOCkgeyAKICAkRVJST1IoJyM4OTU6IDEwNzM3NDE4MjQgPj4+IDI3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI3ICE9PSAxNikgeyAKICAkRVJST1IoJyM4OTY6IDIxNDc0ODM2NDggPj4+IDI3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI3KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5ODogMiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyOCkpOyAKfSAKCgppZiAoNCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiA0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI4KSk7IAp9IAoKCmlmICg4ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDE6IDE2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyOCkpOyAKfSAKCgppZiAoMzIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMzIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI4KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiA2NCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA0OiAxMjggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyOCkpOyAKfSAKCgppZiAoMjU2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDU6IDI1NiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogNTEyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNzogMTAyNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA4OiAyMDQ4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDQwOTYgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogODE5MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyOCkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMTogMTYzODQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAzMjc2OCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDY1NTM2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyOCkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTQ6IDEzMTA3MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNTogMjYyMTQ0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiA1MjQyODggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE3OiAxMDQ4NTc2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTg6IDIwOTcxNTIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogNDE5NDMwNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyOCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIwOiA4Mzg4NjA4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIxOiAxNjc3NzIxNiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjI6IDMzNTU0NDMyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMzogNjcxMDg4NjQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNDogMTM0MjE3NzI4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI1OiAyNjg0MzU0NTYgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyOCAhPT0gMikgeyAKICAkRVJST1IoJyM5MjY6IDUzNjg3MDkxMiA+Pj4gMjggPT09IDIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyOCAhPT0gNCkgeyAKICAkRVJST1IoJyM5Mjc6IDEwNzM3NDE4MjQgPj4+IDI4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI4ICE9PSA4KSB7IAogICRFUlJPUignIzkyODogMjE0NzQ4MzY0OCA+Pj4gMjggPT09IDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyOCkpOyAKfSAKCgppZiAoMSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI5KSk7IAp9IAoKCmlmICgyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyOSkpOyAKfSAKCgppZiAoOCA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMyOiA4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI5KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAxNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDMyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyOSkpOyAKfSAKCgppZiAoNjQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNTogNjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI5KSk7IAp9IAoKCmlmICgxMjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMTI4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyOSkpOyAKfSAKCgppZiAoNTEyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDUxMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMjA0OCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI5KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDI6IDgxOTIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDE2Mzg0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyOSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogMzI3NjggPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyOSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0NCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyOSkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODY0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjkgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTIgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjkgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODI0ID4+PiAyOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyOSAhPT0gNCkgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDggPj4+IDI5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYyOiAyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDMwKSk7IAp9IAoKCmlmICg0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMzApKTsgCn0gCgoKaWYgKDggPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAzMCkpOyAKfSAKCgppZiAoMTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogMTYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAzMiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDY0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IDY0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IDEyOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDMwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogMjU2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAxMDI0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IDIwNDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogNDA5NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiA4MTkyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAxNjM4NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY4ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzMCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogNjU1MzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogMTMxMDcyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAzMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IDUyNDI4OCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IDEwNDg1NzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAzMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiA0MTk0MzA0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IDgzODg2MDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogMzM1NTQ0MzIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiA2NzEwODg2NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAzMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IDI2ODQzNTQ1NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogNTM2ODcwOTEyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyNCA+Pj4gMzAgPT09IDEuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAzMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMzAgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTkyOiAyMTQ3NDgzNjQ4ID4+PiAzMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDMwKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NDogMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzMSkpOyAKfSAKCgppZiAoNCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk1OiA0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDMxKSk7IAp9IAoKCmlmICg4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTY6IDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTc6IDE2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAzMSkpOyAKfSAKCgppZiAoMzIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5ODogMzIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDMxKSk7IAp9IAoKCmlmICg2NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk5OiA2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMDogMTI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMjogNTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDM6IDEwMjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDU6IDQwOTYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDY6IDgxOTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA4OiAzMjc2OCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA5OiA2NTUzNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMTogMjYyMTQ0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMjogNTI0Mjg4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTQ6IDIwOTcxNTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTU6IDQxOTQzMDQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE3OiAxNjc3NzIxNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE4OiAzMzU1NDQzMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMDogMTM0MjE3NzI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMTogMjY4NDM1NDU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjM6IDEwNzM3NDE4MjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDMxICE9PSAxKSB7IAogICRFUlJPUignIzEwMjQ6IDIxNDc0ODM2NDggPj4+IDMxID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMzEpKTsgCn0KCg==","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAwLi4uMTUKICovCgovL0NIRUNLCiAKaWYgKDAgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA+Pj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDApKTsgCn0gCgoKaWYgKDEgPj4+IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA+Pj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+IDApKTsgCn0gCgoKaWYgKDMgPj4+IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA+Pj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4+IDApKTsgCn0gCgoKaWYgKDcgPj4+IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA+Pj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4+IDApKTsgCn0gCgoKaWYgKDE1ID4+PiAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA+Pj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+Pj4gMCkpOyAKfSAKCgppZiAoMzEgPj4+IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxID4+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+PiAwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPj4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA+Pj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPj4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMCkpOyAKfSAKCgppZiAoNTExID4+PiAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA+Pj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+PiAwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzID4+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA+Pj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPj4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiAwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxID4+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA+Pj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA+Pj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA+Pj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA+Pj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzID4+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPj4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA+Pj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPj4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzID4+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA+Pj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPj4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDApKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPj4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPj4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPj4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA+Pj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExID4+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPj4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMCAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMCA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDApKTsgCn0gCgoKaWYgKDAgPj4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ6IDAgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM1OiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMyA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNjogMyA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDMgPj4+IDEpKTsgCn0gCgoKaWYgKDcgPj4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc6IDcgPj4+IDEgPT09IDMuIEFjdHVhbDogJyArICg3ID4+PiAxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzODogMTUgPj4+IDEgPT09IDcuIEFjdHVhbDogJyArICgxNSA+Pj4gMSkpOyAKfSAKCgppZiAoMzEgPj4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM5OiAzMSA+Pj4gMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMSA+Pj4gMSkpOyAKfSAKCgppZiAoNjMgPj4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzQwOiA2MyA+Pj4gMSA9PT0gMzEuIEFjdHVhbDogJyArICg2MyA+Pj4gMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTogMTI3ID4+PiAxID09PSA2My4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDI6IDI1NSA+Pj4gMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MzogNTExID4+PiAxID09PSAyNTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NDogMTAyMyA+Pj4gMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTogMjA0NyA+Pj4gMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDY6IDQwOTUgPj4+IDEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ3OiA4MTkxID4+PiAxID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDg6IDE2MzgzID4+PiAxID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0OTogMzI3NjcgPj4+IDEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MDogNjU1MzUgPj4+IDEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTE6IDEzMTA3MSA+Pj4gMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUyOiAyNjIxNDMgPj4+IDEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTM6IDUyNDI4NyA+Pj4gMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTQ6IDEwNDg1NzUgPj4+IDEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTU6IDIwOTcxNTEgPj4+IDEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU2OiA0MTk0MzAzID4+PiAxID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NzogODM4ODYwNyA+Pj4gMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU4OiAxNjc3NzIxNSA+Pj4gMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTk6IDMzNTU0NDMxID4+PiAxID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNjA6IDY3MTA4ODYzID4+PiAxID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYxOiAxMzQyMTc3MjcgPj4+IDEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MjogMjY4NDM1NDU1ID4+PiAxID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYzOiA1MzY4NzA5MTEgPj4+IDEgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzY0OiAxMDczNzQxODIzID4+PiAxID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY1OiAyMTQ3NDgzNjQ3ID4+PiAxID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyM2NjogNDI5NDk2NzI5NSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDEpKTsgCn0gCgoKaWYgKDAgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc6IDAgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyKSk7IAp9IAoKCmlmICgxID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY4OiAxID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMikpOyAKfSAKCgppZiAoMyA+Pj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTogMyA+Pj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIpKTsgCn0gCgoKaWYgKDcgPj4+IDIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzA6IDcgPj4+IDIgPT09IDEuIEFjdHVhbDogJyArICg3ID4+PiAyKSk7IAp9IAoKCmlmICgxNSA+Pj4gMiAhPT0gMykgeyAKICAkRVJST1IoJyM3MTogMTUgPj4+IDIgPT09IDMuIEFjdHVhbDogJyArICgxNSA+Pj4gMikpOyAKfSAKCgppZiAoMzEgPj4+IDIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzI6IDMxID4+PiAyID09PSA3LiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIpKTsgCn0gCgoKaWYgKDYzID4+PiAyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3MzogNjMgPj4+IDIgPT09IDE1LiBBY3R1YWw6ICcgKyAoNjMgPj4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzQ6IDEyNyA+Pj4gMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMjcgPj4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzU6IDI1NSA+Pj4gMiA9PT0gNjMuIEFjdHVhbDogJyArICgyNTUgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc2OiA1MTEgPj4+IDIgPT09IDEyNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMiAhPT0gMjU1KSB7IAogICRFUlJPUignIzc3OiAxMDIzID4+PiAyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDIzID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzg6IDIwNDcgPj4+IDIgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzk6IDQwOTUgPj4+IDIgPT09IDEwMjMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+PiAyICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzgwOiA4MTkxID4+PiAyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjODE6IDE2MzgzID4+PiAyID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzgyOiAzMjc2NyA+Pj4gMiA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjODM6IDY1NTM1ID4+PiAyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzg0OiAxMzEwNzEgPj4+IDIgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzg1OiAyNjIxNDMgPj4+IDIgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDIgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM4NjogNTI0Mjg3ID4+PiAyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM4NzogMTA0ODU3NSA+Pj4gMiA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzg4OiAyMDk3MTUxID4+PiAyID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzg5OiA0MTk0MzAzID4+PiAyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM5MDogODM4ODYwNyA+Pj4gMiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzkxOiAxNjc3NzIxNSA+Pj4gMiA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMiAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5MjogMzM1NTQ0MzEgPj4+IDIgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzkzOiA2NzEwODg2MyA+Pj4gMiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM5NDogMTM0MjE3NzI3ID4+PiAyID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM5NTogMjY4NDM1NDU1ID4+PiAyID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjOTY6IDUzNjg3MDkxMSA+Pj4gMiA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjOTc6IDEwNzM3NDE4MjMgPj4+IDIgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyM5ODogMjE0NzQ4MzY0NyA+Pj4gMiA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMiAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyM5OTogNDI5NDk2NzI5NSA+Pj4gMiA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIpKTsgCn0gCgoKaWYgKDAgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOiAwID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE6IDEgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzKSk7IAp9IAoKCmlmICgzID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMjogMyA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMpKTsgCn0gCgoKaWYgKDcgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOiA3ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMykpOyAKfSAKCgppZiAoMTUgPj4+IDMgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTA0OiAxNSA+Pj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+PiAzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMyAhPT0gMykgeyAKICAkRVJST1IoJyMxMDU6IDMxID4+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMpKTsgCn0gCgoKaWYgKDYzID4+PiAzICE9PSA3KSB7IAogICRFUlJPUignIzEwNjogNjMgPj4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+Pj4gMykpOyAKfSAKCgppZiAoMTI3ID4+PiAzICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMDc6IDEyNyA+Pj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4+IDMpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTA4OiAyNTUgPj4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMgIT09IDYzKSB7IAogICRFUlJPUignIzEwOTogNTExID4+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzExMDogMTAyMyA+Pj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzExMTogMjA0NyA+Pj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMyAhPT0gNTExKSB7IAogICRFUlJPUignIzExMjogNDA5NSA+Pj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTM6IDgxOTEgPj4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+PiAzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMTQ6IDE2MzgzID4+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzExNTogMzI3NjcgPj4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTE2OiA2NTUzNSA+Pj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzExNzogMTMxMDcxID4+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxMTg6IDI2MjE0MyA+Pj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTE5OiA1MjQyODcgPj4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTIwOiAxMDQ4NTc1ID4+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTIxOiAyMDk3MTUxID4+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTIyOiA0MTk0MzAzID4+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyMzogODM4ODYwNyA+Pj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAzICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzEyNDogMTY3NzcyMTUgPj4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDMgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTI1OiAzMzU1NDQzMSA+Pj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMyAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMjY6IDY3MTA4ODYzID4+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMzQyMTc3MjcgPj4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzEyODogMjY4NDM1NDU1ID4+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAzICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxMjk6IDUzNjg3MDkxMSA+Pj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDMgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxMzA6IDEwNzM3NDE4MjMgPj4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDMgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyMxMzE6IDIxNDc0ODM2NDcgPj4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDMgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMxMzI6IDQyOTQ5NjcyOTUgPj4+IDMgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMpKTsgCn0gCgoKaWYgKDAgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMzOiAwID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNCkpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzQ6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgzID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzNTogMyA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDQpKTsgCn0gCgoKaWYgKDcgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM2OiA3ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNCkpOyAKfSAKCgppZiAoMTUgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM3OiAxNSA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA0KSk7IAp9IAoKCmlmICgzMSA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzg6IDMxID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDQpKTsgCn0gCgoKaWYgKDYzID4+PiA0ICE9PSAzKSB7IAogICRFUlJPUignIzEzOTogNjMgPj4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+Pj4gNCkpOyAKfSAKCgppZiAoMTI3ID4+PiA0ICE9PSA3KSB7IAogICRFUlJPUignIzE0MDogMTI3ID4+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDQgIT09IDE1KSB7IAogICRFUlJPUignIzE0MTogMjU1ID4+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNCkpOyAKfSAKCgppZiAoNTExID4+PiA0ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNDI6IDUxMSA+Pj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4+IDQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDQgIT09IDYzKSB7IAogICRFUlJPUignIzE0MzogMTAyMyA+Pj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+PiA0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMTQ0OiAyMDQ3ID4+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMTQ1OiA0MDk1ID4+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiA0KSk7IAp9IAoKCmlmICg4MTkxID4+PiA0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTQ2OiA4MTkxID4+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+PiA0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxNDc6IDE2MzgzID4+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiA0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzE0ODogMzI3NjcgPj4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTQ5OiA2NTUzNSA+Pj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTUwOiAxMzEwNzEgPj4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTUxOiAyNjIxNDMgPj4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE1MjogNTI0Mjg3ID4+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTUzOiAxMDQ4NTc1ID4+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTQ6IDIwOTcxNTEgPj4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNTU6IDQxOTQzMDMgPj4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDQgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxNTY6IDgzODg2MDcgPj4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA0ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzE1NzogMTY3NzcyMTUgPj4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDQgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTU4OiAzMzU1NDQzMSA+Pj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxNTk6IDY3MTA4ODYzID4+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxNjA6IDEzNDIxNzcyNyA+Pj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA0ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMxNjE6IDI2ODQzNTQ1NSA+Pj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTYyOiA1MzY4NzA5MTEgPj4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA0ICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxNjM6IDEwNzM3NDE4MjMgPj4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzE2NDogMjE0NzQ4MzY0NyA+Pj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzE2NTogNDI5NDk2NzI5NSA+Pj4gNCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNCkpOyAKfSAKCgppZiAoMCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDAgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiA1KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NzogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDMgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY4OiAzID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gNSkpOyAKfSAKCgppZiAoNyA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjk6IDcgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiA1KSk7IAp9IAoKCmlmICgxNSA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNzA6IDE1ID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDUpKTsgCn0gCgoKaWYgKDMxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE3MTogMzEgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gNSkpOyAKfSAKCgppZiAoNjMgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTcyOiA2MyA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+PiA1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDUgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTczOiAxMjcgPj4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4+IDUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gNSAhPT0gNykgeyAKICAkRVJST1IoJyMxNzQ6IDI1NSA+Pj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNSkpOyAKfSAKCgppZiAoNTExID4+PiA1ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxNzU6IDUxMSA+Pj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDUpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDUgIT09IDMxKSB7IAogICRFUlJPUignIzE3NjogMTAyMyA+Pj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+PiA1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA1ICE9PSA2MykgeyAKICAkRVJST1IoJyMxNzc6IDIwNDcgPj4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzE3ODogNDA5NSA+Pj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzE3OTogODE5MSA+Pj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDUgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxODA6IDE2MzgzID4+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTgxOiAzMjc2NyA+Pj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxODI6IDY1NTM1ID4+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxODM6IDEzMTA3MSA+Pj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE4NDogMjYyMTQzID4+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE4NTogNTI0Mjg3ID4+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg2OiAxMDQ4NTc1ID4+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE4NzogMjA5NzE1MSA+Pj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg4OiA0MTk0MzAzID4+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA1ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTg5OiA4Mzg4NjA3ID4+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNSAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzE5MDogMTY3NzcyMTUgPj4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxOTE6IDMzNTU0NDMxID4+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA1ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE5MjogNjcxMDg4NjMgPj4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiA1ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzE5MzogMTM0MjE3NzI3ID4+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDUgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTk0OiAyNjg0MzU0NTUgPj4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTk1OiA1MzY4NzA5MTEgPj4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA1ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxOTY6IDEwNzM3NDE4MjMgPj4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTk3OiAyMTQ3NDgzNjQ3ID4+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDUgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxOTg6IDQyOTQ5NjcyOTUgPj4+IDUgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUpKTsgCn0gCgoKaWYgKDAgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk5OiAwID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNikpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDA6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwMTogMyA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDYpKTsgCn0gCgoKaWYgKDcgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAyOiA3ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNikpOyAKfSAKCgppZiAoMTUgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAzOiAxNSA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDQ6IDMxID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDYpKTsgCn0gCgoKaWYgKDYzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwNTogNjMgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNikpOyAKfSAKCgppZiAoMTI3ID4+PiA2ICE9PSAxKSB7IAogICRFUlJPUignIzIwNjogMTI3ID4+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA2KSk7IAp9IAoKCmlmICgyNTUgPj4+IDYgIT09IDMpIHsgCiAgJEVSUk9SKCcjMjA3OiAyNTUgPj4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4+IDYpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNiAhPT0gNykgeyAKICAkRVJST1IoJyMyMDg6IDUxMSA+Pj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMjA5OiAxMDIzID4+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDYpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDYgIT09IDMxKSB7IAogICRFUlJPUignIzIxMDogMjA0NyA+Pj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA2ICE9PSA2MykgeyAKICAkRVJST1IoJyMyMTE6IDQwOTUgPj4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNikpOyAKfSAKCgppZiAoODE5MSA+Pj4gNiAhPT0gMTI3KSB7IAogICRFUlJPUignIzIxMjogODE5MSA+Pj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDYgIT09IDI1NSkgeyAKICAkRVJST1IoJyMyMTM6IDE2MzgzID4+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNikpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDYgIT09IDUxMSkgeyAKICAkRVJST1IoJyMyMTQ6IDMyNzY3ID4+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDYgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjE1OiA2NTUzNSA+Pj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDYgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMjE2OiAxMzEwNzEgPj4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMTc6IDI2MjE0MyA+Pj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA2ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIxODogNTI0Mjg3ID4+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA2ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMyMTk6IDEwNDg1NzUgPj4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gNiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMjIwOiAyMDk3MTUxID4+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDYgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzIyMTogNDE5NDMwMyA+Pj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA2ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjIyOiA4Mzg4NjA3ID4+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzIyMzogMTY3NzcyMTUgPj4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIyNDogMzM1NTQ0MzEgPj4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMjU6IDY3MTA4ODYzID4+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMyMjY6IDEzNDIxNzcyNyA+Pj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA2ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIyNzogMjY4NDM1NDU1ID4+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDYgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjI4OiA1MzY4NzA5MTEgPj4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDYgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzIyOTogMTA3Mzc0MTgyMyA+Pj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiA2ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyMzA6IDIxNDc0ODM2NDcgPj4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNiAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjMxOiA0Mjk0OTY3Mjk1ID4+PiA2ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYpKTsgCn0gCgoKaWYgKDAgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMyOiAwID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNykpOyAKfSAKCgppZiAoMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzM6IDEgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA3KSk7IAp9IAoKCmlmICgzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzNDogMyA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDcpKTsgCn0gCgoKaWYgKDcgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM1OiA3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNykpOyAKfSAKCgppZiAoMTUgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM2OiAxNSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA3KSk7IAp9IAoKCmlmICgzMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzc6IDMxID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDcpKTsgCn0gCgoKaWYgKDYzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzODogNjMgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNykpOyAKfSAKCgppZiAoMTI3ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzOTogMTI3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA3KSk7IAp9IAoKCmlmICgyNTUgPj4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjQwOiAyNTUgPj4+IDcgPT09IDEuIEFjdHVhbDogJyArICgyNTUgPj4+IDcpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyNDE6IDUxMSA+Pj4gNyA9PT0gMy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyNDI6IDEwMjMgPj4+IDcgPT09IDcuIEFjdHVhbDogJyArICgxMDIzID4+PiA3KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNDM6IDIwNDcgPj4+IDcgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjQ0OiA0MDk1ID4+PiA3ID09PSAzMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzI0NTogODE5MSA+Pj4gNyA9PT0gNjMuIEFjdHVhbDogJyArICg4MTkxID4+PiA3KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzI0NjogMTYzODMgPj4+IDcgPT09IDEyNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0NzogMzI3NjcgPj4+IDcgPT09IDI1NS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA3KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0ODogNjU1MzUgPj4+IDcgPT09IDUxMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxMzEwNzEgPj4+IDcgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNTA6IDI2MjE0MyA+Pj4gNyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI1MTogNTI0Mjg3ID4+PiA3ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI1MjogMTA0ODU3NSA+Pj4gNyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI1MzogMjA5NzE1MSA+Pj4gNyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA3KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNTQ6IDQxOTQzMDMgPj4+IDcgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjU1OiA4Mzg4NjA3ID4+PiA3ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjU2OiAxNjc3NzIxNSA+Pj4gNyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjU3OiAzMzU1NDQzMSA+Pj4gNyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDcpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjU4OiA2NzEwODg2MyA+Pj4gNyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTk6IDEzNDIxNzcyNyA+Pj4gNyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI2MDogMjY4NDM1NDU1ID4+PiA3ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjYxOiA1MzY4NzA5MTEgPj4+IDcgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjYyOiAxMDczNzQxODIzID4+PiA3ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjYzOiAyMTQ3NDgzNjQ3ID4+PiA3ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDcpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDcgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzI2NDogNDI5NDk2NzI5NSA+Pj4gNyA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA3KSk7IAp9IAoKCmlmICgwID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NTogMCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDgpKTsgCn0gCgoKaWYgKDEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY2OiAxID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gOCkpOyAKfSAKCgppZiAoMyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjc6IDMgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiA4KSk7IAp9IAoKCmlmICg3ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2ODogNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2OTogMTUgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gOCkpOyAKfSAKCgppZiAoMzEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjcwOiAzMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiA4KSk7IAp9IAoKCmlmICg2MyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzE6IDYzID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzI6IDEyNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI3MzogMjU1ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4+IDggIT09IDEpIHsgCiAgJEVSUk9SKCcjMjc0OiA1MTEgPj4+IDggPT09IDEuIEFjdHVhbDogJyArICg1MTEgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDggIT09IDMpIHsgCiAgJEVSUk9SKCcjMjc1OiAxMDIzID4+PiA4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gOCAhPT0gNykgeyAKICAkRVJST1IoJyMyNzY6IDIwNDcgPj4+IDggPT09IDcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA4ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNzc6IDQwOTUgPj4+IDggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc4OiA4MTkxID4+PiA4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA4ICE9PSA2MykgeyAKICAkRVJST1IoJyMyNzk6IDE2MzgzID4+PiA4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzI4MDogMzI3NjcgPj4+IDggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzI4MTogNjU1MzUgPj4+IDggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDggIT09IDUxMSkgeyAKICAkRVJST1IoJyMyODI6IDEzMTA3MSA+Pj4gOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjgzOiAyNjIxNDMgPj4+IDggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyODQ6IDUyNDI4NyA+Pj4gOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyODU6IDEwNDg1NzUgPj4+IDggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiA4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI4NjogMjA5NzE1MSA+Pj4gOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDggIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI4NzogNDE5NDMwMyA+Pj4gOCA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA4ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyODg6IDgzODg2MDcgPj4+IDggPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDggIT09IDY1NTM1KSB7IAogICRFUlJPUignIzI4OTogMTY3NzcyMTUgPj4+IDggPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA4ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjkwOiAzMzU1NDQzMSA+Pj4gOCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA4ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjkxOiA2NzEwODg2MyA+Pj4gOCA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gOCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzI5MjogMTM0MjE3NzI3ID4+PiA4ID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gOCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyOTM6IDI2ODQzNTQ1NSA+Pj4gOCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiA4ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI5NDogNTM2ODcwOTExID4+PiA4ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA4ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzI5NTogMTA3Mzc0MTgyMyA+Pj4gOCA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDggIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjk2OiAyMTQ3NDgzNjQ3ID4+PiA4ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gOCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gOCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjk3OiA0Mjk0OTY3Mjk1ID4+PiA4ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDgpKTsgCn0gCgoKaWYgKDAgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiAwID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gOSkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwMDogMyA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDkpKTsgCn0gCgoKaWYgKDcgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAxOiA3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAyOiAxNSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA5KSk7IAp9IAoKCmlmICgzMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDM6IDMxID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDkpKTsgCn0gCgoKaWYgKDYzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNDogNjMgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gOSkpOyAKfSAKCgppZiAoMTI3ID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNTogMTI3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzA2OiAyNTUgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDkpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDc6IDUxMSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gOSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gOSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMDg6IDEwMjMgPj4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+PiA5KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA5ICE9PSAzKSB7IAogICRFUlJPUignIzMwOTogMjA0NyA+Pj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDkpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDkgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzEwOiA0MDk1ID4+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzExOiA4MTkxID4+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDkpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA5ICE9PSAzMSkgeyAKICAkRVJST1IoJyMzMTI6IDE2MzgzID4+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzEzOiAzMjc2NyA+Pj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDkgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMTQ6IDY1NTM1ID4+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiA5ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzE1OiAxMzEwNzEgPj4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gOSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA5ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzE2OiAyNjIxNDMgPj4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA5ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzMxNzogNTI0Mjg3ID4+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA5ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzMxODogMTA0ODU3NSA+Pj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDkgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzE5OiAyMDk3MTUxID4+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gOSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzMjA6IDQxOTQzMDMgPj4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA5ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzMjE6IDgzODg2MDcgPj4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDkgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzMyMjogMTY3NzcyMTUgPj4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA5ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzMjM6IDMzNTU0NDMxID4+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gOSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzMyNDogNjcxMDg4NjMgPj4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiA5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDkgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzMjU6IDEzNDIxNzcyNyA+Pj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDkgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzMjY6IDI2ODQzNTQ1NSA+Pj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDkgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzI3OiA1MzY4NzA5MTEgPj4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDkgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzI4OiAxMDczNzQxODIzID4+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gOSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzMjk6IDIxNDc0ODM2NDcgPj4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiA5KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiA5ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzMzMDogNDI5NDk2NzI5NSA+Pj4gOSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDkpKTsgCn0gCgoKaWYgKDAgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzMTogMCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMCkpOyAKfSAKCgppZiAoMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMyOiAxID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEwKSk7IAp9IAoKCmlmICgzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzM6IDMgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTApKTsgCn0gCgoKaWYgKDcgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNDogNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNTogMTUgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM2OiAzMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDYzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzc6IDYzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzg6IDEyNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzOTogMjU1ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQwOiA1MTEgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQxOiAxMDIzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMCAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDI6IDIwNDcgPj4+IDEwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEwICE9PSAzKSB7IAogICRFUlJPUignIzM0MzogNDA5NSA+Pj4gMTAgPT09IDMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTAgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzQ0OiA4MTkxID4+PiAxMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTAgIT09IDE1KSB7IAogICRFUlJPUignIzM0NTogMTYzODMgPj4+IDEwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDEwICE9PSAzMSkgeyAKICAkRVJST1IoJyMzNDY6IDMyNzY3ID4+PiAxMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NTUzNSA+Pj4gMTAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzQ4OiAxMzEwNzEgPj4+IDEwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjIxNDMgPj4+IDEwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDEwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzUwOiA1MjQyODcgPj4+IDEwID09PSA1MTEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzNTE6IDEwNDg1NzUgPj4+IDEwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzM1MjogMjA5NzE1MSA+Pj4gMTAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzUzOiA0MTk0MzAzID4+PiAxMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNTQ6IDgzODg2MDcgPj4+IDEwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzU1OiAxNjc3NzIxNSA+Pj4gMTAgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzM1NjogMzM1NTQ0MzEgPj4+IDEwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDEwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzNTc6IDY3MTA4ODYzID4+PiAxMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTAgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzNTg6IDEzNDIxNzcyNyA+Pj4gMTAgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzNTk6IDI2ODQzNTQ1NSA+Pj4gMTAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzNjA6IDUzNjg3MDkxMSA+Pj4gMTAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEwICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzM2MTogMTA3Mzc0MTgyMyA+Pj4gMTAgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAyMTQ3NDgzNjQ3ID4+PiAxMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzNjM6IDQyOTQ5NjcyOTUgPj4+IDEwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDAgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NDogMCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY1OiAxID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDExKSk7IAp9IAoKCmlmICgzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjY6IDMgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDcgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NzogNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMSkpOyAKfSAKCgppZiAoMTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2ODogMTUgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDExKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY5OiAzMSA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDYzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzA6IDYzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzE6IDEyNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDExKSk7IAp9IAoKCmlmICgyNTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3MjogMjU1ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzczOiA1MTEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc0OiAxMDIzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDExKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzU6IDIwNDcgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM3NjogNDA5NSA+Pj4gMTEgPT09IDEuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc3OiA4MTkxID4+PiAxMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDExKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzc4OiAxNjM4MyA+Pj4gMTEgPT09IDcuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzc5OiAzMjc2NyA+Pj4gMTEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDExKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM4MDogNjU1MzUgPj4+IDExID09PSAzMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzgxOiAxMzEwNzEgPj4+IDExID09PSA2My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzODI6IDI2MjE0MyA+Pj4gMTEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzODM6IDUyNDI4NyA+Pj4gMTEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzg0OiAxMDQ4NTc1ID4+PiAxMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM4NTogMjA5NzE1MSA+Pj4gMTEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzg2OiA0MTk0MzAzID4+PiAxMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDExKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzODc6IDgzODg2MDcgPj4+IDExID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzODg6IDE2Nzc3MjE1ID4+PiAxMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzODk6IDMzNTU0NDMxID4+PiAxMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzkwOiA2NzEwODg2MyA+Pj4gMTEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzOTE6IDEzNDIxNzcyNyA+Pj4gMTEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM5MjogMjY4NDM1NDU1ID4+PiAxMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM5MzogNTM2ODcwOTExID4+PiAxMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzOTQ6IDEwNzM3NDE4MjMgPj4+IDExID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzk1OiAyMTQ3NDgzNjQ3ID4+PiAxMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDExKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzOTY6IDQyOTQ5NjcyOTUgPj4+IDExID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDAgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NzogMCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMikpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk4OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTk6IDMgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDcgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMDogNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMTogMTUgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEyKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDAyOiAzMSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDYzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDM6IDYzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMikpOyAKfSAKCgppZiAoMTI3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDQ6IDEyNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEyKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogMjU1ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiA1MTEgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA3OiAxMDIzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDg6IDIwNDcgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogNDA5NSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMikpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDEwOiA4MTkxID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDExOiAxNjM4MyA+Pj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMiAhPT0gNykgeyAKICAkRVJST1IoJyM0MTI6IDMyNzY3ID4+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEyICE9PSAxNSkgeyAKICAkRVJST1IoJyM0MTM6IDY1NTM1ID4+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTIgIT09IDMxKSB7IAogICRFUlJPUignIzQxNDogMTMxMDcxID4+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEyICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTU6IDI2MjE0MyA+Pj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAxMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzQxNjogNTI0Mjg3ID4+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MTc6IDEwNDg1NzUgPj4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MTg6IDIwOTcxNTEgPj4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNDE5OiA0MTk0MzAzID4+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0MjA6IDgzODg2MDcgPj4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0MjE6IDE2Nzc3MjE1ID4+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzQyMjogMzM1NTQ0MzEgPj4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTIgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQyMzogNjcxMDg4NjMgPj4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMzQyMTc3MjcgPj4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQyNTogMjY4NDM1NDU1ID4+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDEyICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDI2OiA1MzY4NzA5MTEgPj4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzQyNzogMTA3Mzc0MTgyMyA+Pj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzQyODogMjE0NzQ4MzY0NyA+Pj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEyKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0Mjk6IDQyOTQ5NjcyOTUgPj4+IDEyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMDogMCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMykpOyAKfSAKCgppZiAoMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDMxOiAxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEzKSk7IAp9IAoKCmlmICgzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzI6IDMgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMzogNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNDogMTUgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM1OiAzMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzY6IDYzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzc6IDEyNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzODogMjU1ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM5OiA1MTEgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQwOiAxMDIzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDE6IDIwNDcgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MjogNDA5NSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQzOiA4MTkxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxNjM4MyA+Pj4gMTMgPT09IDEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMyAhPT0gMykgeyAKICAkRVJST1IoJyM0NDU6IDMyNzY3ID4+PiAxMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEzICE9PSA3KSB7IAogICRFUlJPUignIzQ0NjogNjU1MzUgPj4+IDEzID09PSA3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEzICE9PSAxNSkgeyAKICAkRVJST1IoJyM0NDc6IDEzMTA3MSA+Pj4gMTMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyNjIxNDMgPj4+IDEzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTMgIT09IDYzKSB7IAogICRFUlJPUignIzQ0OTogNTI0Mjg3ID4+PiAxMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzQ1MDogMTA0ODU3NSA+Pj4gMTMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzQ1MTogMjA5NzE1MSA+Pj4gMTMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxMyAhPT0gNTExKSB7IAogICRFUlJPUignIzQ1MjogNDE5NDMwMyA+Pj4gMTMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTM6IDgzODg2MDcgPj4+IDEzID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0NTQ6IDE2Nzc3MjE1ID4+PiAxMyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ1NTogMzM1NTQ0MzEgPj4+IDEzID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDU2OiA2NzEwODg2MyA+Pj4gMTMgPT09IDgxOTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQ1NzogMTM0MjE3NzI3ID4+PiAxMyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0NTg6IDI2ODQzNTQ1NSA+Pj4gMTMgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDU5OiA1MzY4NzA5MTEgPj4+IDEzID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDYwOiAxMDczNzQxODIzID4+PiAxMyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDEzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDYxOiAyMTQ3NDgzNjQ3ID4+PiAxMyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDEzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDYyOiA0Mjk0OTY3Mjk1ID4+PiAxMyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MzogMCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY0OiAxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE0KSk7IAp9IAoKCmlmICgzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjU6IDMgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NjogNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NzogMTUgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDE0KSk7IAp9IAoKCmlmICgzMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY4OiAzMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IDYzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzA6IDEyNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MTogMjU1ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcyOiA1MTEgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDczOiAxMDIzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzQ6IDIwNDcgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NTogNDA5NSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiA4MTkxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc3OiAxNjM4MyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxNCAhPT0gMSkgeyAKICAkRVJST1IoJyM0Nzg6IDMyNzY3ID4+PiAxNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDE0ICE9PSAzKSB7IAogICRFUlJPUignIzQ3OTogNjU1MzUgPj4+IDE0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDE0ICE9PSA3KSB7IAogICRFUlJPUignIzQ4MDogMTMxMDcxID4+PiAxNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTQgIT09IDE1KSB7IAogICRFUlJPUignIzQ4MTogMjYyMTQzID4+PiAxNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM0ODI6IDUyNDI4NyA+Pj4gMTQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTQgIT09IDYzKSB7IAogICRFUlJPUignIzQ4MzogMTA0ODU3NSA+Pj4gMTQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDg0OiAyMDk3MTUxID4+PiAxNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDg1OiA0MTk0MzAzID4+PiAxNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDg2OiA4Mzg4NjA3ID4+PiAxNCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0ODc6IDE2Nzc3MjE1ID4+PiAxNCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ4ODogMzM1NTQ0MzEgPj4+IDE0ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDg5OiA2NzEwODg2MyA+Pj4gMTQgPT09IDQwOTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDkwOiAxMzQyMTc3MjcgPj4+IDE0ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDkxOiAyNjg0MzU0NTUgPj4+IDE0ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ5MjogNTM2ODcwOTExID4+PiAxNCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDkzOiAxMDczNzQxODIzID4+PiAxNCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0OTQ6IDIxNDc0ODM2NDcgPj4+IDE0ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0OTU6IDQyOTQ5NjcyOTUgPj4+IDE0ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNCkpOyAKfSAKCgppZiAoMCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAwID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE1KSk7IAp9IAoKCmlmICgxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTc6IDEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogMyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxNSkpOyAKfSAKCgppZiAoNyA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiA3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAwOiAxNSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IDMxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogNjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMzogMTI3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA0OiAyNTUgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IDUxMSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDY6IDEwMjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNzogMjA0NyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiA0MDk1ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IDgxOTEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTA6IDE2MzgzID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogMzI3NjcgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTUgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTEyOiA2NTUzNSA+Pj4gMTUgPT09IDEuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTUgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTEzOiAxMzEwNzEgPj4+IDE1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxNSAhPT0gNykgeyAKICAkRVJST1IoJyM1MTQ6IDI2MjE0MyA+Pj4gMTUgPT09IDcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MTU6IDUyNDI4NyA+Pj4gMTUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTUgIT09IDMxKSB7IAogICRFUlJPUignIzUxNjogMTA0ODU3NSA+Pj4gMTUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE1ICE9PSA2MykgeyAKICAkRVJST1IoJyM1MTc6IDIwOTcxNTEgPj4+IDE1ID09PSA2My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzUxODogNDE5NDMwMyA+Pj4gMTUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzUxOTogODM4ODYwNyA+Pj4gMTUgPT09IDI1NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTUgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1MjA6IDE2Nzc3MjE1ID4+PiAxNSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTIxOiAzMzU1NDQzMSA+Pj4gMTUgPT09IDEwMjMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1MjI6IDY3MTA4ODYzID4+PiAxNSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjM6IDEzNDIxNzcyNyA+Pj4gMTUgPT09IDQwOTUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyNDogMjY4NDM1NDU1ID4+PiAxNSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUyNTogNTM2ODcwOTExID4+PiAxNSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTI2OiAxMDczNzQxODIzID4+PiAxNSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzUyNzogMjE0NzQ4MzY0NyA+Pj4gMTUgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNTI4OiA0Mjk0OTY3Mjk1ID4+PiAxNSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTUpKTsgCn0gCgo=","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgwID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjk6IDAgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogMSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNikpOyAKfSAKCgppZiAoMyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAzID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE2KSk7IAp9IAoKCmlmICg3ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IDcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IDE1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogMzEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiA2MyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM2OiAxMjcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNikpOyAKfSAKCgppZiAoMjU1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IDI1NSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogNTExID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzOTogMTAyMyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAyMDQ3ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IDQwOTUgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogODE5MSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogMTYzODMgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAzMjc2NyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDY1NTM1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1NDY6IDEzMTA3MSA+Pj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE2ICE9PSAzKSB7IAogICRFUlJPUignIzU0NzogMjYyMTQzID4+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTYgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTQ4OiA1MjQyODcgPj4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTYgIT09IDE1KSB7IAogICRFUlJPUignIzU0OTogMTA0ODU3NSA+Pj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE2ICE9PSAzMSkgeyAKICAkRVJST1IoJyM1NTA6IDIwOTcxNTEgPj4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTUxOiA0MTk0MzAzID4+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTYgIT09IDEyNykgeyAKICAkRVJST1IoJyM1NTI6IDgzODg2MDcgPj4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDE2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTUzOiAxNjc3NzIxNSA+Pj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNTU0OiAzMzU1NDQzMSA+Pj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1NTogNjcxMDg4NjMgPj4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzU1NjogMTM0MjE3NzI3ID4+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTU3OiAyNjg0MzU0NTUgPj4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NTg6IDUzNjg3MDkxMSA+Pj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTU5OiAxMDczNzQxODIzID4+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzU2MDogMjE0NzQ4MzY0NyA+Pj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM1NjE6IDQyOTQ5NjcyOTUgPj4+IDE2ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE2KSk7IAp9IAoKCmlmICgwID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDAgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAzID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE3KSk7IAp9IAoKCmlmICg3ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjU6IDcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IDE1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNykpOyAKfSAKCgppZiAoMzEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogMzEgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiA2MyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAxMjcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNykpOyAKfSAKCgppZiAoMjU1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IDI1NSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogNTExID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogMTAyMyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAyMDQ3ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IDQwOTUgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NTogODE5MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogMTYzODMgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTc3OiAzMjc2NyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzg6IDY1NTM1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDEzMTA3MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU4MDogMjYyMTQzID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTgxOiA1MjQyODcgPj4+IDE3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTgyOiAxMDQ4NTc1ID4+PiAxNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTgzOiAyMDk3MTUxID4+PiAxNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU4NDogNDE5NDMwMyA+Pj4gMTcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1ODU6IDgzODg2MDcgPj4+IDE3ID09PSA2My4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODY6IDE2Nzc3MjE1ID4+PiAxNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1ODc6IDMzNTU0NDMxID4+PiAxNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1ODg6IDY3MTA4ODYzID4+PiAxNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU4OTogMTM0MjE3NzI3ID4+PiAxNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTkwOiAyNjg0MzU0NTUgPj4+IDE3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1OTE6IDUzNjg3MDkxMSA+Pj4gMTcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1OTI6IDEwNzM3NDE4MjMgPj4+IDE3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1OTM6IDIxNDc0ODM2NDcgPj4+IDE3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxNyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTk0OiA0Mjk0OTY3Mjk1ID4+PiAxNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNykpOyAKfSAKCgppZiAoMCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk1OiAwID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTY6IDEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogMyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxOCkpOyAKfSAKCgppZiAoNyA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiA3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk5OiAxNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDA6IDMxID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogNjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMjogMTI3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAzOiAyNTUgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IDUxMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDU6IDEwMjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNjogMjA0NyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiA0MDk1ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IDgxOTEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDE2MzgzID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMzI3NjcgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA2NTUzNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiAxMzEwNzEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDI2MjE0MyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE4ICE9PSAxKSB7IAogICRFUlJPUignIzYxNDogNTI0Mjg3ID4+PiAxOCA9PT0gMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDE4ICE9PSAzKSB7IAogICRFUlJPUignIzYxNTogMTA0ODU3NSA+Pj4gMTggPT09IDMuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTggIT09IDcpIHsgCiAgJEVSUk9SKCcjNjE2OiAyMDk3MTUxID4+PiAxOCA9PT0gNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxOCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE3OiA0MTk0MzAzID4+PiAxOCA9PT0gMTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTggIT09IDMxKSB7IAogICRFUlJPUignIzYxODogODM4ODYwNyA+Pj4gMTggPT09IDMxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjE5OiAxNjc3NzIxNSA+Pj4gMTggPT09IDYzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTggIT09IDEyNykgeyAKICAkRVJST1IoJyM2MjA6IDMzNTU0NDMxID4+PiAxOCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTggIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MjE6IDY3MTA4ODYzID4+PiAxOCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE4ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAxMzQyMTc3MjcgPj4+IDE4ID09PSA1MTEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE4ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzYyMzogMjY4NDM1NDU1ID4+PiAxOCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTggIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjI0OiA1MzY4NzA5MTEgPj4+IDE4ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTggIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjI1OiAxMDczNzQxODIzID4+PiAxOCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxOCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM2MjY6IDIxNDc0ODM2NDcgPj4+IDE4ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE4ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM2Mjc6IDQyOTQ5NjcyOTUgPj4+IDE4ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE4KSk7IAp9IAoKCmlmICgwID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IDAgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyOTogMSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOSkpOyAKfSAKCgppZiAoMyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMwOiAzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE5KSk7IAp9IAoKCmlmICg3ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzE6IDcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IDE1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxOSkpOyAKfSAKCgppZiAoMzEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMzogMzEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM0OiA2MyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAxMjcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzY6IDI1NSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNzogNTExID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogMTAyMyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM5OiAyMDQ3ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDA6IDQwOTUgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogODE5MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MjogMTYzODMgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQzOiAzMjc2NyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDQ6IDY1NTM1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDU6IDEzMTA3MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0NjogMjYyMTQzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ3OiA1MjQyODcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMDQ4NTc1ID4+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxOSAhPT0gMykgeyAKICAkRVJST1IoJyM2NDk6IDIwOTcxNTEgPj4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE5ICE9PSA3KSB7IAogICRFUlJPUignIzY1MDogNDE5NDMwMyA+Pj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTkgIT09IDE1KSB7IAogICRFUlJPUignIzY1MTogODM4ODYwNyA+Pj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjUyOiAxNjc3NzIxNSA+Pj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTkgIT09IDYzKSB7IAogICRFUlJPUignIzY1MzogMzM1NTQ0MzEgPj4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjU0OiA2NzEwODg2MyA+Pj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzY1NTogMTM0MjE3NzI3ID4+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxOSAhPT0gNTExKSB7IAogICRFUlJPUignIzY1NjogMjY4NDM1NDU1ID4+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2NTc6IDUzNjg3MDkxMSA+Pj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2NTg6IDEwNzM3NDE4MjMgPj4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzY1OTogMjE0NzQ4MzY0NyA+Pj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNjYwOiA0Mjk0OTY3Mjk1ID4+PiAxOSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE5KSk7IAp9IAoKCmlmICgwID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDAgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MjogMSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMCkpOyAKfSAKCgppZiAoMyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYzOiAzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIwKSk7IAp9IAoKCmlmICg3ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjQ6IDcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjU6IDE1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NjogMzEgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY3OiA2MyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY4OiAxMjcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Njk6IDI1NSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MDogNTExID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MTogMTAyMyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjcyOiAyMDQ3ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDQwOTUgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogODE5MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NTogMTYzODMgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc2OiAzMjc2NyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDY1NTM1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzg6IDEzMTA3MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3OTogMjYyMTQzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiA1MjQyODcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgxOiAxMDQ4NTc1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMCAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODI6IDIwOTcxNTEgPj4+IDIwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIwICE9PSAzKSB7IAogICRFUlJPUignIzY4MzogNDE5NDMwMyA+Pj4gMjAgPT09IDMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjg0OiA4Mzg4NjA3ID4+PiAyMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjAgIT09IDE1KSB7IAogICRFUlJPUignIzY4NTogMTY3NzcyMTUgPj4+IDIwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDIwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2ODY6IDMzNTU0NDMxID4+PiAyMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjg3OiA2NzEwODg2MyA+Pj4gMjAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjg4OiAxMzQyMTc3MjcgPj4+IDIwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNjg5OiAyNjg0MzU0NTUgPj4+IDIwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDIwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjkwOiA1MzY4NzA5MTEgPj4+IDIwID09PSA1MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2OTE6IDEwNzM3NDE4MjMgPj4+IDIwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzY5MjogMjE0NzQ4MzY0NyA+Pj4gMjAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjkzOiA0Mjk0OTY3Mjk1ID4+PiAyMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIwKSk7IAp9IAoKCmlmICgwID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDAgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NTogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk2OiAzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIxKSk7IAp9IAoKCmlmICg3ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IDcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTg6IDE1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMSkpOyAKfSAKCgppZiAoMzEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5OTogMzEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiA2MyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAxOiAxMjcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDI6IDI1NSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogNTExID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNDogMTAyMyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAyMDQ3ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDQwOTUgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogODE5MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwODogMTYzODMgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAzMjc2NyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDY1NTM1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTE6IDEzMTA3MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMjYyMTQzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiA1MjQyODcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE0OiAxMDQ4NTc1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDIwOTcxNTEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzcxNjogNDE5NDMwMyA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzE3OiA4Mzg4NjA3ID4+PiAyMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzE4OiAxNjc3NzIxNSA+Pj4gMjEgPT09IDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzE5OiAzMzU1NDQzMSA+Pj4gMjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzcyMDogNjcxMDg4NjMgPj4+IDIxID09PSAzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzIxOiAxMzQyMTc3MjcgPj4+IDIxID09PSA2My4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MjI6IDI2ODQzNTQ1NSA+Pj4gMjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MjM6IDUzNjg3MDkxMSA+Pj4gMjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzI0OiAxMDczNzQxODIzID4+PiAyMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcyNTogMjE0NzQ4MzY0NyA+Pj4gMjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzI2OiA0Mjk0OTY3Mjk1ID4+PiAyMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIxKSk7IAp9IAoKCmlmICgwID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDAgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyODogMSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMikpOyAKfSAKCgppZiAoMyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI5OiAzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIyKSk7IAp9IAoKCmlmICg3ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzA6IDcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzE6IDE1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMikpOyAKfSAKCgppZiAoMzEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMjogMzEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIyKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMzOiA2MyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM0OiAxMjcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMikpOyAKfSAKCgppZiAoMjU1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzU6IDI1NSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNjogNTExID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMTAyMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAyMDQ3ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDQwOTUgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogODE5MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTYzODMgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMjc2NyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDY1NTM1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEzMTA3MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjYyMTQzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MjQyODcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDQ4NTc1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwOTcxNTEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDE5NDMwMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzUwOiA4Mzg4NjA3ID4+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjc3NzIxNSA+Pj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMiAhPT0gNykgeyAKICAkRVJST1IoJyM3NTI6IDMzNTU0NDMxID4+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3NTM6IDY3MTA4ODYzID4+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjIgIT09IDMxKSB7IAogICRFUlJPUignIzc1NDogMTM0MjE3NzI3ID4+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIyICE9PSA2MykgeyAKICAkRVJST1IoJyM3NTU6IDI2ODQzNTQ1NSA+Pj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc1NjogNTM2ODcwOTExID4+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3NTc6IDEwNzM3NDE4MjMgPj4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NTg6IDIxNDc0ODM2NDcgPj4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzU5OiA0Mjk0OTY3Mjk1ID4+PiAyMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIyKSk7IAp9IAoKCmlmICgwID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDAgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MTogMSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMykpOyAKfSAKCgppZiAoMyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYyOiAzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIzKSk7IAp9IAoKCmlmICg3ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjM6IDcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjQ6IDE1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NTogMzEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIzKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY2OiA2MyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY3OiAxMjcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njg6IDI1NSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogNTExID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MDogMTAyMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcxOiAyMDQ3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzI6IDQwOTUgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogODE5MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3NDogMTYzODMgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc1OiAzMjc2NyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDY1NTM1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzc6IDEzMTA3MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3ODogMjYyMTQzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiA1MjQyODcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgwOiAxMDQ4NTc1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODE6IDIwOTcxNTEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc4MjogNDE5NDMwMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiA4Mzg4NjA3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzg0OiAxNjc3NzIxNSA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMyAhPT0gMykgeyAKICAkRVJST1IoJyM3ODU6IDMzNTU0NDMxID4+PiAyMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIzICE9PSA3KSB7IAogICRFUlJPUignIzc4NjogNjcxMDg4NjMgPj4+IDIzID09PSA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIzICE9PSAxNSkgeyAKICAkRVJST1IoJyM3ODc6IDEzNDIxNzcyNyA+Pj4gMjMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzg4OiAyNjg0MzU0NTUgPj4+IDIzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjMgIT09IDYzKSB7IAogICRFUlJPUignIzc4OTogNTM2ODcwOTExID4+PiAyMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzc5MDogMTA3Mzc0MTgyMyA+Pj4gMjMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzc5MTogMjE0NzQ4MzY0NyA+Pj4gMjMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyMyAhPT0gNTExKSB7IAogICRFUlJPUignIzc5MjogNDI5NDk2NzI5NSA+Pj4gMjMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIzKSk7IAp9IAoKCmlmICgwID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDAgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogMSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNCkpOyAKfSAKCgppZiAoMyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI0KSk7IAp9IAoKCmlmICg3ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTY6IDcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IDE1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogMzEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI0KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk5OiA2MyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAxMjcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDI1NSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogNTExID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMTAyMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiAyMDQ3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDQwOTUgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogODE5MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogMTYzODMgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAzMjc2NyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDY1NTM1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDEzMTA3MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMjYyMTQzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiA1MjQyODcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiAxMDQ4NTc1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDIwOTcxNTEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogNDE5NDMwMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiA4Mzg4NjA3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiAxNjc3NzIxNSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNCAhPT0gMSkgeyAKICAkRVJST1IoJyM4MTg6IDMzNTU0NDMxID4+PiAyNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI0ICE9PSAzKSB7IAogICRFUlJPUignIzgxOTogNjcxMDg4NjMgPj4+IDI0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI0ICE9PSA3KSB7IAogICRFUlJPUignIzgyMDogMTM0MjE3NzI3ID4+PiAyNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjQgIT09IDE1KSB7IAogICRFUlJPUignIzgyMTogMjY4NDM1NDU1ID4+PiAyNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM4MjI6IDUzNjg3MDkxMSA+Pj4gMjQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjQgIT09IDYzKSB7IAogICRFUlJPUignIzgyMzogMTA3Mzc0MTgyMyA+Pj4gMjQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjODI0OiAyMTQ3NDgzNjQ3ID4+PiAyNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjODI1OiA0Mjk0OTY3Mjk1ID4+PiAyNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNjogMCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI3OiAxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI1KSk7IAp9IAoKCmlmICgzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mjg6IDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyOTogNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMDogMTUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDI1KSk7IAp9IAoKCmlmICgzMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODMxOiAzMSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzI6IDYzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzM6IDEyNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzNDogMjU1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM1OiA1MTEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiAxMDIzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzc6IDIwNDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzODogNDA5NSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiA4MTkxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAxNjM4MyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IDMyNzY3ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogNjU1MzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogMTMxMDcxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAyNjIxNDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IDUyNDI4NyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDEwNDg1NzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogMjA5NzE1MSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiA0MTk0MzAzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IDgzODg2MDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IDE2Nzc3MjE1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogMzM1NTQ0MzEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjUgIT09IDEpIHsgCiAgJEVSUk9SKCcjODUyOiA2NzEwODg2MyA+Pj4gMjUgPT09IDEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjUgIT09IDMpIHsgCiAgJEVSUk9SKCcjODUzOiAxMzQyMTc3MjcgPj4+IDI1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyNSAhPT0gNykgeyAKICAkRVJST1IoJyM4NTQ6IDI2ODQzNTQ1NSA+Pj4gMjUgPT09IDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NTU6IDUzNjg3MDkxMSA+Pj4gMjUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjUgIT09IDMxKSB7IAogICRFUlJPUignIzg1NjogMTA3Mzc0MTgyMyA+Pj4gMjUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI1ICE9PSA2MykgeyAKICAkRVJST1IoJyM4NTc6IDIxNDc0ODM2NDcgPj4+IDI1ID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI1KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzg1ODogNDI5NDk2NzI5NSA+Pj4gMjUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI1KSk7IAp9IAoKCmlmICgwID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTk6IDAgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogMSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNikpOyAKfSAKCgppZiAoMyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI2KSk7IAp9IAoKCmlmICg3ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IDcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IDE1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogMzEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiA2MyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY2OiAxMjcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njc6IDI1NSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2ODogNTExID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2OTogMTAyMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAyMDQ3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IDQwOTUgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogODE5MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogMTYzODMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAzMjc2NyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDY1NTM1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IDEzMTA3MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogMjYyMTQzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiA1MjQyODcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAxMDQ4NTc1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IDIwOTcxNTEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogNDE5NDMwMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiA4Mzg4NjA3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAxNjc3NzIxNSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IDMzNTU0NDMxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogNjcxMDg4NjMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI2ICE9PSAxKSB7IAogICRFUlJPUignIzg4NjogMTM0MjE3NzI3ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjYgIT09IDMpIHsgCiAgJEVSUk9SKCcjODg3OiAyNjg0MzU0NTUgPj4+IDI2ID09PSAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNiAhPT0gNykgeyAKICAkRVJST1IoJyM4ODg6IDUzNjg3MDkxMSA+Pj4gMjYgPT09IDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODg5OiAxMDczNzQxODIzID4+PiAyNiA9PT0gMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjYgIT09IDMxKSB7IAogICRFUlJPUignIzg5MDogMjE0NzQ4MzY0NyA+Pj4gMjYgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI2ICE9PSA2MykgeyAKICAkRVJST1IoJyM4OTE6IDQyOTQ5NjcyOTUgPj4+IDI2ID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI2KSk7IAp9IAoKCmlmICgwID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDAgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MzogMSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNykpOyAKfSAKCgppZiAoMyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk0OiAzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI3KSk7IAp9IAoKCmlmICg3ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTU6IDcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTY6IDE1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNykpOyAKfSAKCgppZiAoMzEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NzogMzEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk4OiA2MyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiAxMjcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNykpOyAKfSAKCgppZiAoMjU1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDI1NSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMTogNTExID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMTAyMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiAyMDQ3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDQ6IDQwOTUgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNTogODE5MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogMTYzODMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTA3OiAzMjc2NyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDg6IDY1NTM1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDEzMTA3MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogMjYyMTQzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTExOiA1MjQyODcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAxMDQ4NTc1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDIwOTcxNTEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxNDogNDE5NDMwMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE1OiA4Mzg4NjA3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiAxNjc3NzIxNSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTc6IDMzNTU0NDMxID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxODogNjcxMDg4NjMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogMTM0MjE3NzI3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjcgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTIwOiAyNjg0MzU0NTUgPj4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNyAhPT0gMykgeyAKICAkRVJST1IoJyM5MjE6IDUzNjg3MDkxMSA+Pj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNyAhPT0gNykgeyAKICAkRVJST1IoJyM5MjI6IDEwNzM3NDE4MjMgPj4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI3ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5MjM6IDIxNDc0ODM2NDcgPj4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjOTI0OiA0Mjk0OTY3Mjk1ID4+PiAyNyA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAyNykpOyAKfSAKCgppZiAoMCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI1OiAwID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDI4KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjY6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNzogMyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAyOCkpOyAKfSAKCgppZiAoNyA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI4OiA3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDI4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDMxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAyOCkpOyAKfSAKCgppZiAoNjMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDI4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogMTI3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAyNTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAyOCkpOyAKfSAKCgppZiAoNTExID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDUxMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDEwMjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMjA0NyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAyOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiA0MDk1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDI4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDgxOTEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDE2MzgzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAyOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMzI3NjcgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDI4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA2NTUzNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiAxMzEwNzEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDI2MjE0MyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDI4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogNTI0Mjg3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogMTA0ODU3NSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAyMDk3MTUxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDI4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDQxOTQzMDMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogODM4ODYwNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAyOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTY3NzcyMTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDI4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAzMzU1NDQzMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDY3MTA4ODYzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDEzNDIxNzcyNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMjY4NDM1NDU1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU0OiA1MzY4NzA5MTEgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTU1OiAxMDczNzQxODIzID4+PiAyOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDI4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5NTY6IDIxNDc0ODM2NDcgPj4+IDI4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5NTc6IDQyOTQ5NjcyOTUgPj4+IDI4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI4KSk7IAp9IAoKCmlmICgwID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IDAgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1OTogMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyOSkpOyAKfSAKCgppZiAoMyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYwOiAzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI5KSk7IAp9IAoKCmlmICg3ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjI6IDE1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MzogMzEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY0OiA2MyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY1OiAxMjcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjY6IDI1NSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2NzogNTExID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2ODogMTAyMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY5OiAyMDQ3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzA6IDQwOTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogODE5MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MjogMTYzODMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTczOiAzMjc2NyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzQ6IDY1NTM1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzU6IDEzMTA3MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3NjogMjYyMTQzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc3OiA1MjQyODcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc4OiAxMDQ4NTc1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzk6IDIwOTcxNTEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4MDogNDE5NDMwMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiA4Mzg4NjA3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgyOiAxNjc3NzIxNSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODM6IDMzNTU0NDMxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NDogNjcxMDg4NjMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NTogMTM0MjE3NzI3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg2OiAyNjg0MzU0NTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODc6IDUzNjg3MDkxMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyOSAhPT0gMSkgeyAKICAkRVJST1IoJyM5ODg6IDEwNzM3NDE4MjMgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI5ICE9PSAzKSB7IAogICRFUlJPUignIzk4OTogMjE0NzQ4MzY0NyA+Pj4gMjkgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjkgIT09IDcpIHsgCiAgJEVSUk9SKCcjOTkwOiA0Mjk0OTY3Mjk1ID4+PiAyOSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI5KSk7IAp9IAoKCmlmICgwID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDAgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MjogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMwKSk7IAp9IAoKCmlmICg3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMzApKTsgCn0gCgoKaWYgKDE1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IDE1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAzMCkpOyAKfSAKCgppZiAoMzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogMzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiA2MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMzApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAxMjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAzMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IDI1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDUxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAxMDIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAyMDQ3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiA0MDk1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiA4MTkxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogMTYzODMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogMzI3NjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogNjU1MzUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IDEzMTA3MSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IDI2MjE0MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDUyNDI4NyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAxMDQ4NTc1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAyMDk3MTUxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiA0MTk0MzAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiA4Mzg4NjA3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogMTY3NzcyMTUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogMzM1NTQ0MzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogNjcxMDg4NjMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IDEzNDIxNzcyNyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IDI2ODQzNTQ1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDUzNjg3MDkxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAxMDczNzQxODIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDIyOiAyMTQ3NDgzNjQ3ID4+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMCAhPT0gMykgeyAKICAkRVJST1IoJyMxMDIzOiA0Mjk0OTY3Mjk1ID4+PiAzMCA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMwKSk7IAp9IAoKCmlmICgwID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI0OiAwID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDMxKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI1OiAxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMxKSk7IAp9IAoKCmlmICgzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI2OiAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMxKSk7IAp9IAoKCmlmICg3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI3OiA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyODogMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyOTogMzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzMDogNjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzE6IDEyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzI6IDI1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzM6IDUxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM0OiAxMDIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM1OiAyMDQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM2OiA0MDk1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM3OiA4MTkxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzODogMTYzODMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOTogMzI3NjcgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0MDogNjU1MzUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDE6IDEzMTA3MSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDI6IDI2MjE0MyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDM6IDUyNDI4NyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ0OiAxMDQ4NTc1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ1OiAyMDk3MTUxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ2OiA0MTk0MzAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMxKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ3OiA4Mzg4NjA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0ODogMTY3NzcyMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0OTogMzM1NTQ0MzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA1MDogNjcxMDg4NjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTE6IDEzNDIxNzcyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTI6IDI2ODQzNTQ1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTM6IDUzNjg3MDkxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU0OiAxMDczNzQxODIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU1OiAyMTQ3NDgzNjQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDU2OiA0Mjk0OTY3Mjk1ID4+PiAzMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMxKSk7IAp9IAoK","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoU2hpZnRFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTUuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm91bmRhcnkgcG9pbnRzCiAqLwoKLy9DSEVDSyMxCmlmICgyMTQ3NDgzNjQ4LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTogMjE0NzQ4MzY0OC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMjogNDI5NDk2NzI5Ni4xID4+PiAwID09PSAwLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5Ni4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM0CmlmICg0Mjk0OTY3Mjk1LjEgPj4+IDAgIT09IDQyOTQ5NjcyOTUpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NS4xID4+PiAwID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg2NDQyNDUwOTQzLjEgPj4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0My4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgtMjE0NzQ4MzY0OS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgtNDI5NDk2NzI5Ny4xID4+PiAwICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzc6IC00Mjk0OTY3Mjk3LjEgPj4+IDAgPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICgtNDI5NDk2NzI5Ny4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzg6IC02NDQyNDUwOTQ1LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzk6IC00Mjk0OTY3Mjk2LjEgPj4+IDAgPT09IDAgLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTYuMSA+Pj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoK","commentary":"Operator x >>> y uses ToUint32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoQWRkaXRpdmVFeHByZXNzaW9uKSAmIDMxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXN0aW5jdCBwb2ludHMKICovCgovL0NIRUNLIzEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMi4xICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzE6IDQyOTQ5NjcyOTUgPj4+IC0zMi4xID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMyLjEpKTsgCn0gCgovL0NIRUNLIzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMS4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzI6IDQyOTQ5NjcyOTUgPj4+IC0zMS4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMxLjEpKTsgCn0gCgovL0NIRUNLIzMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMC4xICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzM6IDQyOTQ5NjcyOTUgPj4+IC0zMC4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NSA+Pj4gLTI5LjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzU6IDQyOTQ5NjcyOTUgPj4+IC0yOC4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2OiA0Mjk0OTY3Mjk1ID4+PiAtMjcuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yNi4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM3OiA0Mjk0OTY3Mjk1ID4+PiAtMjYuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoNDI5NDk2NzI5NSA+Pj4gLTI1LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzg6IDQyOTQ5NjcyOTUgPj4+IC0yNS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yNS4xKSk7IAp9IAoKLy9DSEVDSyM5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjQuMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTogNDI5NDk2NzI5NSA+Pj4gLTI0LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI0LjEpKTsgCn0gCgovL0NIRUNLIzEwCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMDogNDI5NDk2NzI5NSA+Pj4gLTIzLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSkpOyAKfSAKCi8vQ0hFQ0sjMTEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzExOiA0Mjk0OTY3Mjk1ID4+PiAtMjIuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xKSk7IAp9IAoKLy9DSEVDSyMxMgppZiAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTI6IDQyOTQ5NjcyOTUgPj4+IC0yMS4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEpKTsgCn0gCgovL0NIRUNLIzEzCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMzogNDI5NDk2NzI5NSA+Pj4gLTIwLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTQ6IDQyOTQ5NjcyOTUgPj4+IC0xOS4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOC4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTU6IDQyOTQ5NjcyOTUgPj4+IC0xOC4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNy4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTY6IDQyOTQ5NjcyOTUgPj4+IC0xNy4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNi4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNDI5NDk2NzI5NSA+Pj4gLTE2LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTUuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg6IDQyOTQ5NjcyOTUgPj4+IC0xNS4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xNS4xKSk7IAp9IAoKLy9DSEVDSyMxOQppZiAoNDI5NDk2NzI5NSA+Pj4gLTE0LjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE5OiA0Mjk0OTY3Mjk1ID4+PiAtMTQuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMjAKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIwOiA0Mjk0OTY3Mjk1ID4+PiAtMTMuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xKSk7IAp9IAoKLy9DSEVDSyMyMQppZiAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjE6IDQyOTQ5NjcyOTUgPj4+IC0xMi4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEpKTsgCn0gCgovL0NIRUNLIzIyCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyMjogNDI5NDk2NzI5NSA+Pj4gLTExLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMjMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIzOiA0Mjk0OTY3Mjk1ID4+PiAtMTAuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoNDI5NDk2NzI5NSA+Pj4gLTkuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzI0OiA0Mjk0OTY3Mjk1ID4+PiAtOS4xID09PSA1MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoNDI5NDk2NzI5NSA+Pj4gLTguMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzI1OiA0Mjk0OTY3Mjk1ID4+PiAtOC4xID09PSAyNTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTcuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzI2OiA0Mjk0OTY3Mjk1ID4+PiAtNy4xID09PSAxMjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoNDI5NDk2NzI5NSA+Pj4gLTYuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjc6IDQyOTQ5NjcyOTUgPj4+IC02LjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDQyOTQ5NjcyOTUgPj4+IC01LjEgIT09IDMxKSB7IAogICRFUlJPUignIzI4OiA0Mjk0OTY3Mjk1ID4+PiAtNS4xID09PSAzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC01LjEpKTsgCn0gCgovL0NIRUNLIzI5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtNC4xICE9PSAxNSkgeyAKICAkRVJST1IoJyMyOTogNDI5NDk2NzI5NSA+Pj4gLTQuMSA9PT0gMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNC4xKSk7IAp9IAoKLy9DSEVDSyMzMAppZiAoNDI5NDk2NzI5NSA+Pj4gLTMuMSAhPT0gNykgeyAKICAkRVJST1IoJyMzMDogNDI5NDk2NzI5NSA+Pj4gLTMuMSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0zLjEpKTsgCn0gCgovL0NIRUNLIzMxCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMi4xICE9PSAzKSB7IAogICRFUlJPUignIzMxOiA0Mjk0OTY3Mjk1ID4+PiAtMi4xID09PSAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzI6IDQyOTQ5NjcyOTUgPj4+IC0xLjEgPT09IDEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMS4xKSk7IAp9IAoKLy9DSEVDSyMzMwppZiAoNDI5NDk2NzI5NSA+Pj4gMzIuMSAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMzIuMSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMyLjEpKTsgCn0gCgovL0NIRUNLIzM0CmlmICg0Mjk0OTY3Mjk1ID4+PiAzMy4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzM0OiA0Mjk0OTY3Mjk1ID4+PiAzMy4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzUKaWYgKDQyOTQ5NjcyOTUgPj4+IDM0LjEgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzU6IDQyOTQ5NjcyOTUgPj4+IDM0LjEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoNDI5NDk2NzI5NSA+Pj4gMzUuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM2OiA0Mjk0OTY3Mjk1ID4+PiAzNS4xID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoNDI5NDk2NzI5NSA+Pj4gMzYuMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzM3OiA0Mjk0OTY3Mjk1ID4+PiAzNi4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoNDI5NDk2NzI5NSA+Pj4gMzcuMSAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzM4OiA0Mjk0OTY3Mjk1ID4+PiAzNy4xID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNy4xKSk7IAp9IAoKLy9DSEVDSyMzOQppZiAoNDI5NDk2NzI5NSA+Pj4gMzguMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMzk6IDQyOTQ5NjcyOTUgPj4+IDM4LjEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzguMSkpOyAKfSAKCi8vQ0hFQ0sjNDAKaWYgKDQyOTQ5NjcyOTUgPj4+IDM5LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzQwOiA0Mjk0OTY3Mjk1ID4+PiAzOS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDM5LjEpKTsgCn0gCgovL0NIRUNLIzQxCmlmICg0Mjk0OTY3Mjk1ID4+PiA0MC4xICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyM0MTogNDI5NDk2NzI5NSA+Pj4gNDAuMSA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoNDI5NDk2NzI5NSA+Pj4gNDEuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM0MjogNDI5NDk2NzI5NSA+Pj4gNDEuMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQxLjEpKTsgCn0gCgovL0NIRUNLIzQzCmlmICg0Mjk0OTY3Mjk1ID4+PiA0Mi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzQzOiA0Mjk0OTY3Mjk1ID4+PiA0Mi4xID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDIuMSkpOyAKfSAKCi8vQ0hFQ0sjNDQKaWYgKDQyOTQ5NjcyOTUgPj4+IDQzLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjNDQ6IDQyOTQ5NjcyOTUgPj4+IDQzLjEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0My4xKSk7IAp9IAoKLy9DSEVDSyM0NQppZiAoNDI5NDk2NzI5NSA+Pj4gNDQuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0NTogNDI5NDk2NzI5NSA+Pj4gNDQuMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICg0Mjk0OTY3Mjk1ID4+PiA0NS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDY6IDQyOTQ5NjcyOTUgPj4+IDQ1LjEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ni4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDc6IDQyOTQ5NjcyOTUgPj4+IDQ2LjEgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ny4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDg6IDQyOTQ5NjcyOTUgPj4+IDQ3LjEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ3LjEpKTsgCn0gCgovL0NIRUNLIzQ5CmlmICg0Mjk0OTY3Mjk1ID4+PiA0OC4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0OTogNDI5NDk2NzI5NSA+Pj4gNDguMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0OC4xKSk7IAp9IAoKLy9DSEVDSyM1MAppZiAoNDI5NDk2NzI5NSA+Pj4gNDkuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTA6IDQyOTQ5NjcyOTUgPj4+IDQ5LjEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDkuMSkpOyAKfSAKCi8vQ0hFQ0sjNTEKaWYgKDQyOTQ5NjcyOTUgPj4+IDUwLjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUxOiA0Mjk0OTY3Mjk1ID4+PiA1MC4xID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICg0Mjk0OTY3Mjk1ID4+PiA1MS4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyOiA0Mjk0OTY3Mjk1ID4+PiA1MS4xID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTEuMSkpOyAKfSAKCi8vQ0hFQ0sjNTMKaWYgKDQyOTQ5NjcyOTUgPj4+IDUyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTM6IDQyOTQ5NjcyOTUgPj4+IDUyLjEgPT09IDQwOTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1Mi4xKSk7IAp9IAoKLy9DSEVDSyM1NAppZiAoNDI5NDk2NzI5NSA+Pj4gNTMuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDogNDI5NDk2NzI5NSA+Pj4gNTMuMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUzLjEpKTsgCn0gCgovL0NIRUNLIzU1CmlmICg0Mjk0OTY3Mjk1ID4+PiA1NC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1OiA0Mjk0OTY3Mjk1ID4+PiA1NC4xID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDQyOTQ5NjcyOTUgPj4+IDU1LjEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NjogNDI5NDk2NzI5NSA+Pj4gNTUuMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDQyOTQ5NjcyOTUgPj4+IDU2LjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzogNDI5NDk2NzI5NSA+Pj4gNTYuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDQyOTQ5NjcyOTUgPj4+IDU3LjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODogNDI5NDk2NzI5NSA+Pj4gNTcuMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTcuMSkpOyAKfSAKCi8vQ0hFQ0sjNTkKaWYgKDQyOTQ5NjcyOTUgPj4+IDU4LjEgIT09IDYzKSB7IAogICRFUlJPUignIzU5OiA0Mjk0OTY3Mjk1ID4+PiA1OC4xID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDU4LjEpKTsgCn0gCgovL0NIRUNLIzYwCmlmICg0Mjk0OTY3Mjk1ID4+PiA1OS4xICE9PSAzMSkgeyAKICAkRVJST1IoJyM2MDogNDI5NDk2NzI5NSA+Pj4gNTkuMSA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1OS4xKSk7IAp9IAoKLy9DSEVDSyM2MQppZiAoNDI5NDk2NzI5NSA+Pj4gNjAuMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE6IDQyOTQ5NjcyOTUgPj4+IDYwLjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDQyOTQ5NjcyOTUgPj4+IDYxLjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjI6IDQyOTQ5NjcyOTUgPj4+IDYxLjEgPT09IDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA2MS4xKSk7IAp9IAoKLy9DSEVDSyM2MwppZiAoNDI5NDk2NzI5NSA+Pj4gNjIuMSAhPT0gMykgeyAKICAkRVJST1IoJyM2MzogNDI5NDk2NzI5NSA+Pj4gNjIuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYyLjEpKTsgCn0gCgovL0NIRUNLIzY0CmlmICg0Mjk0OTY3Mjk1ID4+PiA2My4xICE9PSAxKSB7IAogICRFUlJPUignIzY0OiA0Mjk0OTY3Mjk1ID4+PiA2My4xID09PSAxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjMuMSkpOyAKfSAKIAoK","commentary":"Operator x >>> y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8IiBvciBiZXR3ZWVuICI8IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMFx1MDAwOTxcdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDk8XFx1MDAwOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMFx1MDAwQjxcdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMFxcdTAwMEI8XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPFx1MDAwQzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgwXFx1MDAwQzxcXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIwXHUwMDIwPFx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMDxcXHUwMDIwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIwXHUwMEEwPFx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwXFx1MDBBMDxcXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPFx1MDAwQTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgwXFx1MDAwQTxcXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjBcdTAwMEQ8XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPFxcdTAwMEQxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjBcdTIwMjg8XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDBcXHUyMDI4PFxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk8XHUyMDI5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogKDBcXHUyMDI5PFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTxcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"<\" or between \"<\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA8IDIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4IDwgMiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoMSA8IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDEgPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggPCB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDI7CmlmIChvYmplY3R4LnByb3AgPCBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDE7IG9iamVjdHkucHJvcCA9IDI7IG9iamVjdHgucHJvcCA8IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x < y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x < y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x < y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPCAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDwgMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDwgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x < y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8IHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApIDwgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPCB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPCAoeCA9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IDwgKHggPSAxKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPCAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA8IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA8IHkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBudWxsID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyBhcmUgTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IDEgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIDwgbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types are Number (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDwgbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxIDwgIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDwgIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogMSA8IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDwgbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIjEiIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBuZXcgU3RyaW5nKCIxIikgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPCAieCIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgPCAieCIgPT09IHRydWUnKTsKfQoK","commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IDwge30pICE9PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9IDwge30pID09PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIngiIDwgIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieCIgPCAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8ICJhYiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWJjZCIgPCBhYiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjXHUwMDY0IiA8ICJhYmNkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNcXHUwMDY0IiA8IGFiY2QiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggKyAieSIgPCB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPCB4KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPCAieCAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPCAieCAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIiIgPCAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPCAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPCBhYmNkIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY2QiIDwgImFiY1x1MDA2NCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjZCIgPCBhYmNcXHUwMDY0IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiA8ICJ4IiArICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIngiIDwgIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8IHggKyAieSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4IDwgeCArICJ5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoImFcdTAwMDAiIDwgImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgieCIgPCAiIHgiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoIngiIDwgIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK","commentary":"If x is a prefix of y and x !== y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPCAieHkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHgiIDwgInh5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh5IiA8ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDwgInh4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA8ICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIngiIDwgeSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDwgImFiYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCJhYWIiIDwgYWJhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIgPCAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8IFxcdTAwNjFcXHUwMDYxXFx1MDA2MVxcdTAwNjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoImFcdTAwMDBhIiA8ICJhXHUwMDAwYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGEiIDwgImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPCAiYWEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYUIiIDwgYWEiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIjAiIDwgIngiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLSIgPCAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8ICIwIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIi4iIDwgIjAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiLiIgPCAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8ICItIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIisiIDwgIi0iKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTAiIDwgIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8ICItMSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCIrMSIgPCAiLTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiKzEiIDwgIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDwgIjFlLTEwIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxIiA8ICIxZS0xMCIpICE9PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgoK","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPCAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPCBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=","commentary":"If x and y are the same number value, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSArMCBhbmQgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA8IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPCAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswIDwgLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA8IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPCArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wIDwgKzApID09PSBmYWxzZScpOwp9CgoK","commentary":"If x and y are +0 and -0, return false","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoK0luZmluaXR5IDwgMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is +Infinity, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPCArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is +Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA8IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPCAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDwgTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is -Infinity and x !== y, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is -Infinity, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEuMSA8IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIDwgMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPCAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCA8IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8IDAuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoLTAuMSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKC0wLjEgPCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x is less than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB2YWx1ZU9mID4gdmFsdWVPZg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAhKG9iajEgPiBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > valueOf","path":"TestCases/ch11/11.8/11.8.2/11.8.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB2YWx1ZU9mID4gdG9TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuICEob2JqMSA+IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > toString","path":"TestCases/ch11/11.8/11.8.2/11.8.2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB0b1N0cmluZyA+IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuICEob2JqMSA+IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > valueOf","path":"TestCases/ch11/11.8/11.8.2/11.8.2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB0b1N0cmluZyA+IHRvU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gIShvYmoxID4gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > toString","path":"TestCases/ch11/11.8/11.8.2/11.8.2-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI+IiBvciAiPiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjBcdTAwMDk+XHUwMDA5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDBcXHUwMDA5PlxcdTAwMDkxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIwXHUwMDBCPlx1MDAwQjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAwXFx1MDAwQj5cXHUwMDBCMSkgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPlx1MDAwQzEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEM+XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjBcdTAwMjA+XHUwMDIwMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMD5cXHUwMDIwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMFx1MDBBMD5cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwPlxcdTAwQTAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPlx1MDAwQTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEE+XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMFx1MDAwRD5cdTAwMEQxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPlxcdTAwMEQxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIwXHUyMDI4Plx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjg+XFx1MjAyODEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk+XHUyMDI5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOT5cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between RelationalExpression and \">\" or \">\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDIgPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMiA+IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAyOyB4ID4gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAxOwppZiAoMiA+IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDIgPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDI7CnZhciB5ID0gMTsKaWYgKHggPiB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAyOyB2YXIgeSA9IDE7IHggPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPiBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDI7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x > y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA+IDE7CiAgJEVSUk9SKCcjMS4xOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x > y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA+IHk7CiAgJEVSUk9SKCcjMS4xOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x > y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OwogICRFUlJPUignIzcuMTogMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x > y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPCIgZXZhbHVhdGUgbGVmdC10by1yaWdodAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggPiB5OwogICAkRVJST1IoJyMxLjE6IFNob3VsZCBoYXZlIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdCcpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogRmFpbGVkIHdpdGg6ICcgKyBlKTsKICAgICB9CiAgIH0KfQoK","commentary":"In ES5, First expression should be evaluated first.","description":"Checking that operands of a \"<\" evaluate left-to-right","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4geCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPiB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPiAoeCA9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ID4gKHggPSAwKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA+IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+IHkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPiBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBudWxsID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAxID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAxID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxID4gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxID4gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID4gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPiB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBudWxsID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA+ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPiAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAiMSIgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPiAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgPiAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPiAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID4gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMxOiAoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMzOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPiB7fSkgIT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyM0OiAoe30gPiB7fSkgPT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoK","commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPiAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPiAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPiAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID4gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIiIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiIiA+ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWIiID4gYWJjZCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjZCIgPiAiYWJjXHUwMDY0IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNkIiA+IGFiY1xcdTAwNjQiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiID4gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID4gIngiICsgInkiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggPiB4ICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggPiB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is a prefix of y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCAiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCAiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPiAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIngiID4gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA+ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+IGFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY1x1MDA2NCIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjXFx1MDA2NCIgPiBhYmMiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgKyAieSIgPiAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID4geCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMGEiID4gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+ICJhXFx1MDAwMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKCIgeCIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgiIHgiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x and x !== y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPiAieHgiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHkiID4gInh4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh4IiA+ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID4gInh5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ5IiA+ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoInkiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+ICJhYWIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWJhIiA+IGFhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJcdTAwNjFcdTAwNjFcdTAwNjFcdTAwNjEiID4gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPiBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYiIgPiAiYVx1MDAwMGEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiYVxcdTAwMDBiIiA+ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID4gImFCIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFhIiA+IGFCIikgPT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+ICIwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIjAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiMCIgPiAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+ICItIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIjAiID4gIi4iKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiMCIgPiAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+ICIrIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIi0iID4gIisiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTEiID4gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+ICItMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCItMSIgPiAiKzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiLTEiID4gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+ICIxIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxZS0xMCIgPiAiMSIpICE9PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgoK","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxID4gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPiBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=","commentary":"If x and y are the same number value, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgdmFyaWFibGUgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA+IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPiAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswID4gLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA+IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPiArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wID4gKzApID09PSBmYWxzZScpOwp9CgoK","commentary":"If either variable x or y is +0 and the other is -0, return false","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA+IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID4gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPiAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID4gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is +Infinity and x !== y, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPiArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is +Infinity, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoLUluZmluaXR5ID4gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPiAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is -Infinity, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPiAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID4gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is -Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBpcyB4IGdyZWF0ZXIgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPiAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA+IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xID4gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEuMSA+IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMC4xID4gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID4gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoMCA+IC0wLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDAgPiAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If is x greater than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKG9iajEgPD0gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHRvU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= toString","path":"TestCases/ch11/11.8/11.8.3/11.8.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB0b1N0cmluZyA8PSB2YWx1ZU9mDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB0b1N0cmluZyA8PSB0b1N0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChvYmoxIDw9IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= toString","path":"TestCases/ch11/11.8/11.8.3/11.8.3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKG9iajEgPD0gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8PSIgb3IgYmV0d2VlbiAiPD0iIGFuZCBTaGlmdEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIxXHUwMDA5PD1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMVxcdTAwMDk8PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjFcdTAwMEI8PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxXFx1MDAwQjw9XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPD1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMVxcdTAwMEM8PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjFcdTAwMjA8PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxXFx1MDAyMDw9XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMVx1MDBBMDw9XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDFcXHUwMEEwPD1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPD1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMVxcdTAwMEE8PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMVx1MDAwRDw9XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDFcXHUwMDBEPD1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIxXHUyMDI4PD1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoMVxcdTIwMjg8PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICgxXFx1MjAyOTw9XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTApID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between RelationalExpression and \"<=\" or between \"<=\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA8PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxIDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPD0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4IDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA8PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gMTsKICAkRVJST1IoJyMxLjE6IHggPD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x <= y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPD0geTsKICAkRVJST1IoJyMxLjE6IDEgPD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPD0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x <= y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPD0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw9IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxIDw9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICAkRVJST1IoJyM3LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x <= y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPD0iIGV2YWx1YXRlIGxlZnQtdG8tcmlnaHQKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4IDw9IHk7CiAgICRFUlJPUignIzEuMTogU2hvdWxkIGhhdmUgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgZXhwcmVzc2lvbiBzaG91bGQgYmUgZXZhbHVhdGVkIGZpcnN0Jyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiBGYWlsZWQgd2l0aDogJyArIGUpOwogICAgIH0KICAgfQp9Cgo=","commentary":"In ES5, First expression should be evaluated first.","description":"Checking that operands of a \"<=\" evaluate left-to-right","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw9IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPD0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPD0gKHggPSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPD0gKHggPSAwKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPD0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPD0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPD0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPD0geSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IDEgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodW5kZWZpbmVkIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgPD0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbnVsbCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICIxIiA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw9IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIngiIDw9IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPD0gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDw9ICJ4IiA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPD0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAxIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPD0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAiMSIgPD0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA8PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPD0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA8PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPD0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw9ICJ4IiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICIxIiA8PSAieCIgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPD0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPD0ge30pICE9PSAoe30udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA8PSB7fSkgPT09ICh7fS50b1N0cmluZygpIDw9IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOIDw9IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOIDw9IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPD0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPD0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoInggIiA8PSAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCAiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IiA8PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA8PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8PSAiYWIiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiY2QiIDw9IGFiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiIDw9ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiIDw9IGFiY2QiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgKyAieSIgPD0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knIDw9IHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCArICJ5IiA8PSB4KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x and x !== y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPD0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPD0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIiIDw9ICJ4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiIiA8PSAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPD0gYWJjZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA8PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiIDw9IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPD0gIngiICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgPD0gIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8PSB4ICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA8PSB4ICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMCIgPD0gImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8PSAiYVxcdTAwMDBhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoIngiIDw9ICIgeCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgieCIgPD0gIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK","commentary":"If x is a prefix of y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPD0gInh5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh4IiA8PSAieHkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHkiIDw9ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDw9ICJ4eCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgPD0gInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieCIgPD0geSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDw9ICJhYmEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWFiIiA8PSBhYmEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYyIiA8PSAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8PSBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYSIgPD0gImFcdTAwMDBiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoImFcXHUwMDAwYSIgPD0gImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPD0gImFhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFCIiA8PSBhYSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCIwIiA8PSAieCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIuIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIuIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCIrIiA8PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMCIgPD0gIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8PSAiLTEiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiKzEiIDw9ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIrMSIgPD0gIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDw9ICIxZS0xMCIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMSIgPD0gIjFlLTEwIikgIT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPD0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPD0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA8PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPD0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5IDw9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5IDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x and y are the same number value, return true","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wIDw9IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA8PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPD0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswIDw9IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA8PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPD0gKzApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If either x or y is +0 and the other is -0, return true","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA8PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA8PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is +Infinity and x !== y, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is +Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgtSW5maW5pdHkgPD0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA8PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is -Infinity, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is -Infinity and x !== y, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDw9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxLjEgPD0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSAtMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8PSAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xIDw9IC0xLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwIDw9IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8PSAwLjEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKC0wLjEgPD0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLTAuMSA8PSAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRS8yIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IE51bWJlci5NSU5fVkFMVUUqMikgPT09IHRydWUnKTsKfQoKCgo=","commentary":"If x is less or equal than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI9PiIgb3IgIj0+IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOT49XHUwMDA5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5Pj1cXHUwMDA5MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCPj1cdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEI+PVxcdTAwMEIxKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiMVx1MDAwQz49XHUwMDBDMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDPj1cXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPj1cdTAwMjAxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjA+PVxcdTAwMjAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTA+PVx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMD49XFx1MDBBMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiMVx1MDAwQT49XHUwMDBBMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBPj1cXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ+PVx1MDAwRDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRD49XFx1MDAwRDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOD49XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4Pj1cXHUyMDI4MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIxXHUyMDI5Pj1cdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjk+PVxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKDFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+PVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between RelationalExpression and \"=>\" or \"=>\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPj0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4ID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA+PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x >= y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gMTsKICAkRVJST1IoJyMxLjE6IHggPj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >= y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj0geTsKICAkRVJST1IoJyMxLjE6IDEgPj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >= y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID49IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxID49IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKICAkRVJST1IoJyM3LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x >= y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PSB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApID49IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPj0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPj0gKHggPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHggPj0gKHggPSAxKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID49IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID49IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj0geSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB0cnVlID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogMSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA+PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBudWxsID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IDEgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogMSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIjEiID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPj0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj0gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID49IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID49IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PSAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICIxIiA+PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID49IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogIjEiID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPj0gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPj0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIngiID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCIxIiA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID49ICJ4IiA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA+PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj0ge30pICE9PSAoe30udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA+PSB7fSkgPT09ICh7fS50b1N0cmluZygpID49IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID49IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOID49IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPj0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA+PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPj0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID49ICJ4ICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gInggIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCIiID49ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPj0gImFiY2QiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiIiA+PSBhYmNkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA+PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiID49IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPj0gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID49ICJ4IiArICJ5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ID49IHggKyAieSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA+PSB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is a prefix of y and x !== y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPj0gIiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA+PSAiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiY2QiID49ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+PSBhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiID49ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiID49IGFiYyIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiArICJ5IiA+PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiArICJ5IiA+PSAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID49IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4ICsgInkiID49IHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhXHUwMDAwYSIgPj0gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+PSAiYVxcdTAwMDAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgiIHgiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKCIgeCIgPj0gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPj0gInh4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh5IiA+PSAieHgiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHgiID49ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID49ICJ4eSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieSIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieSIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+PSAiYWFiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiYSIgPj0gYWFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MSIgPj0gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPj0gXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiYVx1MDAwMGIiID49ICJhXHUwMDAwYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGIiID49ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID49ICJhQiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKCJhYSIgPj0gYUIiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCJ4IiA+PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIwIiA+PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIwIiA+PSAiLiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIwIiA+PSAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+PSAiKyIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCItIiA+PSAiKyIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMSIgPj0gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+PSAiLTAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiLTEiID49ICIrMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCItMSIgPj0gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+PSAiMSIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMWUtMTAiID49ICIxIikgIT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPj0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPj0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA+PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x and y are the same number value, return true","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wID49IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA+PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPj0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswID49IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA+PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPj0gKzApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If either x or y is +0 and the other is -0, return true","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgPj0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID49IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA+PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is +Infinity, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is +Infinity and x !== y, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA+PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA+PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is -Infinity and x !== y, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is -Infinity, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+PSAxLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxID49IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgPj0gLTEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+PSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xLjEgPj0gLTEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwLjEgPj0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgPj0gLTAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCA+PSAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUvMikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFLzIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUqMiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCgo=","commentary":"If x is greater or equal than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbnN0YW5jZW9mIiBhbmQgYmV0d2VlbiAiaW5zdGFuY2VvZiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIih7fSlcdTAwMDlpbnN0YW5jZW9mXHUwMDA5T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoe30pXFx1MDAwOWluc3RhbmNlb2ZcXHUwMDA5T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKHt9KVx1MDAwQmluc3RhbmNlb2ZcdTAwMEJPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7fSlcXHUwMDBCaW5zdGFuY2VvZlxcdTAwMEJPYmplY3QgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIih7fSlcdTAwMENpbnN0YW5jZW9mXHUwMDBDT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe30pXFx1MDAwQ2luc3RhbmNlb2ZcXHUwMDBDT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiKHt9KVx1MDAyMGluc3RhbmNlb2ZcdTAwMjBPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSlcXHUwMDIwaW5zdGFuY2VvZlxcdTAwMjBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIoe30pXHUwMEEwaW5zdGFuY2VvZlx1MDBBME9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt9KVxcdTAwQTBpbnN0YW5jZW9mXFx1MDBBME9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIih7fSlcdTAwMEFpbnN0YW5jZW9mXHUwMDBBT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoe30pXFx1MDAwQWluc3RhbmNlb2ZcXHUwMDBBT2JqZWN0ID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoe30pXHUwMDBEaW5zdGFuY2VvZlx1MDAwRE9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHt9KVxcdTAwMERpbnN0YW5jZW9mXFx1MDAwRE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIih7fSlcdTIwMjhpbnN0YW5jZW9mXHUyMDI4T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoe30pXFx1MjAyOGluc3RhbmNlb2ZcXHUyMDI4T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiKHt9KVx1MjAyOWluc3RhbmNlb2ZcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh7fSlcXHUyMDI5aW5zdGFuY2VvZlxcdTIwMjlPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKHt9KVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluc3RhbmNlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoe30pXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5aW5zdGFuY2VvZlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU9iamVjdCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"instanceof\" and between \"instanceof\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoe30pIGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHt9KSBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBPQkpFQ1QgPSBPYmplY3Q7CmlmICgoe30pIGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIE9CSkVDVCA9IE9iamVjdDsgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIG9iamVjdCA9IHt9Owp2YXIgT0JKRUNUID0gT2JqZWN0OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt9OyB2YXIgT0JKRUNUID0gT2JqZWN0OyBvYmplY3QgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKCg==","commentary":"Operator \"instanceof\" uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3Q7CiAgJEVSUk9SKCcjMS4xOiBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator \"instanceof\" uses GetValue","description":"If GetBase(RelationalExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShTaGlmdEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVDsKICAkRVJST1IoJyMxLjE6ICh7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgoe30pIGluc3RhbmNlb2YgT0JKRUNUKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAoe30pIGluc3RhbmNlb2YgT0JKRUNUIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"instanceof\" uses GetValue","description":"If GetBase(ShiftExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgT0JKRUNUID0gMDsKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBPQkpFQ1QgPSAwOyAoT0JKRUNUID0gT2JqZWN0LCB7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7fTsgCmlmIChvYmplY3QgaW5zdGFuY2VvZiAob2JqZWN0ID0gMCwgT2JqZWN0KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSAwLCBPYmplY3QpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW5zdGFuY2VvZiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBpbnN0YW5jZW9mIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KTsKICAkRVJST1IoJyMxLjE6IG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0IGluc3RhbmNlb2YgKG9iamVjdCA9IHt9LCBPYmplY3QpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdHJ1ZSBpbnN0YW5jZW9mIHRydWU7CiAgJEVSUk9SKCcjMTogdHJ1ZSBpbnN0YW5jZW9mIHRydWUgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB0cnVlIGluc3RhbmNlb2YgdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgMSBpbnN0YW5jZW9mIDE7CiAgJEVSUk9SKCcjMjogMSBpbnN0YW5jZW9mIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiAxIGluc3RhbmNlb2YgMSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIjsKICAkRVJST1IoJyMzOiAic3RyaW5nIiBpbnN0YW5jZW9mICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdW5kZWZpbmVkIGluc3RhbmNlb2YgdW5kZWZpbmVkOwogICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM1CnRyeSB7CiAgbnVsbCBpbnN0YW5jZW9mIG51bGw7CiAgJEVSUk9SKCcjNTogbnVsbCBpbnN0YW5jZW9mIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiBudWxsIGluc3RhbmNlb2YgbnVsbCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoK","commentary":"If ShiftExpression is not an object, throw TypeError","description":"Checking all the types of primitives","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIGNhc2UKICovCgovL0NIRUNLIzEKaWYgKGZhbHNlIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMTogZmFsc2UgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4oZmFsc2UpIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMjogQm9vbGVhbihmYWxzZSkgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuIGluc3RhbmNlb2YgQm9vbGVhbiAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4gaW5zdGFuY2VvZiBCb29sZWFuJyk7Cn0KCgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking Boolean case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoMCBpbnN0YW5jZW9mIE51bWJlcikgewoJJEVSUk9SKCcjMTogMCBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIoMCkgaW5zdGFuY2VvZiBOdW1iZXIpIHsKCSRFUlJPUignIzI6IE51bWJlcigwKSBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyJyk7Cn0KCgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking Number case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzE6ICIiIGlzIG5vdCBpbnN0YW5jZW9mIFN0cmluZycpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZygiIikgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzI6IFN0cmluZygiIikgaXMgbm90IGluc3RhbmNlb2YgU3RyaW5nJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZyAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZycpOwp9Cgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking String case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvciBjYXNlCiAqLwoKdmFyIF9fZXJyID0gbmV3IEVycm9yOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2VyciBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMTogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyMyOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIGVycl9fID0gRXJyb3IoJ2ZhaWxlZCcpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoIShlcnJfXyBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMzogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGVycl9fIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"TypeError is subclass of Error from instanceof operator point of view","description":"Checking Error case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUeXBlRXJyb3IgY2FzZQogKi8KCnZhciBfX3RfX2VyciA9IG5ldyBUeXBlRXJyb3I7CgovL0NIRUNLIzEKaWYgKCEoX190X19lcnIgaW5zdGFuY2VvZiBFcnJvcikpIHsKCSRFUlJPUignIzE6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShfX3RfX2VyciBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKCSRFUlJPUignIzI6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp2YXIgZXJyX190X18gPSBUeXBlRXJyb3IoJ2ZhaWxlZCcpOwoKLy9DSEVDSyMzCmlmICghKGVycl9fdF9fIGluc3RhbmNlb2YgRXJyb3IpKSB7CgkkRVJST1IoJyMzOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgovL0NIRUNLIzQKaWYgKCEoZXJyX190X18gaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgoK","commentary":"TypeError is subclass of Error from instanceof operator point of view","description":"Checking TypeError case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInRoaXMiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5ewoJKHt9KSBpbnN0YW5jZW9mIHRoaXM7CgkkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CmNhdGNoKGUpewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwogIH0KfQoK","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking \"this\" case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTWF0aCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeXsKCTEgaW5zdGFuY2VvZiBNYXRoOwoJJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUgIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7IAogICAgJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CiAgfSAgCn0KCg==","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking Math case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgZnVuY3Rpb24KICovCgpmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OwoKLy9DSEVDSyMxCmlmIChNeUZ1bmN0IGluc3RhbmNlb2YgTXlGdW5jdCl7CgkkRVJST1IoJyMxIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiAhPT0gdHJ1ZSl7CgkkRVJST1IoJyMyIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpewoJJEVSUk9SKCcjMyBmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OyBNeUZ1bmN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCg==","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking if RelationalExpression is function","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgb2JqZWN0CiAqLwoKTXlGdW5jdCA9IGZ1bmN0aW9uKCl7fTsKX19teV9fZnVuY3QgPSBuZXcgTXlGdW5jdDsKCgovL0NIRUNLIzEKaWYgKCEoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0KSl7CgkkRVJST1IoJyMxIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbil7CgkkRVJST1IoJyMyIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShfX215X19mdW5jdCBpbnN0YW5jZW9mIE9iamVjdCkpewoJJEVSUk9SKCcjMyBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CgovL0NIRUNLIzQKdHJ5ewoJX19teV9fZnVuY3QgaW5zdGFuY2VvZiBfX215X19mdW5jdDsKCSRFUlJPUignIzQgT25seSBGdW5jdGlvbiBvYmplY3RzIGltcGxlbWVudCBbW0hhc0luc3RhbmNlXV0gYW5kIGNvbnNlcXVlbnRseSBjYW4gYmUgcHJvcGVyIFNoaWZ0RXhwcmVzc2lvbiBmb3IgVGhlIGluc3RhbmNlb2Ygb3BlcmF0b3InKTsKfQpjYXRjaChlKXsgIAoJaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjNCBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwoJfQp9Cgo=","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking if RelationalExpression is object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3Qgb2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy9DSEVDSyMxCmlmICghKF9fb2JqIGluc3RhbmNlb2YgT2JqZWN0KSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Object object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheSBvYmplY3QKICovCgp2YXIgX19hcnI9W107CgovL0NIRUNLIzEKaWYgKCEoX19hcnIgaW5zdGFuY2VvZiBBcnJheSkpIHsKCSRFUlJPUignIzE6IElmIGluc3RhbmNlb2YgcmV0dXJucyB0cnVlIHRoZW4gR2V0VmFsdWUoUmVsYXRpb25hbEV4cHJlc3Npb24pIHdhcyBjb25zdHJ1Y3RlZCB3aXRoIFNoaWZ0RXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKaWYgKF9fYXJyLmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Array object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbiBvYmplY3QKICovCgp2YXIgX19mdW5jID0gbmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICghKF9fZnVuYyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19mdW5jLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCgo=","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Function object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbiIgYW5kIGJldHdlZW4gImluIiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMDlpblx1MDAwOU51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSJcXHUwMDA5aW5cXHUwMDA5TnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMEJpblx1MDAwQk51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIk1BWF9WQUxVRSJcXHUwMDBCaW5cXHUwMDBCTnVtYmVyID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQ2luXHUwMDBDTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiTUFYX1ZBTFVFIlxcdTAwMENpblxcdTAwMENOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAyMGluXHUwMDIwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAiTUFYX1ZBTFVFIlxcdTAwMjBpblxcdTAwMjBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDBBMGluXHUwMEEwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAiTUFYX1ZBTFVFIlxcdTAwQTBpblxcdTAwQTBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQWluXHUwMDBBTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiTUFYX1ZBTFVFIlxcdTAwMEFpblxcdTAwMEFOdW1iZXIgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUwMDBEaW5cdTAwMEROdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICJNQVhfVkFMVUUiXFx1MDAwRGluXFx1MDAwRE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI4aW5cdTIwMjhOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICJNQVhfVkFMVUUiXFx1MjAyOGluXFx1MjAyOE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI5aW5cdTIwMjlOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICJNQVhfVkFMVUUiXFx1MjAyOWluXFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogIk1BWF9WQUxVRSJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlpblxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"in\" and between \"in\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIk1BWF9WQUxVRSIgaW4gTnVtYmVyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSIgaW4gTnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJNQVhfVkFMVUUiOwppZiAoeCBpbiBOdW1iZXIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJNQVhfVkFMVUUiOyB4IGluIE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBOdW1iZXI7CmlmICgiTUFYX1ZBTFVFIiBpbiAgeSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciB5ID0gTnVtYmVyOyAiTUFYX1ZBTFVFIiBpbiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9ICJNQVhfVkFMVUUiOwp2YXIgeSA9IE51bWJlcjsKaWYgKHggaW4geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gIk1BWF9WQUxVRSI7IHZhciB5ID0gTnVtYmVyOyB4IGluIHkgPT09IHRydWUnKTsKfQoKCg==","commentary":"Operator \"in\" uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoUmVsYXRpb25hbEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTUFYX1ZBTFVFIGluIE51bWJlcjsKICAkRVJST1IoJyMxLjE6IE1BWF9WQUxVRSBpbiBOdW1iZXIgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChNQVhfVkFMVUUgaW4gTnVtYmVyKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBNQVhfVkFMVUUgaW4gTnVtYmVyIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"in\" uses GetValue","description":"If GetBase(RelationalExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoU2hpZnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICJNQVhfVkFMVUUiIGluIE5VTUJFUjsKICAkRVJST1IoJyMxLjE6ICJNQVhfVkFMVUUiIGluIE5VTUJFUiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCJNQVhfVkFMVUUiIGluIE5VTUJFUikpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogIk1BWF9WQUxVRSIgaW4gTlVNQkVSIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"in\" uses GetValue","description":"If GetBase(ShiftExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgTlVNQkVSID0gMDsKaWYgKChOVU1CRVIgPSBOdW1iZXIsICJNQVhfVkFMVUUiKSBpbiBOVU1CRVIgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgTlVNQkVSID0gMDsgKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyAKaWYgKG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIm5vbmUiLCBOdW1iZXIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJub25lIiwgTnVtYmVyKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSBpbiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIGluIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIk1BWF9WQUxVRSIsIE51bWJlcik7CiAgJEVSUk9SKCcjMS4xOiBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiLCBOdW1iZXIpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAobWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoTlVNQkVSID0gTnVtYmVyLCAiTUFYX1ZBTFVFIikgaW4gTlVNQkVSICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiAhPT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgInRvU3RyaW5nIiBpbiB0cnVlOwogICRFUlJPUignIzE6ICJ0b1N0cmluZyIgaW4gdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogInRvU3RyaW5nIiBpbiB0cnVlIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICAiTUFYX1ZBTFVFIiBpbiAxOwogICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogICJsZW5ndGgiIGluICJzdHJpbmciOwogICRFUlJPUignIzM6ICJsZW5ndGgiIGluICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiAibGVuZ3RoIiBpbiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgInRvU3RyaW5nIiBpbiB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjNDogInRvU3RyaW5nIiBpbiB1bmRlZmluZWQgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6ICJ0b1N0cmluZyIgaW4gdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzUKdHJ5IHsKICAidG9TdHJpbmciIGluIG51bGw7CiAgJEVSUk9SKCcjNTogInRvU3RyaW5nIiBpbiBudWxsIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiAidG9TdHJpbmciIGluIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCg==","commentary":"If ShiftExpression is not an object, throw TypeError","description":"Checking all the types of primitives","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIGNhbGxzIFRvU3RyaW5nKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBjb3ZlcnNpb247CiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJ0cnVlIl0gPSAxOwppZiAodHJ1ZSBpbiBvYmplY3QgIT09ICJ0cnVlIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzE6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsidHJ1ZSJdID0gMTsgdHJ1ZSBpbiBvYmplY3QgPT09ICJ0cnVlIiBpbiBvYmplY3QnKTsgIAp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwpvYmplY3QuSW5maW5pdHkgPSAxOwppZiAoSW5maW5pdHkgaW4gb2JqZWN0ICE9PSAiSW5maW5pdHkiIGluIG9iamVjdCkgeyAgCiAgJEVSUk9SKCcjMjogInZhciBvYmplY3QgPSB7fTsgb2JqZWN0LkluZmluaXR5ID0gMTsgSW5maW5pdHkgaW4gb2JqZWN0ID09PSAiSW5maW5pdHkiIGluIG9iamVjdCcpOyAgCn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge307Cm9iamVjdC51bmRlZmluZWQgPSAxOwppZiAodW5kZWZpbmVkIGluIG9iamVjdCAhPT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0KSB7ICAKICAkRVJST1IoJyM0OiAidmFyIG9iamVjdCA9IHt9OyBvYmplY3QudW5kZWZpbmVkID0gMTsgdW5kZWZpbmVkIGluIG9iamVjdCA9PT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0Jyk7ICAKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJudWxsIl0gPSAxOwppZiAobnVsbCBpbiBvYmplY3QgIT09ICJudWxsIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzU6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsibnVsbCJdID0gMTsgbnVsbCBpbiBvYmplY3QgPT09ICJudWxsIiBpbiBvYmplY3QnKTsgIAp9Cgo=","commentary":"Operator \"in\" calls ToString(ShiftExpression)","description":"Checking ToString coversion","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT0iIG9yIGJldHdlZW4gIj09IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5PT1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDk9PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInRydWVcdTAwMEI9PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQj09XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ0cnVlXHUwMDBDPT1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZVxcdTAwMEM9PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjA9PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMD09XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidHJ1ZVx1MDBBMD09XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwPT1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ0cnVlXHUwMDBBPT1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAodHJ1ZVxcdTAwMEE9PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRD09XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEPT1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ0cnVlXHUyMDI4PT1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjg9PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInRydWVcdTIwMjk9PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh0cnVlXFx1MjAyOT09XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAodHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between EqualityExpression and \"==\" or between \"==\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgxID09IDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAoMSA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCA9PSB5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyAoeCA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxOwpvYmplY3R5LnByb3AgPSAxOwppZiAoKG9iamVjdHgucHJvcCA9PSBvYmplY3R5LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wID09IG9iamVjdHkucHJvcCkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x == y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gMTsKICAkRVJST1IoJyMxLjE6IHggPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x == y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPT0geTsKICAkRVJST1IoJyMxLjE6IDEgPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA9PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x == y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSA9PSB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKCh4ID0gMSkgPT0geCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMDsgCmlmICgoeCA9PSAoeCA9IDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ID09ICh4ID0gMSkpID09PSBmYWxzZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gMSkgPT0geSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdHJ1ZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh0cnVlID09IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSA9PSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlID09IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IChmYWxzZSA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Return true, if x and y are both true or both false; otherwise, return false","description":"x and y are boolean primitives","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSA9PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09ICIwIikgPT09IHRydWUnKTsKfQoK","commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y","description":"x is primitive boolean, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggPT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPT0gZmFsc2UpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIxIiA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgiMSIgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x == ToNumber(y)","description":"x is primitive number, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA9PSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID09IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChOYU4gPT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA9PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA9PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA9PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiA9PSAic3RyaW5nIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA9PSAic3RyaW5nIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKE51bWJlci5OYU4gPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAoTmFOID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x or y is NaN, return false","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTEgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5hTiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoInN0cmluZyIgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgobmV3IE9iamVjdCgpID09IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x or y is NaN, return false","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoKzAgPT0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCswID09IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA9PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLTAgPT0gKzApID09PSB0cnVlJyk7Cn0KCg==","commentary":"If x is +0(-0) and y is -0(+0), return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA9PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA9PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPT0gLSgtSW5maW5pdHkpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxID09IDAuOTk5OTk5OTk5OTk5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoMSA9PSAwLjk5OTk5OTk5OTk5OSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKDEuMCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxLjAgPT0gMSkgPT09IHRydWUnKTsKfQoK","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgiIiA9PSAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIiIgPT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiA9PSAiICIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIiAoIiA9PSAiICIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIgIiA9PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIiAoIiA9PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciID09ICJzdHJpbmciKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgic3RyaW5nIiA9PSAic3RyaW5nIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIiBzdHJpbmciID09ICJzdHJpbmcgIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCIgc3RyaW5nIiA9PSAic3RyaW5nICIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiA9PSAiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgiMS4wIiA9PSAiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiMHhmZiIgPT0gIjI1NSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgPT0gIjI1NSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCA9PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxID09ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMTAwID09ICIrMS4xMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwID09ICIrMS4xMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKDEgPT0gInRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMSA9PSAidHJ1ZSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgyNTUgPT0gIjB4ZmYiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgyNTUgPT0gIjB4ZmYiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwID09ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwID09ICIiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x == ToNumber(y)","description":"x is primitive number, y is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiLTEiID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLTEuMTAwIiA9PSAtMS4xMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgPT0gLTEuMTApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJmYWxzZSIgPT0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCI1ZS0zMjQiID09IDVlLTMyNCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgPT0gNWUtMzI0KSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y","description":"x is primitive string, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh2b2lkIDAgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh1bmRlZmluZWQgPT0gZXZhbCgidmFyIHgiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkID09IGV2YWwoInZhciB4IikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgobnVsbCA9PSB2b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgPT0gdm9pZCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsID09IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(x) as well as Type(y) is undefined or null, return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkID09IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSB7fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKHVuZGVmaW5lZCA9PSB7fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKG51bGwgPT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IChudWxsID09IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCA9PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCA9PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCA9PSAibnVsbCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChudWxsID09ICJudWxsIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG51bGwgPT0ge30pICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChudWxsID09IHt9KSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If one expression is undefined or null and another is not, return false","description":"x is null or undefined, y is not","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA9PSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSA9PSB1bmRlZmluZWQpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IHVuZGVmaW5lZCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe30gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoZmFsc2UgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgwID09IG51bGwpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgwID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKCJudWxsIiA9PSBudWxsKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoe30gPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKHt9ID09IG51bGwpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If one expression is undefined or null and another is not, return false","description":"y is null or undefined, x is not","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygieCIpID09IG5ldyBTdHJpbmcoIngiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAobmV3IE9iamVjdCgpID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp4ID0ge307IAp5ID0geDsKaWYgKCh4ID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9IHt9OyB5ID0geDsgKHggPT0geSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKG5ldyBOdW1iZXIoMSkgPT0gbmV3IFN0cmluZygiMSIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSA9PSBuZXcgU3RyaW5nKCIxIikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChuZXcgU3RyaW5nKCJ4IikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCA9PSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlID09IG5ldyBOdW1iZXIoMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgPT0gbmV3IE51bWJlcigxKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSA9PSBuZXcgU3RyaW5nKCIrMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh0cnVlID09IG5ldyBTdHJpbmcoIisxIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgPT0gLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCItMSIpID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCItMSIpID09IC0xKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoLTEgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC0xID09IG5ldyBOdW1iZXIoLTEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoLTEpID09ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09ICItMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiMSIgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMSIgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgPT0gbmV3IE51bWJlcigtMSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is String and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gIisxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09ICIrMSIpID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID09IHRydWUpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPT0gdHJ1ZSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoe3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAiKzEiKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09ICIrMSIpID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKTsKICAkRVJST1IoJyM3LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID09IDEpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09IDEpOwogICRFUlJPUignIzguMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA9PSAxKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) == y","description":"x is object, y is primtitive","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggPT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiKzEiID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0pIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHRydWUgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoMSA9PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDEgPT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKCIrMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KTsKICAkRVJST1IoJyM3LjE6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzguMTogKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primtitive","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT0iIG9yIGJldHdlZW4gIiE9IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5IT1cdTAwMDkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWVcXHUwMDA5IT1cXHUwMDA5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgidHJ1ZVx1MDAwQiE9XHUwMDBCMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQiE9XFx1MDAwQjEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidHJ1ZVx1MDAwQyE9XHUwMDBDMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlXFx1MDAwQyE9XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjAhPVx1MDAyMDEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodHJ1ZVxcdTAwMjAhPVxcdTAwMjAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJ0cnVlXHUwMEEwIT1cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwIT1cXHUwMEEwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidHJ1ZVx1MDAwQSE9XHUwMDBBMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICh0cnVlXFx1MDAwQSE9XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRCE9XHUwMDBEMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICh0cnVlXFx1MDAwRCE9XFx1MDAwRDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoInRydWVcdTIwMjghPVx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjghPVxcdTIwMjgxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ0cnVlXHUyMDI5IT1cdTIwMjkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogKHRydWVcXHUyMDI5IT1cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkhPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkhPVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"!=\" or between \"!=\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCh4ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgoMSAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICE9IHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggIT0geSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICgob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Operator x != y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gMTsKICAkRVJST1IoJyMxLjE6IHggIT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x != y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgIT0geTsKICAkRVJST1IoJyMxOiAxICE9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x != y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAhPSB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICgoeCA9IDEpICE9IHgpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICE9ICh4ID0gMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyAoeCAhPSAoeCA9IDEpKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAhPSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICE9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggIT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpICE9IHkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICE9IHkpID09PSBmYWxzZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gZmFsc2UsIGlmIHggYW5kIHkgYXJlIGJvdGggdHJ1ZSBvciBib3RoIGZhbHNlOyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlICE9IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSAhPSBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAhPSBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZmFsc2UgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2UgIT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"Return false, if x and y are both true or both false; otherwise, return true","description":"x and y are boolean primitives","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlICE9ICIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9ICIwIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAxfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y","description":"x is primitive boolean, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggIT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgIT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiMSIgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIwIn19ICE9IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjAifX0gIT0gZmFsc2UpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x != ToNumber(y)","description":"x is primitive number, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTmFOICE9IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKE5hTiAhPSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOICE9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiAhPSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChOYU4gIT0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTmFOICE9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOYU4gIT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOYU4gIT0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiAhPSAic3RyaW5nIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoTmFOICE9ICJzdHJpbmciKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChOdW1iZXIuTmFOICE9IG5ldyBPYmplY3QoKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoTmFOICE9IG5ldyBPYmplY3QoKSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x or y is NaN, return true","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoTmFOICE9IE5hTikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgtSW5maW5pdHkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUFYX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICgic3RyaW5nIiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKG5ldyBPYmplY3QoKSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If x or y is NaN, return true","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKCswICE9IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoKzAgIT0gLTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCAhPSArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0wICE9ICswKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is +0(-0) and y is -0(+0), return false","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgIT0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSAhPSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT0gLU51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSAhPSAtKC1JbmZpbml0eSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxICE9IDAuOTk5OTk5OTk5OTk5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxICE9IDAuOTk5OTk5OTk5OTk5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgxLjAgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEuMCAhPSAxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmdzCiAqLwoKLy9DSEVDSyMxCmlmICgoIiIgIT0gIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgiIiAhPSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiAhPSAiICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICIgKCIgIT0gIiAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIiAiICE9ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICIgKCIgIT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciICE9ICJzdHJpbmciKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoInN0cmluZyIgIT0gInN0cmluZyIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiIHN0cmluZyIgIT0gInN0cmluZyAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgiIHN0cmluZyIgIT0gInN0cmluZyAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiAhPSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIxLjAiICE9ICIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjB4ZmYiICE9ICIyNTUiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgIT0gIjI1NSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCAhPSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxICE9ICIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xMDAgIT0gIisxLjEwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwICE9ICIrMS4xMCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgxICE9ICJ0cnVlIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMSAhPSAidHJ1ZSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKDI1NSAhPSAiMHhmZiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgyNTUgIT0gIjB4ZmYiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCAhPSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDAgIT0gIiIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x != ToNumber(y)","description":"x is primitive number, y is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiICE9IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIi0xIiAhPSAtMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMS4xMDAiICE9IC0xLjEwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgIT0gLTEuMTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiZmFsc2UiICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoIjVlLTMyNCIgIT0gNWUtMzI0KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgIT0gNWUtMzI0KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y","description":"x is primitive string, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyBVbmRlZmluZWQgb3IgTnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHVuZGVmaW5lZCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCAhPSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgIT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9IGV2YWwoInZhciB4IikpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gZXZhbCgidmFyIHgiKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IHZvaWQgMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgIT0gdm9pZCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCAhPSBudWxsKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(x) as well as Type(y) is Undefined or Null, return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAhPSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9ICJ1bmRlZmluZWQiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gInVuZGVmaW5lZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IHt9KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChudWxsICE9IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCAhPSAibnVsbCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKG51bGwgIT0gIm51bGwiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChudWxsICE9IHt9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChudWxsICE9IHt9KSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If one expression is undefined or null and another is not, return false","description":"x is null or undefined, y is not","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gIT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgidW5kZWZpbmVkIiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ1bmRlZmluZWQiICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gIT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSAhPSB1bmRlZmluZWQpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGZhbHNlICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCAhPSBudWxsKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoIm51bGwiICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKHt9ICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKHt9ICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If one expression is undefined or null and another is not, return false","description":"y is null or undefined, x is not","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKeCA9IHt9OyAKeSA9IHg7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB4ID0ge307IHkgPSB4OyAoeCAhPSB5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2IChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgTnVtYmVyKDEpICE9IG5ldyBTdHJpbmcoIjEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSAhPSBuZXcgU3RyaW5nKCIxIikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygieCIpICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygiMSIpICE9IHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCAhPSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgIT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgIT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpICE9IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKC0xKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiLTEiKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIi0xIikgIT0gLTEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0xICE9IG5ldyBOdW1iZXIoLTEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgIT0gbmV3IFN0cmluZygiLTEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xICE9IG5ldyBTdHJpbmcoIi0xIikpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgIT0gIi0xIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9ICItMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygieCIpICE9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgIT0gbmV3IE51bWJlcigtMSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoIngiICE9IG5ldyBTdHJpbmcoIngiKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is String and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiKzEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICE9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEgIT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoIjEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSk7CiAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzg6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pIHRocm93IFR5cGVFcnJvcicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4OiAoMSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3InKTsKICB9IAp9Cgo=","commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) != y","description":"x is object, y is primtitive","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggIT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gIisxIikgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCh7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gIjEiKSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSk7CiAgJEVSUk9SKCcjNy4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAhPSAxKTsKICAkRVJST1IoJyM4LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primtitive","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT09IiBvciBiZXR3ZWVuICI9PT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKCEoZXZhbCgiMVx1MDAwOT09PVx1MDAwOTEiKSkpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOT09PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShldmFsKCIxXHUwMDBCPT09XHUwMDBCMSIpKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCPT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKCEoZXZhbCgiMVx1MDAwQz09PVx1MDAwQzEiKSkpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQz09PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShldmFsKCIxXHUwMDIwPT09XHUwMDIwMSIpKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwPT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKGV2YWwoIjFcdTAwQTA9PT1cdTAwQTAxIikpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTA9PT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZXZhbCgiMVx1MDAwQT09PVx1MDAwQTEiKSkpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQT09PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmICghKGV2YWwoIjFcdTAwMEQ9PT1cdTAwMEQxIikpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQ9PT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZXZhbCgiMVx1MjAyOD09PVx1MjAyODEiKSkpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOD09PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShldmFsKCIxXHUyMDI5PT09XHUyMDI5MSIpKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5PT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoIShldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PT09XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"===\" or between \"===\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoISgxID09PSAxKSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCEoeCA9PT0gMSkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCEoMSA9PT0geSkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICghKG9iamVjdHgucHJvcCA9PT0gb2JqZWN0eS5wcm9wKSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==","commentary":"Operator x === y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID09PSAxOwogICRFUlJPUignIzEuMTogeCA9PT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x === y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID09PSB5OwogICRFUlJPUignIzEuMTogMSA9PT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x === y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICghKCh4ID0gMSkgPT09IHgpKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoeCA9PT0gKHggPSAxKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmICghKGUgPT09ICJ4IikpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT09ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID09PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA9PT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICghKCh5ID0gMSkgPT09IHkpKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA9PT0geScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiB0cnVlLCBpZiB4IGFuZCB5IGFyZSBib3RoIHRydWUgYW5kIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgcHJpbWl0aXZlIGJvb2xlYW5zCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgPT09IHRydWUpKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoZmFsc2UgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IGZhbHNlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmIChmYWxzZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IGZhbHNlICE9PSB0cnVlJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Boolean-s.\nReturn true, if x and y are both true and both false; otherwise, return false","description":"x and y are primitive booleans","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTmFOID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzI6IE5hTiAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMzOiBOYU4gIT09IE5hTicpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IE5hTiAhPT0gK0luZmluaXR5Jyk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNTogTmFOICE9PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTmFOID09PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTmFOICE9PSBOdW1iZXIuTUFYX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE5hTiAhPT0gTnVtYmVyLk1JTl9WQUxVRScpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5OYU4gPT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjODogTmFOICE9PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5OYU4gPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IE5hTiAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCgo=","commentary":"If x or y is NaN, return false","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMyOiAtMSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5hTikgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNDogK0luZmluaXR5ICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM1OiAtSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoInN0cmluZyIgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM4OiAic3RyaW5nIiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOQppZiAobmV3IE9iamVjdCgpID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjOTogbmV3IE9iamVjdCgpICE9PSBOYU4nKTsKfQoK","commentary":"If x or y is NaN, return false","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICghKCswID09PSAtMCkpIHsKICAkRVJST1IoJyMxOiArMCA9PT0gLTAnKTsKfQoKLy9DSEVDSyMyCmlmICghKC0wID09PSArMCkpIHsKICAkRVJST1IoJyMyOiAtMCA9PT0gKzAnKTsKfQoK","commentary":"If x is +0(-0) and y is -0(+0), return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICghKDEzID09PSAxMykpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICghKC0xMyA9PT0gLTEzKSkgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxLjMgPT09IDEuMykpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKCEoLTEuMyA9PT0gLTEuMykpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IC1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICgxID09PSAwLjk5OTk5OTk5OTk5OSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgxLjAgPT09IDEpKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoISgiIiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgiICIgPT09ICIgIikpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCEoInN0cmluZyIgPT09ICJzdHJpbmciKSkgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCIgc3RyaW5nIiA9PT0gInN0cmluZyAiKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICgiMS4wIiA9PT0gIjEiKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIHZvaWQgMCwgZXZhbCgidmFyIHgiKSBpcyB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCEodW5kZWZpbmVkID09PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKHZvaWQgMCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzI6IHZvaWQgMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IGV2YWwoInZhciB4IikpKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpJyk7Cn0KCg==","commentary":"If Type(x) and Type(y) are Undefined-s, return true","description":"void 0, eval(\"var x\") is undefined","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBudWxsID09PSBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghKG51bGwgPT09IG51bGwpKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If Type(x) and Type(y) are Null-s, return true","description":"null === null","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChuZXcgT2JqZWN0KCkgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE9iamVjdCh0cnVlKSA9PT0gbmV3IE9iamVjdCh0cnVlKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE9iamVjdChmYWxzZSkgPT09IG5ldyBPYmplY3QoZmFsc2UpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgT2JqZWN0KCswKSA9PT0gbmV3IE9iamVjdCgtMCkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgQm9vbGVhbih0cnVlKSA9PT0gbmV3IE51bWJlcigxKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIikpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPT09IG5ldyBCb29sZWFuKHRydWUpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpID09PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA9PT0gbmV3IEJvb2xlYW4odHJ1ZSkpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHJ1ZSA9PT0gMSkgewogICRFUlJPUignIzI6IHRydWUgIT09IDEnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID09PSBuZXcgTnVtYmVyKHRydWUpKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKScpOwp9CgovL0NIRUNLIzQKaWYgKHRydWUgPT09ICIxIikgewogICRFUlJPUignIzQ6IHRydWUgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPT09IG5ldyBTdHJpbmcodHJ1ZSkpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKDAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogMCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKGZhbHNlKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKGZhbHNlKSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgiMCIgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IFN0cmluZyhmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHRydWUgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fSkgewogICRFUlJPUignIzExOiB0cnVlID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0nKTsKfQoK","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive boolean","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgxID09PSBuZXcgTnVtYmVyKDEpKSB7CiAgJEVSUk9SKCcjMTogMSAhPT0gbmV3IE51bWJlcigxKScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA9PT0gbmV3IEJvb2xlYW4oMSkpIHsKICAkRVJST1IoJyMzOiAxICE9PSBuZXcgQm9vbGVhbigxKScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPT09ICIxIikgewogICRFUlJPUignIzQ6IDEgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKDEgPT09IG5ldyBTdHJpbmcoMSkpIHsKICAkRVJST1IoJyM1OiAxICE9PSBuZXcgU3RyaW5nKDEpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigwKSA9PT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmIChmYWxzZSA9PT0gMCkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IEJvb2xlYW4oMCkgPT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgQm9vbGVhbigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKCIwIiA9PT0gMCkgewogICRFUlJPUignIzk6ICIwIiAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgU3RyaW5nKDApID09PSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ldyBTdHJpbmcoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyMxMQppZiAoMSA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19KSB7CiAgJEVSUk9SKCcjMTE6IDEgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive number","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPT09IG5ldyBTdHJpbmcoIjEiKSkgewogICRFUlJPUignIzE6ICIxIiAhPT0gbmV3IFN0cmluZygiMSIpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIjEiICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID09PSBuZXcgQm9vbGVhbigiMSIpKSB7CiAgJEVSUk9SKCcjMzogIjEiICE9PSBuZXcgQm9vbGVhbigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID09PSAxKSB7CiAgJEVSUk9SKCcjNDogIjEiID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID09PSBuZXcgTnVtYmVyKCIxIikpIHsKICAkRVJST1IoJyM1OiAiMSIgPT09IG5ldyBOdW1iZXIoIjEiKScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKGZhbHNlID09PSAiMCIpIHsKICAkRVJST1IoJyM3OiBmYWxzZSAhPT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIjAiID09PSBuZXcgQm9vbGVhbigiMCIpKSB7CiAgJEVSUk9SKCcjODogIjAiICE9PSBuZXcgQm9vbGVhbigiMCIpJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZmFsc2UgPT09IDApIHsKICAkRVJST1IoJyM5OiBmYWxzZSAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IE51bWJlcihmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKCIxIiA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjEifX0pIHsKICAkRVJST1IoJyMxMTogIjEiID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAiMSJ9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive string","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDQuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBudWxsIG9yIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodW5kZWZpbmVkID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobnVsbCA9PT0gMCkgewogICRFUlJPUignIzM6IG51bGwgIT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmICgwID09PSBudWxsKSB7CiAgJEVSUk9SKCcjNDogMCAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzUKaWYgKG51bGwgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogbnVsbCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChmYWxzZSA9PT0gbnVsbCkgewogICRFUlJPUignIzY6IGZhbHNlICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNwppZiAodW5kZWZpbmVkID09PSBmYWxzZSkgewogICRFUlJPUignIzc6IHVuZGVmaW5lZCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChmYWxzZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogZmFsc2UgIT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKG51bGwgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IG51bGwgIT09IG5ldyBPYmplY3QoKScpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgT2JqZWN0KCkgPT09IG51bGwpIHsKICAkRVJST1IoJyMxMDogbmV3IE9iamVjdCgpICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG51bGwgPT09ICJudWxsIikgewogICRFUlJPUignIzExOiBudWxsICE9PSAibnVsbCInKTsKfQoKLy9DSEVDSyMxMgppZiAoIm51bGwiID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTI6ICJudWxsIiAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzEzCmlmICh1bmRlZmluZWQgPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTM6IHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCInKTsKfQoKLy9DSEVDSyMxNAppZiAoInVuZGVmaW5lZCIgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE0OiAidW5kZWZpbmVkIiAhPT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is null or undefined","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmIChlID09PSAiMSIpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoMSA9PT0gZSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK","commentary":"If Type(x) is different from Type(y), return false","description":"Checking with such x and y that either x or y is primitive string and the other is primitive number","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT09IiBvciBiZXR3ZWVuICIhPT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkhPT1cdTAwMDkxIikpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOSE9PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQiE9PVx1MDAwQjEiKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCIT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIjFcdTAwMEMhPT1cdTAwMEMxIikpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQyE9PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCE9PVx1MDAyMDEiKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwIT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwIT09XHUwMEEwMSIpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAhPT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIjFcdTAwMEEhPT1cdTAwMEExIikpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQSE9PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEIT09XHUwMDBEMSIpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQhPT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjghPT1cdTIwMjgxIikpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCE9PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiMVx1MjAyOSE9PVx1MjAyOTEiKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5IT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSE9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5IT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"!==\" or between \"!==\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAhPT0gMSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==","commentary":"Operator x !== y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAxOwogICRFUlJPUignIzEuMTogeCAhPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x !== y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxICE9PSB5OwogICRFUlJPUignIzEuMTogMSAhPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgIT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x !== y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoISh4ICE9PSAoeCA9IDEpKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgIT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgIT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmICghKGUgIT09ICJ5IikpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyYXRlZCB2YXJpYWJsZXMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAhPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09ICh4ID0gMSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAhPT0geSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPT09IHknKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking undeclarated variables","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiBmYWxzZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgYm9vbGVhbnMKICovCgovL0NIRUNLIzEKaWYgKHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZmFsc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogZmFsc2UgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh0cnVlICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCEoZmFsc2UgIT09IHRydWUpKSB7CiAgJEVSUk9SKCcjNDogZmFsc2UgIT09IHRydWUnKTsKfQoK","commentary":"Type(x) and Type(y) are Boolean-s.\nReturn false, if x and y are both true or both false; otherwise, return true","description":"x and y are primitive booleans","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEoTnVtYmVyLk5hTiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gIT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE51bWJlci5OYU4gIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogTmFOICE9PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNDogTmFOICE9PSArSW5maW5pdHknKTsKfQoKLy9DSEVDSyM1CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyM1OiBOYU4gIT09IC1JbmZpbml0eScpOwp9CgovL0NIRUNLIzYKaWYgKCEoTnVtYmVyLk5hTiAhPT0gTnVtYmVyLk1BWF9WQUxVRSkpIHsKICAkRVJST1IoJyM2OiBOYU4gIT09IE51bWJlci5NQVhfVkFMVUUnKTsKfQoKLy9DSEVDSyM3CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5NSU5fVkFMVUUpKSB7CiAgJEVSUk9SKCcjNzogTmFOICE9PSBOdW1iZXIuTUlOX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIShOdW1iZXIuTmFOICE9PSAic3RyaW5nIikpIHsKICAkRVJST1IoJyM4OiBOYU4gIT09ICJzdHJpbmciJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShOdW1iZXIuTmFOICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogTmFOICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKCg==","commentary":"If x or y is NaN, return true","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEodHJ1ZSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMyCmlmICghKC0xICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzI6IC0xICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMzCmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5OYU4pKSB7CiAgJEVSUk9SKCcjMzogTmFOICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM0CmlmICghKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM0OiArSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzUKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzU6IC1JbmZpbml0eSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgIT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYgKCEoTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM4CmlmICghKCJzdHJpbmciICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzg6ICJzdHJpbmciICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM5CmlmICghKG5ldyBPYmplY3QoKSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM5OiBuZXcgT2JqZWN0KCkgIT09IE5hTicpOwp9Cgo=","commentary":"If x or y is NaN, return true","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKzAgIT09IC0wKSB7CiAgJEVSUk9SKCcjMTogKzAgPT09IC0wJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAgIT09ICswKSB7CiAgJEVSUk9SKCcjMjogLTAgPT09ICswJyk7Cn0KCg==","commentary":"If x is +0(-0) and y is -0(+0), return false","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICgxMyAhPT0gMTMpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICgtMTMgIT09IC0xMykgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoMS4zICE9PSAxLjMpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKC0xLjMgIT09IC0xLjMpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICghKDEgIT09IDAuOTk5OTk5OTk5OTk5KSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoMS4wICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnM7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIiAiICE9PSAiICIpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCJzdHJpbmciICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCEoIiBzdHJpbmciICE9PSAic3RyaW5nICIpKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxLjAiICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn false, if x and y are exactly the same sequence of characters; otherwise, return true","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiB2b2lkIDAsIGV2YWwoInZhciB4IikgaXMgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh1bmRlZmluZWQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHVuZGVmaW5lZCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2b2lkIDAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA9PT0gZXZhbCgidmFyIHgiKScpOwp9Cgo=","commentary":"If Type(x) and Type(y) are Undefined-s, return false","description":"void 0, eval(\"var x\") is undefined","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTYuMi5qcwogKiBAZGVzY3JpcHRpb24gbnVsbCA9PT0gbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IG51bGwgPT09IG51bGwnKTsKfQoK","commentary":"If Type(x) and Type(y) are Null-s, return false","description":"null === null","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSByZWZlcmVuY2VzIHRvIHRoZSBzYW1lIE9iamVjdDsgb3RoZXJ3aXNlLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShuZXcgT2JqZWN0KHRydWUpICE9PSBuZXcgT2JqZWN0KHRydWUpKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShuZXcgT2JqZWN0KGZhbHNlKSAhPT0gbmV3IE9iamVjdChmYWxzZSkpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmICghKG5ldyBPYmplY3QoKzApICE9PSBuZXcgT2JqZWN0KC0wKSkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKHRydWUpICE9PSBuZXcgTnVtYmVyKDEpKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmICghKG5ldyBOdW1iZXIoMSkgIT09IG5ldyBTdHJpbmcoIjEiKSkpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBTdHJpbmcoIjEiKSAhPT0gbmV3IEJvb2xlYW4odHJ1ZSkpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpICE9PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9CgoKCg==","commentary":"Type(x) and Type(y) are Object-s.\nReturn false, if x and y are references to the same Object; otherwise, return true","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgIT09IG5ldyBCb29sZWFuKHRydWUpKSkgewogICRFUlJPUignIzE6IHRydWUgIT09IG5ldyBOdW1iZXIodHJ1ZSknKTsKfQoKLy9DSEVDSyMyCmlmICghKHRydWUgIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogdHJ1ZSAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKCEodHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISh0cnVlICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogdHJ1ZSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISh0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpKSkgewogICRFUlJPUignIzU6IHRydWUgIT09IG5ldyBTdHJpbmcodHJ1ZSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoISgwICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM3OiAwICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEobmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlKSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKCEoIjAiICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM5OiAiMCIgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IFN0cmluZyhmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISh0cnVlICE9PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0pKSB7CiAgJEVSUk9SKCcjMTE6IHRydWUgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive boolean","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCEoMSAhPT0gbmV3IE51bWJlcigxKSkpIHsKICAkRVJST1IoJyMxOiAxICE9PSBuZXcgTnVtYmVyKDEpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgxICE9PSB0cnVlKSkgewogICRFUlJPUignIzI6IDEgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKDEgIT09IG5ldyBCb29sZWFuKDEpKSkgewogICRFUlJPUignIzM6IDEgIT09IG5ldyBCb29sZWFuKDEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISgxICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogMSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxICE9PSBuZXcgU3RyaW5nKDEpKSkgewogICRFUlJPUignIzU6IDEgIT09IG5ldyBTdHJpbmcoMSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBOdW1iZXIoMCkgIT09IDApKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzcKaWYgKCEoZmFsc2UgIT09IDApKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBCb29sZWFuKDApICE9PSAwKSkgewogICRFUlJPUignIzg6IG5ldyBCb29sZWFuKDApICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgiMCIgIT09IDApKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IFN0cmluZygwKSAhPT0gMCkpIHsKICAkRVJST1IoJyMxMDogbmV3IFN0cmluZygwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzExCmlmICghKDEgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkpIHsKICAkRVJST1IoJyMxMTogMSAhPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19Jyk7Cn0KCg==","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive number","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCEoIjEiICE9PSBuZXcgU3RyaW5nKCIxIikpKSB7CiAgJEVSUk9SKCcjMTogIjEiICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyMyCmlmICghKCIxIiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMyOiAiMSIgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKCIxIiAhPT0gbmV3IEJvb2xlYW4oIjEiKSkpIHsKICAkRVJST1IoJyMzOiAiMSIgIT09IG5ldyBCb29sZWFuKCIxIiknKTsKfQoKLy9DSEVDSyM0CmlmICghKCIxIiAhPT0gMSkpIHsKICAkRVJST1IoJyM0OiAiMSIgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxIiAhPT0gbmV3IE51bWJlcigiMSIpKSkgewogICRFUlJPUignIzU6ICIxIiA9PT0gbmV3IE51bWJlcigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShuZXcgU3RyaW5nKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShmYWxzZSAhPT0gIjAiKSkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAiMCInKTsKfQoKLy9DSEVDSyM4CmlmICghKCIwIiAhPT0gbmV3IEJvb2xlYW4oIjAiKSkpIHsKICAkRVJST1IoJyM4OiAiMCIgIT09IG5ldyBCb29sZWFuKCIwIiknKTsKfQoKLy9DSEVDSyM5CmlmICghKGZhbHNlICE9PSAwKSkgewogICRFUlJPUignIzk6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IE51bWJlcihmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISgiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19KSkgewogICRFUlJPUignIzExOiAiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19Jyk7Cn0KCgo=","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive string","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIG51bGwgb3IgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICghKHVuZGVmaW5lZCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxOiB1bmRlZmluZWQgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMyCmlmICghKG51bGwgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyMyOiBudWxsICE9PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKG51bGwgIT09IDApKSB7CiAgJEVSUk9SKCcjMzogbnVsbCAhPT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKCEoMCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyM0OiAwICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIShudWxsICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM1OiBudWxsICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZmFsc2UgIT09IG51bGwpKSB7CiAgJEVSUk9SKCcjNjogZmFsc2UgIT09IG51bGwnKTsKfQoKLy9DSEVDSyM3CmlmICghKHVuZGVmaW5lZCAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNzogdW5kZWZpbmVkICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZmFsc2UgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShudWxsICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogbnVsbCAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IE9iamVjdCgpICE9PSBudWxsKSkgewogICRFUlJPUignIzEwOiBuZXcgT2JqZWN0KCkgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMxMQppZiAoIShudWxsICE9PSAibnVsbCIpKSB7CiAgJEVSUk9SKCcjMTE6IG51bGwgIT09ICJudWxsIicpOwp9CgovL0NIRUNLIzEyCmlmICghKCJudWxsIiAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxMjogIm51bGwiICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKCEodW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIikpIHsKICAkRVJST1IoJyMxMzogdW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIicpOwp9CgovL0NIRUNLIzE0CmlmICghKCJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTQ6ICJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is null or undefined","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmICghKGUgIT09ICIxIikpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoISgxICE9PSBlKSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK","commentary":"If Type(x) is different from Type(y), return true","description":"Checking such x and y that either x or y is primitive string and the other is primitive number","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T5.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch11","numTests":"1310","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS8xMS4xLjEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgb2JqZWN0IGF0IHRoZSBnbG9iYWwgc2NvcGUgaXMgbm90IHVuZGVmaW5lZA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQppZiAodGhpcz09PXVuZGVmaW5lZCkgew0KICAgIHRocm93IE5vdEVhcmx5RXJyb3I7DQp9DQo=","commentary":"","description":"Strict Mode - 'this' object at the global scope is not undefined","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.1/11.1.1-1gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgInRoaXMiIGlzIHJlc2VydmVkIHdvcmQKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRoaXM9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdGhpcyA9IDE7Cgo=","commentary":"The \"this\" is reserved word","description":"Checking if execution of \"this=1\" fails","negative":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgZnVuY3Rpb25zLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0EzLjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgInRoaXMiIG9yIGV2YWwoInRoaXMiKQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gdGhpc30KaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7cmV0dXJuIHRoaXN9IE15RnVuY3Rpb24oKSA9PT0gdGhpcy4gQWN0dWFsOiAnICsgKE15RnVuY3Rpb24oKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfQppZiAoTXlGdW5jdGlvbigpICE9PSB0aGlzKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gTXlGdW5jdGlvbigpIHtyZXR1cm4gZXZhbCgidGhpcyIpfSBNeUZ1bmN0aW9uKCkgPT09IHRoaXMuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uKCkpKTsKfQoKCgo=","commentary":"Being in function code, \"this\" and eval(\"this\"), called as a functions, return the global object","description":"Creating function which returns \"this\" or eval(\"this\")","noStrict":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBmdW5jdGlvbiBjb2RlLCAidGhpcyIgYW5kIGV2YWwoInRoaXMiKSwgY2FsbGVkIGFzIGEgY29uc3RydWN0b3JzLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLiBJdCBoYXZlIHByb3BlcnR5LCB0aGF0IHJldHVybmVkICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSB0aGlzfQppZiAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCkge3RoaXMuVEhJUyA9IHRoaXN9IChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoKG5ldyBNeUZ1bmN0aW9uKCkpLlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gTXlGdW5jdGlvbigpIHt0aGlzLlRISVMgPSBldmFsKCJ0aGlzIil9CmlmICgobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKSB7dGhpcy5USElTID0gZXZhbCgidGhpcyIpfSAobmV3IE15RnVuY3Rpb24oKSkuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKChuZXcgTXlGdW5jdGlvbigpKS5USElTLnRvU3RyaW5nKCkpKTsKfQoKCg==","commentary":"Being in function code, \"this\" and eval(\"this\"), called as a constructors, return the object","description":"Create function. It have property, that returned \"this\"","noStrict":"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLCByZXR1cm4gdGhlIGdsb2JhbCBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuMS9TMTEuMS4xX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIHdpdGggbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIik7CmlmIChNeUZ1bmN0aW9uKCkgIT09IHRoaXMpIHsKICAkRVJST1IoJyMxOiB2YXIgTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgpNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsKaWYgKE15RnVuY3Rpb24oKSAhPT0gdGhpcykgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gZXZhbChcJ3RoaXNcJykiKTsgTXlGdW5jdGlvbigpID09PSB0aGlzLiBBY3R1YWw6ICcgKyAoTXlGdW5jdGlvbigpKSk7Cn0KCgoK","commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a function, return the global object","description":"Creating function with new Function() constructor","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCZWluZyBpbiBhbm9ueW1vdXMgY29kZSwgInRoaXMiIGFuZCBldmFsKCJ0aGlzIiksIGNhbGxlZCBhcyBhIGNvbnN0cnVjdG9yLCByZXR1cm4gdGhlIG9iamVjdAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4xL1MxMS4xLjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgZnVuY3Rpb24gYnkgdXNpbmcgbmV3IEZ1bmN0aW9uKCkgY29uc3RydWN0b3IuIEl0IGhhcyB0aGUgcHJvcGVydHksIHdoaWNoIHJldHVybnMgInRoaXMiCiAqLwoKLy9DSEVDSyMxCnZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSB0aGlzIik7CnZhciBNeU9iamVjdCA9IG5ldyBNeUZ1bmN0aW9uKCk7CmlmIChNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIE15RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24oInRoaXMuVEhJUyA9IHRoaXMiKTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgTXlPYmplY3QuVEhJUy50b1N0cmluZygpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKE15T2JqZWN0LlRISVMudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKTXlGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbigidGhpcy5USElTID0gZXZhbChcJ3RoaXNcJykiKTsKTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzI6IHZhciBNeUZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLlRISVMgPSBldmFsKFwndGhpc1wnKSIpOyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeU9iamVjdC5USElTLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoTXlPYmplY3QuVEhJUy50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"Being in anonymous code, \"this\" and eval(\"this\"), called as a constructor, return the object","description":"Creating function by using new Function() constructor. It has the property, which returns \"this\"","path":"TestCases/ch11/11.1/11.1.1/S11.1.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHZhcmlhYmxlcyB3aXRob3V0IGRlZmluaW5nIGl0CiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHRoaXMueCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwppZiAob2JqZWN0LnByb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzMKdGhpcy55Kys7CmlmIChpc05hTih5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHRoaXMueSsrOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"The result of evaluating an Identifier is always a value of type Reference","description":"Creating variables without defining it","path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYW4gSWRlbnRpZmllciBpcyBhbHdheXMgYSB2YWx1ZSBvZiB0eXBlIFJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS4yL1MxMS4xLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBnZW5lcmF0ZSBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRoaXMuejsKICB6OwogICRFUlJPUignIzEuMTogdGhpcy56OyB6ID09PSB1bmRlZmluZWQgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzLno7IHogPT09IHVuZGVmaW5lZCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The result of evaluating an Identifier is always a value of type Reference","description":"Trying to generate ReferenceError","path":"TestCases/ch11/11.1/11.1.2/S11.1.2_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvMTEuMS40LTAuanMNCiAqIEBkZXNjcmlwdGlvbiBlbGVtZW50cyBlbGlkZWQgYXQgdGhlIGVuZCBvZiBhbiBhcnJheSBkbyBub3QgY29udHJpYnV0ZSB0byBpdHMgbGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbLF07DQogIGlmIChhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"elements elided at the end of an array do not contribute to its length","path":"TestCases/ch11/11.1/11.1.4/11.1.4-0.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNDsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogRWxlbWVudExpc3QgOiBFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uDQogKiA1LkNhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgYXJyYXkgd2l0aCBhcmd1bWVudHMgVG9TdHJpbmcoZmlyc3RJbmRleCksIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9yIHsgW1tWYWx1ZV1dOiBpbml0VmFsdWUsIFtbV3JpdGFibGVdXTogdHJ1ZQ0KICogICAgICwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC8xMS4xLjRfNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplIGFycmF5IHVzaW5nIEVsZW1lbnRMaXN0IChFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uKSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMTAxXTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIGFyclswXSA9PT0gMTAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.4;\nThe production\nElementList : Elisionopt AssignmentExpression\n5.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(firstIndex), the Property Descriptor { [[Value]]: initValue, [[Writable]]: true\n , [[Enumerable]]: true, [[Configurable]]: true}, and false.","description":"Initialize array using ElementList (Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 5)","path":"TestCases/ch11/11.1/11.1.4/11.1.4_4-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNDsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogRWxlbWVudExpc3QgOiBFbGVtZW50TGlzdCAsIEVsaXNpb25vcHQgQXNzaWdubWVudEV4cHJlc3Npb24NCiAqIDYuQ2FsbCB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCBvZiBhcnJheSB3aXRoIGFyZ3VtZW50cyBUb1N0cmluZyhUb1VpbnQzMigocGFkK2xlbikpIGFuZCB0aGUgUHJvcGVydHkgRGVzY3JpcHRvciB7IFtbVmFsdWVdXTogaW5pdFZhbHVlDQogKiAgICAgLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfSwgYW5kIGZhbHNlLg0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvMTEuMS40XzUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZSBhcnJheSB1c2luZyBFbGVtZW50TGlzdCAoRWxlbWVudExpc3QgLCBFbGlzaW9ub3B0IEFzc2lnbm1lbnRFeHByZXNzaW9uKSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMTAxLCAxMl07DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMV0gPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.4;\nThe production\nElementList : ElementList , Elisionopt AssignmentExpression\n6.Call the [[DefineOwnProperty]] internal method of array with arguments ToString(ToUint32((pad+len)) and the Property Descriptor { [[Value]]: initValue\n , [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.","description":"Initialize array using ElementList (ElementList , Elisionopt AssignmentExpression) when index property (read-only) exists in Array.prototype (step 6)","path":"TestCases/ch11/11.1/11.1.4/11.1.4_5-6-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0aWVzIG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggZXhwcmVzc2lvbiAidmFyIGFycmF5ID0gW10iCiAqLwoKdmFyIGFycmF5ID0gW107CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyYXkgPSBbXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbXTsgYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKGFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyYXkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFycmF5ID0gW107IGFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ ]","description":"Checking various properties of the array defined with expression \"var array = []\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiBdCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjQvUzExLjEuNF9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRpZXMgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWywsLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLCwsXTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbLCwsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwsLF07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ Elision ]","description":"Checking various properties the array defined with \"var array = [,,,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV0pKTsKfQoKLy9DSEVDSyM3CmlmIChhcnJheVsyXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFsxLDIsMyw0LDVdOyBhcnJheVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFycmF5WzJdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyYXlbM10gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbMSwyLDMsNCw1XTsgYXJyYXlbM10gPT09IDQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gWzEsMiwzLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression ]","description":"Checking various properteis and contents of the array defined with \"var array = [1,2,3,4,5]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50IG9mIHRoZSBhcnJheSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFssLCwxLDJdIgogKi8KCnZhciBhcnJheSA9IFssLCwxLDJdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWywsLDEsMl07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5IGluc3RhbmNlb2YgQXJyYXkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheS5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJheVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWywsLDEsMl07IGFycmF5WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzFdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoYXJyYXlbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFssLCwxLDJdOyBhcnJheVszXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzNdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoYXJyYXlbNF0gIT09IDIpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwsMSwyXTsgYXJyYXlbNF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression ]","description":"Checking various properteis and content of the array defined with \"var array = [,,,1,2]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbNCw1LCwsLF0iCiAqLwoKdmFyIGFycmF5ID0gWzQsNSwsLCxdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzQsNSwsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciBhcnJheSA9IFs0LDUsLCwsXTsgYXJyYXlbMV0gPT09IDUuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsyXSkpOwp9CgovL0NIRUNLIzgKaWYgKGFycmF5WzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbNCw1LCwsLF07IGFycmF5WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVs0XSkpOwp9Cgo=","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision ]","description":"Checking various properteis and contents of the array defined with \"var array = [4,5,,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgRWxpc2lvbiwgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24gXQogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS40L1MxMS4xLjRfQTEuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFyaW91cyBwcm9wZXJ0ZWlzIGFuZCBjb250ZW50cyBvZiB0aGUgYXJyYXkgZGVmaW5lZCB3aXRoICJ2YXIgYXJyYXkgPSBbLCwzLCwsXSIKICovCgp2YXIgYXJyYXkgPSBbLCwzLCwsXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFssLDMsLCxdOyB0eXBlb2YgYXJyYXkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIGFycmF5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyYXkgaW5zdGFuY2VvZiBBcnJheSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXkubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyYXlbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBhcnJheSA9IFssLDMsLCxdOyBhcnJheVswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJheVsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gWywsMywsLF07IGFycmF5WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJheVszXSkpOwp9CgovL0NIRUNLIzkKaWYgKGFycmF5WzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB2YXIgYXJyYXkgPSBbLCwzLCwsXTsgYXJyYXlbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycmF5WzRdKSk7Cn0KCg==","commentary":"Evaluate the production ArrayLiteral: [ Elision, AssignmentExpression, Elision ]","description":"Checking various properteis and contents of the array defined with \"var array = [,,3,,,]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBBcnJheUxpdGVyYWw6IFsgQXNzaWdubWVudEV4cHJlc3Npb24sIEVsaXNpb24sIEFzc2lnbm1lbnRFeHByZXNzaW9uIF0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0ExLjcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIGFycmF5IGRlZmluZWQgd2l0aCAidmFyIGFycmF5ID0gWzEsMiwsNCw1XSIKICovCgp2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYXJyYXkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgdHlwZW9mIGFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBhcnJheSkpOwp9CgovL0NIRUNLIzIKaWYgKGFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheSBpbnN0YW5jZW9mIEFycmF5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyYXkudG9TdHJpbmcgIT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5LnRvU3RyaW5nID09PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChhcnJheS50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKGFycmF5Lmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5Lmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKGFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJheVswXSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycmF5WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogdmFyIGFycmF5ID0gWzEsMiwsNCw1XTsgYXJyYXlbMV0gPT09IDIuIEFjdHVhbDogJyArIChhcnJheVsxXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycmF5WzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbMSwyLCw0LDVdOyBhcnJheVsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyYXlbMl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJheVszXSAhPT0gNCkgewogICRFUlJPUignIzg6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzNdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyYXlbM10pKTsKfQoKLy9DSEVDSyM5CmlmIChhcnJheVs0XSAhPT0gNSkgewogICRFUlJPUignIzk6IHZhciBhcnJheSA9IFsxLDIsLDQsNV07IGFycmF5WzRdID09PSA1LiBBY3R1YWw6ICcgKyAoYXJyYXlbNF0pKTsKfQoK","commentary":"Evaluate the production ArrayLiteral: [ AssignmentExpression, Elision, AssignmentExpression ]","description":"Checking various properteis and contents of the array defined with \"var array = [1,2,,4,5]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A1.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDcmVhdGUgbXVsdGkgZGltZW5zaW9uYWwgYXJyYXkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNC9TMTEuMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBhcnJ5YSBkZWZpbmVkIHdpdGggInZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV0iCiAqLwoKdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFycmF5ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IHR5cGVvZiBhcnJheSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgYXJyYXkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKGFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS50b1N0cmluZyA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLiBBY3R1YWw6ICcgKyAoYXJyYXkudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJheS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnJheS5sZW5ndGgpKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBzdWJhcnJheSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzYKaWYgKHN1YmFycmF5IGluc3RhbmNlb2YgQXJyYXkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKHN1YmFycmF5LnRvU3RyaW5nICE9PSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyM3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVswXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoc3ViYXJyYXkubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjODogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKHN1YmFycmF5WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMF07IHN1YmFycmF5WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKLy9DSEVDSyMxMAppZiAoc3ViYXJyYXlbMV0gIT09IDIpIHsKICAkRVJST1IoJyMxMDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMV0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07CgovL0NIRUNLIzExCmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzExOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzEyCmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzEyOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEzCmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzEzOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsxXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMSkgewokRVJST1IoJyMxNDogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzE1CmlmIChzdWJhcnJheVswXSAhPT0gMykgewokRVJST1IoJyMxNTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMV07IHN1YmFycmF5WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoc3ViYXJyYXlbMF0pKTsKfQoKdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07CgovL0NIRUNLIzE2CmlmICh0eXBlb2Ygc3ViYXJyYXkgIT09ICJvYmplY3QiKSB7CiRFUlJPUignIzE2OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgdHlwZW9mIHN1YmFycmF5ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBzdWJhcnJheSkpOwp9CgovL0NIRUNLIzE3CmlmIChzdWJhcnJheSBpbnN0YW5jZW9mIEFycmF5ICE9PSB0cnVlKSB7CiRFUlJPUignIzE3OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkgaW5zdGFuY2VvZiBBcnJheSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzE4CmlmIChzdWJhcnJheS50b1N0cmluZyAhPT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKSB7CiRFUlJPUignIzE4OiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyB2YXIgc3ViYXJyYXkgPSBhcnJheVsyXTsgc3ViYXJyYXkudG9TdHJpbmcgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKHN1YmFycmF5LnRvU3RyaW5nKSk7Cn0KCi8vQ0hFQ0sjMTkKaWYgKHN1YmFycmF5Lmxlbmd0aCAhPT0gMCkgewokRVJST1IoJyMxOTogdmFyIGFycmF5ID0gW1sxLDJdLCBbM10sIFtdXTsgdmFyIHN1YmFycmF5ID0gYXJyYXlbMl07IHN1YmFycmF5Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHN1YmFycmF5Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIwCmlmIChhcnJheVswXVswXSAhPT0gMSkgewogICRFUlJPUignIzIwOiB2YXIgYXJyYXkgPSBbWzEsMl0sIFszXSwgW11dOyBhcnJheVswXVswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFycmF5WzBdWzBdKSk7Cn0KCi8vQ0hFQ0sjMjEKaWYgKGFycmF5WzBdWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjMjE6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzBdWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyYXlbMF1bMV0pKTsKfQoKLy9DSEVDSyMyMgppZiAoYXJyYXlbMV1bMF0gIT09IDMpIHsKICAkRVJST1IoJyM3MjI6IHZhciBhcnJheSA9IFtbMSwyXSwgWzNdLCBbXV07IGFycmF5WzFdWzBdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyYXlbMV1bMF0pKTsKfQoK","commentary":"Create multi dimensional array","description":"Checking various properteis and contents of the arrya defined with \"var array = [[1,2], [3], []]\"","path":"TestCases/ch11/11.1/11.1.4/S11.1.4_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGl0IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCANCiAqIHByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0INCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIGdldCBzZXQgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgczEgPSAiSW4gZ2V0dGVyIjsNCiAgdmFyIHMyID0gIkluIHNldHRlciI7DQogIHZhciBzMyA9ICJNb2RpZmllZCBieSBzZXR0ZXIiOw0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1cm4gczIgPSBzM319OyIpOw0KICBpZihvLmZvbyAhPT0gczEpIA0KICAgIHJldHVybiBmYWxzZTsNCiAgby5mb289MTA7DQogIGlmKHMyICE9PSBzMykgDQogICAgcmV0dXJuIGZhbHNlOw0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB","description":"Object literal - get set property","path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGl0IGlzbid0IGNsZWFyIHdoYXQgc3BlY2lmaWMgcmVxdWlyZW1lbnRzIG9mIHRoZSBzcGVjaWZpY2FpdG9uIGFyZSBiZWluZyB0ZXN0ZWQgaGVyZS4gVGhpcyB0ZXN0IHNob3VsZCANCiAqIHByb2JhYmx5IGJlIHJlcGxhY2VkIGJ5IHNvbWUgbW9yZSB0YXJnZXRlZCB0ZXN0cy4gIEFsbGVuV0INCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIG11bHRpcGxlIGdldCBzZXQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzMSA9ICJGaXJzdCBnZXR0ZXIiOw0KICB2YXIgczIgPSAiRmlyc3Qgc2V0dGVyIjsNCiAgdmFyIHMzID0gIlNlY29uZCBnZXR0ZXIiOw0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7IHJldHVybiBzMTt9LHNldCBmb28oYXJnKXtyZXR1cm4gczIgPSBzM30sIGdldCBiYXIoKXsgcmV0dXJuIHMzfSwgc2V0IGJhcihhcmcpeyBzMyA9IGFyZzt9fTsiKTsNCiAgaWYoby5mb28gIT09IHMxKSANCiAgICByZXR1cm4gZmFsc2U7DQogIG8uZm9vID0gMTA7DQogIGlmKHMyICE9PSBzMykgDQogICAgcmV0dXJuIGZhbHNlOw0KICBpZihvLmJhciAhPT0gczMpDQogICAgcmV0dXJuIGZhbHNlOw0KICBvLmJhciA9ICJTZWNvbmQgc2V0dGVyIjsNCiAgaWYoby5iYXIgIT09ICJTZWNvbmQgc2V0dGVyIikNCiAgICByZXR1cm4gZmFsc2U7DQogIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"it isn't clear what specific requirements of the specificaiton are being tested here. This test should\nprobably be replaced by some more targeted tests. AllenWB","description":"Object literal - multiple get set properties","path":"TestCases/ch11/11.1/11.1.5/11.1.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2V2YWwnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCB0aGF0IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfMV9mdW4oZXZhbCkge319OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiAnZXZhbCcgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50IHRoYXQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCu+7vyJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgb2JqID0geyBzZXQgXzExXzFfNV8xX2Z1bihldmFsKSB7fX07","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'eval' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2FyZ3VtZW50cycgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIGluIGEgUHJvcGVydHlTZXRQYXJhbWV0ZXJMaXN0IG9mIGEgUHJvcGVydHlBc3NpZ25tZW50IHRoYXQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBvYmogPSB7c2V0IF8xMV8xXzVfMl9mdW4oYXJndW1lbnRzKSB7fSB9OyIpOw0KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjUtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBldmFsIGNvZGUgY29udGFpbnMgYW4gT2JqZWN0TGl0ZXJhbCB3aXRoIG1vcmUgdGhhbiBvbmUgZGVmaW5pdGlvbiBvZiBhbnkgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQrvu78idXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIG9iaiA9IHsgXzExXzFfNV8yX2dzOiAxMCwgXzExXzFfNV8yX2dzOiAxMCB9Ow==","commentary":"","description":"Strict Mode - SyntaxError is thrown when eval code contains an ObjectLiteral with more than one definition of any data property","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gICdldmFscycgIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCAgaWYgaXRzIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge3NldCBfMTFfMV81XzNfZnVuKGV2YWwpIHsgXCJ1c2Ugc3RyaWN0XCI7IH19OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'evals' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNS00LTQtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgZGF0ZSBwcm9wZXJ0eSBuYW1lIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkNCiAgew0KICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgKHtmb286MCxmb286MX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - SyntaxError for duplicate date property name in strict mode","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-4-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41LTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gJ2FyZ3VtZW50cycgIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBpbiBhIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCBvZiBhIFByb3BlcnR5QXNzaWdubWVudCAgaWYgaXRzIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgb2JqID0ge3NldCBfMTFfMV81XzRfZnVuKGFyZ3VtZW50cykge1widXNlIHN0cmljdFwiO319OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when 'arguments' occurs as the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogUHJvcGVydHlBc3NpZ25tZW50IA0KICogMy5DYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIG9iaiB3aXRoIGFyZ3VtZW50cyBwcm9wSWQubmFtZSwgcHJvcElkLmRlc2NyaXB0b3IsIGFuZCBmYWxzZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV8zLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBpbml0aWFsaXphdGlvbiB1c2luZyBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgKFByb3BlcnR5QXNzaWdubWVudCkgd2hlbiBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gT2JqZWN0LnByb3RvdHlwZSAoc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBvYmogPSB7IHByb3A6IDEyIH07DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyAssignment\n3.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.","description":"Object initialization using PropertyNameAndValueList (PropertyAssignment) when property (read-only) exists in Object.prototype (step 3)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_3-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZWQgaWYgbm90IGluIHN0cmljdCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGV2YWwoIih7Zm9vOjAsZm9vOjF9KTsiKTsNCiAgcmV0dXJuIHRydWU7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - Duplicate data property name allowed if not in strict mode","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGEuIFRoaXMgcHJvZHVjdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUNCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTQtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBuYW1lIGFsbG93ZWQgZ2V0cyBsYXN0IGRlZmluZWQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIG8gPSBldmFsKCIoe2ZvbzowLGZvbzoxfSk7Iik7DQogIHJldHVybiBvLmZvbz09PTE7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true","description":"Object literal - Duplicate data property name allowed gets last defined value","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGIuSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBkYXRhIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgZ2V0IGFjY2Vzc29yIGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2ZvbyA6IDEsIGdldCBmb28oKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a data property definition is followed by get accessor definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGIuSXNEYXRhRGVzY3JpcHRvcihwcmV2aW91cykgaXMgdHJ1ZSBhbmQgSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBkYXRhIHByb3BlcnR5IGRlZmluaXRpb24gaXMgZm9sbG93ZWQgYnkgc2V0IGFjY2Vzc29yIGRlZmluaXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2ZvbyA6IDEsIHNldCBmb28oeCl7fX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a data property definition is followed by set accessor definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBnZXQgYWNjZXNzb3IgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIGZvbyA6IDF9KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a get accessor property definition is followed by a data property definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCA6ICBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgLCBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqICAgIDQuIElmIHByZXZpb3VzIGlzIG5vdCB1bmRlZmluZWQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlDQogKiAgICAgIGMuSXNBY2Nlc3NvckRlc2NyaXB0b3IocHJldmlvdXMpIGlzIHRydWUgYW5kIElzRGF0YURlc2NyaXB0b3IocHJvcElkLmRlc2NyaXB0b3IpIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNC00LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBsaXRlcmFsIC0gU3ludGF4RXJyb3IgaWYgYSBzZXQgYWNjZXNzb3IgcHJvcGVydHkgZGVmaW5pdGlvbiBpcyBmb2xsb3dlZCBieSBhIGRhdGEgcHJvcGVydHkgZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7c2V0IGZvbyh4KXt9LCBmb28gOiAxfSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.","description":"Object literal - SyntaxError if a set accessor property definition is followed by a data property definition with the same name","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoZ2V0LGdldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7Z2V0IGZvbygpe30sIGdldCBmb28oKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (get,get)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoc2V0LHNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGV2YWwoIih7c2V0IGZvbyhhcmcpe30sIHNldCBmb28oYXJnMSl7fX0pOyIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (set,set)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoZ2V0LHNldCxnZXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe2dldCBmb28oKXt9LCBzZXQgZm9vKGFyZyl7fSwgZ2V0IGZvbygpe319KTsiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (get,set,get)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogIFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudA0KICogICA0LiBJZiBwcmV2aW91cyBpcyBub3QgdW5kZWZpbmVkIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdHJ1ZQ0KICogICAgIGQuCUlzQWNjZXNzb3JEZXNjcmlwdG9yKHByZXZpb3VzKSBpcyB0cnVlIGFuZCBJc0FjY2Vzc29yRGVzY3JpcHRvcihwcm9wSWQuZGVzY3JpcHRvcikgaXMgdHJ1ZSBhbmQgZWl0aGVyIGJvdGggcHJldmlvdXMgYW5kIHByb3BJZC5kZXNjcmlwdG9yIGhhdmUgW1tHZXRdXSBmaWVsZHMgb3IgYm90aCBwcmV2aW91cyBhbmQgcHJvcElkLmRlc2NyaXB0b3IgaGF2ZSBbW1NldF1dIGZpZWxkcw0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzQtNC1kLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIFN5bnRheEVycm9yIGZvciBkdXBsaWNhdGUgcHJvcGVydHkgbmFtZSAoc2V0LGdldCxzZXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBldmFsKCIoe3NldCBmb28oYXJnKXt9LCBnZXQgZm9vKCl7fSwgc2V0IGZvbyhhcmcxKXt9fSk7Iik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n 4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true\n d.\tIsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields","description":"Object literal - SyntaxError for duplicate property name (set,get,set)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-4-d-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiBUaGUgcHJvZHVjdGlvbg0KICogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0IDogUHJvcGVydHlOYW1lQW5kVmFsdWVMaXN0ICwgUHJvcGVydHlBc3NpZ25tZW50IA0KICogNS5DYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIG9iaiB3aXRoIGFyZ3VtZW50cyBwcm9wSWQubmFtZSwgcHJvcElkLmRlc2NyaXB0b3IsIGFuZCBmYWxzZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41LzExLjEuNV80LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdCBpbml0aWFsaXphdGlvbiB1c2luZyBQcm9wZXJ0eU5hbWVBbmRWYWx1ZUxpc3QgKFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCAsIFByb3BlcnR5QXNzaWdubWVudCkgd2hlbiBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gT2JqZWN0LnByb3RvdHlwZSAoU3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AyIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDEsIHByb3AyOiAxMiB9Ow0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wMiIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\nThe production\nPropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment\n5.Call the [[DefineOwnProperty]] internal method of obj with arguments propId.name, propId.descriptor, and false.","description":"Object initialization using PropertyNameAndValueList (PropertyNameAndValueList , PropertyAssignment) when property (read-only) exists in Object.prototype (Step 5)","path":"TestCases/ch11/11.1/11.1.5/11.1.5_4-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIA0KICogICA0LkxldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eSBEZXNjcmlwdG9ye1tbVmFsdWVdXTogcHJvcFZhbHVlLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfQ0KICoNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzUtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0IGxpdGVyYWwgLSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciBhc3NpZ25tZW50IGV4cHJlc3Npb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBvID0ge2ZvbyA6IDF9Ow0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywiZm9vIik7DQogIGlmKGRlc2MudmFsdWUgPT09IDEgJiYNCiAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : PropertyName : AssignmentExpression\n 4.Let desc be the Property Descriptor{[[Value]]: propValue, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for assignment expression","path":"TestCases/ch11/11.1/11.1.5/11.1.5_5-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzYtMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIG9yIGEgZnV0dXJlIHJlc2VydmVkIHdvcmQgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgZ2V0IF8xMV8xXzVfNl8yXzEoKSB7XA0KICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICByZXR1cm4gcHVibGljO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTsiKTsNCg0KICAgICAgICAgICAgdmFyIF8xMV8xXzVfNl8yXzEgPSBvYmouXzExXzFfNV82XzJfMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzYtMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIG9yIGEgZnV0dXJlIHJlc2VydmVkIHdvcmQgaXMgbWFkZSBpbnNpZGUgYSBzdHJpY3QgbW9kZSBGdW5jdGlvbkJvZHkgb2YgYSBQcm9wZXJ0eUFzc2lnbm1lbnQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgZ2V0IF8xMV8xXzVfNl8yXzIoKSB7XA0KICAgICAgICAgICAgICAgICAgIFwidXNlIHN0cmljdFwiO1wNCiAgICAgICAgICAgICAgICAgICBwdWJsaWMgPSA0MjtcDQogICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1YmxpYztcDQogICAgICAgICAgICAgICAgfVwNCiAgICAgICAgICAgIH07XA0KICAgICAgICAgICAgdmFyIF8xMV8xXzVfNl8yXzIgPSBvYmouXzExXzFfNV82XzJfMjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is made inside a strict mode FunctionBody of a PropertyAssignment","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for get property assignment","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIGdldCBwcm9wZXJ0eSBhc3NpZ25tZW50IHNob3VsZCBub3QgY3JlYXRlIGEgc2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtnZXQgZm9vKCl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgcmV0dXJuIGRlc2Muc2V0ID09PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for get property assignment should not create a set function","path":"TestCases/ch11/11.1/11.1.5/11.1.5_6-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzctMi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBkYXRhID0gXCJkYXRhXCI7XA0KICAgICAgICAgICAgdmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgc2V0IF8xMV8xXzVfN18yXzEodmFsdWUpIHtcDQogICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTtcDQogICAgICAgICAgICBvYmouXzExXzFfNV83XzJfMSA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is contained in strict code","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvMTEuMS41XzctMi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGFuIGFzc2lnbm1lbnQgdG8gYSByZXNlcnZlZCB3b3JkIGlzIG1hZGUgaW4gIGEgc3RyaWN0IEZ1bmN0aW9uQm9keSBvZiBhIFByb3BlcnR5QXNzaWdubWVudA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBkYXRhID0gXCJkYXRhXCI7XA0KICAgICAgICAgICAgdmFyIG9iaiA9IHtcDQogICAgICAgICAgICAgICAgc2V0IF8xMV8xXzVfN18yXzIodmFsdWUpIHtcDQogICAgICAgICAgICAgICAgICAgIHB1YmxpYyA9IDQyO1wNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlO1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgfTtcDQogICAgICAgICAgICBvYmouXzExXzFfNV83XzJfMiA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when an assignment to a reserved word is made in a strict FunctionBody of a PropertyAssignment","onlyStrict":"","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IHNldCBQcm9wZXJ0eU5hbWUoIFByb3BlcnR5U2V0UGFyYW1ldGVyTGlzdCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tTZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25tZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtzZXQgZm9vKGFyZyl7cmV0dXJuIDE7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgaWYoZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : set PropertyName( PropertySetParameterList ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Set]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for set property assignment","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDExLjEuNTsgDQogKiAgIFRoZSBwcm9kdWN0aW9uDQogKiAgICAgIFByb3BlcnR5QXNzaWdubWVudCA6IGdldCBQcm9wZXJ0eU5hbWUgKCApIHsgRnVuY3Rpb25Cb2R5IH0gDQogKiAgIDMuTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5IERlc2NyaXB0b3J7W1tHZXRdXTogY2xvc3VyZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9DQogKg0KICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS8xMS4xLjVfNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgbGl0ZXJhbCAtIHByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIHNldCBwcm9wZXJ0eSBhc3NpZ25tZW50IHNob3VsZCBub3QgY3JlYXRlIGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBldmFsKCJ2YXIgbyA9IHtzZXQgZm9vKGFyZyl7fX07Iik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJmb28iKTsNCiAgcmV0dXJuIGRlc2MuZ2V0ID09PSB1bmRlZmluZWQNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 11.1.5;\n The production\n PropertyAssignment : get PropertyName ( ) { FunctionBody }\n 3.Let desc be the Property Descriptor{[[Get]]: closure, [[Enumerable]]: true, [[Configurable]]: true}","description":"Object literal - property descriptor for set property assignment should not create a get function","path":"TestCases/ch11/11.1/11.1.5/11.1.5_7-3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBvZiB0aGUgb2JqZWN0IGRlZmluZWQgd2l0aCAidmFyIG9iamVjdCA9IHt9IgogKi8KCnZhciBvYmplY3QgPSB7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge307IHR5cGVvZiBvYmplY3QgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iamVjdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3QudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0ge307IG9iamVjdC50b1N0cmluZyA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoK","commentary":"Evaluate the production ObjectLiteral: { }","description":"Checking various properteis of the object defined with \"var object = {}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IE51bWVyaWNMaXRlcmFsIDogQXNzaWdubWVudEV4cHJlc3Npb259CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpb3VzIHByb3BlcnRlaXMgYW5kIGNvbnRlbnRzIG9mIHRoZSBvYmplY3QgZGVmaW5lZCB3aXRoICJ2YXIgb2JqZWN0ID0gezEgOiB0cnVlfSIKICovCgp2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgdHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Ygb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHsxIDogdHJ1ZX07IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG9iamVjdC50b1N0cmluZyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7MSA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbMV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WzFdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0WyIxIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gezEgOiB0cnVlfTsgb2JqZWN0WyIxIl0gPT09IHRydWUnKTsKfQoKCg==","commentary":"Evaluate the production ObjectLiteral: { NumericLiteral : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {1 : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFN0cmluZ0xpdGVyYWwgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX0iCiAqLwoKdmFyIG9iamVjdCA9IHsieCIgOiB0cnVlfTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iamVjdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChvYmplY3QudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QudG9TdHJpbmcgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuIEFjdHVhbDogJyArIChvYmplY3QudG9TdHJpbmcpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmplY3RbIngiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7IngiIDogdHJ1ZX07IG9iamVjdFsieCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnggIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0geyJ4IiA6IHRydWV9OyBvYmplY3QueCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { StringLiteral : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {\"x\" : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IElkZW50aWZpZXIgOiBBc3NpZ25tZW50RXhwcmVzc2lvbn0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0ExLjQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhcmlvdXMgcHJvcGVydGVpcyBhbmQgY29udGVudHMgb2YgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9IgogKi8KCnZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqZWN0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7cHJvcCA6IHRydWV9OyB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqZWN0LnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdC50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy4gQWN0dWFsOiAnICsgKG9iamVjdC50b1N0cmluZykpOwp9CgovL0NIRUNLIzQKaWYgKG9iamVjdFsicHJvcCJdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHtwcm9wIDogdHJ1ZX07IG9iamVjdFsicHJvcCJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3Byb3AgOiB0cnVlfTsgb2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoK","commentary":"Evaluate the production ObjectLiteral: { Identifier : AssignmentExpression}","description":"Checking various properteis and contents of the object defined with \"var object = {prop : true}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIH0KICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBwcm9wZXJ0eSAicHJvcCIgb2YgdmFyaW91cyB0eXBlcyhib29sZWFuLCBudW1iZXIgYW5kIGV0Yy4pCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyBvYmplY3QucHJvcCA9PT0geC4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDE7CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAxOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gIjEiOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzU6IHZhciB4ID0gIjEiOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgU3RyaW5nKDEpOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IFN0cmluZygxKTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM3CnZhciB4ID0gdW5kZWZpbmVkOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzc6IHZhciB4ID0gdW5kZWZpbmVkOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzgKdmFyIHggPSBudWxsOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzg6IHZhciB4ID0gbnVsbDsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyM5CnZhciB4ID0ge307CnZhciBvYmplY3QgPSB7cHJvcCA6IHh9OyAKaWYgKG9iamVjdC5wcm9wICE9PSB4KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSB7fTsgdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IG9iamVjdC5wcm9wID09PSB4LiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKfQoKLy9DSEVDSyMxMAp2YXIgeCA9IFsxLDJdOwp2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgCmlmIChvYmplY3QucHJvcCAhPT0geCkgewogICRFUlJPUignIzEwOiB2YXIgeCA9IFsxLDJdOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzExCnZhciB4ID0gZnVuY3Rpb24oKSB7fTsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMTogdmFyIHggPSBmdW5jdGlvbigpIHt9OyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9CgovL0NIRUNLIzEyCnZhciB4ID0gdGhpczsKdmFyIG9iamVjdCA9IHtwcm9wIDogeH07IAppZiAob2JqZWN0LnByb3AgIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSB0aGlzOyB2YXIgb2JqZWN0ID0ge3Byb3AgOiB4fTsgb2JqZWN0LnByb3AgPT09IHguIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { PropertyName : AssignmentExpression }","description":"Creating property \"prop\" of various types(boolean, number and etc.)","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0ZSB0aGUgcHJvZHVjdGlvbiBPYmplY3RMaXRlcmFsOiB7IFByb3BlcnR5TmFtZUFuZFZhbHVlTGlzdCB9CiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjUvUzExLjEuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgdGhlIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBvYmplY3QgPSB7MCA6IDEsICIxIiA6ICJ4IiwgbyA6IHt9fSIKICovCgp2YXIgb2JqZWN0ID0gezAgOiAxLCAiMSIgOiAieCIsIG8gOiB7fX07CgovL0NIRUNLIzEKaWYgKG9iamVjdFswXSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WzBdID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0WzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqZWN0WyIxIl0gIT09ICJ4IikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgb2JqZWN0WyIxIl0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9iamVjdFsiMSJdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iamVjdC5vICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7MCA6IDE7ICIxIiA6ICJ4IjsgbyA6IHt9fTsgdHlwZW9mIG9iamVjdC5vID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBvYmplY3QubykpOwp9Cgo=","commentary":"Evaluate the production ObjectLiteral: { PropertyNameAndValueList }","description":"Creating the object defined with \"var object = {0 : 1, \"1\" : \"x\", o : {}}\"","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBCb29sZWFuTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge3RydWUgOiAxfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3RydWUgOiAxfTsKCg==","commentary":"The PropertyName is not really a BooleanLiteral","description":"Checking if execution of \"var object = {true : 1}\" does not fail","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIG5vdCByZWFsbHkgYSBudWxsTGl0ZXJhbAogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS41L1MxMS4xLjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfSIgZG9lcyBub3QgZmFpbAogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge251bGwgOiB0cnVlfTsK","commentary":"The PropertyName is not really a nullLiteral","description":"Checking if execution of \"var object = {null : true}\" does not fail","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUHJvcGVydHlOYW1lIGlzIHVuZGVmaW5lZCwgVG9TdHJpbmcoQm9vbGVhbkxpdGVyYWwpLCBUb1N0cmluZyhudWxsTGl0ZXJhbCkKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNS9TMTEuMS41X0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHByb3BlcnRpZXMgd2l0aCBmb2xsb3dpbmcgbmFtZXM6IHVuZGVmaW5lZCwgJ3RydWUnLCAnbnVsbCcKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt1bmRlZmluZWQgOiB0cnVlfTsKaWYgKG9iamVjdC51bmRlZmluZWQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OyBvYmplY3QudW5kZWZpbmVkID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3VuZGVmaW5lZCA6IHRydWV9OwppZiAob2JqZWN0WyJ1bmRlZmluZWQiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dW5kZWZpbmVkIDogdHJ1ZX07IG9iamVjdFsidW5kZWZpbmVkIl0gPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07CmlmIChvYmplY3RbInRydWUiXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7InRydWUiIDogdHJ1ZX07IG9iamVjdFsidHJ1ZSJdID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OwppZiAob2JqZWN0WyJudWxsIl0gIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqZWN0ID0geyJudWxsIiA6IHRydWV9OyBvYmplY3RbIm51bGwiXSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"The PropertyName is undefined, ToString(BooleanLiteral), ToString(nullLiteral)","description":"Creating properties with following names: undefined, 'true', 'null'","path":"TestCases/ch11/11.1/11.1.5/S11.1.5_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGluc2lkZSAiZ3JvdXBpbmciIG9wZXJhdG9yIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMS8xMS4xLjYvUzExLjEuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0aW5nIFdoaXRlU3BhY2VzIGFuZCBMaW5lVGVybWluYXRvcnMgaW50byBncm91cGluZyBvcGVyYXRvci4gRXZhbCBpcyB1c2VkCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIoXHUwMDA5MVx1MDAwOSkiKSAhPT0gMSkgewogICRFUlJPUignIzE6IChcXHUwMDA5MVxcdTAwMDkpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKFx1MDAwQjFcdTAwMEIpIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoXFx1MDAwQjFcXHUwMDBCKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiKFx1MDAwQzFcdTAwMEMpIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoXFx1MDAwQzFcXHUwMDBDKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIihcdTAwMjAxXHUwMDIwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKFxcdTAwMjAxXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIihcdTAwQTAxXHUwMEEwKSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKFxcdTAwQTAxXFx1MDBBMCkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIoXHUwMDBBMVx1MDAwQSkiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChcXHUwMDBBMVxcdTAwMEEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoXHUwMDBEMVx1MDAwRCkiKSAhPT0gMSkgewogICRFUlJPUignIzc6IChcXHUwMDBEMVxcdTAwMEQpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiKFx1MjAyODFcdTIwMjgpIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoXFx1MjAyODFcXHUyMDI4KSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIihcdTIwMjkxXHUyMDI5KSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogKFxcdTIwMjkxXFx1MjAyOSkgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkpIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkpID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator inside \"grouping\" operator are allowed","description":"Inserting WhiteSpaces and LineTerminators into grouping operator. Eval is used","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3IgZG9lc24ndCB1c2UgR2V0VmFsdWUuIFRoZSBvcGVyYXRvcnMgImRlbGV0ZSIgYW5kICJ0eXBlb2YiIGNhbiBiZSBhcHBsaWVkIHRvIHBhcmVudGhlc2lzZWQgZXhwcmVzc2lvbnMKICoKICogQHBhdGggY2gxMS8xMS4xLzExLjEuNi9TMTEuMS42X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcHBseWluZyAiZGVsZXRlIiBhbmQgInR5cGVvZiIgb3BlcmF0b3JzIHRvIGFuIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGRlbGV0ZSAoeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgKHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICh4KSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgKHgpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAoeCkpKTsKfQoKdmFyIG9iamVjdCA9IHt9OwovL0NIRUNLIzMKaWYgKGRlbGV0ZSAob2JqZWN0LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt9OyBkZWxldGUgKG9iamVjdC5wcm9wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAob2JqZWN0LnByb3ApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IHZhciBvYmplY3QgPSB7fTsgdHlwZW9mIChvYmplY3QucHJvcCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIChvYmplY3QucHJvcCkpKTsKfQoK","commentary":"\"This\" operator doesn't use GetValue. The operators \"delete\" and \"typeof\" can be applied to parenthesised expressions","description":"Applying \"delete\" and \"typeof\" operators to an undefined variable and a property of an object","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIEJvb2xlYW4KICovCgovLyBDaGVjayBmb3IgQm9vbGVhbgoKLy9DSEVDSyMxCmlmICgodHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCkgPT09IHguIEFjdHVhbDogJyArICgoeCkpKTsKfQoK","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to Boolean","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIE51bWJlcgogKi8KCi8vQ2hlY2sgZm9yIE51bWJlcgoKLy9DSEVDSyMxCmlmICgoMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSkgPT09IDEuIEFjdHVhbDogJyArICgoMSkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxKTsKaWYgKCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to Number","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIFN0cmluZwogKi8KCi8vQ2hlY2sgZm9yIFN0cmluZwoKLy9DSEVDSyMxCmlmICgoIjEiKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogKCIxIikgPT09ICIxIi4gQWN0dWFsOiAnICsgKCgiMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IikgIT09ICJ4IikgewogICRFUlJPUignIzI6ICgieCIpID09PSAieCIuIEFjdHVhbDogJyArICgoIngiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCIxIik7CmlmICgoeCkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBOdW1iZXIoIjEiKTsgKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoKHgpKSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to String","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIHVuZGVmaW5lZAogKi8KCi8vQ2hlY2sgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAoKLy9DSEVDSyMxCmlmICgodW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCkgIT09IHZvaWQgMCkgewogICRFUlJPUignIzI6ICh2b2lkIDApID09PSB2b2lkIDAuIEFjdHVhbDogJyArICgodm9pZCAwKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsKSA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKChudWxsKSkpOwp9Cgo=","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to undefined","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGdyb3VwaW5nIG9wZXJhdG9yIGluIGRlY2xhcmF0aW9uIG9mIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQooeCkgPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6ICh4KSA9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IDE7ICh5KSsrOyArKyh5KTsgKHkpLS07IC0tKHkpOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB5ID0gMTsgKHkpKys7ICsrKHkpOyAoeSktLTsgLS0oeSk7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"\"This\" operator only evaluates Expression","description":"Using grouping operator in declaration of variables","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiVGhpcyIgb3BlcmF0b3Igb25seSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEvMTEuMS42L1MxMS4xLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5aW5nIGdyb3VwaW5nIG9wZXJhdG9yIHRvIGRlbGV0ZSBhbmQgdHlwZW9mIG9wZXJhdG9ycwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlICh4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZSAoeCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgKHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiAoeCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mICh4KSkpOwp9Cgo=","commentary":"\"This\" operator only evaluates Expression","description":"Applying grouping operator to delete and typeof operators","path":"TestCases/ch11/11.1/11.1.6/S11.1.6_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZUFOREV4cHJlc3Npb24gYW5kICImIiBvciBiZXR3ZWVuICImIiBhbmQgRXF1YWxpdHlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOSZcdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5JlxcdTAwMDkxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCJlx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEImXFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQyZcdTAwMEMxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDJlxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwJlx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjAmXFx1MDAyMDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTAmXHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMCZcXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQSZcdTAwMEExIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBJlxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEQmXHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRCZcXHUwMDBEMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOCZcdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4JlxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Jlx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjkmXFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between BitwiseANDExpression and \"&\" or between \"&\" and EqualityExpression are allowed","description":"Checking uses eval","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSAmIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4ICYgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggJiB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ICYgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICYgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgJiBvYmplY3R5LnByb3ApKSk7Cn0KCg==","commentary":"Operator x & y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAmIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x & y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAmIHk7CiAgJEVSUk9SKCcjMS4xOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x & y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMS9TMTEuMTAuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gJiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICYgMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICYgMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAmIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICYge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzUuMTogKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAmIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICYge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x & y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nICJ0aHJvdyIKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4ICYgeTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggJiB5KSk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogVG9JbnQzMihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvSW50MzIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking by using \"throw\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAmIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSAmIHgpID09PSAxLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgJiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICYgKHggPSAxKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ICYgKHggPSAxKSkgPT09IDAuIEFjdHVhbDogJyArICgoeCAmICh4ID0gMSkpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCAmICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgJiB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICYgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSAmIHkpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAmIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpICYgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive number and Number object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSAmICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiAmICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIngiICYgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgJiAieCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKCIxIiAmICJ4IikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiICYgIngiKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are primitive string and String object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkICYgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG51bGwpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are null and undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICYgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICYge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ICYge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9ICYge30pKSk7Cn0KCgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) and Type(y) are Object object and Function object","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSAmIDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSAmIG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSAmIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgJiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgJiAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzk6ICgieCIgJiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgieCIgJiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSAmICJ4IikgIT09IDApIHsKICAkRVJST1IoJyMxMDogKDEgJiAieCIpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgJiAieCIpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IChudWxsICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgJiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgoMSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkICYgMSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgdXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyBhcmUgU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlICYgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgiMSIgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgiMSIgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4odHJ1ZSkgJiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgiMSIgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAoIjEiICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICh0cnVlICYgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiAobmV3IEJvb2xlYW4odHJ1ZSkgJiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpICYgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgJiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygiMSIpICYgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) us different from Type(y) and both types are String (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkICYgIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkICYgbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKCIxIiAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgJiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgJiAiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSAmIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAmIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCAmIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpICYgdW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSAmIHVuZGVmaW5lZCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAmIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgodW5kZWZpbmVkICYgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYgeSByZXR1cm5zIFRvTnVtYmVyKHgpICYgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4xL1MxMS4xMC4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYgbnVsbCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAmIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHRydWUgJiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYgdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobnVsbCAmIHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgJiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpICYgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgJiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsICYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCAmIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x & y returns ToNumber(x) & ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.1/S11.10.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZVhPUkV4cHJlc3Npb24gYW5kICJeIiBvciBiZXR3ZWVuICJeIiBhbmQgQml0d2lzZUFOREV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgY2hlY2sgdXNlcyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiMVx1MDAwOV5cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5XlxcdTAwMDkxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCIxXHUwMDBCXlx1MDAwQjEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEJeXFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiMVx1MDAwQ15cdTAwMEMxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDXlxcdTAwMEMxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCIxXHUwMDIwXlx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjBeXFx1MDAyMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoIjFcdTAwQTBeXHUwMEEwMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMF5cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiMVx1MDAwQV5cdTAwMEExIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBXlxcdTAwMEExKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoIjFcdTAwMEReXHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRF5cXHUwMDBEMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgiMVx1MjAyOF5cdTIwMjgxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4XlxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCIxXHUyMDI5Xlx1MjAyOTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjleXFx1MjAyOTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV5cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between BitwiseXORExpression and \"^\" or between \"^\" and BitwiseANDExpression are allowed","description":"The check uses eval","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4gMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxIF4geSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoMSBeIHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKCh4IF4geSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggXiB5KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh4IF4geSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIF4gb2JqZWN0eS5wcm9wKSA9PT0gMC4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgXiBvYmplY3R5LnByb3ApKSk7Cn0KIAoK","commentary":"Operator x ^ y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCBeIDE7CiAgJEVSUk9SKCcjMS4xOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggXiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ^ y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSBeIHk7CiAgJEVSUk9SKCcjMS4xOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgXiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ^ y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMi9TMTEuMTAuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gXiAxKSAhPT0gMCkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkgPT09IDAuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IF4gMSkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkgIT09IDApIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IF4gMSkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSBeIDEpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gXiAxKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzU6ICgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMCkgewogICRFUlJPUignIzY6ICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgXiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSBeIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIF4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x ^ y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggXiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCBeIHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCBeIHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSBeIHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoKHggPSAxKSBeIHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMSkgXiB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4IF4gKHggPSAxKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4IF4gKHggPSAxKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCBeICh4ID0gMSkpKSk7Cn0KCgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgXiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBeIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIF4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IF4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggXiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCBeICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgXiB5KSAhPT0gMCkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIF4geSkgPT09IDAuIEFjdHVhbDogJyArICgoKHkgPSAxKSBeIHkpKSk7Cn0KCgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzE6ICh0cnVlIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgXiBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodHJ1ZSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMxOiAoMSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIF4gMSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiAoMSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IE51bWJlcigxKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive number and Number object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKCIxIiBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiBeICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIF4gIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgXiAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiBeICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIF4gIngiKSkpOwp9Cgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are primitive string and String object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgXiB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgXiB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCBeIHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIF4gdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIF4gbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCBeIG51bGwpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are null and undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgYXJlIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4ge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IF4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IF4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IF4ge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IF4ge30pKSk7Cn0KCgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) and Type(y) are Object object and Function object","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeIDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKDEgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIDEpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKDEgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBOdW1iZXIoMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh0cnVlIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSBeIHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgXiB0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBOdW1iZXIoMSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgiMSIgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6ICgxIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgXiAxKSAhPT0gMCkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICgxIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgxIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzU6ICgiMSIgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMCkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIF4gbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgXiAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgXiAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSBeICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgXiAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgXiAieCIpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgXiBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIF4gMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSBeICIxIikgIT09IDApIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeICIxIikgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoIjEiIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgoIjEiIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiAiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKCIxIiBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKCgiMSIgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkgPT09IDAuIEFjdHVhbDogJyArICgodHJ1ZSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIF4gdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIF4gbmV3IFN0cmluZygiMSIpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSBeIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMC4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgXiBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIF4gIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIF4gbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgXiAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgXiAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSBeIG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgXiB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgXiB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCBeIHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCBeIHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIF4gdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSBeIHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCBeIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIF4gbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IF4geSByZXR1cm5zIFRvTnVtYmVyKHgpIF4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4yL1MxMS4xMC4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIF4gbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSBeIG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgXiBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIF4gdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCBeIHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgXiB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSBeIG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIF4gbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgXiBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIF4gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgXiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCBeIG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x ^ y returns ToNumber(x) ^ ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.2/S11.10.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQml0d2lzZU9SRXhwcmVzc2lvbiBhbmQgInwiIG9yIGJldHdlZW4gInwiIGFuZCBCaXR3aXNlWE9SRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEwLzExLjEwLjMvUzExLjEwLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKChldmFsKCIwXHUwMDA5fFx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDl8XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoIjBcdTAwMEJ8XHUwMDBCMSIpKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgwXFx1MDAwQnxcXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCIwXHUwMDBDfFx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEN8XFx1MDAwQzEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGV2YWwoIjBcdTAwMjB8XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMHxcXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiMFx1MDBBMHxcdTAwQTAxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwfFxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCIwXHUwMDBBfFx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEF8XFx1MDAwQTEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiMFx1MDAwRHxcdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEfFxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCIwXHUyMDI4fFx1MjAyODEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjh8XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoIjBcdTIwMjl8XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOXxcXHUyMDI5MSkgPT09IDEnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDBcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between BitwiseORExpression and \"|\" or between \"|\" and BitwiseXORExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAwKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoKHggfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgMCkpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMDsKaWYgKCgxIHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDA7ICgxIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHkpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMDsKaWYgKCh4IHwgeSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMDsgKHggfCB5KSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4IHwgeSkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMDsKaWYgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAwOyAob2JqZWN0eC5wcm9wIHwgb2JqZWN0eS5wcm9wKSA9PT0gMS4gQWN0dWFsOiAnICsgKChvYmplY3R4LnByb3AgfCBvYmplY3R5LnByb3ApKSk7Cn0KCg==","commentary":"Operator x | y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCB8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x | y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSB8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgfCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x | y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTAvMTEuMTAuMy9TMTEuMTAuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gfCAwKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB8IDApID09PSAxLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkgPT09IDEuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHwgMCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHwgMCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSB8IDApIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gfCAwKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzU6ICgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzYKaWYgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gMSkgewogICRFUlJPUignIzY6ICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gMS4gQWN0dWFsOiAnICsgKCgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDAgfCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICRFUlJPUignIzguMTogMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMCB8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAwIHwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x | y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggfCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCB8IHkpKTsKfSBjYXRjaCAoZSkgewogICBpZiAoZSA9PT0gInkiKSB7CiAgICAgJEVSUk9SKCcjMS4yOiBUb0ludDMyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9JbnQzMihzZWNvbmQgZXhwcmVzc2lvbiknKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCB8IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToInt32(first expression) is called first, and then ToInt32(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoKHggPSAwKSB8IHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyAoKHggPSAwKSB8IHgpID09PSAwLiBBY3R1YWw6ICcgKyAoKCh4ID0gMCkgfCB4KSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKCh4IHwgKHggPSAwKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4IHwgKHggPSAwKSkgPT09IDEuIEFjdHVhbDogJyArICgoeCB8ICh4ID0gMCkpKSk7Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSB8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggfCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCB8ICh4ID0gMSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKCh5ID0gMSkgfCB5KSAhPT0gMSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpIHwgeSkgPT09IDEuIEFjdHVhbDogJyArICgoKHkgPSAxKSB8IHkpKSk7Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzE6ICh0cnVlIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IEJvb2xlYW4odHJ1ZSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgfCBuZXcgQm9vbGVhbih0cnVlKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgxIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCAxKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgxIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAoMSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBTdHJpbmcoIjEiKSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKCgiMSIgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKCIxIiB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgoIngiIHwgIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgfCAieCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKCIxIiB8ICJ4IikgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgIngiKSkpOwp9Cgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKG51bGwgfCB1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKG51bGwgfCB1bmRlZmluZWQpID09PSAwLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IG51bGwpID09PSAwLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCB8IHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkIHwgdW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnICsgKCh1bmRlZmluZWQgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBudWxsKSAhPT0gMCkgewogICRFUlJPUignIzQ6IChudWxsIHwgbnVsbCkgPT09IDAuIEFjdHVhbDogJyArICgobnVsbCB8IG51bGwpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAwLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IHwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IHwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IHwge30pID09PSAwLiBBY3R1YWw6ICcgKyAoKHt9IHwge30pKSk7Cn0KCgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgMSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoMSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IDEpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgMSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoMSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBOdW1iZXIoMSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogKHRydWUgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh0cnVlIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IE51bWJlcigxKSB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoMSkgfCB0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBOdW1iZXIoMSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IE51bWJlcigxKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IE51bWJlcigxKSB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBOdW1iZXIoMSkgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCgiMSIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCAxKSkpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICgxIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCIxIikgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCAxKSkpOwp9CgovL0NIRUNLIzQKaWYgKCgxIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICgxIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgxIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzU6ICgiMSIgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzYKaWYgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKDEpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgIjEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzc6IChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgTnVtYmVyKDEpKSkpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgTnVtYmVyKDEpIHwgbmV3IFN0cmluZygiMSIpKSkpOwp9CgovL0NIRUNLIzkKaWYgKCgieCIgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzk6ICgieCIgfCAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgieCIgfCAxKSkpOwp9CgovL0NIRUNLIzEwCmlmICgoMSB8ICJ4IikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogKDEgfCAieCIpID09PSAxLiBBY3R1YWw6ICcgKyAoKDEgfCAieCIpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgxIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAxKSAhPT0gMSkgewogICRFUlJPUignIzI6IChudWxsIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBOdW1iZXIoMSkgfCBudWxsKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgTnVtYmVyKDEpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IChudWxsIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBOdW1iZXIoMSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoMSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgoMSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAodW5kZWZpbmVkIHwgMSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgMSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IE51bWJlcigxKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IE51bWJlcigxKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8ICIxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8ICIxIikgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8ICIxIikpKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoIjEiIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgoIjEiIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8ICIxIikpKTsKfQoKLy9DSEVDSyM0CmlmICgoIjEiIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKCIxIiB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKCgiMSIgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoKLy9DSEVDSyM1CmlmICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkgPT09IDEuIEFjdHVhbDogJyArICgodHJ1ZSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiAobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IFN0cmluZygiMSIpIHwgdHJ1ZSkpKTsKfQoKLy9DSEVDSyM3CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKHRydWUpIHwgbmV3IFN0cmluZygiMSIpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgQm9vbGVhbih0cnVlKSB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoKLy9DSEVDSyM4CmlmICgobmV3IFN0cmluZygiMSIpIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogKG5ldyBTdHJpbmcoIjEiKSB8IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gMS4gQWN0dWFsOiAnICsgKChuZXcgU3RyaW5nKCIxIikgfCBuZXcgQm9vbGVhbih0cnVlKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzE6ICgiMSIgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkIHwgIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8ICIxIikpKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCIxIikgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IHVuZGVmaW5lZCkpKTsKfQoKLy9DSEVDSyM0CmlmICgodW5kZWZpbmVkIHwgbmV3IFN0cmluZygiMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IG5ldyBTdHJpbmcoIjEiKSkpKTsKfQoK","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIxIiB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKCIxIiB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKCIxIiB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG51bGwgfCAiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKG51bGwgfCAiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCAiMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKG5ldyBTdHJpbmcoIjEiKSB8IG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCBuZXcgU3RyaW5nKCIxIikpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfCB1bmRlZmluZWQpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfCB1bmRlZmluZWQpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCB8IHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKHVuZGVmaW5lZCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKHVuZGVmaW5lZCB8IHRydWUpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKHRydWUpIHwgdW5kZWZpbmVkKSAhPT0gMSkgewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbih0cnVlKSB8IHVuZGVmaW5lZCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCB1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCB8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgodW5kZWZpbmVkIHwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIHwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS4xMC8xMS4xMC4zL1MxMS4xMC4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHwgbnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8IG51bGwpID09PSAxLiBBY3R1YWw6ICcgKyAoKHRydWUgfCBudWxsKSkpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsIHwgdHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAobnVsbCB8IHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoKG51bGwgfCB0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgQm9vbGVhbih0cnVlKSB8IG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKHRydWUpIHwgbnVsbCkgPT09IDEuIEFjdHVhbDogJyArICgobmV3IEJvb2xlYW4odHJ1ZSkgfCBudWxsKSkpOwp9CgovL0NIRUNLIzQKaWYgKChudWxsIHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogKG51bGwgfCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IDEuIEFjdHVhbDogJyArICgobnVsbCB8IG5ldyBCb29sZWFuKHRydWUpKSkpOwp9Cgo=","commentary":"Operator x | y returns ToNumber(x) | ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.10/11.10.3/S11.10.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbEFOREV4cHJlc3Npb24gYW5kICImJiIgb3IgYmV0d2VlbiAiJiYiIGFuZCBCaXR3aXNlT1JFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoInRydWVcdTAwMDkmJlx1MDAwOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDkmJlxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ0cnVlXHUwMDBCJiZcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWVcXHUwMDBCJiZcXHUwMDBCdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJ0cnVlXHUwMDBDJiZcdTAwMEN0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKHRydWVcXHUwMDBDJiZcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgidHJ1ZVx1MDAyMCYmXHUwMDIwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMCYmXFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoInRydWVcdTAwQTAmJlx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAodHJ1ZVxcdTAwQTAmJlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJ0cnVlXHUwMDBBJiZcdTAwMEF0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKHRydWVcXHUwMDBBJiZcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJ0cnVlXHUwMDBEJiZcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEJiZcXHUwMDBEdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoZXZhbCgidHJ1ZVx1MjAyOCYmXHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICh0cnVlXFx1MjAyOCYmXFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInRydWVcdTIwMjkmJlx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAodHJ1ZVxcdTIwMjkmJlxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmJlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkmJlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between LogicalANDExpression and \"&&\" or between \"&&\" and BitwiseORExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlICYmIGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IGZhbHNlOwppZiAoKHggJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBmYWxzZTsgKHggJiYgdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh0cnVlICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7ICh0cnVlICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IHRydWU7CmlmICgoeCAmJiB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IHRydWU7ICh4ICYmIHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSB0cnVlOwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh4ICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSB0cnVlOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggJiYgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM3CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgJiYgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wJyk7Cn0KCi8vQ0hFQ0sjOAp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDA7Cm9iamVjdHkucHJvcCA9IHRydWU7CmlmICgob2JqZWN0eC5wcm9wICYmIG9iamVjdHkucHJvcCkgIT09IG9iamVjdHgucHJvcCkgewogICRFUlJPUignIzg6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMDsgb2JqZWN0eS5wcm9wID0gdHJ1ZTsgKG9iamVjdHgucHJvcCAmJiBvYmplY3R5LnByb3ApID09PSBvYmplY3R4LnByb3AnKTsKfQoK","commentary":"Operator x && y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJiYgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggJiYgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJiYgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAmJiB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x && y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0cnVlICYmIHk7CiAgJEVSUk9SKCcjMS4xOiB0cnVlICYmIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh0cnVlICYmIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHRydWUgJiYgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x && y uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICYmIHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjEvUzExLjExLjFfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlICYmIHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSAmJiB4KSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x && y uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, return false","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKCh4ID0gdHJ1ZSkgJiYgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyAoKHggPSB0cnVlKSAmJiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmYWxzZTsgCmlmICgoeCAmJiAoeCA9IHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZhbHNlOyAoeCAmJiAoeCA9IHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJiYgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAmJiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICYmIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICYmIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICYmICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICYmICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICYmICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpICYmIHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgJiYgeSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgYm9vbGVhbiBhbmQgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgJiYgdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICYmIHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICYmIGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoZmFsc2UgJiYgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChmYWxzZSAmJiBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlICYmIG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) is primitive boolean and Type(y) is changed between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKC0wICYmIC0xKSAhPT0gMCkgewogICRFUlJPUignIzEuMTogKC0wICYmIC0xKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCAmJiAtMSkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKC0wICYmIC0xKSA9PT0gLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKDAgJiYgbmV3IE51bWJlcigtMSkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiAoMCAmJiBuZXcgTnVtYmVyKC0xKSkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCAmJiBuZXcgTnVtYmVyKC0xKSkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogKDAgJiYgbmV3IE51bWJlcigtMSkpID09PSArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgoaXNOYU4oTmFOICYmIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChOYU4gJiYgMSkgPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiICYmICIxIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogKCIiICYmICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMjogKCIiICYmIG5ldyBTdHJpbmcoIjEiKSkgPT09ICIiJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB4CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMS9TMTEuMTEuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgJiYgdHJ1ZSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgJiYgdHJ1ZSkgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKChudWxsICYmIGZhbHNlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IChudWxsICYmIGZhbHNlKSA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return x","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICYmIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSAmJiBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgJiYgZmFsc2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKHRydWUpICYmICB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAobmV3IEJvb2xlYW4odHJ1ZSkgJiYgIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM1OiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgPT09IHknKTsKfQoKLy9DSEVDSyM2CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAmJiAgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7IChuZXcgQm9vbGVhbihmYWxzZSkgJiYgIHkpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgJiYgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoLTEgJiYgLTApID09PSAwJyk7Cn0gZWxzZSB7CiAgaWYgKCgxIC8gKC0xICYmIC0wKSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAoLTEgJiYgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTEgJiYgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMSAmJiAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMSAmJiAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTEgJiYgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKChpc05hTigwLjEgJiYgTmFOKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMC4xICYmIE5hTikgPT09IE5vdC1hLU51bWJlcicpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgTnVtYmVyKDApOwppZiAoKG5ldyBOdW1iZXIoLTEpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgKG5ldyBOdW1iZXIoLTEpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKChuZXcgTnVtYmVyKDApICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAobmV3IE51bWJlcigwKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKChuZXcgTnVtYmVyKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsgKG5ldyBOdW1iZXIoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIjAiICYmICItMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiMCIgJiYgIi0xIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAmJiAieCIpICE9PSAieCIpIHsKICAkRVJST1IoJyMyOiAoIi0xIiAmJiAieCIpID09PSAieCInKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gbmV3IFN0cmluZygtMSk7CmlmICgobmV3IFN0cmluZygiLTEiKSAmJiB5KSAhPT0geSkgewogICRFUlJPUignIzM6ICh2YXIgeSA9IG5ldyBTdHJpbmcoLTEpOyAobmV3IFN0cmluZygiLTEiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgU3RyaW5nKE5hTik7CmlmICgobmV3IFN0cmluZygiMCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IFN0cmluZyhOYU4pOyAobmV3IFN0cmluZygiMCIpICYmIHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeSA9IG5ldyBTdHJpbmcoIi14Iik7CmlmICgobmV3IFN0cmluZygieCIpICYmIHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNTogKHZhciB5ID0gbmV3IFN0cmluZygiLXgiKTsgKG5ldyBTdHJpbmcoIngiKSAmJiB5KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsKaWYgKChuZXcgU3RyaW5nKE5hTikgJiYgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiAodmFyIHkgPSBuZXcgU3RyaW5nKC0xKTsgKG5ldyBTdHJpbmcoTmFOKSAmJiB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4xL1MxMS4xMS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgJiYgdW5kZWZpbmVkKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgJiYgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgJiYgbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAodHJ1ZSAmJiBudWxsKSA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.1/S11.11.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgInx8IiBvciBiZXR3ZWVuICJ8fCIgYW5kIExvZ2ljYWxBTkRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoKGV2YWwoImZhbHNlXHUwMDA5fHxcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOXx8XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCfHxcdTAwMEJ0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlXFx1MDAwQnx8XFx1MDAwQnRydWUpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmICgoZXZhbCgiZmFsc2VcdTAwMEN8fFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDfHxcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjB8fFx1MDAyMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2VcXHUwMDIwfHxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTB8fFx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoZmFsc2VcXHUwMEEwfHxcXHUwMEEwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoZXZhbCgiZmFsc2VcdTAwMEF8fFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBfHxcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKChldmFsKCJmYWxzZVx1MDAwRHx8XHUwMDBEdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChmYWxzZVxcdTAwMER8fFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOHx8XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjh8fFxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOXx8XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjl8fFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9CgoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fHxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IChmYWxzZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXx8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between LogicalORExpression and \"||\" or between \"||\" and LogicalANDExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSB8fCBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgdHJ1ZSkgIT09IHgpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCB0cnVlKSA9PT0geCcpOwp9CgovL0NIRUNLIzQKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB5ID0gQm9vbGVhbih0cnVlKTsgKGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IHkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IHkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IGZhbHNlOwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKHggfHwgeSkgIT09IHkpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IGZhbHNlOyB2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCB5KSA9PT0geScpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSBmYWxzZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IGZhbHNlOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wIHx8IG9iamVjdHkucHJvcCkgPT09IG9iamVjdHkucHJvcCcpOwp9CgovL0NIRUNLIzgKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxLjE7Cm9iamVjdHkucHJvcCA9IGZhbHNlOwppZiAoKG9iamVjdHgucHJvcCB8fCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R4LnByb3ApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDEuMTsgb2JqZWN0eS5wcm9wID0gZmFsc2U7IChvYmplY3R4LnByb3AgfHwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eC5wcm9wJyk7Cn0KCg==","commentary":"Operator x || y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggfHwgdHJ1ZTsKICAkRVJST1IoJyMxLjE6IHggfHwgdHJ1ZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggfHwgdHJ1ZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCB8fCB0cnVlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x || y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIGZhbHNlIGFuZCBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZmFsc2UgfHwgeTsKICAkRVJST1IoJyMxLjE6IGZhbHNlIHx8IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChmYWxzZSB8fCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBmYWxzZSB8fCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x || y uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IHx8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjExLzExLjExLjIvUzExLjExLjJfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9Cb29sZWFuKHgpIGlzIHRydWUgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHRydWUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlIHx8IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgfHwgeCkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x || y uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, return true","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsgCmlmICgoKHggPSBmYWxzZSkgfHwgeCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyAoKHggPSBmYWxzZSkgfHwgeCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IHRydWU7IAppZiAoKHggfHwgKHggPSBmYWxzZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB0cnVlOyAoeCB8fCAoeCA9IGZhbHNlKSkgPT09IHRydWUnKTsKfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgfHwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSB8fCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIHx8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIHx8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4IHx8ICh4ID0gdHJ1ZSk7CiAgJEVSUk9SKCcjMS4xOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IHx8ICh4ID0gdHJ1ZSkpKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHx8ICh4ID0gdHJ1ZSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IHRydWUpIHx8IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gdHJ1ZSkgfHwgeSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","noStrict":"","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZmFsc2UgfHwgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgfHwgZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChmYWxzZSB8fCBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IGZhbHNlIHx8IHkpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKChmYWxzZSB8fCB5KSAhPT0geSkgewogICRFUlJPUignIzQ6ICh2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgZmFsc2UgfHwgeSkgPT09IHknKTsKfQoK","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgfHwgLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAoMCB8fCAtMCkgPT09IDAnKTsKfSBlbHNlIHsKICBpZiAoKDEgLyAoMCB8fCAtMCkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogKDAgfHwgLTApID09PSAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgoLTAgfHwgMCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6ICgtMCB8fCAwKSA9PT0gMCcpOwp9IGVsc2UgewogIGlmICgoMSAvICgtMCB8fCAwKSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAoLTAgfHwgMCkgPT09ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgTnVtYmVyKC0xKTsKaWYgKCgwIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcigtMSk7IDAgfHwgeSkgPT09IHknKTsKfSAKCi8vQ0hFQ0sjNAp2YXIgeSA9IG5ldyBOdW1iZXIoMCk7CmlmICgoTmFOIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjNDogKHZhciB5ID0gbmV3IE51bWJlcigwKTsgTmFOIHx8IHkpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiIHx8ICIxIikgIT09ICIxIikgewogICRFUlJPUignIzE6ICgiIiB8fCAiMSIpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IFN0cmluZygiMSIpOwppZiAoKCIiIHx8IHkpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAiIiB8fCB5KSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTEvMTEuMTEuMi9TMTEuMTEuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBvciBUeXBlKHkpIGlzIGNoYW5nZWQgYmV0d2VlbiBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSB8fCB1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgfHwgdW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlIHx8IG51bGwpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlIHx8IG51bGwpID09PSBudWxsJyk7Cn0KCg==","commentary":"If ToBoolean(x) is false, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCgodHJ1ZSB8fCB0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSB8fCB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlIHx8IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKCh4IHx8IG5ldyBCb29sZWFuKHRydWUpKSAhPT0geCkgewogICRFUlJPUignIzM6ICh2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCB8fCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNDogKHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICh4IHx8IG5ldyBCb29sZWFuKGZhbHNlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeCB8fCBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggfHwgbmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0geCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoLTEgfHwgMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogKC0xIHx8IDEpID09PSAtMScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIHx8IG5ldyBOdW1iZXIoMCkpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKDEgfHwgbmV3IE51bWJlcigwKSkgPT09IDEnKTsKfSAKCi8vQ0hFQ0sjMwppZiAoKC0xIHx8IE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogKC0xIHx8IE5hTikgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBOdW1iZXIoLTEpOwppZiAoKHggfHwgbmV3IE51bWJlcigwKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgTnVtYmVyKC0xKTsgKHggfHwgbmV3IE51bWJlcigtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgeCA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh4IHx8IG5ldyBOdW1iZXIoMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjNTogKHZhciB4ID0gbmV3IE51bWJlcihOYU4pOyAoeCB8fCBuZXcgTnVtYmVyKDEpKSA9PT0geCcpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgTnVtYmVyKDApOwppZiAoKHggfHwgbmV3IE51bWJlcihOYU4pKSAhPT0geCkgewogICRFUlJPUignIzY6ICh2YXIgeCA9IG5ldyBOdW1iZXIoMCk7ICh4IHx8IG5ldyBOdW1iZXIoTmFOKSkgPT09IHgnKTsKfQoK","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIi0xIiB8fCAiMSIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjLTE6ICgiLTEiIHx8ICIxIikgPT09ICItMSInKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiB8fCAieCIpICE9PSAiLTEiKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgfHwgIngiKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKHggfHwgbmV3IFN0cmluZygtMSkpICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogKHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgKHggfHwgbmV3IFN0cmluZygtMSkpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBTdHJpbmcoTmFOKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgIT09IHgpIHsKICAkRVJST1IoJyM0OiAodmFyIHggPSBuZXcgU3RyaW5nKE5hTik7ICh4IHx8IG5ldyBTdHJpbmcoIjEiKSkgPT09IHgnKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IFN0cmluZygiLXgiKTsKaWYgKCh4IHx8IG5ldyBTdHJpbmcoIngiKSkgIT09IHgpIHsKICAkRVJST1IoJyM1OiAodmFyIHggPSBuZXcgU3RyaW5nKCIteCIpOyAoeCB8fCBuZXcgU3RyaW5nKCJ4IikpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9IG5ldyBTdHJpbmcoMCk7CmlmICgoeCB8fCBuZXcgU3RyaW5nKE5hTikpICE9PSB4KSB7CiAgJEVSUk9SKCcjNjogKHZhciB4ID0gbmV3IFN0cmluZygwKTsgKHggfHwgbmV3IFN0cmluZyhOYU4pKSA9PT0geCcpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxMS8xMS4xMS8xMS4xMS4yL1MxMS4xMS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgfHwgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlIHx8IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSB8fCBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlIHx8IG51bGwpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return x","description":"Type(x) or Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.11/11.11.2/S11.11.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTG9naWNhbE9SRXhwcmVzc2lvbiBhbmQgIj8iIG9yIGJldHdlZW4gIj8iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBvciBiZXR3ZWVuIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFuZCAiOiIgb3IgYmV0d2VlbiAiOiIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDk/XHUwMDA5dHJ1ZVx1MDAwOTpcdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlXFx1MDAwOT9cXHUwMDA5dHJ1ZVxcdTAwMDk6XFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCP1x1MDAwQnRydWVcdTAwMEI6XHUwMDBCdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZVxcdTAwMEI/XFx1MDAwQnRydWVcXHUwMDBCOlxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChldmFsKCJmYWxzZVx1MDAwQz9cdTAwMEN0cnVlXHUwMDBDOlx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDP1xcdTAwMEN0cnVlXFx1MDAwQzpcXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgiZmFsc2VcdTAwMjA/XHUwMDIwdHJ1ZVx1MDAyMDpcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMD9cXHUwMDIwdHJ1ZVxcdTAwMjA6XFx1MDAyMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGV2YWwoImZhbHNlXHUwMEEwP1x1MDBBMHRydWVcdTAwQTA6XHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTA/XFx1MDBBMHRydWVcXHUwMEEwOlxcdTAwQTB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChldmFsKCJmYWxzZVx1MDAwQT9cdTAwMEF0cnVlXHUwMDBBOlx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBP1xcdTAwMEF0cnVlXFx1MDAwQTpcXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgiZmFsc2VcdTAwMEQ/XHUwMDBEdHJ1ZVx1MDAwRDpcdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKGZhbHNlXFx1MDAwRD9cXHUwMDBEdHJ1ZVxcdTAwMEQ6XFx1MDAwRHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKGV2YWwoImZhbHNlXHUyMDI4P1x1MjAyOHRydWVcdTIwMjg6XHUyMDI4dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChmYWxzZVxcdTIwMjg/XFx1MjAyOHRydWVcXHUyMDI4OlxcdTIwMjh0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChldmFsKCJmYWxzZVx1MjAyOT9cdTIwMjl0cnVlXHUyMDI5Olx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoZmFsc2VcXHUyMDI5P1xcdTIwMjl0cnVlXFx1MjAyOTpcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoKGV2YWwoImZhbHNlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5P1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk6XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk/XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between LogicalORExpression and \"?\" or between \"?\" and AssignmentExpression or between AssignmentExpression and \":\" or between \":\" and AssignmentExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.12/S11.12_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID8gZmFsc2UgOiB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IGZhbHNlIDogdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlID8gZmFsc2UgOiB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoKHggPyB5IDogdHJ1ZSkgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsgKHggPyB5IDogdHJ1ZSkgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoZmFsc2UgPyBmYWxzZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjNDogdmFyIHogPSBuZXcgQm9vbGVhbih0cnVlKTsgKGZhbHNlID8gZmFsc2UgOiB6KSA9PT0geicpOwp9CgovL0NIRUNLIzUKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSBuZXcgQm9vbGVhbihmYWxzZSk7CnZhciB6ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgoeCA/IHkgOiB6KSAhPT0geikgewogICRFUlJPUignIzY6IHZhciB4ID0gZmFsc2U7IHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOyAoeCA/IHkgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"Operator x ? y : z uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.12/S11.12_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA/IHRydWUgOiBmYWxzZTsKICAkRVJST1IoJyMxLjE6IHggPyB0cnVlIDogZmFsc2UgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID8gdHJ1ZSA6IGZhbHNlKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID8gdHJ1ZSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x ? y : z uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUgPyB5IDogZmFsc2U7CiAgJEVSUk9SKCcjMS4xOiB0cnVlID8geSA6IGZhbHNlIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAodHJ1ZSA/IHkgOiBmYWxzZSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSA/IHkgOiBmYWxzZSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is true and GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBmYWxzZSA/IHRydWUgOiB6OwogICRFUlJPUignIzEuMTogZmFsc2UgPyB0cnVlIDogeiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZhbHNlID8gdHJ1ZSA6IHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZhbHNlID8gdHJ1ZSA6IHogdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is false and GetBase(z) is null, throw ReferenceError","path":"TestCases/ch11/11.12/S11.12_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSBhbmQgR2V0QmFzZSh6KSBpcyBudWxsLCByZXR1cm4geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeSA9IG5ldyBPYmplY3QoKTsKaWYgKCh0cnVlID8geSA6IHopICE9PSB5KSB7CiAgJEVSUk9SKCcjMTogdmFyIHkgPSBuZXcgT2JqZWN0KCk7ICh0cnVlID8geSA6IHopID09PSB5Jyk7Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is true and GetBase(z) is null, return y","path":"TestCases/ch11/11.12/S11.12_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID8geSA6IHogdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEyL1MxMS4xMl9BMi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UgYW5kIEdldEJhc2UoeSkgaXMgbnVsbCwgcmV0dXJuIHoKICovCgovL0NIRUNLIzEKdmFyIHogPSBuZXcgT2JqZWN0KCk7CmlmICgoZmFsc2UgPyB5IDogeikgIT09IHopIHsKICAkRVJST1IoJyMxOiB2YXIgeiA9IG5ldyBPYmplY3QoKTsgKGZhbHNlID8geSA6IHopID09PSB6Jyk7Cn0KCg==","commentary":"Operator x ? y : z uses GetValue","description":"If ToBoolean(x) is false and GetBase(y) is null, return z","path":"TestCases/ch11/11.12/S11.12_A2.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA/IGZhbHNlIDogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoZmFsc2UgPyBmYWxzZSA6IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeiA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoKGZhbHNlID8gdHJ1ZSA6IHopICE9PSB6KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IChmYWxzZSA/IHRydWUgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are boolean primitives","path":"TestCases/ch11/11.12/S11.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPyAwIDogMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAoMCA/IDAgOiAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgTnVtYmVyKDEpOwppZiAoKDAgPyAxIDogeikgIT09IHopIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgTnVtYmVyKDEpOyAoMCA/IDEgOiB6KSA9PT0geicpOwp9Cgo=","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are number primitives","path":"TestCases/ch11/11.12/S11.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHkpIGFuZCBUeXBlKHopIGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIiID8gIiIgOiAiMSIpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAoIiIgPyAiIiA6ICIxIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSBuZXcgU3RyaW5nKCIxIik7CmlmICgoIiIgPyAiMSIgOiB6KSAhPT0geikgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsgKCIiID8gIjEiIDogeikgPT09IHonKTsKfQoK","commentary":"If ToBoolean(x) is false, return z","description":"Type(y) and Type(z) are string primitives","path":"TestCases/ch11/11.12/S11.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgZmFsc2UsIHJldHVybiB6CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTIvUzExLjEyX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIG9yIFR5cGUoeSkgaXMgY2hhbmdlZCBiZXR3ZWVuIG51bGwgYW5kIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoKGZhbHNlID8gdHJ1ZSA6IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IChmYWxzZSA/IHRydWUgOiB1bmRlZmluZWQpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPyB0cnVlIDogbnVsbCkgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiAoZmFsc2UgPyB0cnVlIDogbnVsbCkgPT09IG51bGwnKTsKfQoK","commentary":"If ToBoolean(x) is false, return z","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.12/S11.12_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIGJvb2xlYW4gcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPyBmYWxzZSA6IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlID8gZmFsc2UgOiB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB5ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgodHJ1ZSA/IHkgOiBmYWxzZSkgIT09IHkpIHsKICAkRVJST1IoJyMyOiAodmFyIHkgPSBuZXcgQm9vbGVhbih0cnVlKTsgKHRydWUgPyB5IDogZmFsc2UpID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKaWYgKCh5ID8geSA6IHRydWUpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAoeSA/IHkgOiB0cnVlKSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are boolean primitives","path":"TestCases/ch11/11.12/S11.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA/IDAgOiAxKSAhPT0gMCkgewogICRFUlJPUignIzE6ICgxID8gMCA6IDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBOdW1iZXIoMSk7CmlmICgoMSA/IHkgOiAwKSAhPT0geSkgewogICRFUlJPUignIzI6ICh2YXIgeSA9IG5ldyBOdW1iZXIoMSk7ICgxID8geSA6IDApID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IG5ldyBOdW1iZXIoTmFOKTsKaWYgKCh5ID8geSA6IDEpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IE51bWJlcihOYU4pOyAoeSA/IHkgOiAxKSA9PT0geScpOwp9Cgo=","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are number primitives","path":"TestCases/ch11/11.12/S11.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeSkgYW5kIFR5cGUoeikgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID8gIiIgOiAiMSIpICE9PSAiIikgewogICRFUlJPUignIzE6ICgiMSIgPyAiIiA6ICIxIikgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeSA9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKCgiMSIgPyB5IDogIiIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMjogKHZhciB5ID0gbmV3IFN0cmluZygiMSIpOyAoIjEiID8geSA6ICIiKSA9PT0geScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBuZXcgU3RyaW5nKCJ5Iik7CmlmICgoeSA/IHkgOiAiMSIpICE9PSB5KSB7CiAgJEVSUk9SKCcjMzogKHZhciB5ID0gbmV3IFN0cmluZygieSIpOyAoeSA/IHkgOiAiMSIpID09PSB5Jyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(y) and Type(z) are string primitives","path":"TestCases/ch11/11.12/S11.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb0Jvb2xlYW4oeCkgaXMgdHJ1ZSwgcmV0dXJuIHkKICoKICogQHBhdGggY2gxMS8xMS4xMi9TMTEuMTJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgb3IgVHlwZSh5KSBpcyBjaGFuZ2VkIGJldHdlZW4gbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA/IHVuZGVmaW5lZCA6IHRydWUpID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICgodHJ1ZSA/IG51bGwgOiB0cnVlKSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6ICh0cnVlID8gbnVsbCA6IHRydWUpID09PSBudWxsJyk7Cn0KCg==","commentary":"If ToBoolean(x) is true, return y","description":"Type(x) or Type(y) is changed between null and undefined","path":"TestCases/ch11/11.12/S11.12_A4_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkNCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIG5vdCBhIHJlZmVyZW5jZSAobnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgZXZhbCgiNDIgPSA0MiIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"PutValue operates only on references (see step 1)","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (number)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoIid4JyA9IDQyIik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (string)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBldmFsKCJ0cnVlID0gNDIiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (boolean)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMSkuDQogKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIExlZnRIYW5kU2lkZSBpcyBub3QgYSByZWZlcmVuY2UgKG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBldmFsKCJudWxsID0gNDIiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 1).","description":"simple assignment throws ReferenceError if LeftHandSide is not a reference (null)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMy5hKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS0xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSBpbiBzdHJpY3QgbW9kZSAoYmFzZSBvYmogdW5kZWZpbmVkKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzBfXy54ID0gNDI7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"PutValue operates only on references (see step 3.a).","description":"simple assignment throws ReferenceError if LeftHandSide is an unresolvable reference in strict mode (base obj undefined)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0gdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a data property with the attribute value {[[Writable]]:false} under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9IHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to an accessor property with the attribute value {[[Set]]:undefined} under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBUaGUgTGVmdEhhbmRTaWRlIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBoYXMgdGhlIHZhbHVlIGZhbHNlIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiA9IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide is a reference to a non-existent property of an object whose [[Extensible]] internal property has the value false under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFB1dFZhbHVlIG9wZXJhdGVzIG9ubHkgb24gcmVmZXJlbmNlcyAoc2VlIHN0ZXAgMy5iKS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvMTEuMTMuMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBzaW1wbGUgYXNzaWdubWVudCBjcmVhdGVzIHByb3BlcnR5IG9uIHRoZSBnbG9iYWwgb2JqZWN0IGlmIExlZnRIYW5kU2lkZSBpcyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgew0KICAgIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzEzXzFfdW5pcXVlX2lkXzNfXyA9IDQyOw0KICB9DQogIGZvbygpOw0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAnX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfMTNfMV91bmlxdWVfaWRfM19fJyk7DQogIGlmIChkZXNjLnZhbHVlID09PSA0MiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIGRlbGV0ZSBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV8xM18xX3VuaXF1ZV9pZF8zX187DQogICAgcmV0dXJuIHRydWU7DQogIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"PutValue operates only on references (see step 3.b).","description":"simple assignment creates property on the global object if LeftHandSide is an unresolvable reference","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNpbXBsZSBhc3NpZ25tZW50IHRocm93cyBUeXBlRXJyb3IgaWYgTGVmdEhhbmRTaWRlIGlzIGEgcmVhZG9ubHkgcHJvcGVydHkgaW4gc3RyaWN0IG1vZGUgKE51bWJlci5NQVhfVkFMVUUpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIE51bWJlci5NQVhfVkFMVUUgPSA0MjsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Number.MAX_VALUE)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHRyeSB7DQogICAgICBmbkdsb2JhbE9iamVjdCgpLnVuZGVmaW5lZCA9IDQyOw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.undefined)","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIHNpbXBsZSBhc3NpZ25tZW50KD0pIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGV2YWwgPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ01hdGguUEknIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KTWF0aC5QSSA9IDIwOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-28gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBhcmd1bWVudHMgPSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4xLzExLjEzLjEtNC0yOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ01hdGguUEknIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgLg0KICovDQoidXNlIHN0cmljdCI7DQpNYXRoLlBJID0gMjA7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'Math.PI' appears as the LeftHandSideExpression of simple assignment(=)","negative":".","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-29gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoR2xvYmFsLkluZmluaXR5KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHRyeSB7DQogICAgICBmbkdsb2JhbE9iamVjdCgpLkluZmluaXR5ID0gNDI7DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.Infinity)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIChQcmltYXJ5RXhwcmVzc2lvbikgb2Ygc2ltcGxlIGFzc2lnbm1lbnQoPSkgdW5kZXIgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIihldmFsKSA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gKFByaW1hcnlFeHByZXNzaW9uKSBvZiBzaW1wbGUgYXNzaWdubWVudCg9KSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIoYXJndW1lbnRzKSA9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS8xMS4xMy4xLTQtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gc2ltcGxlIGFzc2lnbm1lbnQgdGhyb3dzIFR5cGVFcnJvciBpZiBMZWZ0SGFuZFNpZGUgaXMgYSByZWFkb25seSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZSAoRnVuY3Rpb24ubGVuZ3RoKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIEZ1bmN0aW9uLmxlbmd0aCA9IDQyOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Function.length)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.1/11.13.1-4-6-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIj0iIG9yIGJldHdlZW4gIj0iIGFuZCBBc3NpZ25tZW50RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgieFx1MDAwOT1cdTAwMDl0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHhcXHUwMDA5PVxcdTAwMDl0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChldmFsKCJ4XHUwMDBCPVx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoeFxcdTAwMEI9XFx1MDAwQnRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoInhcdTAwMEM9XHUwMDBDdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh4XFx1MDAwQz1cXHUwMDBDdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZXZhbCgieFx1MDAyMD1cdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKHhcXHUwMDIwPVxcdTAwMjB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChldmFsKCJ4XHUwMEEwPVx1MDBBMHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoeFxcdTAwQTA9XFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoInhcdTAwMEE9XHUwMDBBdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICh4XFx1MDAwQT1cXHUwMDBBdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoZXZhbCgieFx1MDAwRD1cdTAwMER0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHhcXHUwMDBEPVxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJ4XHUyMDI4PVx1MjAyOHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoeFxcdTIwMjg9XFx1MjAyOHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKGV2YWwoInhcdTIwMjk9XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh4XFx1MjAyOT1cXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoKCi8vQ0hFQ0sjMTAKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"=\" or between \"=\" and AssignmentExpression are allowed","description":"Checking by using eval","noStrict":"","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEFzc2lnbWVudEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnkgPSAxOwp4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB5ID0gMTsgeCA9IHk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeSA9IDE7CnZhciB4ID0geTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeSA9IDE7IHZhciB4ID0geTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eS5wcm9wID0gMS4xOwpvYmplY3R4LnByb3AgPSBvYmplY3R5LnByb3A7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gb2JqZWN0eS5wcm9wOyBvYmplY3R4LnByb3AgPT09IG9iamVjdHkucHJvcC4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCkpOwp9IGVsc2UgewogIGlmIChvYmplY3R4ID09PSBvYmplY3R5KSB7CiAgICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA9IG9iamVjdHkucHJvcDsgb2JqZWN0eCAhPT0gb2JqZWN0eScpOwogIH0gCn0KCgo=","commentary":"Operator x = y uses GetValue and PutValue","description":"Either AssigmentExpression is not Reference or GetBase is not null","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShBc3NpZ21lbnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB5OwogICRFUlJPUignIzEuMTogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator x = y uses GetValue and PutValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSB1c2VzIEdldFZhbHVlIGFuZCBQdXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPSAxOwogICRFUlJPUignIzEuMTogMSA9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEgPSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIDEgPSAxOwogIH0KfQoK","commentary":"Operator x = y uses GetValue and PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSBQdXRWYWx1ZSh4LCB5KQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cwogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x = y PutValue(x, y)","description":"Checking Expression and Variable statements","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID0geSByZXR1cm5zIEdldFZhbHVlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMS9TMTEuMTMuMV9BMy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKCh4ID0gMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMDsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKCh4ID0gMSkpKTsKfQoK","commentary":"Operator x = y returns GetValue(y)","description":"Checking Expression and Variable statements","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjawogKi8KCi8vQ0hFQ0sjMQp4ID0geCA9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogVGhlIGV4cHJlc3Npb24geCA9IHggPSAxIGlzIHRoZSBzYW1lIHggPSAoeCA9IDEpLCBub3QgKHggPSB4KSA9IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCgoK","commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression","description":"Syntax check","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50RXhwcmVzc2lvbiA6IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBBc3NpZ25tZW50RXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjEvUzExLjEzLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFN5bnRheCBjaGVjayBpZiAieCA9IHgiIHRocm93cyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPSB4OwogICRFUlJPUignIzEuMTogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID0geCkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IHggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgoK","commentary":"AssignmentExpression : LeftHandSideExpression = AssignmentExpression","description":"Syntax check if \"x = x\" throws ReferenceError","path":"TestCases/ch11/11.13/11.13.1/S11.13.1_A4_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigqPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMSAqPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzIHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzEwIF49IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzIHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzExIHw9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzEyID0gNQ0KICAgICAgICBfMTFfMTNfMl8xMiAqPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTIgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzEzID0gNg0KICAgICAgICBfMTFfMTNfMl8xMyAvPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTMgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE0ID0gNQ0KICAgICAgICBfMTFfMTNfMl8xNCAlPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgZXZhbHVhdGVzIHRvIGEgcmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzEzXzJfMTUgPSA4DQogICAgICAgIF8xMV8xM18yXzE1ID4+Pj0gMjsNCiAgICAgICAgcmV0dXJuIF8xMV8xM18yXzE1ID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE2ID0gNQ0KICAgICAgICBfMTFfMTNfMl8xNiAtPSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTYgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfMTNfMl8xNyA9IDE7DQogICAgICAgIF8xMV8xM18yXzE3IDw8PSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMTcgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBldmFsdWF0ZXMgdG8gYSByZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfMTNfMl8xOCA9IDQNCiAgICAgICAgXzExXzEzXzJfMTggPj49IDI7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xOCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTE5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzE5ID0gLTENCiAgICAgICAgXzExXzEzXzJfMTkgKz0gMTA7DQogICAgICAgIHJldHVybiBfMTFfMTNfMl8xOSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigvPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMiAvPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIwID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMCAmPSAzOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjAgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIxID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMSBePSAzOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjEgPT09IDY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFJlZmVyZW5jZUVycm9yIGlzbid0IHRocm93biBpZiB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF8xMV8xM18yXzIyID0gNQ0KICAgICAgICBfMTFfMTNfMl8yMiB8PSAyOw0KICAgICAgICByZXR1cm4gXzExXzEzXzJfMjIgPT09IDc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to a resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTIzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgKz0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgLT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhIGRhdGEgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1dyaXRhYmxlXV06ZmFsc2V9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIDw8PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTI5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIGRhdGEgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1dyaXRhYmxlXV06ZmFsc2V9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wID4+PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvciglPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfMyAlPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tXcml0YWJsZV1dOmZhbHNlfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA+Pj49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgJj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgXj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTMzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbV3JpdGFibGVdXTpmYWxzZX0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgfD0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a data property with the attribute value {[[Writable]]:false}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICo9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIC89IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICU9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICs9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIC09IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTM5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbU2V0XV06dW5kZWZpbmVkfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA8PD0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigrPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNCArPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBhdHRyaWJ1dGUgdmFsdWUge1tbU2V0XV06dW5kZWZpbmVkfQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoucHJvcCA+Pj0gMjA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgYXR0cmlidXRlIHZhbHVlIHtbW1NldF1dOnVuZGVmaW5lZH0NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnByb3AgPj4+PSAyMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3AgPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wICY9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-42-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIF49IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-43-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIG9mIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIGF0dHJpYnV0ZSB2YWx1ZSB7W1tTZXRdXTp1bmRlZmluZWR9DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5wcm9wIHw9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference of to an accessor property with the attribute value {[[Set]]:undefined}","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-44-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gKj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(*=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-45-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gLz0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(/=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-46-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gJT0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(%=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-47-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKz0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gKz0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(+=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-48-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTQ5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoLT0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gLT0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-49-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigtPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfNSAtPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPDw9KSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBvYmplY3Qgd2hvc2UgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgcHJvcGVydHkgaWYgZmFsc2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuIDw8PSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(<<=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-50-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj49KSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBvYmplY3Qgd2hvc2UgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgcHJvcGVydHkgaWYgZmFsc2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoubGVuID4+PSAxMDsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-51-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoPj4+PSkgaXMgYSByZWZlcmVuY2UgdG8gYSBub24tZXhpc3RlbnQgcHJvcGVydHkgb2YgYW4gb2JqZWN0IHdob3NlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHByb3BlcnR5IGlmIGZhbHNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmxlbiA+Pj49IDEwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(>>>=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-52-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTUzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoJj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gJj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-53-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTU0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoXj0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gXj0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(^=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-54-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTU1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgVGhlIExlZnRIYW5kU2lkZSBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IofD0pIGlzIGEgcmVmZXJlbmNlIHRvIGEgbm9uLWV4aXN0ZW50IHByb3BlcnR5IG9mIGFuIG9iamVjdCB3aG9zZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpZiBmYWxzZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5sZW4gfD0gMTA7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(|=) is a reference to a non-existent property of an object whose [[Extensible]] internal property if false","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-55-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCo9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgKj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(*=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFyIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcihePSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIF49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(^=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFyIGFzIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcih8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIHw9IDIwOyIpOyANCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(|=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCo9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICo9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(*=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC89KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIC89IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(/=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCU9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICU9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(%=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCs9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICs9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(+=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC09KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIC09IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(-=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKDw8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA8PD0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGFyZ3VtZW50czsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA+Pj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+Pj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMgPj4+PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yLzExLjEzLjItNi0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBpZGVudGlmaWVyIGV2YWwgYXBwZWFycyBhcyB0aGUgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBvZiBhIENvbXBvdW5kIEFzc2lnbm1lbnQgb3BlcmF0b3IoKj0pDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgKj0gMjA7DQo=","commentary":"","description":"Strict Mode - SyntaxError is throw if the identifier eval appears as the LeftHandSideExpression of a Compound Assignment operator(*=)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC89KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgLz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(/=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCY9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzICY9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(&=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKF49KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIF49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(^=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKHw9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gYXJndW1lbnRzOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiYXJndW1lbnRzIHw9IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier arguments appear as the LeftHandSideExpression of a Compound Assignment operator(|=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCU9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgJT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(%=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCs9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgKz0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(+=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKC09KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgLT0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(-=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKDw8PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsIDw8PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(<<=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+PSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsID4+PSAyMDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKD4+Pj0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBldmFsOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZXZhbCA+Pj49IDIwOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGJsYWggPT09IGV2YWw7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgZXZhbCBhcHBlYXIgYXMgdGhlIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gb2YgYSBDb21wb3VuZCBBc3NpZ25tZW50IG9wZXJhdG9yKCY9KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImV2YWwgJj0gMjA7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(&=)","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig8PD0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzYgPDw9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj0pIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xMV8xM18yXzcgPj49IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcig+Pj49KSBldmFsdWF0ZXMgdG8gYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTFfMTNfMl84ID4+Pj0gMTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi8xMS4xMy4yLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIG9mIGEgQ29tcG91bmQgQXNzaWdubWVudCBvcGVyYXRvcigmPSkgZXZhbHVhdGVzIHRvIGFuIHVucmVzb2x2YWJsZSByZWZlcmVuY2UNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzExXzEzXzJfOSAmPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to an unresolvable reference","onlyStrict":"","path":"TestCases/ch11/11.13/11.13.2/11.13.2-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kj1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Kj1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQio9XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQio9XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyo9XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyo9XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAqPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAqPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwKj1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKj1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSo9XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSo9XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCo9XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCo9XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgqPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgqPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Kj1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Kj1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Kj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Xj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOV49XFx1MDAwOTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBCXj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQl49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMENePVx1MDAwQzEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgKHhcXHUwMDBDXj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjBePVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwXj1cXHUwMDIwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAxOwppZiAoKGV2YWwoInhcdTAwQTBePVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwXj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEFePVx1MDAwQTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gMTsgKHhcXHUwMDBBXj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRF49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMERePVxcdTAwMEQxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOF49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjhePVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOV49XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAxOyAoeFxcdTIwMjlePVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Xj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOV49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDAnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIGNoZWNrIG9wZXJhdG9yIGlzIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5fD1cdTAwMDkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDA7ICh4XFx1MDAwOXw9XFx1MDAwOTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDBCfD1cdTAwMEIxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDA7ICh4XFx1MDAwQnw9XFx1MDAwQjEpID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEN8PVx1MDAwQzEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMDsgKHhcXHUwMDBDfD1cXHUwMDBDMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM0CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMjB8PVx1MDAyMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMDsgKHhcXHUwMDIwfD1cXHUwMDIwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAwOwppZiAoKGV2YWwoInhcdTAwQTB8PVx1MDBBMDEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gMDsgKHhcXHUwMEEwfD1cXHUwMEEwMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM2CnggPSAwOwppZiAoKGV2YWwoInhcdTAwMEF8PVx1MDAwQTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gMDsgKHhcXHUwMDBBfD1cXHUwMDBBMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDA7CmlmICgoZXZhbCgieFx1MDAwRHw9XHUwMDBEMSIpKSAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSAwOyAoeFxcdTAwMER8PVxcdTAwMEQxKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOHw9XHUyMDI4MSIpKSAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSAwOyAoeFxcdTIwMjh8PVxcdTIwMjgxKSA9PT0gMScpOwp9CgovL0NIRUNLIzkKeCA9IDA7CmlmICgoZXZhbCgieFx1MjAyOXw9XHUyMDI5MSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAwOyAoeFxcdTIwMjl8PVxcdTIwMjkxKSA9PT0gMScpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMDsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5fD1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAwOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXw9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Lz1cdTAwMDktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5Lz1cXHUwMDA5LTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi89XHUwMDBCLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi89XFx1MDAwQi0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy89XHUwMDBDLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy89XFx1MDAwQy0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAvPVx1MDAyMC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAvPVxcdTAwMjAtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLz1cdTAwQTAtMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLz1cXHUwMEEwLTEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS89XHUwMDBBLTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS89XFx1MDAwQS0xKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC89XHUwMDBELTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC89XFx1MDAwRC0xKSA9PT0gMScpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgvPVx1MjAyOC0xIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgvPVxcdTIwMjgtMSkgPT09IDEnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5Lz1cdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5Lz1cXHUyMDI5LTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Lz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMSkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Lz1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDEnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5JT1cdTAwMDktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5JT1cXHUwMDA5LTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQiU9XHUwMDBCLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQiU9XFx1MDAwQi0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQyU9XHUwMDBDLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQyU9XFx1MDAwQy0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAlPVx1MDAyMC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAlPVxcdTAwMjAtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwJT1cdTAwQTAtMSIpKSAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwJT1cXHUwMEEwLTEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQSU9XHUwMDBBLTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQSU9XFx1MDAwQS0xKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCU9XHUwMDBELTEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRCU9XFx1MDAwRC0xKSA9PT0gMCcpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjglPVx1MjAyOC0xIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjglPVxcdTIwMjgtMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5JT1cdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5JT1cXHUyMDI5LTEpID09PSAwJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5JT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5JT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjktMSkgPT09IDAnKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5Kz1cdTAwMDktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB4ID0gLTE7ICh4XFx1MDAwOSs9XFx1MDAwOS0xKSA9PT0gLTInKTsKfQoKLy9DSEVDSyMyCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDBCKz1cdTAwMEItMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQis9XFx1MDAwQi0xKSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEMrPVx1MDAwQy0xIikpICE9PSAtMikgewogICRFUlJPUignIzM6IHggPSAtMTsgKHhcXHUwMDBDKz1cXHUwMDBDLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjArPVx1MDAyMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzQ6IHggPSAtMTsgKHhcXHUwMDIwKz1cXHUwMDIwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzUKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwQTArPVx1MDBBMC0xIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwKz1cXHUwMEEwLTEpID09PSAtMicpOwp9CgovL0NIRUNLIzYKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMEErPVx1MDAwQS0xIikpICE9PSAtMikgewogICRFUlJPUignIzY6IHggPSAtMTsgKHhcXHUwMDBBKz1cXHUwMDBBLTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRCs9XHUwMDBELTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogeCA9IC0xOyAoeFxcdTAwMEQrPVxcdTAwMEQtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOCs9XHUyMDI4LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgrPVxcdTIwMjgtMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gLTE7CmlmICgoZXZhbCgieFx1MjAyOSs9XHUyMDI5LTEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjOTogeCA9IC0xOyAoeFxcdTIwMjkrPVxcdTIwMjktMSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Kz1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjktMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxMDogeCA9IC0xOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSs9XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LTEpID09PSAtMicpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5LT1cdTAwMDkxIikpICE9PSAtMikgewogICRFUlJPUignIzE6IHggPSAtMTsgKHhcXHUwMDA5LT1cXHUwMDA5MSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjMgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQi09XHUwMDBCMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB4ID0gLTE7ICh4XFx1MDAwQi09XFx1MDAwQjEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQy09XHUwMDBDMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB4ID0gLTE7ICh4XFx1MDAwQy09XFx1MDAwQzEpID09PSAtMicpOwp9CgovL0NIRUNLIzQKeCA9IC0xOwppZiAoKGV2YWwoInhcdTAwMjAtPVx1MDAyMDEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogeCA9IC0xOyAoeFxcdTAwMjAtPVxcdTAwMjAxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM1CnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMEEwLT1cdTAwQTAxIikpICE9PSAtMikgewogICRFUlJPUignIzU6IHggPSAtMTsgKHhcXHUwMEEwLT1cXHUwMEEwMSkgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwQS09XHUwMDBBMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM2OiB4ID0gLTE7ICh4XFx1MDAwQS09XFx1MDAwQTEpID09PSAtMicpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gLTE7CmlmICgoZXZhbCgieFx1MDAwRC09XHUwMDBEMSIpKSAhPT0gLTIpIHsKICAkRVJST1IoJyM3OiB4ID0gLTE7ICh4XFx1MDAwRC09XFx1MDAwRDEpID09PSAtMicpOwp9CgovL0NIRUNLIzgKeCA9IC0xOwppZiAoKGV2YWwoInhcdTIwMjgtPVx1MjAyODEiKSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjODogeCA9IC0xOyAoeFxcdTIwMjgtPVxcdTIwMjgxKSA9PT0gLTInKTsKfQoKLy9DSEVDSyM5CnggPSAtMTsKaWYgKChldmFsKCJ4XHUyMDI5LT1cdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzk6IHggPSAtMTsgKHhcXHUyMDI5LT1cXHUyMDI5MSkgPT09IC0yJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAtMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5LT1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAtMikgewogICRFUlJPUignIzEwOiB4ID0gLTE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5LT1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gLTInKTsKfQoK","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5PDw9XHUwMDA5MSIpKSAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk8PD1cXHUwMDA5MSkgPT09IDInKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI8PD1cdTAwMEIxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQjw8PVxcdTAwMEIxKSA9PT0gMicpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPDw9XHUwMDBDMSIpKSAhPT0gMikgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM8PD1cXHUwMDBDMSkgPT09IDInKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA8PD1cdTAwMjAxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMDw8PVxcdTAwMjAxKSA9PT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMDw8PVx1MDBBMDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPDw9XFx1MDBBMDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPDw9XHUwMDBBMSIpKSAhPT0gMikgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE8PD1cXHUwMDBBMSkgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRDw8PVx1MDAwRDEiKSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPDw9XFx1MDAwRDEpID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4PDw9XHUyMDI4MSIpKSAhPT0gMikgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg8PD1cXHUyMDI4MSkgPT09IDInKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk8PD1cdTIwMjkxIikpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOTw8PVxcdTIwMjkxKSA9PT0gMicpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDw9XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMikgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk8PD1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMicpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5Pj49XHUwMDA5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyAoeFxcdTAwMDk+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj1cdTAwMEIxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7ICh4XFx1MDAwQj4+PVxcdTAwMEIxKSA9PT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBDPj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj1cXHUwMDBDMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMjA+Pj1cdTAwMjAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7ICh4XFx1MDAyMD4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+PVx1MDBBMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gMTsgKHhcXHUwMEEwPj49XFx1MDBBMDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNgp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBBPj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj1cXHUwMDBBMSkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzcKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwRD4+PVx1MDAwRDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gMTsgKHhcXHUwMDBEPj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj49XHUyMDI4MSIpKSAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSAxOyAoeFxcdTIwMjg+Pj1cXHUyMDI4MSkgPT09IDAnKTsKfQoKLy9DSEVDSyM5CnggPSAxOwppZiAoKGV2YWwoInhcdTIwMjk+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+PVxcdTIwMjkxKSA9PT0gMCcpOwp9CgoKLy9DSEVDSyMxMAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj49XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gMTsgKHhcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOT4+Pj1cdTAwMDkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7ICh4XFx1MDAwOT4+Pj1cXHUwMDA5MSkgPT09IDAnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEI+Pj49XHUwMDBCMSIpKSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyAoeFxcdTAwMEI+Pj49XFx1MDAwQjEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEM+Pj49XHUwMDBDMSIpKSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEM+Pj49XFx1MDAwQzEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDIwPj4+PVx1MDAyMDEiKSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgKHhcXHUwMDIwPj4+PVxcdTAwMjAxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMD4+Pj1cdTAwQTAxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IDE7ICh4XFx1MDBBMD4+Pj1cXHUwMEEwMSkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEE+Pj49XHUwMDBBMSIpKSAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEE+Pj49XFx1MDAwQTEpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEQ+Pj49XHUwMDBEMSIpKSAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSAxOyAoeFxcdTAwMEQ+Pj49XFx1MDAwRDEpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Pj4+PVx1MjAyODEiKSkgIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gMTsgKHhcXHUyMDI4Pj4+PVxcdTIwMjgxKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKeCA9IDE7CmlmICgoZXZhbCgieFx1MjAyOT4+Pj1cdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOT4+Pj1cXHUyMDI5MSkgPT09IDAnKTsKfQoKCi8vQ0hFQ0sjMTAKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyAoeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+Pj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTGVmdEhhbmRTaWRlRXhwcmVzc2lvbiBhbmQgIkA9IiBvciBiZXR3ZWVuICJAPSIgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgY2hlY2sgb3BlcmF0b3IgaXMgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDkmPVx1MDAwOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgKHhcXHUwMDA5Jj1cXHUwMDA5MSkgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMEImPVx1MDAwQjEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgKHhcXHUwMDBCJj1cXHUwMDBCMSkgPT09IDEnKTsgIAp9CgovL0NIRUNLIzMKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQyY9XHUwMDBDMSIpKSAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAxOyAoeFxcdTAwMEMmPVxcdTAwMEMxKSA9PT0gMScpOwp9CgovL0NIRUNLIzQKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAyMCY9XHUwMDIwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyAoeFxcdTAwMjAmPVxcdTAwMjAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzUKeCA9IDE7CmlmICgoZXZhbCgieFx1MDBBMCY9XHUwMEEwMSIpKSAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSAxOyAoeFxcdTAwQTAmPVxcdTAwQTAxKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKeCA9IDE7CmlmICgoZXZhbCgieFx1MDAwQSY9XHUwMDBBMSIpKSAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSAxOyAoeFxcdTAwMEEmPVxcdTAwMEExKSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjNwp4ID0gMTsKaWYgKChldmFsKCJ4XHUwMDBEJj1cdTAwMEQxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IDE7ICh4XFx1MDAwRCY9XFx1MDAwRDEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI4Jj1cdTIwMjgxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IDE7ICh4XFx1MjAyOCY9XFx1MjAyODEpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOQp4ID0gMTsKaWYgKChldmFsKCJ4XHUyMDI5Jj1cdTIwMjkxIikpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogeCA9IDE7ICh4XFx1MjAyOSY9XFx1MjAyOTEpID09PSAxJyk7Cn0KCgovL0NIRUNLIzEwCnggPSAxOwppZiAoKGV2YWwoInhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkmPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7ICh4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Jj1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gMScpOwp9Cgo=","commentary":"White Space and Line Terminator between LeftHandSideExpression and \"@=\" or between \"@=\" and AssignmentExpression are allowed","description":"Checking by using eval, check operator is x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICo9IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4ICo9IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggKj0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAqPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IF49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCBePSAxKTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHZhciB6ID0gKHggXj0gMSk7IHogPT09IDAuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gMTsKdmFyIHogPSAoeCBePSB5KTsKaWYgKHogIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCBePSB5KTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwsIGNoZWNrIG9wZWFydG9yIGlzICJ4IHw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHogPSAoeCB8PSAxKTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB6ID0gKHggfD0gMSk7IHogPT09IDEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7CnZhciB5ID0gMTsKdmFyIHogPSAoeCB8PSB5KTsKaWYgKHogIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZhciB5ID0gMTsgdmFyIHogPSAoeCB8PSB5KTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC89IC0xKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IC89IC0xKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CnZhciB5ID0gLTE7CnZhciB6ID0gKHggLz0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAtMTsgdmFyIHogPSAoeCAvPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAtMTsKdmFyIHogPSAoeCAlPSAyKTsKaWYgKHogIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHogPSAoeCAlPSAyKTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC0xOwp2YXIgeSA9IDI7CnZhciB6ID0gKHggJT0geSk7CmlmICh6ICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gLTE7IHZhciB5ID0gMjsgdmFyIHogPSAoeCAlPSB5KTsgeiA9PT0gLTEuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggKz0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICs9IDEpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCArPSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICs9IHkpOwppZiAoeiAhPT0gMikgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICs9IHkpOyB6ID09PSAyLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggLT0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4IC09IDEpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAtPSAxKTsgeiA9PT0gMC4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IC09IHkpOwppZiAoeiAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4IC09IHkpOyB6ID09PSAwLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjYuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPDw9IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHogPSAoeCA8PD0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeiA9ICh4IDw8PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4IDw8PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA8PD0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjcuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj49IHkiCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKdmFyIHogPSAoeCA+Pj0gMSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeiA9ICh4ID4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+PSB5KTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDQ7IHZhciB5ID0gMTsgdmFyIHogPSAoeCA+Pj0geSk7IHogPT09IDIuIEFjdHVhbDogJyArICh6KSk7Cn0KCgo=","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjguanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggPj4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB6ID0gKHggPj4+PSAxKTsKaWYgKHogIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB6ID0gKHggPj4+PSAxKTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gNDsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ID4+Pj0geSk7CmlmICh6ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSA0OyB2YXIgeSA9IDE7IHZhciB6ID0gKHggPj4+PSB5KTsgeiA9PT0gMi4gQWN0dWFsOiAnICsgKHopKTsKfQoKCg==","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QxLjkuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbCwgY2hlY2sgb3BlYXJ0b3IgaXMgInggJj0geSIKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp2YXIgeiA9ICh4ICY9IDEpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHogPSAoeCAmPSAxKTsgeiA9PT0gMS4gQWN0dWFsOiAnICsgKHopKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKdmFyIHkgPSAxOwp2YXIgeiA9ICh4ICY9IHkpOwppZiAoeiAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB2YXIgeiA9ICh4ICY9IHkpOyB6ID09PSAxLiBBY3R1YWw6ICcgKyAoeikpOwp9CgoK","commentary":"Operator uses GetValue","description":"Either Type is not Reference or GetBase is not null, check opeartor is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T1.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAqPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IF49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IF49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggXj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKEFzc2lnbWVudEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IHw9IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4IHw9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IHggfD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAvPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAlPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggKz0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggKz0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCArPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggLT0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggLT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAtPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4IDw8PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA8PD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gMTsKICB2YXIgeiA9ICh4ID4+PSB5KTsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IDE7CiAgdmFyIHogPSAoeCA+Pj49IHkpOwogICRFUlJPUignIzEuMTogdmFyIHggPSAxOyB4ID4+Pj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCA+Pj49IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSAxOwogIHZhciB6ID0gKHggJj0geSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IHggJj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciB4ID0gMTsgeCAmPSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAqPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x *= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggXj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjExLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggfD0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x |= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAvPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x /= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAlPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x %= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjQuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCArPSAxKTsKICAkRVJST1IoJyMxLjE6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x += y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjUuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAtPSAxKTsKICAkRVJST1IoJyMxLjE6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x -= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjYuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPDw9IDEpOwogICRFUlJPUignIzEuMTogeCA8PD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjcuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKHggPj49IDEpOwogICRFUlJPUignIzEuMTogeCA+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjguanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICh4ID4+Pj0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+Pj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4xX1QzLjkuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoTGVmdEhhbmRTaWRlRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoeCAmPSAxKTsKICAkRVJST1IoJyMxLjE6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator uses GetValue","description":"If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x &= y\"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.1_T3.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICo9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICo9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKj0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x *= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCBePSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIF49IDEpOwogICRFUlJPUignIzEuMTogMSBePSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIF49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIF49IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x ^= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShMZWZ0SGFuZFNpZGVFeHByZXNzaW9uKSBpcyBub3QgUmVmZXJlbmNlLCB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBDaGVjayBvcGVyYXRvciBpcyAieCB8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIHw9IDEpOwogICRFUlJPUignIzEuMTogMSB8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArICh6KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIHw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIHw9IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x |= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC89IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC89IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLz0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x /= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICU9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICU9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJT0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x %= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICs9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgKz0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICs9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgKz0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgKz0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x += y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IC09IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgLT0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxIC09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgLT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgLT0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x -= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4IDw8PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxIDw8PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPDw9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxIDw8PSAxKTsKICB9Cn0KCg==","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x <<= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+PSB5IgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeiA9ICgxID4+PSAxKTsKICAkRVJST1IoJyMxLjE6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0gZWxzZSB7CiAgICB2YXIgeiA9ICgxID4+PSAxKTsKICB9Cn0KCg==","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ID4+Pj0geSIKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHogPSAoMSA+Pj49IDEpOwogICRFUlJPUignIzEuMTogMSA+Pj49IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgdmFyIHogPSAoMSA+Pj49IDEpOwogIH0KfQoK","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>>= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIFB1dFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BMi4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKExlZnRIYW5kU2lkZUV4cHJlc3Npb24pIGlzIG5vdCBSZWZlcmVuY2UsIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIENoZWNrIG9wZXJhdG9yIGlzICJ4ICY9IHkiCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB6ID0gKDEgJj0gMSk7CiAgJEVSUk9SKCcjMS4xOiAxICY9IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKHopKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgJj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvciAob3IgU3ludGF4RXJyb3IpLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfSBlbHNlIHsKICAgIHZhciB6ID0gKDEgJj0gMSk7CiAgfQp9Cgo=","commentary":"Operator uses PutValue","description":"If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x &= y\"","negative":"","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A2.2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKj0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggKj0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgKj0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICo9IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IF49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IF49IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgXj0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSBePSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFeHByZXNzaW9uIGFuZCBWYXJpYWJsZSBzdGF0ZW1lbnRzIGZvciB4IHw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAwOwp4IHw9IDE7IAppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgfD0gMDsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSB8PSAwOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggLz0gLTE7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggLz0gLTE7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IDE7CnkgLz0gLTE7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5IC89IC0xOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4ICU9IDI7IAppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4ICU9IDI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5ICU9IDI7CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAlPSAyOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggKz0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggKz0gMTsgCmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICs9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSArPSAxOwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICs9IDE7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggLT0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IC0xOwp4IC09IDE7IAppZiAoeCAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IC0xOyB4IC09IDE7IHggPT09IC0yLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeSA9IC0xOwp5IC09IDE7CmlmICh5ICE9PSAtMikgewogICRFUlJPUignIzI6IHkgPSAtMTsgeSAtPSAxOyB5ID09PSAtMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPDw9IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSAxOwp4IDw8PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSA8PD0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeSA8PD0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp4ID4+PSAxOyAKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHggPj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj0gMTsKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gNDsgeSA+Pj0gMTsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggPj4+PSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gNDsKeCA+Pj49IDE7IAppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gNDsgeCA+Pj49IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gNDsKeSA+Pj49IDE7CmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkgPj4+PSAxOyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgdXNlcyBQdXRWYWx1ZSh4LCB4IEAgeSkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0EzLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggJj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnggJj0gMTsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB4ICY9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeSAmPSAxOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHkgPSAxOyB5ICY9IDE7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x @= y uses PutValue(x, x @ y)","description":"Checking Expression and Variable statements for x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAqPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKj0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAqPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAqPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAqPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x *= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggXj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IF49IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IF49IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSBePSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgXj0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x ^= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEV4cHJlc3Npb24gYW5kIFZhcmlhYmxlIHN0YXRlbWVudHMgZm9yIHggfD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CnZhciB4MSA9ICh4IHw9IDEpOwppZiAoeDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB4MSA9ICh4IHw9IDEpOyB4MSA9PT0gMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSB8PSAwKTsKaWYgKHkxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgfD0gMCk7IHkxID09PSAxLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x |= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAvPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggLz0gLTEpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCAvPSAtMSk7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gMTsKeTEgPSAoeSAvPSAtMSk7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAvPSAtMSk7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x /= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAlPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4ICU9IDIpOwppZiAoeDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggJT0gMik7IHgxID09PSAtMS4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgJT0gMik7CmlmICh5MSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgJT0gMik7IHkxID09PSAtMS4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x %= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCArPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggKz0gMSk7CmlmICh4MSAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggKz0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICs9IDEpOwppZiAoeTEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSArPSAxKTsgeTEgPT09IDIuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x += y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAtPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTE7CnZhciB4MSA9ICh4IC09IDEpOwppZiAoeDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMTsgdmFyIHgxID0gKHggLT0gMSk7IHgxID09PSAtMi4gQWN0dWFsOiAnICsgKHgxKSk7Cn0KCi8vQ0hFQ0sjMgp5ID0gLTE7CnkxID0gKHkgLT0gMSk7CmlmICh5MSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB5ID0gLTE7IHkxID0gKHkgLT0gMSk7IHkxID09PSAtMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x -= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA8PD0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CnZhciB4MSA9ICh4IDw8PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeDEgPSAoeCA8PD0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5IDw8PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IHkxID0gKHkgPDw9IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x <<= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj0geQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDQ7CnZhciB4MSA9ICh4ID4+PSAxKTsKaWYgKHgxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSA0OyB2YXIgeDEgPSAoeCA+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+PSAxKTsKaWYgKHkxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeSA9IDQ7IHkxID0gKHkgPj49IDEpOyB5MSA9PT0gMi4gQWN0dWFsOiAnICsgKHkxKSk7Cn0KCg==","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x >>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCA+Pj49IHkKICovCgovL0NIRUNLIzEKdmFyIHggPSA0Owp2YXIgeDEgPSAoeCA+Pj49IDEpOwppZiAoeDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDQ7IHZhciB4MSA9ICh4ID4+Pj0gMSk7IHgxID09PSAyLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSA0Owp5MSA9ICh5ID4+Pj0gMSk7CmlmICh5MSAhPT0gMikgewogICRFUlJPUignIzI6IHkgPSA0OyB5MSA9ICh5ID4+Pj0gMSk7IHkxID09PSAyLiBBY3R1YWw6ICcgKyAoeTEpKTsKfQoK","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x >>>= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IEA9IHkgcmV0dXJucyB4IEAgeQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTMuMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXhwcmVzc2lvbiBhbmQgVmFyaWFibGUgc3RhdGVtZW50cyBmb3IgeCAmPSB5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHgxID0gKHggJj0gMSk7CmlmICh4MSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHgxID0gKHggJj0gMSk7IHgxID09PSAxLiBBY3R1YWw6ICcgKyAoeDEpKTsKfQoKLy9DSEVDSyMyCnkgPSAxOwp5MSA9ICh5ICY9IDEpOwppZiAoeTEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB5ID0gMTsgeTEgPSAoeSAmPSAxKTsgeTEgPT09IDEuIEFjdHVhbDogJyArICh5MSkpOwp9Cgo=","commentary":"Operator x @= y returns x @ y","description":"Checking Expression and Variable statements for x &= y","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A3.2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCBePSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IF49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IF49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4IF49IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggXj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggXj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCBePSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCBePSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IF49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggXj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggXj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggXj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCBePSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCBePSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCBePSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggXj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IF49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCBePSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCBePSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggXj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IF49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IF49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggXj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCBePSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCBePSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IF49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IF49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggXj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IF49IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggXj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IF49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IF49IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggXiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IF49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggXj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IF49IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggXj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCBePSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCBePSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggXj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x ^= y is the same as x = x ^ y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.10_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdHJ1ZTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAxOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gIjEiOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gIjEiOwp4IHw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gdW5kZWZpbmVkOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IHw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAxOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gMTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCB8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzkKeCA9ICJ4IjsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCB8PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IHw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggfD0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggfD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggfD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCB8PSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCB8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCB8PSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IHw9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9ICIxIjsgeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCB8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggfD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IHw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IHw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gIjEiOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggfD0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCB8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCB8PSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IHw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IHw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggfD0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IHw9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggfD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4IHw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IHw9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggfCB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IHw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggfD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IHw9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggfD0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCB8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCB8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggfD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x |= y is the same as x = x | y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.11_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICo9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAqPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKj0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAqPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAqPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICo9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICo9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAqPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAqPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICo9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICo9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKj0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKj0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbWQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICo9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAqPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICo9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICo9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICo9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKj0gIjEiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9ICIxIjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKj0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ICo9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAqPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICo9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICo9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAqPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICo9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAqPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAqPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICo9IHkgaXMgdGhlIHNhbWUgYXMgdGhlIHByb2R1Y3Rpb24geCA9IHggKiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4xX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAqPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAqPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICo9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICo9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAqPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x *= y is the same as the production x = x * y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC89ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAvPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLz0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLz0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLz0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAvPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLz0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC89IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAvPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAvPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC89ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC89ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gbnVsbDsgeCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLz0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC89IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAvPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAvPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC89IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAvPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC89ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLz0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAvPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLz0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC89IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAvPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC89IG51bGw7CmlmICh4ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAvPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAvPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC89IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAvPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC89IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4yX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLz0gbnVsbDsKaWYgKHggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IC89IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLz0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAvPSBudWxsOwppZiAoeCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IC89IG51bGw7IHggPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC89IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC89IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x /= y is the same as x = x / y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.2_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICU9ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAlPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICU9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICU9ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4ICU9ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAlPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAlPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICU9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggJT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICU9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAlPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAlPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICU9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICU9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICU9IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICU9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICU9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICU9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICU9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAlPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICU9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAlPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICU9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC4zX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJT0gbnVsbDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJT0gbnVsbDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAlPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICU9IG51bGw7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAlPSBudWxsOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAlPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x %= y is the same as x = x % y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggKz0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9ICIxIjsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiICsgIjEiICE9PSJ4MSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICs9ICIxIjsgeCA9PT0gIngxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggKz0gIngiOwppZiAoeCAhPT0gIjF4IikgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggKz0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggKz0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IHRydWU7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCArPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9IDE7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCArPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICs9IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggKz0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICs9IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggKz0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggKz0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICs9IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCArPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ICs9IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCArPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggKz0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCArPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICs9IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCArPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCArPSAxOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggKz0gMTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICs9ICIxIjsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCArPSAiMSI7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IDE7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSAxOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggKz0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICs9IG5ldyBOdW1iZXIoMSk7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCArPSAiMSI7CmlmICh4ICE9PSAiMTEiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggKz0gIjEiOyB4ID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCArPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gIjExIikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IE51bWJlcigxKTsgeCA9PT0gIjExIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICs9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICIxMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiICsgMSAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCArPSAxOyB4ID09PSAieDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICs9ICJ4IjsKaWYgKHggIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggKz0gIngiOyB4ID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCArPSAiMSI7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICs9IHRydWU7CmlmICh4ICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCArPSB0cnVlOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICs9ICIxIjsKaWYgKHggIT09ICJ0cnVlMSIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggKz0gIjEiOyB4ID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCArPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICs9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICs9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdHJ1ZTsKaWYgKHggIT09ICIxdHJ1ZSIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IHRydWU7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ0cnVlMSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICs9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggKz0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09ICIxdHJ1ZSIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggKz0gIjEiOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCArPSAiMSI7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gdW5kZWZpbmVkOwppZiAoeCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCArPSB1bmRlZmluZWQ7IHggPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggKz0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gInVuZGVmaW5lZDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCArPSBuZXcgU3RyaW5nKCIxIik7IHggPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICs9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggKyB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC40X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICs9IG51bGw7CmlmICh4ICE9PSAiMW51bGwiKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCArPSBudWxsOyB4ID09PSAiMW51bGwiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggKz0gIjEiOwppZiAoeCAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICs9ICIxIjsgeCA9PT0gIm51bGwxIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggKz0gbnVsbDsKaWYgKHggIT09ICIxbnVsbCIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICs9IG51bGw7IHggPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCArPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAibnVsbDEiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggKz0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAibnVsbDEiLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x += y is the same as x = x + y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.4_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4IC09ICIxIjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCAtPSAiMSI7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggLT0gIngiOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSBudWxsOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSBudWxsOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IG51bGw7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggLT0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggLT0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAtPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggLT0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAtPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4IC09ICJ4IjsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHggPSAxOyB4IC09ICJ4IjsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IC09IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAtPSAxOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAxOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgTnVtYmVyKDEpOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAtMSkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IC09IG5ldyBOdW1iZXIoMSk7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IHggLT0gdW5kZWZpbmVkOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4IC09IDE7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gMTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IE51bWJlcigxKTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAtPSBuZXcgTnVtYmVyKDEpOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4IC09IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAtPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IC09ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IC09IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggLT0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4IC09IHRydWU7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggLT0gdW5kZWZpbmVkOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gIjEiOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSAiMSI7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggLT0gIjEiOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IC09IHVuZGVmaW5lZDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IFN0cmluZygiMSIpOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IC09IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IC09IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gIjEiOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAtPSAiMSI7IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAtPSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggLT0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IC09IHVuZGVmaW5lZDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAtPSB0cnVlOwppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IC09IHRydWU7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAtPSB1bmRlZmluZWQ7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAtPSB1bmRlZmluZWQ7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggLT0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IC09IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggLSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC41X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAtPSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggLT0gdHJ1ZTsKaWYgKHggIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggLT0gdHJ1ZTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggLT0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggLT0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IC09IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAtPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x -= y is the same as x = x - y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.5_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPDw9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gMTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAxOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbmV3IE51bWJlcigxKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9ICIxIjsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPDw9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4IDw8PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9IDE7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gMTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPDw9IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPDw9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzI6IHggPSAxOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSAxOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IDE7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSAxOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gIjEiOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPDw9IG5ldyBOdW1iZXIoMSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4IDw8PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4IDw8PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPDw9ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPDw9ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4IDw8PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPDw9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA8PD0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPDw9IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4IDw8PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPDw9ICIxIjsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gIjEiOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA8PD0gdHJ1ZTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4IDw8PSB0cnVlOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4IDw8PSAiMSI7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDIpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IHRydWU7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdHJ1ZTsgeCA9PT0gMi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAyKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4IDw8PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPDw9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPDw9IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPDw9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4IDw8PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPDw9IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPDw9IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA8PD0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA8PD0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4IDw8PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4IDw8IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjZfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA8PD0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4IDw8PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4IDw8PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4IDw8PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA8PD0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4IDw8PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA8PD0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x <<= y is the same as x = x << y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.6_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdHJ1ZTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggPj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IDE7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gIjEiOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICJ4IjsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAieCI7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gIjEiOyB4ID4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSBudWxsOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggPj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gMTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIjEiOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSAiMSI7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ID4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzk6IHggPSAieCI7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMTAKeCA9IDE7CnggPj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggPj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gIjEiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9ICIxIjsKeCA+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gIjEiOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gIjEiOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9IHRydWU7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gdW5kZWZpbmVkOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IHVuZGVmaW5lZDsKeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+PSB5IGlzIHRoZSBzYW1lIGFzIHggPSB4ID4+IHkKICoKICogQHBhdGggY2gxMS8xMS4xMy8xMS4xMy4yL1MxMS4xMy4yX0E0LjdfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ID4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>= y is the same as x = x >> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.7_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHRydWU7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSAxOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgTnVtYmVyKDEpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9ICIxIjsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAieCI7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICJ4IjsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggPj4+PSAieCI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9ICIxIjsgeCA+Pj49ICJ4IjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IG51bGw7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSBudWxsOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAxOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSB0cnVlOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IDE7CnggPj4+PSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAxOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ID4+Pj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9ICIxIjsKeCA+Pj49IG5ldyBOdW1iZXIoMSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogeCA9ICIxIjsgeCA+Pj49IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IE51bWJlcigxKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM3CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBuZXcgTnVtYmVyKDEpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzgKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjODogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM5OiB4ID0gIngiOyB4ID4+Pj0gMTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAp4ID0gMTsKeCA+Pj49ICJ4IjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggPj4+PSAieCI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IDE7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAxOyB4ID4+Pj0gbnVsbDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSBudWxsOwp4ID4+Pj0gMTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCA+Pj49IHVuZGVmaW5lZDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSB1bmRlZmluZWQ7CnggPj4+PSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBOdW1iZXIoMSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAiMSI7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSAiMSI7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSAiMSI7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gdHJ1ZTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA+Pj49IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggPj4+PSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ID4+Pj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCA+Pj49IG51bGw7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCA+Pj49ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggPj4+PSBudWxsOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggPj4+PSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggPj4+PSB1bmRlZmluZWQ7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gdW5kZWZpbmVkOyB4ID4+Pj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCA+Pj49IHVuZGVmaW5lZDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSB1bmRlZmluZWQ7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gdW5kZWZpbmVkOwp4ID4+Pj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ID4+Pj0geSBpcyB0aGUgc2FtZSBhcyB4ID0geCA+Pj4geQogKgogKiBAcGF0aCBjaDExLzExLjEzLzExLjEzLjIvUzExLjEzLjJfQTQuOF9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCA+Pj49IG51bGw7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCA+Pj49IHRydWU7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IG51bGw7IHggPj4+PSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ID4+Pj0gbnVsbDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPj4+PSBudWxsOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggPj4+PSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCA+Pj49IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x >>>= y is the same as x = x >>> y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.8_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSB0cnVlOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB0cnVlOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSB0cnVlOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9IDE7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IDE7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gMTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgTnVtYmVyKDEpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9ICIxIjsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSAiMSI7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSAiMSI7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gIngiOwp4ICY9ICIxIjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gIngiOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSAiMSI7CnggJj0gIngiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzY6IHggPSAiMSI7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gbnVsbDsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IG51bGw7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gbnVsbDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSB1bmRlZmluZWQ7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSB1bmRlZmluZWQ7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IG51bGw7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IDE7IHggJj0gdHJ1ZTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQp4ID0gdHJ1ZTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM3OiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKeCA9ICIxIjsKeCAmPSAxOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gMTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnggPSAxOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gMTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IDE7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBTdHJpbmcoIjEiKTsgeCAmPSAxOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9IDE7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzQ6IHggPSAxOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM1CnggPSAiMSI7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM1OiB4ID0gIjEiOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSAiMSI7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBOdW1iZXIoMSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzcKeCA9IG5ldyBTdHJpbmcoIjEiKTsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IE51bWJlcigxKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CnggPSBuZXcgTnVtYmVyKDEpOwp4ICY9IG5ldyBTdHJpbmcoIjEiKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IE51bWJlcigxKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOQp4ID0gIngiOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9ICJ4IjsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCnggPSAxOwp4ICY9ICJ4IjsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IDE7IHggJj0gIngiOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gMTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAxOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gbnVsbDsKeCAmPSAxOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9IDE7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IE51bWJlcigxKTsKeCAmPSBudWxsOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgTnVtYmVyKDEpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBudWxsOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAxOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgeCAmPSB1bmRlZmluZWQ7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gdW5kZWZpbmVkOwp4ICY9IDE7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAxOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBOdW1iZXIoMSk7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBuZXcgTnVtYmVyKDEpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IE51bWJlcigxKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gdW5kZWZpbmVkOyB4ICY9IG5ldyBOdW1iZXIoMSk7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCnggPSB0cnVlOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSAiMSI7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gIjEiOwp4ICY9IHRydWU7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9ICIxIjsgeCAmPSB0cnVlOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9ICIxIjsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggJj0gIjEiOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzQKeCA9ICIxIjsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM0OiB4ID0gIjEiOyB4ICY9IG5ldyBCb29sZWFuKHRydWUpOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKeCA9IHRydWU7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSB0cnVlOyB4ICY9IG5ldyBTdHJpbmcoIjEiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHRydWU7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNwp4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzc6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgeCAmPSBuZXcgU3RyaW5nKCIxIik7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzg6IHggPSBuZXcgU3RyaW5nKCIxIik7IHggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCnggPSAiMSI7CnggJj0gdW5kZWZpbmVkOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSAiMSI7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSAiMSI7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogeCA9IHVuZGVmaW5lZDsgeCAmPSAiMSI7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IFN0cmluZygiMSIpOwp4ICY9IHVuZGVmaW5lZDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IFN0cmluZygiMSIpOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSB1bmRlZmluZWQ7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQp4ID0gIjEiOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9ICIxIjsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gIjEiOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBudWxsOyB4ICY9ICIxIjsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgU3RyaW5nKCIxIik7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMzOiB4ID0gbmV3IFN0cmluZygiMSIpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgU3RyaW5nKCIxIik7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IG51bGw7IHggJj0gbmV3IFN0cmluZygiMSIpOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQp4ID0gdHJ1ZTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IHRydWU7IHggJj0gdW5kZWZpbmVkOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IHVuZGVmaW5lZDsKeCAmPSB0cnVlOwppZiAoeCAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSB1bmRlZmluZWQ7IHggJj0gdHJ1ZTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMzCnggPSBuZXcgQm9vbGVhbih0cnVlKTsKeCAmPSB1bmRlZmluZWQ7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IHVuZGVmaW5lZDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CnggPSB1bmRlZmluZWQ7CnggJj0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeCA9IHVuZGVmaW5lZDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiB4ICY9IHkgaXMgdGhlIHNhbWUgYXMgeCA9IHggJiB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuMTMvMTEuMTMuMi9TMTEuMTMuMl9BNC45X1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKeCA9IHRydWU7CnggJj0gbnVsbDsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gdHJ1ZTsgeCAmPSBudWxsOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKeCA9IG51bGw7CnggJj0gdHJ1ZTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gbnVsbDsgeCAmPSB0cnVlOyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwp4ICY9IG51bGw7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBCb29sZWFuKHRydWUpOyB4ICY9IG51bGw7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gbnVsbDsKeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHggIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gbnVsbDsgeCAmPSBuZXcgQm9vbGVhbih0cnVlKTsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"The production x &= y is the same as x = x & y","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.13/11.13.2/S11.13.2_A4.9_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXhwcmVzc2lvbiBhbmQgLCBvciBiZXR3ZWVuICwgYW5kIEFzc2lnbm1lbnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmICgoZXZhbCgiZmFsc2VcdTAwMDksXHUwMDA5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChmYWxzZVxcdTAwMDksXFx1MDAwOXRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGV2YWwoImZhbHNlXHUwMDBCLFx1MDAwQnRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoZmFsc2VcXHUwMDBCLFxcdTAwMEJ0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoKGV2YWwoImZhbHNlXHUwMDBDLFx1MDAwQ3RydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoZmFsc2VcXHUwMDBDLFxcdTAwMEN0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChldmFsKCJmYWxzZVx1MDAyMCxcdTAwMjB0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKGZhbHNlXFx1MDAyMCxcXHUwMDIwdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoZXZhbCgiZmFsc2VcdTAwQTAsXHUwMEEwdHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChmYWxzZVxcdTAwQTAsXFx1MDBBMHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKGV2YWwoImZhbHNlXHUwMDBBLFx1MDAwQXRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoZmFsc2VcXHUwMDBBLFxcdTAwMEF0cnVlKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoKGV2YWwoImZhbHNlXHUwMDBELFx1MDAwRHRydWUiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoZmFsc2VcXHUwMDBELFxcdTAwMER0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChldmFsKCJmYWxzZVx1MjAyOCxcdTIwMjh0cnVlIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKGZhbHNlXFx1MjAyOCxcXHUyMDI4dHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgoZXZhbCgiZmFsc2VcdTIwMjksXHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChmYWxzZVxcdTIwMjksXFx1MjAyOXRydWUpID09PSB0cnVlJyk7Cn0KCgovL0NIRUNLIzEwCmlmICgoZXZhbCgiZmFsc2VcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjksXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5dHJ1ZSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoZmFsc2VcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjksXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5dHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between Expression and , or between , and AssignmentExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.14/S11.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoKDEsMikgIT09IDIpIHsKICAkRVJST1IoJyMxOiAoMSwyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCgxLDIpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCwgMikgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7ICh4LCAyKSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCAyKSkpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoKDEsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAoMSwgeSkgPT09IDIuIEFjdHVhbDogJyArICgoMSwgeSkpKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAyOwppZiAoKHgsIHkpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7ICh4LCB5KSA9PT0gMi4gQWN0dWFsOiAnICsgKCh4LCB5KSkpOwp9CgovL0NIRUNLIzUKdmFyIHggPSAxOwppZiAoKHgsIHgpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAxOyAoeCwgeCkgPT09IDEuIEFjdHVhbDogJyArICgoeCwgeCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gdHJ1ZTsKb2JqZWN0eS5wcm9wID0gMS4xOwppZiAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApICE9PSBvYmplY3R5LnByb3ApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IHRydWU7IG9iamVjdHkucHJvcCA9IDE7IChvYmplY3R4LnByb3AgPSBmYWxzZSwgb2JqZWN0eS5wcm9wKSA9PT0gb2JqZWN0eS5wcm9wLiBBY3R1YWw6ICcgKyAoKG9iamVjdHgucHJvcCA9IGZhbHNlLCBvYmplY3R5LnByb3ApKSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdHgucHJvcCAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzY6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gdHJ1ZTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID0gZmFsc2UsIG9iamVjdHkucHJvcDsgb2JqZWN0eC5wcm9wID09PSBmYWxzZScpOwogIH0gCn0KCgo=","commentary":"Operator uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.14/S11.14_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LCAxOwogICRFUlJPUignIzEuMTogeCwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHgsIDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgsIDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(Expression) is null, throw ReferenceError","path":"TestCases/ch11/11.14/S11.14_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMTQvUzExLjE0X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoQXNzaWdtZW50RXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLCB5OwogICRFUlJPUignIzEuMTogMSwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEsIHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEsIHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Operator uses GetValue","description":"If GetBase(AssigmentExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.14/S11.14_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21tYSBPcGVyYXRvciBldmFsdWF0ZXMgYWxsIEV4cHJlc3Npb25zIGFuZCByZXR1cm5zIHRoZSBsYXN0IG9mIHRoZW0KICoKICogQHBhdGggY2gxMS8xMS4xNC9TMTEuMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsKdmFyIHkgPSAwOwp2YXIgeiA9IDA7CmlmICgoeCA9IDEsIHkgPSAyLCB6ID0gMykgIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7IHZhciB5ID0gMDsgdmFyIHogPSAwOyAoeCA9IDEsIHkgPSAyLCB6ID0gMykgPT09IDMuIEFjdHVhbDogJyArICgoeCA9IDEsIHkgPSAyLCB6ID0gMykpKTsKfQoKdmFyIHggPSAwOwp2YXIgeSA9IDA7CnZhciB6ID0gMDsKeCA9IDEsIHkgPSAyLCB6ID0gMzsKCi8vQ0hFQ0sjMgppZiAoeCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHkgPT09IDIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeiAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgdmFyIHkgPSAwOyB2YXIgeiA9IDA7IHggPSAxLCB5ID0gMiwgeiA9IDM7IHogPT09IDMuIEFjdHVhbDogJyArICh6KSk7Cn0KCg==","commentary":"Comma Operator evaluates all Expressions and returns the last of them","description":"Checking with \"=\"","path":"TestCases/ch11/11.14/S11.14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBvciBDYWxsRXhwcmVzc2lvbiBhbmQgIi4iIGFuZCBiZXR3ZWVuICIuIiBhbmQgSWRlbnRpZmllciBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5Llx1MDAwOVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkuXFx1MDAwOVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJOdW1iZXJcdTAwMEIuXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyXFx1MDAwQi5cXHUwMDBCUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiTnVtYmVyXHUwMDBDLlx1MDAwQ1BPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlclxcdTAwMEMuXFx1MDAwQ1BPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAuXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMC5cXHUwMDIwUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMC5cdTAwQTBQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwLlxcdTAwQTBQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiTnVtYmVyXHUwMDBBLlx1MDAwQVBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlclxcdTAwMEEuXFx1MDAwQVBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIk51bWJlclx1MDAwRC5cdTAwMERQT1NJVElWRV9JTkZJTklUWSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJcXHUwMDBELlxcdTAwMERQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4Llx1MjAyOFBPU0lUSVZFX0lORklOSVRZIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjguXFx1MjAyOFBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJOdW1iZXJcdTIwMjkuXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyXFx1MjAyOS5cXHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJOdW1iZXJcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkuXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5UE9TSVRJVkVfSU5GSU5JVFkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlclxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS5cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlQT1NJVElWRV9JTkZJTklUWSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MemberExpression or CallExpression and \".\" and between \".\" and Identifier are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIlsiIGFuZCBNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uIGFuZCBiZXR3ZWVuIElkZW50aWZpZXIgYW5kICJdIiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTEuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgnTnVtYmVyW1x1MDAwOSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMDldJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlcltcXHUwMDA5IlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMDldID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCdOdW1iZXJbXHUwMDBCIlBPU0lUSVZFX0lORklOSVRZIlx1MDAwQl0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyW1xcdTAwMEIiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwQl0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQyJQT1NJVElWRV9JTkZJTklUWSJcdTAwMENdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IE51bWJlcltcXHUwMDBDIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMENdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCdOdW1iZXJbXHUwMDIwIlBPU0lUSVZFX0lORklOSVRZIlx1MDAyMF0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyW1xcdTAwMjAiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAyMF0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoJ051bWJlcltcdTAwQTAiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMEEwXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBOdW1iZXJbXFx1MDBBMCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMEEwXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgnTnVtYmVyW1x1MDAwQSJQT1NJVElWRV9JTkZJTklUWSJcdTAwMEFdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IE51bWJlcltcXHUwMDBBIlBPU0lUSVZFX0lORklOSVRZIlxcdTAwMEFdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoJ051bWJlcltcdTAwMEQiUE9TSVRJVkVfSU5GSU5JVFkiXHUwMDBEXScpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM3OiBOdW1iZXJbXFx1MDAwRCJQT1NJVElWRV9JTkZJTklUWSJcXHUwMDBEXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgnTnVtYmVyW1x1MjAyOCJQT1NJVElWRV9JTkZJTklUWSJcdTIwMjhdJykgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzg6IE51bWJlcltcXHUyMDI4IlBPU0lUSVZFX0lORklOSVRZIlxcdTIwMjhdID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCdOdW1iZXJbXHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjOTogTnVtYmVyW1xcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MjAyOV0gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCdOdW1iZXJbXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IlBPU0lUSVZFX0lORklOSVRZIlx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOV0nKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlcltcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkiUE9TSVRJVkVfSU5GSU5JVFkiXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"[\" and MemberExpression or CallExpression and between Identifier and \"]\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGFuZCBDYWxsRXhwcmVzc2lvbiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjEvUzExLjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShNZW1iZXJFeHByZXNzaW9uIG9yIENhbGxFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdFsxXTsKICAkRVJST1IoJyMxLjE6IG9iamVjdFsxXSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdFsxXSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0WzFdIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmplY3QucHJvcDsKICAkRVJST1IoJyMyLjE6IG9iamVjdC5wcm9wIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogb2JqZWN0LnByb3AgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7IAogIH0KfQoK","commentary":"MemberExpression and CallExpression uses GetValue","description":"If GetBase(MemberExpression or CallExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZS50b1N0cmluZygpICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiB0cnVlLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKHRydWUudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGZhbHNlWyJ0b1N0cmluZyJdKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMyOiBmYWxzZVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAoZmFsc2VbInRvU3RyaW5nIl0oKSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpLnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbihmYWxzZSlbInRvU3RyaW5nIl0oKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKGZhbHNlKVsidG9TdHJpbmciXSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4oZmFsc2UpWyJ0b1N0cmluZyJdKCkpKTsKfSAgCgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking Boolean case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE51bWJlciBjYXNlCiAqLwoKLy9DSEVDSyMxCmlmICgxLi50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiAxLi50b1N0cmluZygpID09PSAiMSIuIEFjdHVhbDogJyArICgxLi50b1N0cmluZygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMS4xLnRvRml4ZWQoNSkgIT09ICIxLjEwMDAwIikgewogICRFUlJPUignIzI6IDEuMS50b0ZpeGVkKDUpID09PSAiMS4xMDAwMCIuIEFjdHVhbDogJyArICgxLjEudG9GaXhlZCg1KSkpOwp9CgovL0NIRUNLIzMKaWYgKDFbInRvU3RyaW5nIl0oKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMzogMVsidG9TdHJpbmciXSgpID09PSAiMSIuIEFjdHVhbDogJyArICgxWyJ0b1N0cmluZyJdKCkpKTsKfQoKLy9DSEVDSyM0CmlmICgxLlsidG9GaXhlZCJdKDUpICE9PSAiMS4wMDAwMCIpIHsKICAkRVJST1IoJyM0OiAxLlsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArICgxLlsidG9GaXhlZCJdKDUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAobmV3IE51bWJlcigxKS50b1N0cmluZygpICE9PSAiMSIpIHsKICAkRVJST1IoJyM1OiBuZXcgTnVtYmVyKDEpLnRvU3RyaW5nKCkgPT09ICIxIi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSlbInRvRml4ZWQiXSg1KSAhPT0gIjEuMDAwMDAiKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKVsidG9GaXhlZCJdKDUpID09PSAiMS4wMDAwMCIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpWyJ0b0ZpeGVkIl0oNSkpKTsKfSAKCg==","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking Number case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZyBjYXNlOwogKi8KCi8vQ0hFQ0sjMQppZiAoImFiYzEyMyIuY2hhckF0KDUpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiAiYWJjMTIzIi5jaGFyQXQoNSkgPT09ICIzIi4gQWN0dWFsOiAnICsgKCJhYmMxMjMiLmNoYXJBdCg1KSkpOwp9CgovL0NIRUNLIzIKaWYgKCJhYmMxMjMiWyJjaGFyQXQiXSgwKSAhPT0gImEiKSB7CiAgJEVSUk9SKCcjMjogImFiYzEyMyJbImNoYXJBdCJdKDApID09PSAiYSIuIEFjdHVhbDogJyArICgiYWJjMTIzIlsiY2hhckF0Il0oMCkpKTsKfQoKLy9DSEVDSyMzCmlmICgiYWJjMTIzIi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiAiYWJjMTIzIi5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIi5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmICgiYWJjMTIzIlsibGVuZ3RoIl0gIT09IDYpIHsKICAkRVJST1IoJyM0OiAiYWJjMTIzIlsibGVuZ3RoIl0gPT09IDYuIEFjdHVhbDogJyArICgiYWJjMTIzIlsibGVuZ3RoIl0pKTsKfQoKLy9DSEVDSyM1CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM1OiBuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGggPT09IDYuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJhYmMxMjMiKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCJhYmMxMjMiKVsiY2hhckF0Il0oMikgIT09ICJjIikgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoImFiYzEyMyIpWyJjaGFyQXQiXSgyKSA9PT0gImMiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiYWJjMTIzIilbImNoYXJBdCJdKDIpKSk7Cn0gIAoK","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking String case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQudG9TdHJpbmcoKTsKICAkRVJST1IoJyMxLjE6IHVuZGVmaW5lZC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZC50b1N0cmluZygpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIHVuZGVmaW5lZFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogdW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkWyJ0b1N0cmluZyJdKCkpKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHVuZGVmaW5lZFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNZW1iZXJFeHByZXNzaW9uIGNhbGxzIFRvT2JqZWN0KE1lbWJlckV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKS4gQ2FsbEV4cHJlc3Npb24gY2FsbHMgVG9PYmplY3QoQ2FsbEV4cHJlc3Npb24pIGFuZCBUb1N0cmluZyhFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbC50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbnVsbC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGwudG9TdHJpbmcoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG51bGwudG9TdHJpbmcoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgeyAgCiAgbnVsbFsidG9TdHJpbmciXSgpOwogICRFUlJPUignIzIuMTogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG51bGxbInRvU3RyaW5nIl0oKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogbnVsbFsidG9TdHJpbmciXSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"MemberExpression calls ToObject(MemberExpression) and ToString(Expression). CallExpression calls ToObject(CallExpression) and ToString(Expression)","description":"Checking \"null\" case","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhpcyBvYmplY3QKICovCgovL0NIRUNLIzEtMzIKaWYgKHR5cGVvZiAodGhpcy5OYU4pICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxOiB0eXBlb2YgKHRoaXMuTmFOKSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydOYU4nXSAgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjogdHlwZW9mIHRoaXNbIk5hTiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuSW5maW5pdHkgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzM6IHR5cGVvZiB0aGlzLkluZmluaXR5ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0luZmluaXR5J10gID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzQ6IHR5cGVvZiB0aGlzWyJJbmZpbml0eSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMucGFyc2VJbnQgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzU6IHR5cGVvZiB0aGlzLnBhcnNlSW50ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlSW50J10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjNjogdHlwZW9mIHRoaXNbInBhcnNlSW50Il0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM3OiB0eXBlb2YgdGhpcy5wYXJzZUZsb2F0ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ3BhcnNlRmxvYXQnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM4OiB0eXBlb2YgdGhpc1sicGFyc2VGbG9hdCJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuZXNjYXBlICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyM5OiB0eXBlb2YgdGhpcy5lc2NhcGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snZXNjYXBlJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiB0aGlzWyJlc2NhcGUiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLnVuZXNjYXBlICA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxMTogdHlwZW9mIHRoaXMudW5lc2NhcGUgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1sndW5lc2NhcGUnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxMjogdHlwZW9mIHRoaXNbInVuZXNjYXBlIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5pc05hTiAgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTM6IHR5cGVvZiB0aGlzLmlzTmFOICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ2lzTmFOJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiB0aGlzWyJpc05hTiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuaXNGaW5pdGUgID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE1OiB0eXBlb2YgdGhpcy5pc0Zpbml0ZSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydpc0Zpbml0ZSddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE2OiB0eXBlb2YgdGhpc1siaXNGaW5pdGUiXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLk9iamVjdCA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMxNzogdHlwZW9mIHRoaXMuT2JqZWN0ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ09iamVjdCddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzE4OiB0eXBlb2YgdGhpc1siT2JqZWN0Il0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5OdW1iZXIgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiB0aGlzLk51bWJlciAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydOdW1iZXInXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyMDogdHlwZW9mIHRoaXNbIk51bWJlciJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuRnVuY3Rpb24gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjE6IHR5cGVvZiB0aGlzLkZ1bmN0aW9uICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0Z1bmN0aW9uJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiB0aGlzWyJGdW5jdGlvbiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuQXJyYXkgPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiB0aGlzLkFycmF5ICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ0FycmF5J10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjQ6IHR5cGVvZiB0aGlzWyJBcnJheSJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuU3RyaW5nID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI1OiB0eXBlb2YgdGhpcy5TdHJpbmcgIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snU3RyaW5nJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiB0aGlzWyJTdHJpbmciXSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzLkJvb2xlYW4gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMjc6IHR5cGVvZiB0aGlzLkJvb2xlYW4gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpc1snQm9vbGVhbiddID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzI4OiB0eXBlb2YgdGhpc1siQm9vbGVhbiJdICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXMuRGF0ZSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMyOTogdHlwZW9mIHRoaXMuRGF0ZSAhPT0gInVuZGVmaW5lZCInKTsKaWYgKHR5cGVvZiB0aGlzWydEYXRlJ10gPT09ICJ1bmRlZmluZWQiKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiB0aGlzWyJEYXRlIl0gIT09ICJ1bmRlZmluZWQiJyk7CmlmICh0eXBlb2YgdGhpcy5NYXRoID09PSAidW5kZWZpbmVkIikgICRFUlJPUignIzMxOiB0eXBlb2YgdGhpcy5NYXRoICE9PSAidW5kZWZpbmVkIicpOwppZiAodHlwZW9mIHRoaXNbJ01hdGgnXSA9PT0gInVuZGVmaW5lZCIpICAkRVJST1IoJyMzMjogdHlwZW9mIHRoaXNbIk1hdGgiXSAhPT0gInVuZGVmaW5lZCInKTsKCg==","commentary":"Check type of various properties","description":"Checking properties of this object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgb2YgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEtOAppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUgICE9PSAib2JqZWN0IikgICRFUlJPUignIzE6IHR5cGVvZiBPYmplY3QucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlICkpOwppZiAodHlwZW9mIE9iamVjdFsncHJvdG90eXBlJ10gIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE9iamVjdFsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIE9iamVjdC50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIE9iamVjdFsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3RbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgT2JqZWN0LnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgT2JqZWN0Wyd2YWx1ZU9mJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc6IHR5cGVvZiBPYmplY3QuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0LmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIE9iamVjdFsnY29uc3RydWN0b3InXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg6IHR5cGVvZiBPYmplY3RbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0WyJjb25zdHJ1Y3RvciJdICkpOwoK","commentary":"Check type of various properties","description":"Checking properties and methods of Object objects","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uWydwcm90b3R5cGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb25bInByb3RvdHlwZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ6IHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNTogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWydsZW5ndGgnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM2OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyJsZW5ndGgiXSApKTsKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoK","commentary":"Check type of various properties","description":"Checking properties of the Function object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEFycmF5IG9iamVjdAogKi8KCi8vQ0hFQ0sjMS04CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgQXJyYXkucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQXJyYXlbJ3Byb3RvdHlwZSddICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBBcnJheVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5WyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5sZW5ndGggICE9PSAibnVtYmVyIikgICRFUlJPUignIzM6IHR5cGVvZiBBcnJheS5sZW5ndGggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5Lmxlbmd0aCApKTsKaWYgKHR5cGVvZiBBcnJheVsnbGVuZ3RoJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNDogdHlwZW9mIEFycmF5WyJsZW5ndGgiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgQXJyYXlbImxlbmd0aCJdICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIEFycmF5LnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmpvaW4gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnam9pbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbImpvaW4iXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsncmV2ZXJzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTI6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInJldmVyc2UiXSApKTsKaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuc29ydCAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5zb3J0ICkpOwppZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZVsnc29ydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheS5wcm90b3R5cGVbInNvcnQiXSApKTsKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Array object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEtMjgKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmdbJ3Byb3RvdHlwZSddICAhPT0gIm9iamVjdCIpICAkRVJST1IoJyMyOiB0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nWyJwcm90b3R5cGUiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKSk7CmlmICh0eXBlb2YgU3RyaW5nWydmcm9tQ2hhckNvZGUnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OiB0eXBlb2YgU3RyaW5nWyJmcm9tQ2hhckNvZGUiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmdbImZyb21DaGFyQ29kZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b1N0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndmFsdWVPZiddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbInZhbHVlT2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzExOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnY2hhckF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMjogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJBdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEzOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydjaGFyQ29kZUF0J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNDogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImNoYXJDb2RlQXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJjaGFyQ29kZUF0Il0gKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWydpbmRleE9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJpbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsiaW5kZXhPZiJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGFzdEluZGV4T2YnXSAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxODogdHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxhc3RJbmRleE9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGFzdEluZGV4T2YiXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnNwbGl0ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3BsaXQnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIwOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsic3BsaXQiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzcGxpdCJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnc3Vic3RyaW5nJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJzdWJzdHJpbmciXSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UgKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsndG9Mb3dlckNhc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsidG9Mb3dlckNhc2UiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyJ0b0xvd2VyQ2FzZSJdICkpOwppZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNTogdHlwZW9mIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlWyd0b1VwcGVyQ2FzZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiBBcnJheS5wcm90b3R5cGUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5LnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCAgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjc6IHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLmxlbmd0aCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5sZW5ndGggKSk7CmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsnbGVuZ3RoJ10gICE9PSAibnVtYmVyIikgICRFUlJPUignIzI4OiB0eXBlb2YgU3RyaW5nLnByb3RvdHlwZVsibGVuZ3RoIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIFN0cmluZy5wcm90b3R5cGVbImxlbmd0aCJdICkpOwoKCg==","commentary":"Check type of various properties","description":"Checking properties of the String object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTgKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSAgIT09ICJvYmplY3QiKSAgICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUgKSk7CmlmICh0eXBlb2YgQm9vbGVhblsncHJvdG90eXBlJ10gICE9PSAib2JqZWN0IikgICRFUlJPUignIzI6IHR5cGVvZiBCb29sZWFuWyJwcm90b3R5cGUiXSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsicHJvdG90eXBlIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzOiB0eXBlb2YgQm9vbGVhbi5jb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBCb29sZWFuLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIEJvb2xlYW5bJ2NvbnN0cnVjdG9yJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW5bImNvbnN0cnVjdG9yIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhblsiY29uc3RydWN0b3IiXSApKTsKaWYgKHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZVsidmFsdWVPZiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlWyJ2YWx1ZU9mIl0gKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgKSk7CmlmICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbJ3RvU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4OiB0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgQm9vbGVhbi5wcm90b3R5cGVbInRvU3RyaW5nIl0gKSk7CgoK","commentary":"Check type of various properties","description":"Checking properties of the Boolean object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEtMTYKaWYgKHR5cGVvZiBOdW1iZXIuTUFYX1ZBTFVFICAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLk1BWF9WQUxVRSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ01BWF9WQUxVRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIk1BWF9WQUxVRSJdICkpOwppZiAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlci5NSU5fVkFMVUUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5NSU5fVkFMVUUgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydNSU5fVkFMVUUnXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM0OiB0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJNSU5fVkFMVUUiXSApKTsKaWYgKHR5cGVvZiBOdW1iZXIuTmFOICE9PSAibnVtYmVyIikgICRFUlJPUignIzU6IHR5cGVvZiBOdW1iZXIuTmFOID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuTmFOICkpOwppZiAodHlwZW9mIE51bWJlclsnTmFOJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlclsiTmFOIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlclsiTmFOIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAibnVtYmVyIikgICRFUlJPUignIzc6IHR5cGVvZiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApKTsKaWYgKHR5cGVvZiBOdW1iZXJbJ05FR0FUSVZFX0lORklOSVRZJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjODogdHlwZW9mIE51bWJlclsiTkVHQVRJVkVfSU5GSU5JVFkiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyWyJORUdBVElWRV9JTkZJTklUWSJdICkpOwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM5OiB0eXBlb2YgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSk7CmlmICh0eXBlb2YgTnVtYmVyWydQT1NJVElWRV9JTkZJTklUWSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzEwOiB0eXBlb2YgTnVtYmVyWyJQT1NJVElWRV9JTkZJTklUWSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXJbIlBPU0lUSVZFX0lORklOSVRZIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMTogdHlwZW9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd0b1N0cmluZyddICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ0b1N0cmluZyJdICkpOwppZiAodHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGVbImNvbnN0cnVjdG9yIl0gKSk7CmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mICAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE51bWJlci5wcm90b3R5cGUudmFsdWVPZiApKTsKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyd2YWx1ZU9mJ10gICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTY6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwoKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Number object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIE1hdGggT2JqZWN0CiAqLwoKLy9DSEVDSyMxLTUyCmlmICh0eXBlb2YgTWF0aC5FICE9PSAibnVtYmVyIikgICRFUlJPUignIzE6IHR5cGVvZiBNYXRoLkUgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguRSApKTsKaWYgKHR5cGVvZiBNYXRoWydFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMjogdHlwZW9mIE1hdGhbIkUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE4xMCAhPT0gIm51bWJlciIpICAkRVJST1IoJyMzOiB0eXBlb2YgTWF0aC5MTjEwID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLkxOMTAgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE4xMCddICE9PSAibnVtYmVyIikgICRFUlJPUignIzQ6IHR5cGVvZiBNYXRoWyJMTjEwIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIkxOMTAiXSApKTsKaWYgKHR5cGVvZiBNYXRoLkxOMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5MTjIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguTE4yICkpOwppZiAodHlwZW9mIE1hdGhbJ0xOMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzY6IHR5cGVvZiBNYXRoWyJMTjIiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE4yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5MT0cyRSAhPT0gIm51bWJlciIpICAkRVJST1IoJyM3OiB0eXBlb2YgTWF0aC5MT0cyRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cyRSApKTsKaWYgKHR5cGVvZiBNYXRoWydMT0cyRSddICE9PSAibnVtYmVyIikgICRFUlJPUignIzg6IHR5cGVvZiBNYXRoWyJMT0cyRSJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJMT0cyRSJdICkpOwppZiAodHlwZW9mIE1hdGguTE9HMTBFICE9PSAibnVtYmVyIikgICRFUlJPUignIzk6IHR5cGVvZiBNYXRoLkxPRzEwRSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5MT0cxMEUgKSk7CmlmICh0eXBlb2YgTWF0aFsnTE9HMTBFJ10gIT09ICJudW1iZXIiKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBNYXRoWyJMT0cxMEUiXSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiTE9HMTBFIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMTogdHlwZW9mIE1hdGguUEkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguUEkgKSk7CmlmICh0eXBlb2YgTWF0aFsnUEknXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxMjogdHlwZW9mIE1hdGhbIlBJIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlBJIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMV8yICE9PSAibnVtYmVyIikgICRFUlJPUignIzEzOiB0eXBlb2YgTWF0aC5TUVJUMV8yID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLlNRUlQxXzIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDFfMiddICE9PSAibnVtYmVyIikgICRFUlJPUignIzE0OiB0eXBlb2YgTWF0aFsiU1FSVDFfMiJdID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJTUVJUMV8yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5TUVJUMiAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNTogdHlwZW9mIE1hdGguU1FSVDIgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguU1FSVDIgKSk7CmlmICh0eXBlb2YgTWF0aFsnU1FSVDInXSAhPT0gIm51bWJlciIpICAkRVJST1IoJyMxNjogdHlwZW9mIE1hdGhbIlNRUlQyIl0gPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIlNRUlQyIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hYnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNzogdHlwZW9mIE1hdGguYWJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYWJzICkpOwppZiAodHlwZW9mIE1hdGhbJ2FicyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTg6IHR5cGVvZiBNYXRoWyJhYnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhYnMiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmFjb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxOTogdHlwZW9mIE1hdGguYWNvcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLmFjb3MgKSk7CmlmICh0eXBlb2YgTWF0aFsnYWNvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjA6IHR5cGVvZiBNYXRoWyJhY29zIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsiYWNvcyJdICkpOwppZiAodHlwZW9mIE1hdGguYXNpbiAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIxOiB0eXBlb2YgTWF0aC5hc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXNpbiApKTsKaWYgKHR5cGVvZiBNYXRoWydhc2luJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMjogdHlwZW9mIE1hdGhbImFzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhc2luIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5hdGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjM6IHR5cGVvZiBNYXRoLmF0YW4gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5hdGFuICkpOwppZiAodHlwZW9mIE1hdGhbJ2F0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI0OiB0eXBlb2YgTWF0aFsiYXRhbiJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImF0YW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLmF0YW4yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjU6IHR5cGVvZiBNYXRoLmF0YW4yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguYXRhbjIgKSk7CmlmICh0eXBlb2YgTWF0aFsnYXRhbjInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI2OiB0eXBlb2YgTWF0aFsiYXRhbjIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJhdGFuMiJdICkpOwppZiAodHlwZW9mIE1hdGguY2VpbCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI3OiB0eXBlb2YgTWF0aC5jZWlsID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY2VpbCApKTsKaWYgKHR5cGVvZiBNYXRoWydjZWlsJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyODogdHlwZW9mIE1hdGhbImNlaWwiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjZWlsIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5jb3MgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOTogdHlwZW9mIE1hdGguY29zID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguY29zICkpOwppZiAodHlwZW9mIE1hdGhbJ2NvcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiBNYXRoWyJjb3MiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJjb3MiXSApKTsKaWYgKHR5cGVvZiBNYXRoLmV4cCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMxOiB0eXBlb2YgTWF0aC5leHAgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5leHAgKSk7CmlmICh0eXBlb2YgTWF0aFsnZXhwJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMjogdHlwZW9mIE1hdGhbImV4cCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImV4cCJdICkpOwppZiAodHlwZW9mIE1hdGguZmxvb3IgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMzogdHlwZW9mIE1hdGguZmxvb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5mbG9vciApKTsKaWYgKHR5cGVvZiBNYXRoWydmbG9vciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzQ6IHR5cGVvZiBNYXRoWyJmbG9vciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbImZsb29yIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5sb2cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNTogdHlwZW9mIE1hdGgubG9nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgubG9nICkpOwppZiAodHlwZW9mIE1hdGhbJ2xvZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzY6IHR5cGVvZiBNYXRoWyJsb2ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJsb2ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLm1heCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM3OiB0eXBlb2YgTWF0aC5tYXggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5tYXggKSk7CmlmICh0eXBlb2YgTWF0aFsnbWF4J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzODogdHlwZW9mIE1hdGhbIm1heCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbIm1heCJdICkpOwppZiAodHlwZW9mIE1hdGgubWluICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzk6IHR5cGVvZiBNYXRoLm1pbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLm1pbiApKTsKaWYgKHR5cGVvZiBNYXRoWydtaW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQwOiB0eXBlb2YgTWF0aFsibWluIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsibWluIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5wb3cgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MTogdHlwZW9mIE1hdGgucG93ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGgucG93ICkpOwppZiAodHlwZW9mIE1hdGhbJ3BvdyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDI6IHR5cGVvZiBNYXRoWyJwb3ciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJwb3ciXSApKTsKaWYgKHR5cGVvZiBNYXRoLnJhbmRvbSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQzOiB0eXBlb2YgTWF0aC5yYW5kb20gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yYW5kb20gKSk7CmlmICh0eXBlb2YgTWF0aFsncmFuZG9tJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NDogdHlwZW9mIE1hdGhbInJhbmRvbSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJhbmRvbSJdICkpOwppZiAodHlwZW9mIE1hdGgucm91bmQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NTogdHlwZW9mIE1hdGgucm91bmQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5yb3VuZCApKTsKaWYgKHR5cGVvZiBNYXRoWydyb3VuZCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDY6IHR5cGVvZiBNYXRoWyJyb3VuZCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGhbInJvdW5kIl0gKSk7CmlmICh0eXBlb2YgTWF0aC5zaW4gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NzogdHlwZW9mIE1hdGguc2luID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIE1hdGguc2luICkpOwppZiAodHlwZW9mIE1hdGhbJ3NpbiddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDg6IHR5cGVvZiBNYXRoWyJzaW4iXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoWyJzaW4iXSApKTsKaWYgKHR5cGVvZiBNYXRoLnNxcnQgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OTogdHlwZW9mIE1hdGguc3FydCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnNxcnQgKSk7CmlmICh0eXBlb2YgTWF0aFsnc3FydCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTA6IHR5cGVvZiBNYXRoWyJzcXJ0Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsic3FydCJdICkpOwppZiAodHlwZW9mIE1hdGgudGFuICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTE6IHR5cGVvZiBNYXRoLnRhbiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoLnRhbiApKTsKaWYgKHR5cGVvZiBNYXRoWyd0YW4nXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUyOiB0eXBlb2YgTWF0aFsidGFuIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aFsidGFuIl0gKSk7CgoK","commentary":"Check type of various properties","description":"Checking properties of the Math Object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB0eXBlIG9mIHZhcmlvdXMgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4xL1MxMS4yLjFfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3BlcnRpZXMgb2YgdGhlIERhdGUgb2JqZWN0CiAqLwoKLy9DSEVDSyMxLTg2CmlmICh0eXBlb2YgRGF0ZS5wYXJzZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE6IHR5cGVvZiBEYXRlLnBhcnNlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucGFyc2UgKSk7CmlmICh0eXBlb2YgRGF0ZVsncGFyc2UnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI6IHR5cGVvZiBEYXRlWyJwYXJzZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInBhcnNlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUgIT09ICJvYmplY3QiKSAgJEVSUk9SKCcjMzogdHlwZW9mIERhdGUucHJvdG90eXBlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZSApKTsKaWYgKHR5cGVvZiBEYXRlWydwcm90b3R5cGUnXSAhPT0gIm9iamVjdCIpICAkRVJST1IoJyM0OiB0eXBlb2YgRGF0ZVsicHJvdG90eXBlIl0gPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbInByb3RvdHlwZSJdICkpOwppZiAodHlwZW9mIERhdGUuVVRDICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTogdHlwZW9mIERhdGUuVVRDID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUuVVRDICkpOwppZiAodHlwZW9mIERhdGVbJ1VUQyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjogdHlwZW9mIERhdGVbIlVUQyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGVbIlVUQyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVudnRpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydjb25zdHJ1Y3RvciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJjb25zdHJ1Y3RvciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjOTogdHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWyd0b1N0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9TdHJpbmciXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnZhbHVlT2YgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3ZhbHVlT2YnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzEyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInZhbHVlT2YiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidmFsdWVPZiJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFRpbWUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VGltZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VGltZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRUaW1lIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxNjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRZZWFyIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzE3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldEZ1bGxZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMxODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRGdWxsWWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRGdWxsWWVhciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMTk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDRnVsbFllYXInXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0Z1bGxZZWFyIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0Z1bGxZZWFyIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyMTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRNb250aCddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TW9udGgiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TW9udGgiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzIzOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ01vbnRoJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNb250aCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNb250aCJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldERhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyNTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldERhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0RGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMjY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXREYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzI3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENEYXRlJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENEYXRlIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ0RhdGUiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMyOTogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldERheSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldERheSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0RGF5Il0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldERheSJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzMxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDRGF5J10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENEYXkiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDRGF5Il0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzMzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldEhvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldEhvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0SG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0SG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ0hvdXJzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENIb3VycyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENIb3VycyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyMzNzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0TWludXRlcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjMzg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0TWludXRlcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRNaW51dGVzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzM5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRVVENNaW51dGVzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENNaW51dGVzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ01pbnV0ZXMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFNlY29uZHMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0U2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0MzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnZ2V0VVRDU2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDU2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRVVENTZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydnZXRNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzQ2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldE1pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJnZXRNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0NzogdHlwZW9mIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ2dldFVUQ01pbGxpc2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNDg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsiZ2V0VVRDTWlsbGlzZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbImdldFVUQ01pbGxpc2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFRpbWUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM0OTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFRpbWUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VGltZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VGltZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRUaW1lIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTE6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRNaWxsaXNlY29uZHMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzUyOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldE1pbGxpc2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNaWxsaXNlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1MzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ01pbGxpc2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDTWlsbGlzZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01pbGxpc2Vjb25kcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1NTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0U2Vjb25kcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0U2Vjb25kcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRTZWNvbmRzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzU3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENTZWNvbmRzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM1ODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENTZWNvbmRzIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ1NlY29uZHMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNTk6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldE1pbnV0ZXMnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzYwOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldE1pbnV0ZXMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0TWludXRlcyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2MTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDTWludXRlcyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0VVRDTWludXRlcyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENNaW51dGVzIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2MzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldEhvdXJzID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEhvdXJzICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRIb3VycyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjQ6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0SG91cnMiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0SG91cnMiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY1OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ0hvdXJzJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2NjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENIb3VycyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENIb3VycyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldERhdGUgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM2NzogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldERhdGUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0RGF0ZSddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNjg6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RGF0ZSJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXREYXRlIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzY5OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRVVENEYXRlJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3MDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENEYXRlIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ0RhdGUiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRNb250aCAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzcxOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldE1vbnRoJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3MjogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNb250aCJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRNb250aCJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzM6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0VVRDTW9udGgnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc0OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01vbnRoIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInNldFVUQ01vbnRoIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3NTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWydzZXRGdWxsWWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjNzY6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RnVsbFllYXIiXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0RnVsbFllYXIiXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzc3OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3NldFVUQ0Z1bGxZZWFyJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3ODogdHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENGdWxsWWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRVVENGdWxsWWVhciJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnNldFllYXIgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM3OTogdHlwZW9mIERhdGUucHJvdG90eXBlLnNldFllYXIgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUuc2V0WWVhciApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsnc2V0WWVhciddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODA6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsic2V0WWVhciJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJzZXRZZWFyIl0gKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4MTogdHlwZW9mIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlWyd0b0xvY2FsZVN0cmluZyddICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODI6IHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9Mb2NhbGVTdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsidG9Mb2NhbGVTdHJpbmciXSApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzgzOiB0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgKSk7CmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbJ3RvVVRDU3RyaW5nJ10gIT09ICJmdW5jdGlvbiIpICAkRVJST1IoJyM4NDogdHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b1VUQ1N0cmluZyJdID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUucHJvdG90eXBlWyJ0b1VUQ1N0cmluZyJdICkpOwppZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvR01UU3RyaW5nICE9PSAiZnVuY3Rpb24iKSAgJEVSUk9SKCcjODU6IHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZyApKTsKaWYgKHR5cGVvZiBEYXRlLnByb3RvdHlwZVsndG9HTVRTdHJpbmcnXSAhPT0gImZ1bmN0aW9uIikgICRFUlJPUignIzg2OiB0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvR01UU3RyaW5nIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRGF0ZS5wcm90b3R5cGVbInRvR01UU3RyaW5nIl0gKSk7CgoKCgo=","commentary":"Check type of various properties","description":"Checking properties of the Date object","path":"TestCases/ch11/11.2/11.2.1/S11.2.1_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE5ld0V4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyMxOiBuZXdcXHUwMDA5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJuZXdcdTAwMEJOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3XFx1MDAwQk51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJuZXdcdTAwMENOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzQ6IG5ld1xcdTAwMjBOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIm5ld1x1MDBBME51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM1OiBuZXdcXHUwMEEwTnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJuZXdcdTAwMEFOdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNzogbmV3XFx1MDAwRE51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgibmV3XHUyMDI4TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzg6IG5ld1xcdTIwMjhOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIm5ld1x1MjAyOU51bWJlciIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT0gMCkgewogICRFUlJPUignIzEwOiBuZXdcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlOdW1iZXIgPT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between \"new\" and NewExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIm5ldyIgYW5kIE1lbWJlckV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0ExLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIm5ld1x1MDAwOU51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzE6IG5ld1xcdTAwMDlOdW1iZXIgPT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIm5ld1x1MDAwQk51bWJlcigpIikgIT0gMCkgewogICRFUlJPUignIzI6IG5ld1xcdTAwMEJOdW1iZXIgPT0gMCcpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgibmV3XHUwMDBDTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMzogbmV3XFx1MDAwQ051bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgibmV3XHUwMDIwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3XFx1MDAyME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgibmV3XHUwMEEwTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNTogbmV3XFx1MDBBME51bWJlciA9PSAwJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgibmV3XHUwMDBBTnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3XFx1MDAwQU51bWJlciA9PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJuZXdcdTAwMEROdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM3OiBuZXdcXHUwMDBETnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJuZXdcdTIwMjhOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM4OiBuZXdcXHUyMDI4TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJuZXdcdTIwMjlOdW1iZXIoKSIpICE9IDApIHsKICAkRVJST1IoJyM5OiBuZXdcXHUyMDI5TnVtYmVyID09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgibmV3XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyKCkiKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ld1xcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"new\" and MemberExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAibmV3IiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShOZXdFeHByZXNzaW9uKSBvciBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMS4xOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyB4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgeCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiBuZXcgeCgpIHRocm93IFJlZmVyZW5jZUVycm9yJyk7IAogIH0KfQoK","commentary":"Operator \"new\" uses GetValue","description":"If GetBase(NewExpression) or GetBase(MemberExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm9vbGVhbiBwcmltaXRpdmUgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB0cnVlOwogICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyB0cnVlIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdHJ1ZTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHRydWU7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gdHJ1ZTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB0cnVlOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSB0cnVlOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHRydWU7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCgo=","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking boolean primitive case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bWJlciBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgMSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IDE7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gMTsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gMTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IDE7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAogIH0KfQoK","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"number primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInN0cmluZyBwcmltaXRpdmUiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgMTsKICAkRVJST1IoJyMxOiBuZXcgIjEiIHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyAiMSIgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgbmV3IHg7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAiMSI7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6IHZhciB4ID0gIjEiOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9ICIxIjsKICBuZXcgeCgpOwogICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gIjEiOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"string primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInVuZGVmaW5lZCIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjMTogbmV3IHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gdW5kZWZpbmVkOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSB1bmRlZmluZWQ7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgeCA9IHVuZGVmaW5lZDsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKE5ld0V4cHJlc3Npb24pIG9yIFR5cGUoTWVtYmVyRXhwcmVzc2lvbikgaXMgbm90IE9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjIvUzExLjIuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgIm51bGwgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG51bGw7CiAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG51bGwgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBudWxsOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG51bGw7CiAgbmV3IHgoKTsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG51bGw7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBudWxsOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKICB9Cn0KCg==","commentary":"If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError","description":"Checking \"null primitive\" case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IG5ldyBCb29sZWFuKHRydWUpOwogICRFUlJPUignIzE6IG5ldyBuZXcgQm9vbGVhbih0cnVlKSB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgbmV3IEJvb2xlYW4odHJ1ZSkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyBuZXcgeCB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKCg==","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Boolean object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IE51bWJlcigxKTsKICAkRVJST1IoJyMxOiBuZXcgbmV3IE51bWJlcigxKSB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzE6IG5ldyBuZXcgTnVtYmVyKDEpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4OwogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTnVtYmVyKDEpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTnVtYmVyKDEpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOwogIH0KfQoKCg==","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Number object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgbmV3IFN0cmluZygiMSIpOwogICRFUlJPUignIzE6IG5ldyBuZXcgU3RyaW5nKCIxIikgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IG5ldyBTdHJpbmcoIjEiKSB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsKICBuZXcgeDsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBTdHJpbmcoIjEiKTsgbmV3IHggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4IHRocm93IFR5cGVFcnJvcicpOwkKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIHZhciB4ID0gbmV3IFN0cmluZygiMSIpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IG5ldyB4KCkgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgoK","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking String object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgdGhpczsKICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBuZXcgdGhpcyB0aHJvdyBUeXBlRXJyb3InKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBuZXcgdGhpcygpOwogICRFUlJPUignIzI6IG5ldyB0aGlzKCkgdGhyb3cgVHlwZUVycm9yJyk7IAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IHRoaXMoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9Cgo=","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Global object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBOZXdFeHByZXNzaW9uIG9yIE1lbWJlckV4cHJlc3Npb24gZG9lcyBub3QgaW1wbGVtZW50IGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMi9TMTEuMi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IE1hdGg7CiAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogbmV3IE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgbmV3IG5ldyBNYXRoKCk7CiAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMjogbmV3IG5ldyBNYXRoKCkgdGhyb3cgVHlwZUVycm9yJyk7CQogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgdmFyIHggPSBuZXcgTWF0aCgpOwogIG5ldyB4KCk7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgTWF0aCgpOyBuZXcgeCgpIHRocm93IFR5cGVFcnJvcicpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzM6IHZhciB4ID0gbmV3IE1hdGgoKTsgbmV3IHgoKSB0aHJvdyBUeXBlRXJyb3InKTsgCiAgfQp9CgoK","commentary":"If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError","description":"Checking Math object case","path":"TestCases/ch11/11.2/11.2.2/S11.2.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTWVtYmVyRXhwcmVzc2lvbiBhbmQgQXJndW1lbnRzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMi8xMS4yLjMvUzExLjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiTnVtYmVyXHUwMDA5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlclxcdTAwMDkoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIk51bWJlclx1MDAwQigpIikgIT09IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXJcXHUwMDBCKCkgPT09IDAnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIk51bWJlclx1MDAwQygpIikgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXJcXHUwMDBDKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJOdW1iZXJcdTAwMjAoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyXFx1MDAyMCA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIk51bWJlclx1MDBBMCgpIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBOdW1iZXJcXHUwMEEwKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJOdW1iZXJcdTAwMEEoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyXFx1MDAwQSgpID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJOdW1iZXJcdTAwMEQoKSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyXFx1MDAwRCgpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiTnVtYmVyXHUyMDI4KCkiKSAhPT0gMCkgewogICRFUlJPUignIzg6IE51bWJlclxcdTIwMjgoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIk51bWJlclx1MjAyOSgpIikgIT09IDApIHsKICAkRVJST1IoJyM5OiBOdW1iZXJcXHUyMDI5KCkgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiTnVtYmVyXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5KCkiKSAhPT0gMCkgewogICRFUlJPUignIzEwOiBOdW1iZXJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkoKSA9PT0gMCcpOwp9Cgo=","commentary":"White Space and Line Terminator between MemberExpression and Arguments are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsRXhwcmVzc2lvbiA6IE1lbWJlckV4cHJlc3Npb24gQXJndW1lbnRzIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKE1lbWJlckV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCgpOwogICRFUlJPUignIzEuMTogeCgpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCgpKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4KCkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHgoMSwyLDMpOwogICRFUlJPUignIzIuMTogeCgxLDIsMykgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KDEsMiwzKSkpOyAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB4KDEsMiwzKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgCiAgfQp9Cgo=","commentary":"CallExpression : MemberExpression Arguments uses GetValue","description":"If GetBase(MemberExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJib29sZWFuIHByaW1pdGl2ZSIgY2FzZQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRydWUoKTsKICAgICRFUlJPUignIzEuMTogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHRydWUoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdHJ1ZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IHRydWU7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHRydWU7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSkgIAogIH0KfQoK","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"boolean primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudW1iZXIgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSgpOwogICAgJEVSUk9SKCcjMS4xOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoMSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gMTsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gMTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAxOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"number primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJzdHJpbmcgcHJpbWl0aXZlIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIjEiKCk7CiAgICAkRVJST1IoJyMxLjE6ICIxIigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCIxIigpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAiMSIoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAiMSI7CiAgeCgpOwogICAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9ICIxIjsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSAiMSI7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoK","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"string primitive\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJ1bmRlZmluZWQiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB1bmRlZmluZWQoKTsKICAgICRFUlJPUignIzEuMTogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogdW5kZWZpbmVkKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gdW5kZWZpbmVkOwogIHgoKTsKICAgICRFUlJPUignIzIuMTogdmFyIHggPSB1bmRlZmluZWQ7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiB2YXIgeCA9IHVuZGVmaW5lZDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9Cgo=","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"undefined\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGlzIG5vdCBPYmplY3QsIHRocm93IFR5cGVFcnJvcgogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi4zL1MxMS4yLjNfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nICJudWxsIiBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbnVsbCgpOwogICAgJEVSUk9SKCcjMS4xOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobnVsbCgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBudWxsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbnVsbDsKICB4KCk7CiAgICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbnVsbDsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBudWxsOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression is not Object, throw TypeError","description":"Checking \"null\" case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgbmV3IEJvb2xlYW4odHJ1ZSkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkoKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBCb29sZWFuKHRydWUpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwogIHgoKTsKICAkRVJST1IoJyMyLjE6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Boolean object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgTnVtYmVyKDEpKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgTnVtYmVyKDEpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gbmV3IE51bWJlcigxKTsKICB4KCk7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBOdW1iZXIoMSk7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IE51bWJlcigxKTsgeCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Number object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICBuZXcgU3RyaW5nKCIxIikoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBTdHJpbmcoIjEiKSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSgpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgU3RyaW5nKCIxIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CQogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7CiAgeCgpOwogICRFUlJPUignIzIuMTogdmFyIHggPSBuZXcgU3RyaW5nKCIxIik7IHgoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4KCkpKTsJCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gbmV3IFN0cmluZygiMSIpOyB4KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking String object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBHbG9iYWwgb2JqZWN0IGNhc2UKICovCgovL0NIRUNLIzEKdHJ5IHsKICB0aGlzKCk7CiAgJEVSUk9SKCcjMS4xOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAodGhpcygpKSk7CQp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0aGlzKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwkKICB9Cn0KCg==","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Global object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBNZW1iZXJFeHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDYWxsXV0gbWV0aG9kLCB0aHJvdyBUeXBlRXJyb3IKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuMy9TMTEuMi4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBNYXRoIG9iamVjdCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTWF0aCgpOwogICRFUlJPUignIzEuMTogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE1hdGgoKSkpOwkKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogTWF0aCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsJCiAgfQp9CgoK","commentary":"If MemberExpression does not implement the internal [[Call]] method, throw TypeError","description":"Checking Math object case","path":"TestCases/ch11/11.2/11.2.3/S11.2.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoKSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoK","commentary":"Arguments : ()","description":"Function is declared with no FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoKQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZnVuY3Rpb24gZl9hcmcoeCx5KSB7CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKLy9DSEVDSyMxCmlmIChmX2FyZygpLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGZfYXJnKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygpLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGZfYXJnKCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoKVswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gZl9hcmcoeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKClbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGZfYXJnKClbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbiBmX2FyZyh4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcubGVuZ3RoKSk7Cn0KCg==","commentary":"Arguments : ()","description":"Function is declared with FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBubyBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbigpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKS5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMykubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZl9hcmcoMSwyLDMpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbigpKCkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMylbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChmX2FyZygxLDIsMylbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oKSgpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzJdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZl9hcmcoMSwyLDMpWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmX2FyZyA9IGZ1bmN0aW9uKCkoKSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpWzNdKSk7Cn0KCg==","commentary":"Arguments : (ArgumentList)","description":"Function is declared with no FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0KQogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gaXMgZGVjbGFyZWQgd2l0aCBGb3JtYWxQYXJhbWV0ZXJMaXN0CiAqLwoKZl9hcmcgPSBmdW5jdGlvbih4LHkpIHsKICByZXR1cm4gYXJndW1lbnRzOwp9CgovL0NIRUNLIzEKaWYgKGZfYXJnKDEsMiwzKS5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMxOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIsMykubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyLDMpLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGZfYXJnKDEpWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSlbMF0gPT09IDEuIEFjdHVhbDogJyArIChmX2FyZygxKVswXSkpOwp9CgovL0NIRUNLIzMKaWYgKGZfYXJnKDEsMilbMV0gIT09IDIpIHsKICAkRVJST1IoJyMzOiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZygxLDIpWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoZl9hcmcoMSwyKVsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKGZfYXJnKDEsMiwzKVsyXSAhPT0gMykgewogICRFUlJPUignIzQ6IGZfYXJnID0gZnVuY3Rpb24oeCx5KSB7cmV0dXJuIGFyZ3VtZW50czt9IGZfYXJnKDEsMiwzKVsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGZfYXJnKDEsMiwzKVsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKGZfYXJnKDEsMiwzKVszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogZl9hcmcgPSBmdW5jdGlvbih4LHkpIHtyZXR1cm4gYXJndW1lbnRzO30gZl9hcmcoMSwyLDMpWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChmX2FyZygxLDIsMylbM10pKTsKfQoKLy9DSEVDSyM2CmlmIChmX2FyZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiBmX2FyZyA9IGZ1bmN0aW9uKHgseSkge3JldHVybiBhcmd1bWVudHM7fSBmX2FyZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChmX2FyZy5sZW5ndGgpKTsKfQoK","commentary":"Arguments : (ArgumentList)","description":"Function is declared with FormalParameterList","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCwgQXNzaWdubWVudEV4cHJlc3Npb24pIGlzIGEgYmFkIHN5bnRheAogKgogKiBAcGF0aCBjaDExLzExLjIvMTEuMi40L1MxMS4yLjRfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gaW5jb3JyZWN0IHN5bnRheAogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKZl9hcmcoMSwsMik7Cgo=","commentary":"Arguments : (ArgumentList : ArgumentList,, AssignmentExpression) is a bad syntax","description":"incorrect syntax","negative":"","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKZl9hcmcoeD0xLHgpOwoK","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKCkgewp9CgovL0NIRUNLIzEKdHJ5IHsKICBmX2FyZyh4LHg9MSk7CiAgJEVSUk9SKCcjMS4xOiBmdW5jdGlvbiBmX2FyZygpIHt9IGZfYXJnKHgseD0xKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGZfYXJnKHgseD0xKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4LHg9MSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCg==","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCmZ1bmN0aW9uIGZfYXJnKHgseSx6KSB7CiAgcmV0dXJuIHo7Cn0KCi8vQ0hFQ0sjMQppZiAoZl9hcmcoeD0xLHk9eCx4K3kpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gZl9hcmcoeCx5LHopIHtyZXR1cm4gejt9IGZfYXJnKHg9MSx5PXgseCt5KSA9PT0gMi4gQWN0dWFsOiAnICsgKGZfYXJnKHg9MSx5PXgseCt5KSkpOyAgICAKfQoK","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgOiAoQXJndW1lbnRMaXN0IDogQXJndW1lbnRMaXN0LCBBc3NpZ25tZW50RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS4yLzExLjIuNC9TMTEuMi40X0ExLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiBhbiBpbnRlcm5hbCBsaXN0IHdob3NlIGxlbmd0aCBpcyBvbmUgZ3JlYXRlciB0aGFuIHRoZQogKiBsZW5ndGggb2YgQXJndW1lbnRMaXN0IGFuZCB3aG9zZSBpdGVtcyBhcmUgdGhlIGl0ZW1zIG9mIEFyZ3VtZW50TGlzdCwgaW4gb3JkZXIsCiAqIGZvbGxvd2VkIGF0IHRoZSBlbmQgYnkgR2V0VmFsdWUoQXNzaWdubWVudEV4cHJlc3Npb24pLCB3aGljaCBpcyB0aGUgbGFzdCBpdGVtIG9mCiAqIHRoZSBuZXcgbGlzdAogKi8KCnZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07CnZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07CgpmdW5jdGlvbiBmX2FyZygpIHsKfQoKLy9DSEVDSyMxCnRyeSB7CiAgZl9hcmcoeCgpLHkoKSk7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IGZ1bmN0aW9uIGZfYXJnKCkge30gZl9hcmcoeCgpLHkoKSkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZl9hcmcoeCgpLHkoKSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgYXJndW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgYXJndW1lbnQnKTsKICAgfSBlbHNlIHsKICAgICBpZiAoZSAhPT0gIngiKSB7CiAgICAgICAkRVJST1IoJyMxLjM6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgZnVuY3Rpb24gZl9hcmcoKSB7fSBmX2FyZyh4KCkseSgpKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"Arguments : (ArgumentList : ArgumentList, AssignmentExpression)","description":"Return an internal list whose length is one greater than the\nlength of ArgumentList and whose items are the items of ArgumentList, in order,\nfollowed at the end by GetValue(AssignmentExpression), which is the last item of\nthe new list","path":"TestCases/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzKyspDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMrKzsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS8xMS4zLjEtMi0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBpZGVudGlmaWVyIGFyZ3VtZW50cyBhcHBlYXIgYXMgYSBQb3N0Zml4RXhwcmVzc2lvbihhcmd1bWVudHMrKykNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYXJndW1lbnRzKys7DQo=","commentary":"","description":"Strict Mode - SyntaxError is throw if the identifier arguments appear as a PostfixExpression(arguments++)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhciBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGV2YWwrKykNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsKys7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvMTEuMy4xLTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHNbLi4uXScgYXBwZWFycyBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGFyZ3VtZW50cysrKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGFyZ3VtZW50c1sxXSA9IDc7DQogICAgICAgIGFyZ3VtZW50c1sxXSsrOw0KICAgICAgICByZXR1cm4gYXJndW1lbnRzWzFdPT09ODsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments++)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.1/11.3.1-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQSsrIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Line Feed","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRCsrIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Carriage Return","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIFNlcHJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjgrKyIpOwoK","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Line Seprator","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiKysiIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYXJhZ3JhcGggc2VwYXJhdG9yCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQpldmFsKCJ2YXIgeCA9IDE7IHhcdTIwMjkrKyIpOwoK","commentary":"Line Terminator between LeftHandSideExpression and \"++\" is not allowed","description":"Checking Paragraph separator","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICIrKyIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOSsrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzE6IHZhciB4ID0gMDsgeFxcdTAwMDkrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEIrKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHhcXHUwMDBCKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CQp9CgovL0NIRUNLIzMKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwQysrOyB4IikgIT09IDEpIHsKCSRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMrKzsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMjArKzsgeCIpICE9PSAxKSB7CgkkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMEEwKys7IHgiKSAhPT0gMSkgewoJJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMCsrOyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMCsrOyB4IikgIT09IDEpIHsKICAgICRFUlJPUignIzY6IHZhciB4ID0gMDsgeFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwKys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space between LeftHandSideExpression and \"++\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgdmFyIHkgPSB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwogIH0gCn0KCi8vQ0hFQ0sjMgp0aGlzLnggPSAxOwp2YXIgeSA9IHRoaXMueCsrOyAKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMyOiB0aGlzLnggPSAxOyB2YXIgeSA9IHRoaXMueCsrOyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKdmFyIHkgPSBvYmplY3QucHJvcCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgdmFyIHkgPSBvYmplY3QucHJvcCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmICh0aGlzLnggIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IDE7IHZhciB5ID0gb2JqZWN0LnByb3ArKzsgb2JqZWN0LnByb3AgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0LnByb3ApKTsKICB9IAp9CgoKCg==","commentary":"Operator x++ uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4Kys7CiAgJEVSUk9SKCcjMS4xOiB4KysgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4KyspKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgrKyB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x++ uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMS9TMTEuMy4xX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxKys7CiAgJEVSUk9SKCcjMS4xOiAxKysgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDErKykpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSsrIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMSsrOwogIH0KfQoK","commentary":"Operator x++ uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdCsrOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdCsrOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QrKzsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0Kys7CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0Kys7IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgdmFyIHkgPSBvYmplY3QrKzsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gIGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrOyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KdmFyIHkgPSBvYmplY3QrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM2LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzYuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0Kys7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIHZhciB5ID0gb2JqZWN0Kys7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0KysgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdCsrIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHkgPSBvYmplY3QrKzsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBvYmplY3QrKyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh5KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdCsrIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x++ uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKeCsrOwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB4Kys7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCngrKzsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7IHgrKzsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAp4Kys7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHgrKzsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCngrKzsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyB4Kys7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4Kys7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyB4Kys7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAp4Kys7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAp4Kys7IAppZiAoeCAhPT0gLTEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4Kys7IHggPT09IC0xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngrKzsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyB4Kys7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCngrKzsgCmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB4Kys7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjEvUzExLjMuMV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeCsrOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeCsrOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x++ returns x = ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBmYWxzZTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBmYWxzZTsgdmFyIHkgPSB4Kys7IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKHRydWUpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gLTAuMTsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAtMC4xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAtMC4xOyB2YXIgeSA9IHgrKzsgeSA9PT0gLTAuMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigxLjEpOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigxLjEpOyB2YXIgeSA9IHgrKzsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOwp2YXIgeSA9IHgrKzsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgdmFyIHkgPSB4Kys7IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsKdmFyIHkgPSB4Kys7IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgCnZhciB5ID0geCsrOwppZiAoeSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IHZhciB5ID0geCsrOyB5ID09PSAtMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7CnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIHkgPSB4Kys7IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKdmFyIHkgPSB4Kys7CmlmICh5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2YXIgeSA9IHgrKzsgeSA9PT0gMC4gQWN0dWFsOiAnICsgKHkpKTsKfQoK","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4KysgcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4xL1MxMS4zLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgCnZhciB5ID0geCsrOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgrKzsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x++ returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.1/S11.3.1_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFyIGFzIGEgUG9zdGZpeEV4cHJlc3Npb24oYXJndW1lbnRzLS0pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJhcmd1bWVudHMtLTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhciBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGV2YWwtLSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYmxhaCA9IGV2YWw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJldmFsLS07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgYmxhaCA9PT0gZXZhbDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvMTEuMy4yLTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHNbLi4uXScgYXBwZWFycyBhcyBhIFBvc3RmaXhFeHByZXNzaW9uKGFyZ3VtZW50cy0tKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGFyZ3VtZW50c1sxXSA9IDc7DQogICAgICAgIGFyZ3VtZW50c1sxXS0tOw0KICAgICAgICByZXR1cm4gYXJndW1lbnRzWzFdPT09NjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments--)","onlyStrict":"","path":"TestCases/ch11/11.3/11.3.2/11.3.2-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIEZlZWQKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwQS0tIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Line Feed","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBDYXJyaWFnZSBSZXR1cm4KICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCmV2YWwoInZhciB4ID0gMTsgeFx1MDAwRC0tIik7Cgo=","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Carriage Return","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBQYWdlIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI4LS0iKTsKCg==","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Page separator","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lIFRlcm1pbmF0b3IgYmV0d2VlbiBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFuZCAiLS0iIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBMaW5lIHNlcGFyYXRvcgogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKZXZhbCgidmFyIHggPSAxOyB4XHUyMDI5LS0iKTsKCg==","commentary":"Line Terminator between LeftHandSideExpression and \"--\" is not allowed","description":"Checking Line separator","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBiZXR3ZWVuIExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYW5kICItLSIgYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDAwOS0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB4XFx1MDAwOS0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEItLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeFxcdTAwMEItLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMEMtLTsgeCIpICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgeFxcdTAwMEMtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB4XHUwMDIwLS07IHgiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDA7IHhcXHUwMDIwLS07IHggPT09IC0xLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgeFx1MDBBMC0tOyB4IikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB4XFx1MDBBMC0tOyB4ID09PSAtMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2YXIgeCA9IDA7IHhcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTAtLTsgeCIpICE9PSAtMSkgewogICAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB4XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTAtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space between LeftHandSideExpression and \"--\" are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKHgtLSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgeC0tID09PSAxLiBBY3R1YWw6ICcgKyAoeC0tKSk7Cn0gZWxzZSB7CiAgaWYgKHggIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IHgtLTsgeCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoKLy9DSEVDSyMyCnRoaXMueCA9IDE7CmlmICh0aGlzLngtLSAhPT0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IHRoaXMueC0tID09PSAxLiBBY3R1YWw6ICcgKyAodGhpcy54LS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdGhpcy54ID0gMTsgdGhpcy54LS07IHRoaXMueCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICh0aGlzLngpKTsKICB9IAp9CgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAxOwppZiAob2JqZWN0LnByb3AtLSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgb2JqZWN0LnByb3AtLSA9PT0gMS4gQWN0dWFsOiAnICsgKG9iamVjdC5wcm9wLS0pKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyBvYmplY3QucHJvcC0tOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator x-- uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4LS07CiAgJEVSUk9SKCcjMS4xOiB4LS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4LS0pKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHgtLSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x-- uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS4zLzExLjMuMi9TMTEuMy4yX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxLS07CiAgJEVSUk9SKCcjMS4xOiAxLS0gdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKDEtLSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMS0tIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgMS0tOwogIH0KfQoK","commentary":"Operator x-- uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB2YXIgeSA9IG9iamVjdC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB5ID0gb2JqZWN0LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHZhciB5ID0gb2JqZWN0LS07CiAgaWYgKHkgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iamVjdC0tOyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHkgPSBvYmplY3QtLTsKaWYgKHkgIT09IDEpIHsKICAkRVJST1IoJyM1LjE6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHZhciB5ID0gb2JqZWN0LS07IHkgPT09IDEuIEFjdHVhbDogJyArICh5KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS07IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgeSA9IG9iamVjdC0tOwppZiAoeSAhPT0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgdmFyIHkgPSBvYmplY3QtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLTsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgdmFyIHkgPSBvYmplY3QtLTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmplY3QtLSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqZWN0LS0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeSA9IG9iamVjdC0tOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IG9iamVjdC0tIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgb2JqZWN0LS0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x-- uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAp4LS07CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB4LS07IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgCngtLTsKaWYgKHggIT09IDAgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbihmYWxzZSk7IHgtLTsgeCA9PT0gMCAtIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAxLjE7IAp4LS07CmlmICh4ICE9PSAxLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAxLjE7IHgtLTsgeCA9PT0gMS4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgCngtLTsgCmlmICh4ICE9PSAtMC4xIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMC4xKTsgeC0tOyB4ID09PSAtMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAp4LS07IAppZiAoeCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgeC0tOyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gIngiOyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgTnVtYmVyKCItMSIpOyAKeC0tOwppZiAoeCAhPT0gLTEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOyB4LS07IHggPT09IC0xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCngtLTsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHgtLTsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKeC0tOwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IHgtLTsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuMy8xMS4zLjIvUzExLjMuMl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKeC0tOyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgeC0tOyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator x-- returns x = ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IHgtLTsgCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB0cnVlOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMS4xOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IDEuMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMS4xOyB2YXIgeSA9IHgtLTsgeSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgTnVtYmVyKC0wLjEpOwp2YXIgeSA9IHgtLTsKaWYgKHkgIT09IC0wLjEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTAuMSk7IHZhciB5ID0geC0tOyB5ID09PSAtMC4xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gIjEiOyAKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZhciB5ID0geC0tOyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CnZhciB5ID0geC0tOwppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgdmFyIHkgPSB4LS07IHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsKdmFyIHkgPSB4LS07CmlmICh5ICE9PSAtMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdmFyIHkgPSB4LS07IHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKdmFyIHg7IAp2YXIgeSA9IHgtLTsKaWYgKGlzTmFOKHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciB5ID0geC0tOyB5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh5KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG51bGw7CnZhciB5ID0geC0tOwppZiAoeSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgdmFyIHkgPSB4LS07IHkgPT09IDAuIEFjdHVhbDogJyArICh5KSk7Cn0KCg==","commentary":"Operator x-- returns ToNumber(x)","description":"If Type(x) is undefined or null","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4LS0gcmV0dXJucyBUb051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjMvMTEuMy4yL1MxMS4zLjJfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSB7fTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsKdmFyIHkgPSB4LS07IAppZiAoaXNOYU4oeSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2YXIgeSA9IHgtLTsgeSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeSkpOwp9Cgo=","commentary":"Operator x-- returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.3/11.3.2/S11.3.2_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgYXMgVW5hcnlFeHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KICB2YXIgeSA9IDI7DQogIHZhciB6ID0gMzsNCiAgDQogIGlmKCAoIWRlbGV0ZSB4IHx8IGRlbGV0ZSB5KSAmJg0KICAgICAgZGVsZXRlIGRlbGV0ZSB6KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator as UnaryExpression","path":"TestCases/ch11/11.4/11.4.1/11.4.1-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSA0MjsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (number)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyByZXR1cm5lZCB2YWx1ZSBmcm9tIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYklzRm9vQ2FsbGVkID0gZmFsc2U7DQogIHZhciBmb28gPSBmdW5jdGlvbigpe2JJc0Zvb0NhbGxlZCA9IHRydWU7fTsNCg0KICB2YXIgZCA9IGRlbGV0ZSBmb28oKTsNCiAgaWYoZCA9PT0gdHJ1ZSAmJiBiSXNGb29DYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator returns true when deleting returned value from a function","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBkZWxldGUgdHJ1ZTsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (boolean)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSAiYWJjIjsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (string)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG9iaikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IGRlbGV0ZSB7YTowfSA7DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting a non-reference (obj)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIG5vbi1yZWZlcmVuY2UgKG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBkZWxldGUgbnVsbDsNCiAgaWYgKGQgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns true when deleting a non-reference (null)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhbiB1bnJlc29sdmFibGUgcmVmZXJlbmNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8ganVzdCBjb29raW5nIHVwIGEgbG9uZy92ZXJ5TGlrZWx5IHVuaXF1ZSBuYW1lDQogIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8wX187DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting an unresolvable reference","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciB0aHJvd3MgUmVmZXJlbmNlRXJyb3Igd2hlbiBkZWxldGluZyBhbiBleHBsaWNpdGx5IHF1YWxpZmllZCB5ZXQgdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSAoYmFzZSBvYmogdW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGp1c3QgY29va2luZyB1cCBhIGxvbmcvdmVyeUxpa2VseSB1bmlxdWUgbmFtZQ0KICB0cnkNCiAgew0KICAgIHZhciBkID0gZGVsZXRlIF9fRVMzXzFfdGVzdF9zdWl0ZV90ZXN0XzExXzRfMV8zX3VuaXF1ZV9pZF8yX18ueDsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator throws ReferenceError when deleting an explicitly qualified yet unresolvable reference (base obj undefined)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhbiBleHBsaWNpdGx5IHF1YWxpZmllZCB5ZXQgdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSAocHJvcGVydHkgdW5kZWZpbmVkIGZvciBiYXNlIG9iaikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgX19FUzNfMV90ZXN0X3N1aXRlX3Rlc3RfMTFfNF8xXzNfdW5pcXVlX2lkXzNfXyA9IHt9Ow0KICB2YXIgZCA9IGRlbGV0ZSBfX0VTM18xX3Rlc3Rfc3VpdGVfdGVzdF8xMV80XzFfM191bmlxdWVfaWRfM19fLng7DQogIGlmIChkID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"delete operator returns true when deleting an explicitly qualified yet unresolvable reference (property undefined for base obj)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTMtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGFuIHVuLXJlc29sdmFibGUgcmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIG9iaiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting an un-resolvable reference","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-3-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmMiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when deleting non-configurable data property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsgDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmoucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when deleting non-configurable accessor property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpc24ndCB0aHJvd24gd2hlbiBkZWxldGluZyBjb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown when deleting configurable data property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTQtYS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpc24ndCB0aHJvd24gd2hlbiBkZWxldGluZyBjb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOyANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError isn't thrown when deleting configurable accessor property","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4-a-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIGNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkID0gZGVsZXRlIG8uZm9vOw0KICBpZiAoZCA9PT0gdHJ1ZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a configurable data property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIGZvciBwcm9wZXJ0eSAoc3RyaW5naWZ5KSBkZWZpbmVkIG9uIGJ1aWx0LWluIG9iamVjdCAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgdmFyIG8gPSBKU09OLnN0cmluZ2lmeTsNCgkgIHZhciBkZXNjOw0KCSAgdHJ5IHsNCgkgIAlkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAnc3RyaW5naWZ5JykNCgkgIH0gDQoJICBjYXRjaCAoZSkgew0KCSAgfTsNCiAgICAgIHZhciBkID0gZGVsZXRlIEpTT04uc3RyaW5naWZ5Ow0KICAgICAgaWYgKGQgPT09IHRydWUgJiYgSlNPTi5zdHJpbmdpZnkgPT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfSBmaW5hbGx5IHsNCiAgICBpZiAoZGVzYykgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICdzdHJpbmdpZnknLCBkZXNjKQ0KCWVsc2UgSlNPTi5zdHJpbmdpZnkgPSBvICAvKiB0aGlzIGJyYW5jaCBtZXNzZXMgdXAgdGhlIGF0dHJpYnV0ZXMgKi87DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true for property (stringify) defined on built-in object (JSON)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIG9uIGRlbGV0aW5nIGFyZ3VtZW50cyBwcm9wdGVydGllcyhhcmd1bWVudHMuY2FsbGVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIpDQogIHsNCiAgICByZXR1cm4gKGRlbGV0ZSBhcmd1bWVudHMuY2FsbGVlKTsgDQogIH0NCiAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzLmNhbGxlZTsNCiAgaWYoZCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHMuY2FsbGVlID09PSB1bmRlZmluZWQpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true on deleting arguments propterties(arguments.callee)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIGEgcHJvcGVydHkobGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KICB2YXIgZCA9IGRlbGV0ZSBhLmxlbmd0aA0KICBpZihkID09PSBmYWxzZSAmJiBhLmxlbmd0aCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a property(length)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSB3aGVuIGRlbGV0aW5nIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGEgPSBbMSwyLDNdDQogIGEueCA9IDEwOw0KDQogIHZhciBkID0gZGVsZXRlIGEgDQoNCiAgaWYoZCA9PT0gZmFsc2UgJiYgQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting Array object","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgQXJyYXkgZWxlbWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhID0gWzEsMiwzXQ0KICBhLnggPSAxMDsNCiAgdmFyIGQgPSBkZWxldGUgYVsxXQ0KICBpZihkID09PSB0cnVlICYmIGFbMV0gPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting Array elements","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgQXJyYXkgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhID0gWzEsMiwzXQ0KICBhLnggPSAxMDsNCiAgdmFyIGQgPSBkZWxldGUgYS54Ow0KICBpZiggZCA9PT0gdHJ1ZSAmJiBhLnggPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting Array expandos","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyBmYWxzZSBvbiBkZWxldGluZyBhcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBpZihkZWxldGUgYXJndW1lbnRzID09PSBmYWxzZSAmJiBhcmd1bWVudHMgIT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false on deleting arguments object","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBkZWxldGUgb3BlcmF0b3IgcmV0dXJucyB0cnVlIG9uIGRlbGV0aW5nIGEgYXJndW1lbnRzIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oYSxiKQ0KICB7DQogICAgdmFyIGQgPSBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgIHJldHVybiAoZCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCk7ICANCiAgfQ0KDQogIGlmKGZvbygxLDIpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true on deleting a arguments element","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIGNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gZGVmaW5lIGFuIGFjY2Vzc29yDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIA0KICB2YXIgZCA9IGRlbGV0ZSBvLmZvbzsNCiAgaWYgKGQgPT09IHRydWUgJiYgby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a configurable accessor property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7fTsNCiAgdmFyIGRlc2MgPSB7IHZhbHVlIDogMSB9OyAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIA0KICAvLyBOb3csIGRlbGV0aW5nIG8uZm9vIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdHJ5IHsNCiAgICBkZWxldGUgby5mb287DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZGVzYyA9IHsgdmFsdWUgOiAxLCBjb25maWd1cmFibGU6IGZhbHNlIH07IC8vIGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIC8vIE5vdywgZGVsZXRpbmcgby5mb28gc2hvdWxkIGZhaWwgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdmFyIGQgPSBkZWxldGUgby5mb287DQogIGlmIChkID09PSBmYWxzZSAmJiBvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgKE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBOYU4gKDE1LjEuMS4xKSBoYXMgW1tDb25maWd1cmFibGVdXSBzZXQgdG8gZmFsc2UuDQogIHZhciBkID0gZGVsZXRlIE5hTjsNCiAgaWYgKGQgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property (NaN)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgdGhlIGVudmlyb25tZW50IG9iamVjdCBpbnNpZGUgJ3dpdGgnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ueCA9IDE7DQogIHZhciBkOw0KICB3aXRoKG8pDQogIHsNCiAgICBkID0gZGVsZXRlIG87DQogIH0NCiAgaWYgKGQgPT09IGZhbHNlICYmIHR5cGVvZihvKSA9PT0gJ29iamVjdCcgJiYgby54ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting the environment object inside 'with'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgd2hlbiBkZWxldGluZyBhIHByb3BlcnR5IGluc2lkZSAnd2l0aCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby54ID0gMTsNCiAgdmFyIGQ7DQogIHdpdGgobykNCiAgew0KICAgIGQgPSBkZWxldGUgeDsNCiAgfQ0KICBpZiAoZCA9PT0gdHJ1ZSAmJiBvLnggPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true when deleting a property inside 'with'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtNy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciBpbnNpZGUgJ2V2YWwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KICB2YXIgZCA9IGV2YWwoImRlbGV0ZSB4Iik7DQogIGlmIChkID09PSBmYWxzZSAmJiB4ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator inside 'eval'","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAvLyBOYU4gKDE1LjEuMS4xKSBoYXMgW1tDb25maWd1cmFibGVdXSBzZXQgdG8gZmFsc2UuDQogIHRyeSB7DQogICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuTmFOOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOC5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIHRydWUgZm9yIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgIHZhciBvID0gSlNPTjsNCiAgICAgIHZhciBkID0gZGVsZXRlIEpTT047ICANCiAgICAgIGlmIChkID09PSB0cnVlKSB7CSAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0gZmluYWxseSB7DQogICAgSlNPTiA9IG87DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns true for built-in objects (JSON)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSAoTWF0aC5MTjIpIGluIHN0cmljdCBtb2RlIA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICB0cnkgew0KICAgIGRlbGV0ZSBNYXRoLkxOMjsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOyANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property (Math.LN2) in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuMS00LmEtOS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgKE1hdGguTE4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gZGVsZXRlIE1hdGguTE4yOw0KICBpZiAoZCA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator returns false when deleting a non-configurable data property (Math.LN2)","path":"TestCases/ch11/11.4/11.4.1/11.4.1-4.a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgdmFyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHggPSAxOw0KDQogIC8vIE5vdywgZGVsZXRpbmcgJ3gnIGRpcmVjdGx5IHNob3VsZCBmYWlsOw0KICB2YXIgZCA9IGRlbGV0ZSB4Ow0KICBpZihkID09PSBmYWxzZSAmJiB4ID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns false when deleting a direct reference to a var","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgZnVuY3Rpb24gZm9vKGEsYikgew0KICANCiAgICAvLyBOb3csIGRlbGV0aW5nICdhJyBkaXJlY3RseSBzaG91bGQgZmFpbA0KICAgIC8vIGJlY2F1c2UgJ2EnIGlzIGRpcmVjdCByZWZlcmVuY2UgdG8gYSBmdW5jdGlvbiBhcmd1bWVudDsNCiAgICB2YXIgZCA9IGRlbGV0ZSBhOw0KICAgIHJldHVybiAoZCA9PT0gZmFsc2UgJiYgYSA9PT0gMSk7DQogIH0NCiAgcmV0dXJuIGZvbygxLDIpOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"delete operator returns false when deleting a direct reference to a function argument","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvcGVyYXRvciByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYSBkaXJlY3QgcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24gbmFtZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmb28gPSBmdW5jdGlvbigpe307DQoNCiAgLy8gTm93LCBkZWxldGluZyAnZm9vJyBkaXJlY3RseSBzaG91bGQgZmFpbDsNCiAgdmFyIGQgPSBkZWxldGUgZm9vOw0KICBpZihkID09PSBmYWxzZSAmJiBmbkV4aXN0cyhmb28pKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"delete operator returns false when deleting a direct reference to a function name","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdmFsdWUgdHlwZSAobnVtYmVyKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfNF8xXzUgPSA1Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgXzExXzRfMV81OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive value type (number)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQXJyYXkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsMiwzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGFyck9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Array","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgU3RyaW5nDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgc3RyT2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type String","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQm9vbGVhbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgYm9vbE9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Boolean","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgTnVtYmVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBudW1PYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Number","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgRGF0ZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGRhdGVPYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Date","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgUmVnRXhwDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIHJlZ09iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type RegExp","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgRXJyb3INCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBlcnJPYmo7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Error","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgQXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoYSwgYikgeyBkZWxldGUgYXJndW1lbnRzOyB9KDEsIDIpKTsiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChPYmplY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIE9iamVjdDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Object)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0xOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChGdW5jdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgRnVuY3Rpb247Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Function)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gcGFyYW1ldGVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqKHgpIHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSB4OyIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bk9iaigxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function parameter","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChBcnJheSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgQXJyYXk7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Array)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChTdHJpbmcpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIFN0cmluZzsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (String)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChCb29sZWFuKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBCb29sZWFuOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Boolean)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChOdW1iZXIpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIE51bWJlcjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Number)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChEYXRlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBEYXRlOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Date)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChSZWdFeHApDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIFJlZ0V4cDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (RegExp)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiBkZWxldGluZyBhIGJ1aWx0LWluIChFcnJvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgZXJyb3JCYWNrdXAgPSBFcnJvcjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSBFcnJvcjsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEVycm9yID0gZXJyb3JCYWNrdXA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a built-in (Error)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gbmFtZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGZ1bmN0aW9uIGZ1bk9iaiAoKSB7IH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iaiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function name","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gcGFyYW1ldGVyDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqKHgsIHksIHopIHsNCiAgICAgICAgICAgIGV2YWwoImRlbGV0ZSB5OyIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bk9iaigxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function parameter","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdHlwZSAoYm9vbGVhbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzExXzRfMV81ID0gdHJ1ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIF8xMV80XzFfNTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (boolean)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuMS8xMS40LjEtNS1hLTVncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gZGVsZXRpbmcgYSB2YXJpYWJsZSB3aGljaCBpcyBwcmltaXRpdmUgdHlwZShib29sZWFuKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp2YXIgXzExXzRfMV81ID0gNzsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQpkZWxldGUgXzExXzRfMV81Ow==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is primitive type(boolean)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgd2hpY2ggaXMgYSBwcmltaXRpdmUgdHlwZSAoc3RyaW5nKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTFfNF8xXzUgPSAiYWJjIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIF8xMV80XzFfNTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (string)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBPYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJkZWxldGUgb2JqOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type Object","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a function object","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvMTEuNC4xLTUtYS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIGRlbGV0aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBmdW5jdGlvbiAoZGVjbGFyYXRpb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuT2JqICgpIHsgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZGVsZXRlIGZ1bk9iajsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when deleting a variable of type function (declaration)","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.1-5-a-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBpcyBhY3R1YWxseSB0ZXN0aW5nIHRoZSBbW0RlbGV0ZV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi44KS4gU2luY2UgdGhlDQogKiBsYW5ndWFnZSBwcm92aWRlcyBubyB3YXkgdG8gZGlyZWN0bHkgZXhlcmNpc2UgW1tEZWxldGVdXSwgdGhlIHRlc3RzIGFyZSBwbGFjZWQgaGVyZS4NCiAqDQogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xLzExLjQuNC00LmEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9wZXJhdG9yIHRocm93cyBUeXBlRXJyb3Igd2hlbiBkZWxldGluZyBhIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eSBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyIG8gPSB7fTsNCiAgdmFyIGRlc2MgPSB7IHZhbHVlIDogMSB9OyAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIA0KICAvLyBOb3csIGRlbGV0aW5nIG8uZm9vIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IgYmVjYXVzZSBbW0NvbmZpZ3VyYWJsZV1dIG9uIGZvbyBpcyBmYWxzZS4NCiAgdHJ5IHsNCiAgICBkZWxldGUgby5mb287DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test is actually testing the [[Delete]] internal method (8.12.8). Since the\nlanguage provides no way to directly exercise [[Delete]], the tests are placed here.","description":"delete operator throws TypeError when deleting a non-configurable data property in strict mode","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/11.4.4-4.a-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gImRlbGV0ZSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImRlbGV0ZVx1MDAwOTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IGRlbGV0ZVxcdTAwMDkwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiZGVsZXRlXHUwMDBCMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlXFx1MDAwQjAgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQzAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGRlbGV0ZVxcdTAwMEMwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiZGVsZXRlXHUwMDIwMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogZGVsZXRlXFx1MDAyMDAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJkZWxldGVcdTAwQTAwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBkZWxldGVcXHUwMEEwMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoImRlbGV0ZVx1MDAwQTAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGRlbGV0ZVxcdTAwMEEwID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJkZWxldGVcdTAwMEQwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBkZWxldGVcXHUwMDBEMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoImRlbGV0ZVx1MjAyODAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IGRlbGV0ZVxcdTIwMjgwID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiZGVsZXRlXHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogZGVsZXRlXFx1MjAyOTAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiZGVsZXRlXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IGRlbGV0ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between \"delete\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcmltaXRpdmUgdmFsdWUgYW5kIE9iamVjdCB2YWx1ZSBjYXNlcwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSBuZXcgT2JqZWN0KCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgbmV3IE9iamVjdCgpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If Type(x) is not Reference, return true","description":"Checking primitive value and Object value cases","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyZWQgdmFyaWFibGUgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgeCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGRlbGV0ZSB0aGlzLnggIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgdGhpcy54ID09PSB0cnVlJyk7Cn0KCg==","commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true","description":"Checking undeclared variable case","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBHZXRCYXNlKHgpIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IEdldFByb3BlcnR5TmFtZSh4KSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdCBjYXNlcwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fQp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsgZGVsZXRlIE15T2JqZWN0LnByb3AgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBNeU9iamVjdCA9IG5ldyBPYmplY3QoKTsKaWYgKGRlbGV0ZSBNeU9iamVjdC5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIE15T2JqZWN0ID0gbmV3IE9iamVjdCgpOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If GetBase(x) doesn't have a property GetPropertyName(x), return true","description":"Checking Object object and Function object cases","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWNsYXJlZCB2YXJpYWJsZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChkZWxldGUgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IGRlbGV0ZSB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHkgPSAxOwppZiAoZGVsZXRlIHRoaXMueSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeSA9IDE7IGRlbGV0ZSB0aGlzLnkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKaWYgKGRlbGV0ZSBNeUZ1bmN0aW9uICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBkZWxldGUgTXlGdW5jdGlvbiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9Owp2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOwppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVsZXRlIE15T2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3QgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If the property has the DontDelete attribute, return false","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnggPSAxOwppZiAoZGVsZXRlIHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHggPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwppZiAoZGVsZXRlIE15RnVuY3Rpb24ucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlGdW5jdGlvbi5wcm9wID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0ID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3QucHJvcCA9IDE7CmlmIChkZWxldGUgTXlPYmplY3QucHJvcCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3QgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3QucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If the property doesn't have the DontDelete attribute, return true","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgZG9lc24ndCBoYXZlIHRoZSBEb250RGVsZXRlIGF0dHJpYnV0ZSwgcmVtb3ZlIHRoZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4xL1MxMS40LjFfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZGVjbGFyZWQgdmFyaWFibGUKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID0gMTsKICBkZWxldGUgeDsKICB4OyAgICAKICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB4ID0gMTsgZGVsZXRlIHg7IHggaXMgbm90IGV4aXN0Jyk7CiAgfQp9CgoKLy9DSEVDSyMyCmZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OwpNeUZ1bmN0aW9uLnByb3AgPSAxOwpkZWxldGUgTXlGdW5jdGlvbi5wcm9wOwppZiAoTXlGdW5jdGlvbi5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlGdW5jdGlvbi5wcm9wID0gMTsgZGVsZXRlIE15RnVuY3Rpb24ucHJvcDsgTXlGdW5jdGlvbi5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeUZ1bmN0aW9uLnByb3ApKTsKCn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKdmFyIE15T2JqZWN0VmFyID0gbmV3IE15RnVuY3Rpb24oKTsKTXlPYmplY3RWYXIucHJvcCA9IDE7CmRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOwppZiAoTXlPYmplY3RWYXIucHJvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gTXlGdW5jdGlvbigpe307IHZhciBNeU9iamVjdFZhciA9IG5ldyBNeUZ1bmN0aW9uKCk7IE15RnVuY3Rpb24ucHJvcCA9IDE7IGRlbGV0ZSBNeU9iamVjdFZhci5wcm9wOyBNeU9iamVjdFZhci5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChNeU9iamVjdFZhci5wcm9wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVsZXRlIE15T2JqZWN0VmFyICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3RWYXIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQpmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsKTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOwpNeU9iamVjdE5vdFZhci5wcm9wID0gMTsKZGVsZXRlIE15T2JqZWN0Tm90VmFyLnByb3A7CmlmIChNeU9iamVjdE5vdFZhci5wcm9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBmdW5jdGlvbiBNeUZ1bmN0aW9uKCl7fTsgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBNeUZ1bmN0aW9uLnByb3AgPSAxOyBkZWxldGUgTXlPYmplY3ROb3RWYXIucHJvcDsgTXlPYmplY3ROb3RWYXIucHJvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoTXlPYmplY3ROb3RWYXIucHJvcCkpOwp9CgovL0NIRUNLIzYKaWYgKGRlbGV0ZSBNeU9iamVjdE5vdFZhciAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IGZ1bmN0aW9uIE15RnVuY3Rpb24oKXt9OyB2YXIgTXlPYmplY3ROb3RWYXIgPSBuZXcgTXlGdW5jdGlvbigpOyBkZWxldGUgTXlPYmplY3ROb3RWYXIgPT09IHRydWUnKTsKfQoKCg==","commentary":"If the property doesn't have the DontDelete attribute, remove the property","description":"Checking declared variable","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiRGVsZXRlIiBvcGVyYXRvciByZW1vdmVzIHByb3BlcnR5LCB3aGljaCBpcyByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCwgbm90IHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMS9TMTEuNC4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0d28gcmVmZXJlbmNlIGJ5IG9uZSBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKdmFyIHJlZiA9IG9iajsKZGVsZXRlIHJlZjsKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogb2JqID0gbmV3IE9iamVjdCgpOyByZWYgPSBvYmo7IGRlbGV0ZSByZWY7IHR5cGVvZiBvYmogPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG9iaikpOwp9CgoK","commentary":"\"Delete\" operator removes property, which is reference to the object, not the object","description":"Checking two reference by one object","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHN0cmljdCBkZWxldGUgc2hvdWxkIGVpdGhlciBzdWNjZWVkLCByZXR1cm5pbmcgdHJ1ZSwgb3IgaXQKICogc2hvdWxkIGZhaWwgYnkgdGhyb3dpbmcgYSBUeXBlRXJyb3IuIFVuZGVyIG5vIGNpcmN1bXN0YW5jZXMKICogc2hvdWxkIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm4gZmFsc2UuCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjEvUzExLjQuMV9BNS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGlmIGEgc3RyaWN0IGRlbGV0ZSByZXR1cm5zIGZhbHNlIHdoZW4gZGVsZXRpbmcgYQogKiBub24tc3RhbmRhcmQgcHJvcGVydHkuCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwoKdmFyIHJlTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhSZWdFeHApOwpmb3IgKHZhciBpID0gMCwgbGVuID0gcmVOYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogIHZhciByZU5hbWUgPSByZU5hbWVzW2ldOwogIGlmIChyZU5hbWUgIT09ICdwcm90b3R5cGUnKSB7CiAgICB2YXIgZGVsZXRlZCA9ICd1bmFzc2lnbmVkJzsKICAgIHRyeSB7CiAgICAgIGRlbGV0ZWQgPSBkZWxldGUgUmVnRXhwW3JlTmFtZV07CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgICAgICRFUlJPUignIzE6IHN0cmljdCBkZWxldGUgdGhyZXcgYSBub24tVHlwZUVycm9yOiAnICsgZXJyKTsKICAgICAgfQogICAgICAvLyBmYWxsIHRocm91Z2gKICAgIH0KICAgIGlmIChkZWxldGVkID09PSBmYWxzZSkgewogICAgICAkRVJST1IoJyMyOiBTdHJpY3QgZGVsZXRlIHJldHVybmVkIGZhbHNlJyk7CiAgICB9CiAgfQp9Cgo=","commentary":"A strict delete should either succeed, returning true, or it\nshould fail by throwing a TypeError. Under no circumstances\nshould a strict delete return false.","description":"See if a strict delete returns false when deleting a\nnon-standard property.","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.1/S11.4.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInZvaWQiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ2b2lkXHUwMDA5MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkXFx1MDAwOTAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZvaWRcdTAwMEIwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZvaWRcXHUwMDBCMCA9PT0gdW5kZWZpbmVkJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ2b2lkXHUwMDBDMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2b2lkXFx1MDAwQzAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInZvaWRcdTAwMjAwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHZvaWRcXHUwMDIwMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidm9pZFx1MDBBMDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdm9pZFxcdTAwQTAwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ2b2lkXHUwMDBBMCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2b2lkXFx1MDAwQTAgPT09IHVuZGVmaW5lZCcpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidm9pZFx1MDAwRDAiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogdm9pZFxcdTAwMEQwID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2b2lkXHUyMDI4MCIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2b2lkXFx1MjAyODAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInZvaWRcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZvaWRcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInZvaWRcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkwIikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2b2lkXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MCA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"void\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlKHgpIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSh4KSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2b2lkIDAgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBPYmplY3QoKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCg==","commentary":"Operator \"void\" uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4yL1MxMS40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCnZvaWQgeDsKCg==","commentary":"Operator \"void\" uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","negative":"","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAodm9pZCB4ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAiMSI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJ4IjsgCmlmIChpc05hTih2b2lkIHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7CmlmICh2b2lkIHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IFN0cmluZygiLTEiKTsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is string primitive of String object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdm9pZCB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkIHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKHZvaWQgeCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBudWxsOyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4odm9pZCB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IHZvaWQgeCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodm9pZCB4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKHZvaWQgeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyB2b2lkIHggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHZvaWQgeCkpOwp9Cgo=","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidm9pZCIgZXZhbHVhdGVzIFVuYXJ5RXhwcmVzc2lvbiBhbmQgcmV0dXJucyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMi9TMTEuNC4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTaW1wbGUgQXNzaWdubWVudCBvcGVyYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDA7CmlmICh2b2lkICh4ID0gMSkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdm9pZCAoeCA9IDEpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh2b2lkICh4ID0gMSkpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSkgewogICAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyB2b2lkICh4ID0gMSk7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7CiAgfSAKfQoK","commentary":"Operator \"void\" evaluates UnaryExpression and returns undefined","description":"Checking Simple Assignment operator","path":"TestCases/ch11/11.4/11.4.2/S11.4.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gInR5cGVvZiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDA5eCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOXg7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInZhciB4ID0gMDsgdHlwZW9mXHUwMDBCeCIpICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwQng7IHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEN4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBDeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMjB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDIweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwQTB4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMEEweDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMEF4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAwOyB0eXBlb2ZcXHUwMDBBeDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MDAwRHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTAwMER4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOHgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjh4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7IHR5cGVvZlx1MjAyOXgiKSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IDA7IHR5cGVvZlxcdTIwMjl4OyB4ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgidmFyIHggPSAwOyB0eXBlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjl4IikgIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgdHlwZW9mXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5eDsgeCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"White Space and Line Terminator between \"typeof\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgMCAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgMCA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgMCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOwppZiAodHlwZW9mIHggIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIHggPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHgpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IE9iamVjdCgpOwppZiAodHlwZW9mIHggIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgT2JqZWN0KCk7IHR5cGVvZiB4ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==","commentary":"Operator \"typeof\" uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAidHlwZW9mIiB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCByZXR1cm4gInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiB4ICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHR5cGVvZiB4ID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB4KSk7Cn0KCg==","commentary":"Operator \"typeof\" uses GetValue","description":"If GetBase(x) is null, return \"undefined\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdW5kZWZpbmVkIGlzICJ1bmRlZmluZWQiCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgdW5kZWZpbmVkID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygdm9pZCAwICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IHR5cGVvZiB2b2lkIDAgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHZvaWQgMCkpOwp9Cgo=","commentary":"Result of applying \"typeof\" operator to undefined is \"undefined\"","description":"typeof undefined === \"undefined\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gbnVsbCBpcyAib2JqZWN0IgogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC4zL1MxMS40LjNfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gdHlwZW9mIG51bGwgPT09ICJvYmplY3QiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVsbCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBSZWdFeHAoIjAiKS5leGVjKCIxIikgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIFJlZ0V4cCgiMCIpLmV4ZWMoIjEiKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCIwIikuZXhlYygiMSIpKSk7Cn0KCg==","commentary":"Result of applying \"typeof\" operator to null is \"object\"","description":"typeof null === \"object\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gYm9vbGVhbiBpcyAiYm9vbGVhbiIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoYm9vbGVhbiB2YWx1ZSkgPT09ICJib29sZWFuIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRydWUgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzE6IHR5cGVvZiB0cnVlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmYWxzZSAhPT0gImJvb2xlYW4iKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIGZhbHNlID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgZmFsc2UpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIS0xICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIS0xID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YgIS0xKSk7Cn0KCg==","commentary":"Result of applying \"typeof\" operator to boolean is \"boolean\"","description":"typeof (boolean value) === \"boolean\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBudW1iZXIgaXMgIm51bWJlciIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjQuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAobnVtYmVyIHZhbHVlKSA9PT0gIm51bWJlciIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAxICE9PSAibnVtYmVyIikgewogICRFUlJPUignIzE6IHR5cGVvZiAxID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIE51bWJlci5OYU4gIT09ICJudW1iZXIiKSB7CiAgJEVSUk9SKCcjMjogdHlwZW9mIE5hTiA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgSW5maW5pdHkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgLUluZmluaXR5ID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgTWF0aC5QSSAhPT0gIm51bWJlciIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTWF0aC5QSSA9PT0gIm51bWJlciIuIEFjdHVhbDogJyArICh0eXBlb2YgTWF0aC5QSSkpOwp9Cgo=","commentary":"Result of appying \"typeof\" operator to number is \"number\"","description":"typeof (number value) === \"number\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBweWluZyAidHlwZW9mIiBvcGVyYXRvciB0byBzdHJpbmcgaXMgInN0cmluZyIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjUuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAoc3RyaW5nIHZhbHVlKSA9PT0gInN0cmluZyIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiAiMSIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mICIxIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mICJOYU4iICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzI6IHR5cGVvZiAiTmFOIiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIk5hTiIpKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2YgIkluZmluaXR5IiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgIkluZmluaXR5IiA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArICh0eXBlb2YgIkluZmluaXR5IikpOwp9CgovL0NIRUNLIzQKaWYgKHR5cGVvZiAiIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgIiIgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mICIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mICJ0cnVlIiAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgInRydWUiID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZiAidHJ1ZSIpKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzY6IHR5cGVvZiBEYXRlKCkgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUoKSkpOwp9Cgo=","commentary":"Result of appying \"typeof\" operator to string is \"string\"","description":"typeof (string value) === \"string\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgZG9lc24ndCBpbXBsZW1lbnQgW1tDYWxsXV0gaXMgIm9iamVjdCIKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuMy9TMTEuNC4zX0EzLjYuanMKICogQGRlc2NyaXB0aW9uIHR5cGVvZiAob2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0pID09PSAib2JqZWN0IgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHRoaXMgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHRoaXMgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIHRoaXMpKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgbmV3IE9iamVjdCgpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IHR5cGVvZiBuZXcgT2JqZWN0KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBPYmplY3QoKSkpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBuZXcgQXJyYXkoMSwyLDMpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIEFycmF5KDEsMiwzKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YgQXJyYXkoMSwyLDMpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBBcnJheSgxLDIsMykpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgbmV3IFN0cmluZygieCIpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IHR5cGVvZiBuZXcgU3RyaW5nKCJ4IikgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBTdHJpbmcoIngiKSkpOwp9CgovL0NIRUNLIzYKaWYgKHR5cGVvZiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyM2OiB0eXBlb2YgbmV3IEJvb2xlYW4odHJ1ZSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAodHlwZW9mIG5ldyBOdW1iZXIoMSkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjNzogdHlwZW9mIG5ldyBOdW1iZXIoMSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4Ci8vVGhlIE1hdGggb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5OyAKLy9pdCBpcyBub3QgcG9zc2libGUgdG8gdXNlIHRoZSBNYXRoIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yIHdpdGggdGhlIG5ldyBvcGVyYXRvci4KLy9UaGUgTWF0aCBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5OyBpdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBNYXRoIG9iamVjdCBhcyBhIG9iamVjdC4KaWYgKHR5cGVvZiBNYXRoICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzg6IHR5cGVvZiBNYXRoID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBNYXRoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAodHlwZW9mIG5ldyBEYXRlKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIG5ldyBEYXRlKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBEYXRlKCkpKTsKfQoKLy9DSEVDSyMxMAppZiAodHlwZW9mIG5ldyBFcnJvcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzEwOiB0eXBlb2YgbmV3IEVycm9yKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBFcnJvcigpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHR5cGVvZiBuZXcgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTE6IHR5cGVvZiBuZXcgUmVnRXhwKCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBSZWdFeHAoKSkpOwp9CgovL0NIRUNLIzEyCmlmICh0eXBlb2YgUmVnRXhwKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTI6IHR5cGVvZiBSZWdFeHAoKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgUmVnRXhwKCkpKTsKfQoK","commentary":"Result of applying \"typeof\" operator to the object that is native and doesn't implement [[Call]] is \"object\"","description":"typeof (object without [[Call]]) === \"object\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgYXBwbHlpbmcgInR5cGVvZiIgb3BlcmF0b3IgdG8gdGhlIG9iamVjdCB0aGF0IGlzIG5hdGl2ZSBhbmQgaW1wbGVtZW50cyBbW0NhbGxdXSBpcyAiZnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjMvUzExLjQuM19BMy43LmpzCiAqIEBkZXNjcmlwdGlvbiB0eXBlb2YgKG9iamVjdCB3aXRoIFtbQ2FsbF1dKSA9PT0gImZ1bmN0aW9uIgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBGdW5jdGlvbigpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIG5ldyBGdW5jdGlvbigpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIG5ldyBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uKCkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgRnVuY3Rpb24oKSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBGdW5jdGlvbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIE9iamVjdCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzM6IHR5cGVvZiBPYmplY3QgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAodHlwZW9mIFN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzQ6IHR5cGVvZiBTdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgU3RyaW5nKSk7Cn0KCi8vQ0hFQ0s1CmlmICh0eXBlb2YgQm9vbGVhbiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzU6IHR5cGVvZiBCb29sZWFuID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIEJvb2xlYW4pKTsKfQoKLy9DSEVDSyM2CmlmICh0eXBlb2YgTnVtYmVyICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjNjogdHlwZW9mIE51bWJlciA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBOdW1iZXIpKTsKfQoKLy9DSEVDSyM3CmlmICh0eXBlb2YgRGF0ZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzc6IHR5cGVvZiBEYXRlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcgKyAodHlwZW9mIERhdGUpKTsKfQoKLy9DSEVDSyM4CmlmICh0eXBlb2YgRXJyb3IgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyM4OiB0eXBlb2YgRXJyb3IgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJyArICh0eXBlb2YgRXJyb3IpKTsKfQoKLy9DSEVDSyM5CmlmICh0eXBlb2YgUmVnRXhwICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjOTogdHlwZW9mIFJlZ0V4cCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnICsgKHR5cGVvZiBSZWdFeHApKTsKfQoK","commentary":"Result of applying \"typeof\" operator to the object that is native and implements [[Call]] is \"function\"","description":"typeof (object with [[Call]]) === \"function\"","path":"TestCases/ch11/11.4/11.4.3/S11.4.3_A3.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yICsrZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIisrZXZhbDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown for ++eval","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yICsrYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIrK2FyZ3VtZW50czsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown for ++arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvMTEuNC40LTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGZvciArK2FyZ3VtZW50c1suLi5dDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgKythcmd1bWVudHNbMV07DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT04Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown for ++arguments[...]","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.4/11.4.4-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisrIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwOXgiKSAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKytcXHUwMDA5eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDBCeCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyArK1xcdTAwMEJ4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQ3giKSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gMDsgKytcXHUwMDBDeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDIweCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAwOyArK1xcdTAwMjB4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwQTB4IikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDA7ICsrXFx1MDBBMHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MDAwQXgiKSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gMDsgKytcXHUwMDBBeDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMDsgKytcdTAwMER4IikgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDA7ICsrXFx1MDAwRHg7IHggPT09IDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAwOyArK1x1MjAyOHgiKSAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciB4ID0gMDsgKytcXHUyMDI4eDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAwOyArK1xcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDA7ICsrXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMDsgKytcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"White Space and Line Terminator between \"++\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICsreCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgKyt4OyB4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKCsrdGhpcy54ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7ICsrdGhpcy54OyB0aGlzLnggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCsrb2JqZWN0LnByb3AgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyArK29iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator ++x uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICArK3g7CiAgJEVSUk9SKCcjMS4xOiArK3ggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgrK3gpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6ICsreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator ++x uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICArKzE7CiAgJEVSUk9SKCcjMS4xOiArKzEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKCsrMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogKysxIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgKysxOwogIH0KfQoKCg==","commentary":"Operator ++x uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC40L1MxMS40LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgKytvYmplY3Q7IG9iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgrK29iamVjdCAhPT0gMSArIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICsrb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoKytvYmplY3QgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCA9PT0gMSArIDEuIEFjdHVhbDogJyArICgrK29iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgKyAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICsrb2JqZWN0OyBvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKCsrb2JqZWN0ICE9PSAxICsgMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoKytvYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxICsgMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdDsgb2JqZWN0ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgKytvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgKytvYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICsrb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCsrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICsrb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator ++x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZhbHNlOyAKKyt4OwppZiAoeCAhPT0gMCArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IGZhbHNlOyArK3g7IHggPT09IDAgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgCisreDsgCmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7ICsreDsgeCA9PT0gMSArIDEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAorK3g7CmlmICh4ICE9PSAwLjEgKyAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7ICsreDsgeCA9PT0gMC4xICsgMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCisreDsKaWYgKHggIT09IC0xLjEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyArK3g7IHggPT09IC0xLjEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAorK3g7CmlmICh4ICE9PSAxICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyArK3g7IHggPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAorK3g7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAorK3g7CmlmICh4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreDsgeCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCisreDsgCmlmIChpc05hTih4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyArK3g7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsgCisreDsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7ICsreDsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgKyAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjQvUzExLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKKyt4OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgKyt4OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator ++x returns x = ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZmFsc2U7IAppZiAoKyt4ICE9PSAwICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gZmFsc2U7ICsreCA9PT0gMCArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4odHJ1ZSk7CmlmICgrK3ggIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQm9vbGVhbih0cnVlKTsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKCsreCAhPT0gMC4xICsgMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyArK3ggPT09IDAuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKCsreCAhPT0gLTEuMSArIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7ICsreCA9PT0gLTEuMSArIDEuIEFjdHVhbDogJyArICgrK3gpKTsKfQoK","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKCsreCAhPT0gMSArIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgKyt4ID09PSAxICsgMS4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gIngiOyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgU3RyaW5nKCItMSIpOwppZiAoKyt4ICE9PSAtMSArIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7ICsreCA9PT0gLTEgKyAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgKyt4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrK3gpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKCsreCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbnVsbDsgKyt4ID09PSAxLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCg==","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciArK3ggcmV0dXJucyBUb051bWJlcih4KSArIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNC9TMTEuNC40X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oKyt4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307ICsreCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyt4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKCsreCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyArK3ggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCsreCkpOwp9Cgo=","commentary":"Operator ++x returns ToNumber(x) + 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.4/S11.4.4_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yIC0tZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBibGFoID0gZXZhbDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIi0tZXZhbDsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBldmFsOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown for --eval","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gZm9yIC0tYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGJsYWggPSBhcmd1bWVudHM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCItLWFyZ3VtZW50czsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiBibGFoID09PSBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown for --arguments","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMS8xMS40LzExLjQuNS8xMS40LjUtMi0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93IGlmIHRoZSBVbmFyeUV4cHJlc3Npb24gb3BlcmF0ZWQgdXBvbiBieSBhIFByZWZpeCBJbmNyZW1lbnQgb3BlcmF0b3IoLS1hcmd1bWVudHMpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCi0tYXJndW1lbnRzOw0K","commentary":"","description":"Strict Mode - SyntaxError is throw if the UnaryExpression operated upon by a Prefix Increment operator(--arguments)","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvMTEuNC41LTItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGZvciAtLWFyZ3VtZW50c1suLi5dDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgYXJndW1lbnRzWzFdID0gNzsNCiAgICAgICAgLS1hcmd1bWVudHNbMV07DQogICAgICAgIHJldHVybiBhcmd1bWVudHNbMV09PT02Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown for --arguments[...]","onlyStrict":"","path":"TestCases/ch11/11.4/11.4.5/11.4.5-2-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0tIiBhbmQgVW5hcnlFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwOXgiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS1cXHUwMDA5eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDBCeCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyAtLVxcdTAwMEJ4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQ3giKSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gMTsgLS1cXHUwMDBDeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyAtLVxcdTAwMjB4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwQTB4IikgIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IDE7IC0tXFx1MDBBMHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MDAwQXgiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciB4ID0gMTsgLS1cXHUwMDBBeDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoInZhciB4ID0gMTsgLS1cdTAwMER4IikgIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IDE7IC0tXFx1MDAwRHg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgidmFyIHggPSAxOyAtLVx1MjAyOHgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciB4ID0gMTsgLS1cXHUyMDI4eDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSAxOyAtLVxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCJ2YXIgeCA9IDE7IC0tXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5eCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciB4ID0gMTsgLS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjl4OyB4ID09PSAwLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"White Space and Line Terminator between \"--\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgUmVmZXJlbmNlIGFuZCBHZXRCYXNlKHgpIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfSBlbHNlIHsKICBpZiAoeCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciB4ID0gMTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKICB9IAp9CgovL0NIRUNLIzIKdGhpcy54ID0gMTsKaWYgKC0tdGhpcy54ICE9PSAxIC0gMSkgewogICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tdGhpcy54KSk7Cn0gZWxzZSB7CiAgaWYgKHRoaXMueCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHRoaXMueCA9IDE7IC0tdGhpcy54OyB0aGlzLnggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAodGhpcy54KSk7CiAgfSAKfQoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKC0tb2JqZWN0LnByb3AgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0LnByb3ApKTsKfSBlbHNlIHsKICBpZiAodGhpcy54ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAxOyAtLW9iamVjdC5wcm9wOyBvYmplY3QucHJvcCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QucHJvcCkpOwogIH0gCn0KCg==","commentary":"Operator --x uses GetValue and PutValue","description":"Type(x) is Reference and GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLXg7CiAgJEVSUk9SKCcjMS4xOiAtLXggdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgtLXgpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IC0teCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator --x uses GetValue and PutValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBHZXRWYWx1ZSBhbmQgUHV0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUoeCkgaXMgbm90IFJlZmVyZW5jZSwgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKQogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIzEKdHJ5IHsKICAtLTE7CiAgJEVSUk9SKCcjMS4xOiAtLTEgdGhyb3cgUmVmZXJlbmNlRXJyb3IgKG9yIFN5bnRheEVycm9yKS4gQWN0dWFsOiAnICsgKC0tMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogLS0xIHRocm93IFJlZmVyZW5jZUVycm9yIChvciBTeW50YXhFcnJvcikuIEFjdHVhbDogJyArIChlKSk7ICAKICB9IGVsc2UgewogICAgLS0xOwogIH0KfQoK","commentary":"Operator --x uses GetValue and PutValue","description":"If Type(x) is not Reference, throw ReferenceError (or SyntaxError)","negative":"","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC41L1MxMS40LjVfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gZWxzZSB7CiAgaWYgKG9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLS1vYmplY3Q7IG9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArIChvYmplY3QpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtLW9iamVjdCAhPT0gMSAtIDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7CiAgfSBlbHNlIHsKICAgIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC0tb2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoLS1vYmplY3QgIT09IDEgLSAxKSB7CiAgJEVSUk9SKCcjNS4xOiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLW9iamVjdCkpOwp9IGVsc2UgewogIGlmIChvYmplY3QgIT09IDEgLSAxKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IC0tb2JqZWN0OyBvYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0KSk7CiAgfQp9CgoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKC0tb2JqZWN0ICE9PSAxIC0gMSkgewogICRFUlJPUignIzYuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoLS1vYmplY3QpKTsKfSBlbHNlIHsKICBpZiAob2JqZWN0ICE9PSAxIC0gMSkgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdDsgb2JqZWN0ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKG9iamVjdCkpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgLS1vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgLS1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAtLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIC0tb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC0tb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC0tb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator --x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHRydWU7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gdHJ1ZTsgLS14OyB4ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAKLS14OwppZiAoeCAhPT0gMCAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBCb29sZWFuKGZhbHNlKTsgLS14OyB4ID09PSAwIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAwLjE7IAotLXg7CmlmICh4ICE9PSAwLjEgLSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwLjE7IC0teDsgeCA9PT0gMC4xIC0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsgCi0teDsKaWYgKHggIT09IC0xLjEgLSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgTnVtYmVyKC0xLjEpOyAtLXg7IHggPT09IC0xLjEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBwcmltaXRpdmUgc3RyaW5nIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSAiMSI7IAotLXg7CmlmICh4ICE9PSAxIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gIjEiOyAtLXg7IHggPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7IAotLXg7IAppZiAoaXNOYU4oeCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJ4IjsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBOdW1iZXIoIi0xIik7IAotLXg7CmlmICh4ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teDsgeCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoeCkpOwp9Cgo=","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is primitive string or String object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsgCi0teDsKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IC0teDsgeCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBudWxsOyAKLS14OwppZiAoeCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teDsgeCA9PT0gLTEuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyB4ID0gVG9OdW1iZXIoeCkgLSAxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjUvUzExLjQuNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSB7fTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKLS14OyAKaWYgKGlzTmFOKHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBmdW5jdGlvbigpe3JldHVybiAxfTsgLS14OyB4ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh4KSk7Cn0KCg==","commentary":"Operator --x returns x = ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gdHJ1ZTsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHRydWU7IC0teCA9PT0gMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoLS14ICE9PSAwIC0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEJvb2xlYW4oZmFsc2UpOyAtLXggPT09IDAgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDAuMTsKaWYgKC0teCAhPT0gMC4xIC0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMC4xOyAtLXggPT09IDAuMSAtIDEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IE51bWJlcigtMS4xKTsKaWYgKC0teCAhPT0gLTEuMSAtIDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBOdW1iZXIoLTEuMSk7IC0teCA9PT0gLTEuMS0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9ICIxIjsKaWYgKC0teCAhPT0gMSAtIDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9ICIxIjsgLS14ID09PSAxIC0gMS4gQWN0dWFsOiAnICsgKC0teCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAieCI7CmlmIChpc05hTigtLXgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAieCI7IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IAppZiAoLS14ICE9PSAtMSAtIDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBTdHJpbmcoIi0xIik7IC0teCA9PT0gLTEgLSAxLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCg==","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCnZhciB4OwppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4OyAtLXg7IHggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbnVsbDsKaWYgKC0teCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG51bGw7IC0teCA9PT0gLTEuIEFjdHVhbDogJyArICgtLXgpKTsKfQoK","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAtLXggcmV0dXJucyBUb051bWJlcih4KSAtIDEKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNS9TMTEuNC41X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0ge307IAppZiAoaXNOYU4oLS14KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0ge307IC0teCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLS14KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAKaWYgKGlzTmFOKC0teCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9OyAtLXggPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0teCkpOwp9Cgo=","commentary":"Operator --x returns ToNumber(x) - 1","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.5/S11.4.5_A4_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvMTEuNC42LTItMS5qcw0KICogQGRlc2NyaXB0aW9uICsiIiBzaG91bGQgYmUgemVybw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiArIiIgPT09IDA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"+\"\" should be zero","path":"TestCases/ch11/11.4/11.4.6/11.4.6-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIisiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNi9TMTEuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIrXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogK1xcdTAwMDkxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiK1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6ICtcXHUwMDBCMSA9PT0gMScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiK1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICtcXHUwMDBDMSA9PT0gMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIitcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiArXFx1MDAyMCA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIitcdTAwQTAxIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiArXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIrXHUwMDBBMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogK1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIrXHUwMDBEMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogK1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiK1x1MjAyODEiKSAhPT0gMSkgewogICRFUlJPUignIzg6ICtcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIitcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiArXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiK1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gMSkgewogICRFUlJPUignIzEwOiArXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMScpOwp9Cgo=","commentary":"White Space and Line Terminator between \"+\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCsxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogKzEgPT09IDEuIEFjdHVhbDogJyArICgrMSkpOwp9CgovL0NIRUNLIzIKaWYgKCsoKzEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogKygrMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoKygrMSkpKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gMTsKaWYgKCt4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSArMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwppZiAoKygreCkgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7ICsoK3gpID09PSAxLiBBY3R1YWw6ICcgKyAoKygreCkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gMTsKaWYgKCtvYmplY3QucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMTsgK29iamVjdC5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdC5wcm9wKSk7Cn0KCg==","commentary":"Operator +x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgK3g7CiAgJEVSUk9SKCcjMS4xOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCt4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAreCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator +x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICgrb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKCtvYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKCtvYmplY3QgIT09IDEpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICtvYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgK29iamVjdCBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCtvYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyArb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAoK29iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICtvYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoK29iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgK29iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogICtvYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgK29iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgrb2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07ICtvYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator +x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoK2ZhbHNlICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogK2ZhbHNlID09PSAwLiBBY3R1YWw6ICcgKyAoK2ZhbHNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK25ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogK25ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoK25ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCswLjEgIT09IDAuMSkgewogICRFUlJPUignIzE6ICswLjEgPT09IDAuMS4gQWN0dWFsOiAnICsgKCswLjEpKTsKfQoKLy9DSEVDSyMyCmlmICgrbmV3IE51bWJlcigtMS4xKSAhPT0gLTEuMSkgewogICRFUlJPUignIzI6ICtuZXcgTnVtYmVyKC0xLjEpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAoK25ldyBOdW1iZXIoLTEuMSkpKTsKfQoK","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCsiMSIgIT09IDEpIHsKICAkRVJST1IoJyMxOiArIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoKyIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKCsieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKyJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKyJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKCtuZXcgTnVtYmVyKCItMSIpICE9PSAtMSkgewogICRFUlJPUignIzM6ICtuZXcgU3RyaW5nKCItMSIpID09PSAtMS4gQWN0dWFsOiAnICsgKCtuZXcgU3RyaW5nKCItMSIpKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3ZvaWQgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiArdm9pZCAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrdm9pZCAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoK251bGwgIT09IDApIHsKICAkRVJST1IoJyMyOiArbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKCtudWxsKSk7Cn0KCg==","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAreCByZXR1cm5zIFRvTnVtYmVyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjYvUzExLjQuNl9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oK3t9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICt7fSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3t9KSk7Cn0KCi8vQ0hFQ0sjMiAgCmlmIChpc05hTigrZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogK2Z1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrZnVuY3Rpb24oKXtyZXR1cm4gMX0pKTsKfQoK","commentary":"Operator +x returns ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.6/S11.4.6_A3_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvMTEuNC43LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIC0iIiBzaG91bGQgYmUgemVybw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAtIiIgPT09IDA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"-\"\" should be zero","path":"TestCases/ch11/11.4/11.4.7/11.4.7-4-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIi0iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItXHUwMDA5MSIpICE9PSAtMSkgewogICRFUlJPUignIzE6IC1cXHUwMDA5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCItXHUwMDBCMSIpICE9PSAtMSkgewogICRFUlJPUignIzI6IC1cXHUwMDBCMSA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi1cdTAwMEMxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLVxcdTAwMEMxID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi1cdTAwMjAxIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLVxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLVx1MDBBMDEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiAtXFx1MDBBMDEgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLVx1MDAwQTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiAtXFx1MDAwQTEgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCItXHUwMDBEMSIpICE9PSAtMSkgewogICRFUlJPUignIzc6IC1cXHUwMDBEMSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItXHUyMDI4MSIpICE9PSAtMSkgewogICRFUlJPUignIzg6IC1cXHUyMDI4MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItXHUyMDI5MSIpICE9PSAtMSkgewogICRFUlJPUignIzk6IC1cXHUyMDI5MSA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiLVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogLVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEgPT09IC0xJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"-\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKC0xICE9PSAtMSkgewogICRFUlJPUignIzE6IC0xID09PSAtMS4gQWN0dWFsOiAnICsgKC0xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLSgtMSkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAtKC0xKSA9PT0gLTEuIEFjdHVhbDogJyArICgtKC0xKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSAtMTsKaWYgKC14ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSAtMTsgLXggPT09IDEuIEFjdHVhbDogJyArICgteCkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtMTsKaWYgKC0oLXgpICE9PSAtMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTE7IC0oLXgpID09PSAtMS4gQWN0dWFsOiAnICsgKC0oLXgpKSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOwpvYmplY3QucHJvcCA9IDE7CmlmICgtb2JqZWN0LnByb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsgb2JqZWN0LnByb3AgPSAtMTsgLW9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKC1vYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Operator -x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgLXg7CiAgJEVSUk9SKCcjMS4xOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKC14KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAteCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator -x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjcvUzExLjQuN19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICgtb2JqZWN0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKC1vYmplY3QgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmICgtb2JqZWN0ICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgLW9iamVjdCA9PT0gMS4gQWN0dWFsOiAnICsgKC1vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IC1vYmplY3Qgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OwppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgPT09IDEuIEFjdHVhbDogJyArICgtb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fQppZiAoLW9iamVjdCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMX19OyAtb2JqZWN0ID09PSAxLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07CiAgLW9iamVjdDsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTF9fTsgLW9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0xfX07IC1vYmplY3QgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAtb2JqZWN0OwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IC1vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoLW9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAtb2JqZWN0IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator -x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgYm9vbGVhbiBwcmltaXRpdmUgb3IgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKC1mYWxzZSAhPT0gMCkgewogICRFUlJPUignIzE6IC1mYWxzZSA9PT0gMC4gQWN0dWFsOiAnICsgKC1mYWxzZSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgQm9vbGVhbih0cnVlKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAtbmV3IEJvb2xlYW4odHJ1ZSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLW5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgbnVtYmVyIHByaW1pdGl2ZSBvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtKDEpICE9PSAtMSkgewogICRFUlJPUignIzE6IC0oMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSgxKSkpOwp9CgovL0NIRUNLIzIKaWYgKC1uZXcgTnVtYmVyKC0xKSAhPT0gMSkgewogICRFUlJPUignIzI6IC1uZXcgTnVtYmVyKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKC1uZXcgTnVtYmVyKC0xKSkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgc3RyaW5nIHByaW1pdGl2ZSBvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgtIjEiICE9PSAtMSkgewogICRFUlJPUignIzE6IC0iMSIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLSIxIikpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKC0ieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLSJ4IiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLSJ4IikpOwp9CgovL0NIRUNLIzMKaWYgKC1uZXcgU3RyaW5nKCItMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogLW5ldyBTdHJpbmcoIi0xIikgPT09IDEuIEFjdHVhbDogJyArICgtbmV3IFN0cmluZygiLTEiKSkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgdW5kZWZpbmVkIG9yIG51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC12b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogK3ZvaWQgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoK3ZvaWQgMCkpOwp9CgovL0NIRUNLIzIKaWYgKC1udWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogK251bGwgPT09IDAuIEFjdHVhbDogJyArICgrbnVsbCkpOwp9Cgo=","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAteCByZXR1cm5zIC1Ub051bWJlcih4KQogKgogKiBAcGF0aCBjaDExLzExLjQvMTEuNC43L1MxMS40LjdfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgT2JqZWN0IG9iamVjdCBvciBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKC17fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAte30gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC17fSkpOwp9CgovL0NIRUNLIzIgIAppZiAoaXNOYU4oLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC1mdW5jdGlvbigpe3JldHVybiAxfSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLWZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCg==","commentary":"Operator -x returns -ToNumber(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgb3BlcmF0b3IgLXggcmV0dXJucyBOYU4KICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oLU5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTmFOKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IE5hTjsgCmlmIChpc05hTigteCkgIT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gTmFOOyAteCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLXgpKTsKfQoK","commentary":"If x is NaN, operator -x returns NaN","description":"Checking NaN","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZWdhdGluZyArMCBwcm9kdWNlcyAtMCwgbmVnYXRpbmcgLTAgcHJvZHVjZXMgKzAKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuNy9TMTEuNC43X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCnggPSAteDsKaWYgKHggIT09IC0wKSB7CiAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDA7IHggPSAteDsgeCA9PT0gMC4gQWN0dWFsOiAnICsgKHgpKTsKfSBlbHNlIHsKICBpZiAoMS94ICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSAwOyB4ID0gLXg7IHggPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCnZhciB4ID0gLTA7IAp4ID0gLXg7CmlmICh4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IC0wOyB4ID0gLXg7IHggPT09IDAuIEFjdHVhbDogJyArICh4KSk7Cn0gZWxzZSB7CiAgaWYgKDEveCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciB4ID0gLTA7IHggPSAteDsgeCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgoK","commentary":"Negating +0 produces -0, negating -0 produces +0","description":"Checking Infinity","path":"TestCases/ch11/11.4/11.4.7/S11.4.7_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIn4iIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOC9TMTEuNC44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ+XHUwMDA5MCIpICE9PSAtMSkgewogICRFUlJPUignIzA6IH5cXHUwMDA5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCJ+XHUwMDBCMCIpICE9PSAtMSkgewogICRFUlJPUignIzI6IH5cXHUwMDBCMCA9PT0gLTEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIn5cdTAwMEMwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogflxcdTAwMEMwID09PSAtMScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIn5cdTAwMjAwIikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogflxcdTAwMjAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiflx1MDBBMDAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB+XFx1MDBBMDAgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiflx1MDAwQTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyM2OiB+XFx1MDAwQTAgPT09IC0xJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCJ+XHUwMDBEMCIpICE9PSAtMSkgewogICRFUlJPUignIzc6IH5cXHUwMDBEMCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ+XHUyMDI4MCIpICE9PSAtMSkgewogICRFUlJPUignIzg6IH5cXHUyMDI4MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ+XHUyMDI5MCIpICE9PSAtMSkgewogICRFUlJPUignIzk6IH5cXHUyMDI5MCA9PT0gLTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiflx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxMDogflxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTAgPT09IC0xJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"~\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKH4wICE9PSAtMSkgewogICRFUlJPUignIzE6IH4wID09PSAtMS4gQWN0dWFsOiAnICsgKH4wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofih+MCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB+KH4wKSA9PT0gMC4gQWN0dWFsOiAnICsgKH4ofjApKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeCA9IDA7CmlmICh+eCAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IDA7IH54ID09PSAtMS4gQWN0dWFsOiAnICsgKH54KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDA7CmlmICh+KH54KSAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMDsgfih+eCkgPT09IDAuIEFjdHVhbDogJyArICh+KH54KSkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IG5ldyBPYmplY3QoKTsKb2JqZWN0LnByb3AgPSAwOwppZiAofm9iamVjdC5wcm9wICE9PSAtMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7IG9iamVjdC5wcm9wID0gMDsgfm9iamVjdC5wcm9wID09PSAtMS4gQWN0dWFsOiAnICsgKH5vYmplY3QucHJvcCkpOwp9Cgo=","commentary":"Operator ~x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgfng7CiAgJEVSUk9SKCcjMS4xOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKH54KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB+eCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator ~x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfSAKCi8vQ0hFQ0sjMwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgfm9iamVjdCBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB+b2JqZWN0IG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAofm9iamVjdCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB+b2JqZWN0ID09PSAtMi4gQWN0dWFsOiAnICsgKH5vYmplY3QpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KaWYgKH5vYmplY3QgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCA9PT0gLTIuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAofm9iamVjdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgfm9iamVjdCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIH5vYmplY3Q7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgfm9iamVjdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh+b2JqZWN0KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IH5vYmplY3QgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator ~x uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBib29sZWFuIHByaW1pdGl2ZSBvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofmZhbHNlICE9PSAtMSkgewogICRFUlJPUignIzE6IH5mYWxzZSA9PT0gLTEuIEFjdHVhbDogJyArICh+ZmFsc2UpKTsKfQoKLy9DSEVDSyMyCmlmICh+bmV3IEJvb2xlYW4odHJ1ZSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBCb29sZWFuKHRydWUpID09PSAtMi4gQWN0dWFsOiAnICsgKH5uZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzMKaWYgKH5uZXcgQm9vbGVhbihmYWxzZSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogfm5ldyBCb29sZWFuKGZhbHNlKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IEJvb2xlYW4oZmFsc2UpKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBudW1iZXIgcHJpbWl0aXZlIG9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4wLjEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfjAuMSA9PT0gLTEuIEFjdHVhbDogJyArICh+MC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBOdW1iZXIoLTAuMSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogfm5ldyBOdW1iZXIoLTAuMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofm5ldyBOdW1iZXIoLTAuMSkpKTsKfQoKLy9DSEVDSyMzCmlmICh+TmFOICE9PSAtMSkgewogICRFUlJPUignIzM6IH5OYU4gPT09IC0xLiBBY3R1YWw6ICcgKyAofk5hTikpOwp9CgovL0NIRUNLIzQKaWYgKH5uZXcgTnVtYmVyKE5hTikgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogfm5ldyBOdW1iZXIoTmFOKSA9PT0gLTEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcihOYU4pKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofjEgIT09IC0yKSB7CiAgJEVSUk9SKCcjNTogfjEgPT09IC0yLiBBY3R1YWw6ICcgKyAofjEpKTsKfQoKLy9DSEVDSyM2CmlmICh+bmV3IE51bWJlcigtMikgIT09IDEpIHsKICAkRVJST1IoJyM2OiB+bmV3IE51bWJlcigtMikgPT09IDEuIEFjdHVhbDogJyArICh+bmV3IE51bWJlcigtMikpKTsKfQoKLy9DSEVDSyM3CmlmICh+SW5maW5pdHkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNzogfkluZmluaXR5ID09PSAtMS4gQWN0dWFsOiAnICsgKH5JbmZpbml0eSkpOwp9Cgo=","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBzdHJpbmcgcHJpbWl0aXZlIG9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKH4iMSIgIT09IC0yKSB7CiAgJEVSUk9SKCcjMTogfiIxIiA9PT0gLTIuIEFjdHVhbDogJyArICh+IjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAofm5ldyBTdHJpbmcoIjAiKSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bmV3IFN0cmluZygiMCIpID09PSAtMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCIwIikpKTsKfQoKLy9DSEVDSyMzCmlmICh+IngiICE9PSAtMSkgewogICRFUlJPUignIzM6IH4ieCIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiJ4IikpOwp9CgovL0NIRUNLIzQKaWYgKH4iIiAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiB+IiIgPT09IC0xLiBBY3R1YWw6ICcgKyAofiIiKSk7Cn0KCi8vQ0hFQ0sjNQppZiAofm5ldyBTdHJpbmcoIi0yIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiB+bmV3IFN0cmluZygiLTIiKSA9PT0gMS4gQWN0dWFsOiAnICsgKH5uZXcgU3RyaW5nKCItMiIpKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyB1bmRlZmluZWQgb3IgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAofnZvaWQgMCAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiB+dm9pZCAwID09PSAtMS4gQWN0dWFsOiAnICsgKH52b2lkIDApKTsKfQoKLy9DSEVDSyMyCmlmICh+bnVsbCAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiB+bnVsbCA9PT0gLTEuIEFjdHVhbDogJyArICh+bnVsbCkpOwp9Cgo=","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB+eCByZXR1cm5zIH5Ub0ludDMyKHgpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjgvUzExLjQuOF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBPYmplY3Qgb2JqZWN0IG9yIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAofih7fSkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogfih7fSkgPT09IC0xLiBBY3R1YWw6ICcgKyAofih7fSkpKTsKfQoKLy9DSEVDSyMyICAKaWYgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAtMSkgewogICRFUlJPUignIzI6IH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAtMS4gQWN0dWFsOiAnICsgKH4oZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCg==","commentary":"Operator ~x returns ~ToInt32(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.8/S11.4.8_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gIiEiIGFuZCBVbmFyeUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIhXHUwMDA5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignI3RydWU6ICFcXHUwMDA5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIhXHUwMDBCdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFcXHUwMDBCdHJ1ZSA9PT0gZmFsc2UnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIiFcdTAwMEN0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIVxcdTAwMEN0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIiFcdTAwMjB0cnVlIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogIVxcdTAwMjAgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiIVx1MDBBMHRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAhXFx1MDBBMHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiIVx1MDAwQXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhXFx1MDAwQXRydWUgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIhXHUwMDBEdHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICFcXHUwMDBEdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIhXHUyMDI4dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICFcXHUyMDI4dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIhXHUyMDI5dHJ1ZSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICFcXHUyMDI5dHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiIVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOXRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogIVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOXRydWUgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between \"!\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSh4KSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UoeCkgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKCF0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICF0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoIXRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogISghdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB4ID0gdHJ1ZTsKaWYgKCF4ICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4ID0gdHJ1ZTsgIXggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IHRydWU7CmlmICghKCF4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gdHJ1ZTsgISgheCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdC5wcm9wID0gdHJ1ZTsKaWYgKCFvYmplY3QucHJvcCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0gbmV3IE9iamVjdCgpOyBvYmplY3QucHJvcCA9IHRydWU7ICFvYmplY3QucHJvcCA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x uses GetValue","description":"Either Type(x) is not Reference or GetBase(x) is not null","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgIXg7CiAgJEVSUk9SKCcjMS4xOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCF4KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAheCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator !x uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNC8xMS40LjkvUzExLjQuOV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIHJldHVybiBmYWxzZQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKCFvYmplY3QgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgIW9iamVjdCA9PT0gZmFsc2UuIEFjdHVhbDogJyArICghb2JqZWN0KSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICFvYmplY3QgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoIW9iamVjdCkpOwp9CgovL0NIRUNLIzcKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgovL0NIRUNLIzgKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CmlmICghb2JqZWN0ICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyAhb2JqZWN0ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKCFvYmplY3QpKTsKfSAgCgo=","commentary":"Operator !x uses [[Default Value]]","description":"If Type(value) is Object, return false","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGJvb2xlYW4gcHJpbWl0aXZlIG9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAhZmFsc2UgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFuZXcgQm9vbGVhbihmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIW5ldyBCb29sZWFuKGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is boolean primitive or Boolean object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIG51bWJlciBwcmltaXRpdmUgb3IgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoITAuMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhMC4xID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgTnVtYmVyKC0wLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICFuZXcgTnVtYmVyKC0wLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCFOYU4gIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAhTmFOID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIW5ldyBOdW1iZXIoTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAhbmV3IE51bWJlcihOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCEwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogITAgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICghbmV3IE51bWJlcigwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAhbmV3IE51bWJlcigwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICghSW5maW5pdHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogIUluZmluaXR5ID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is number primitive or Number object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHN0cmluZyBwcmltaXRpdmUgb3IgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoISIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCFuZXcgU3RyaW5nKCIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogIW5ldyBTdHJpbmcoIjAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICghIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICEieCIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISIiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogISIiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIW5ldyBTdHJpbmcoIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICFuZXcgU3RyaW5nKCIiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is string primitive or String object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIHVuZGVmaW5lZCBvciBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghdm9pZCAwICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIXZvaWQgMCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCFudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIW51bGwgPT09IHRydWUnKTsKfQoK","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is undefined or null","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAheCByZXR1cm5zICFUb0Jvb2xlYW4oeCkKICoKICogQHBhdGggY2gxMS8xMS40LzExLjQuOS9TMTEuNC45X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIE9iamVjdCBvYmplY3Qgb3IgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoIXt9KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAhKHt9KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyICAKaWYgKCEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICEoZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator !x returns !ToBoolean(x)","description":"Type(x) is Object object or Function object","path":"TestCases/ch11/11.4/11.4.9/S11.4.9_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiKiIgb3IgYmV0d2VlbiAiKiIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkqXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkqXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCKlx1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCKlxcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDKlx1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDKlxcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCpcdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCpcXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAqXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAqXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBKlx1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBKlxcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEKlx1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEKlxcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCpcdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCpcXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkqXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkqXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSpcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSpcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"*\" or between \"*\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgKiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKiB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKiB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAqIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAqIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICogb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x * y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAqIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICogMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x * y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAqIHk7CiAgJEVSUk9SKCcjMS4xOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICogeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x * y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjEvUzExLjUuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICogMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAqIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAqIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICogMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAqIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgKiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAqIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x * y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4xL1MxMS41LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAqIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICogeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICogeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICogeCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAqIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpICogeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKiAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICogKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggKiAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAqIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICogeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICogKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAqICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAqIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICogeSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKiB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAqIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAqICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgKiAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAqICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAqICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgKiAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAqICJ4IikpOwp9Cgo=","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBudWxsKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gKiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAqIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gKiB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAqIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAqIHt9KSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bWJlciAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAqIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICogdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKiB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKiAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKiAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKiBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKiBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAqIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAqIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICogMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICogMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICogIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICogIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICogIngiKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMxOiAxICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICogMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSAqIG51bGwgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICogbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgKiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgKiBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICogIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAqIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAqICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICogbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKiB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICogdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAqIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICogbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAqIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIjEiICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAqICIxIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAqIG5ldyBTdHJpbmcoIjEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICgiMSIgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAqICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgKiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAqIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAqIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICogdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICogdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKiB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgKiB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICogbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAqIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICogeSByZXR1cm5zIFRvTnVtYmVyKHgpICogVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKiBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAqIG51bGwgPT09IDAuIEFjdHVhbDogJyArICh0cnVlICogbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAqIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICogdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICogbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICogbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgKiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x * y returns ToNumber(x) * ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAqICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOICogTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gKiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAqIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAqIDEpKTsgIAp9IAoK","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If left operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gKiBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAqIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAqIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFICogTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICogTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgKiBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgKiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgKiBOYU4pKTsgIAp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If right operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgKiAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAqIDEgPT09IDEuIEFjdHVhbDogJyArICgxICogMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKiAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxICogLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAqIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgKiAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xICogMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgKiAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xICogLTEpKTsKfQoKLy9DSEVDSyM1CmlmICgwICogMCAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAqIDAgPT09IDAuIEFjdHVhbDogJyArICgwICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKiAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgKiAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAqIC0wICE9PSAtMCkgewogICRFUlJPUignIzYuMTogMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAqIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAqIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM2LjI6IDAgKiAtMCA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICogMCAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICogMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICogMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAqIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAqIC0wICE9PSAwKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAqIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgKiAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICogLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAqIC0wID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKiAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAtMCAqIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBJbmZpbml0eSAqIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC0wKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oMCAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAwICogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICogLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICogLTApKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTigwICogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDAgKiAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDAgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IEluZmluaXR5ICogMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oLTAgKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogLTAgKiBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgKiBJbmZpbml0eSkpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by a zero results in NaN","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIGFuIGluZmluaXR5IG9mIGFwcHJvcHJpYXRlIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKiBJbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICogLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAqIC1JbmZpbml0eSkpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by an infinity results in an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogLUluZmluaXR5ICogLTEgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogLTEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAqIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLTEgKiAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKiAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiAtMSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgKiAtMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiAtMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xICogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiAtMSAqIEluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtMSAqIEluZmluaXR5KSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM1OiBJbmZpbml0eSAqIE51bWJlci5NQVhfVkFMVUUgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk1BWF9WQUxVRSAqIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzY6IEluZmluaXR5ICogTnVtYmVyLk1BWF9WQUxVRSA9PT0gTnVtYmVyLk1BWF9WQUxVRSAqIEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgKiBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAqIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM4OiAtSW5maW5pdHkgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFICogLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9ICAKCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication of an infinity by a finite non-zero value results in a signed infinity","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFICogMS4xID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEuMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC0xLjEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtMS4xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFICogMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgKiAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAqIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAqIE51bWJlci5NQVhfVkFMVUUgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogLTEgKiBOdW1iZXIuTUFYX1ZBTFVFID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKC0xICogTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoK","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgKiAwLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAuMSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiAtMC4xICogTnVtYmVyLk1JTl9WQUxVRSA9PT0gLTAuIEFjdHVhbDogJyArICgtMC4xICogTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0wLjEgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICogMC41ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUpKTsKfQoKLy9DSEVDSyM0CmlmICgtMC41ICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFID09PSAtMC4gQWN0dWFsOiAnICsgKC0wLjUgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAuNSAqIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTAuNSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKE51bWJlci5NSU5fVkFMVUUgKiAwLjUxICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1JTl9WQUxVRSAqIDAuNTEgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC41MSkpOwp9CgovL0NIRUNLIzYKaWYgKC0wLjUxICogTnVtYmVyLk1JTl9WQUxVRSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM2OiAtMC41MSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuNTEgKiBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk1JTl9WQUxVRSAqIDAuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE51bWJlci5NSU5fVkFMVUUgKiAwLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICogMC45KSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjODogLTAuOSAqIE51bWJlci5NSU5fVkFMVUUgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLTAuOSAqIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too small to represent, the result is then a zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgbXVsdGlwbGljYXRpb24gaXMgZ292ZXJuZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMS9TMTEuNS4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBNdWx0aXBsaWNhdGlvbiBpcyBub3QgYWx3YXlzIGFzc29jaWF0aXZlICh4ICogeSAqIHogaXMgdGhlIHNhbWUgYXMgKHggKiB5KSAqIHosIG5vdCB4ICogKHkgKiB6KSkKICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgIT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkgPT09IChOdW1iZXIuTUFYX1ZBTFVFICogMS4xKSAqIDAuOS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKiAxLjEgKiAwLjkpKTsKfSAKCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5NQVhfVkFMVUUgKiAxLjEpICogMC45ID09PSBOdW1iZXIuTUFYX1ZBTFVFICogKDEuMSAqIDAuOSkpIHsKICAkRVJST1IoJyMyOiAoTnVtYmVyLk1BWF9WQUxVRSAqIDEuMSkgKiAwLjkgIT09IE51bWJlci5NQVhfVkFMVUUgKiAoMS4xICogMC45KScpOwp9Cgo=","commentary":"The result of a floating-point multiplication is governed by the rules of IEEE 754 double-precision arithmetics","description":"Multiplication is not always associative (x * y * z is the same as (x * y) * z, not x * (y * z))","path":"TestCases/ch11/11.5/11.5.1/S11.5.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiLyIgb3IgYmV0d2VlbiAiLyIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkvXHUwMDA5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkvXFx1MDAwOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCL1x1MDAwQjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCL1xcdTAwMEIxID09PSAxJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDL1x1MDAwQzEiKSAhPT0gMSkgewogICRFUlJPUignIzM6IDFcXHUwMDBDL1xcdTAwMEMxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC9cdTAwMjAxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC9cXHUwMDIwMSA9PT0gMScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAvXHUwMEEwMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAvXFx1MDBBMDEgPT09IDEnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBL1x1MDAwQTEiKSAhPT0gMSkgewogICRFUlJPUignIzY6IDFcXHUwMDBBL1xcdTAwMEExID09PSAxJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEL1x1MDAwRDEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IDFcXHUwMDBEL1xcdTAwMEQxID09PSAxJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC9cdTIwMjgxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC9cXHUyMDI4MSA9PT0gMScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkvXHUyMDI5MSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkvXFx1MjAyOTEgPT09IDEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS9cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDEpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS9cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAxJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"/\" or between \"/\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLyB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAvIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAvIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC8gb2JqZWN0eS5wcm9wKSk7Cn0KIAoK","commentary":"Operator x / y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAvIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC8gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x / y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAvIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x / y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjIvUzExLjUuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC8gMSA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAvIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAvIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC8gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAvIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgLyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDEuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAvIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC8ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x / y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4yL1MxMS41LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAvIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC8geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC8geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC8geCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAvIHggPT09IDEuIEFjdHVhbDogJyArICgoeCA9IDEpIC8geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLyAoeCA9IDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IC8gKHggPSAxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHggLyAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAvIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC8geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC8gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAvICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAvIHkgIT09IDEpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC8geSA9PT0gMS4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLyB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAvIHRydWUgIT09IDEpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogMSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzM6ICIxIiAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAvICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLyAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAvICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAvICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLyAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAvICJ4IikpOwp9Cgo=","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAvIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAvIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgLyBudWxsKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLyBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAvIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLyB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAvIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAvIHt9KSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gMSAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IDEgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAvIDEgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArICgxIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IE51bWJlcigxKSAhPT0gMSkgewogICRFUlJPUignIzU6IHRydWUgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC8gdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyMyOiAxIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIDEgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLyAxID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM0OiAxIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoMSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM1OiAiMSIgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLyAiMSIgIT09IDEpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBOdW1iZXIoMSkgIT09IDEpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLyBuZXcgTnVtYmVyKDEpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLyBuZXcgU3RyaW5nKCIxIikgIT09IDEpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAvIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC8gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC8gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC8gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC8gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC8gIngiKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IDEgLyBudWxsID09PSArSW5maW5pdHkuIEFjdHVhbDogJyArICgxIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAvIDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIC8gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgLyBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC8gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC8gIjEiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAvICIxIiA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogIjEiIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvICIxIiAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gIjEiID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzQ6ICIxIiAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC8gbmV3IFN0cmluZygiMSIpICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLyB0cnVlICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC8gdHJ1ZSA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG5ldyBTdHJpbmcoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC8gbmV3IFN0cmluZygiMSIpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMSkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAvIG5ldyBCb29sZWFuKHRydWUpID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC8gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLyAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC8gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC8gbnVsbCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMTogIjEiIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAoIjEiIC8gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLyAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIC8gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSAvIG51bGwgPT09ICtJbmZpbml0eS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAvIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC8gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLyBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAvIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC8gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLyB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLyB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC8gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC8gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC8geSByZXR1cm5zIFRvTnVtYmVyKHgpIC8gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLyBudWxsICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiB0cnVlIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAodHJ1ZSAvIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIC8gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgLyB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAvIG51bGwgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC8gbnVsbCA9PT0gK0luZmluaXR5LiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAvIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCAvIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x / y returns ToNumber(x) / ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGxlZnQgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOYU4gLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIE5hTikpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IE5hTiAvICswID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IE5hTiAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyAtMCkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBOYU4gLyBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gSW5maW5pdHkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBOYU4gLyAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIC1JbmZpbml0eSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTmFOIC8gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOdW1iZXIuTUlOX1ZBTFVFKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5OYU4gLyAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IE5hTiAvIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAvIDEpKTsgIAp9IAoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If left operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIHJpZ2h0IG9wZXJhbmQgaXMgTmFOLCB0aGUgcmVzdWx0IGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5hTiAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gLyBOYU4pKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKCswIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiArMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoKzAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzMKaWYgKGlzTmFOKC0wIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAtMCAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyBOYU4pKTsgCn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gTmFOKSk7Cn0gCgovL0NIRUNLIzUKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIC1JbmZpbml0eSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIC1JbmZpbml0eSAvIE5hTikpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAvIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIE5hTikpOwp9IAoKLy9DSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTUlOX1ZBTFVFIC8gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gTmFOKSk7IAp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKDEgLyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgLyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLyBOYU4pKTsgIAp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If right operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gSWYgYm90aCBvcGVyYW5kcyBhcmUgZmluaXRlIGFuZCBub256ZXJvLCB0aGUgcXVvdGllbnQgaXMgY29tcHV0ZWQgYW5kIHJvdW5kZWQgdXNpbmcgSUVFRSA3NTQgcm91bmQtdG8tbmVhcmVzdCBtb2RlLgogKiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBzbWFsbCB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMSAhPT0gMCkgewogICRFUlJPUignIzE6IE51bWJlci5NSU5fVkFMVUUgLyAyLjEgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMi4xKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMi4xOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4xKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjEgPT09IC0wLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAyLjAgIT09IDApIHsKICAkRVJST1IoJyMzOiBOdW1iZXIuTUlOX1ZBTFVFIC8gMi4wID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIDIuMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5NSU5fVkFMVUUgLyAtMi4wICE9PSAtMCkgewogICRFUlJPUignIzQuMTogTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjAgPT09IC0wLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0yLjApKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTIuMCA9PT0gLTAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIDEuOSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzU6IE51bWJlci5NSU5fVkFMVUUgLyAxLjkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS45KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAvIC0xLjkpKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gMS4xICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAvIDEuMSA9PT0gTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NSU5fVkFMVUUgLyAxLjEpKTsKfQoKLy9DSEVDSyM4CmlmIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyM4OiBOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSA9PT0gLU51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFIC8gLTEuMSkpOwp9IAoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If both operands are finite and nonzero, the quotient is computed and rounded using IEEE 754 round-to-nearest mode.\nIf the magnitude is too small to represent, the result is then a zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0IGlzIHBvc2l0aXZlIGlmIGJvdGggb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBzaWduLCBuZWdhdGl2ZSBpZiB0aGUgb3BlcmFuZHMgaGF2ZSBkaWZmZXJlbnQgc2lnbnMKICovCgovL0NIRUNLIzEKaWYgKDEgLyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAvIDEgPT09IDEuIEFjdHVhbDogJyArICgxIC8gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLyAtMSAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiAxIC8gLTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoMSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgLyAxICE9PSAtMSkgewogICRFUlJPUignIzM6IC0xIC8gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgtMSAvIC0xICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogLTEgLyAtMSA9PT0gMS4gQWN0dWFsOiAnICsgKC0xIC8gLTEpKTsKfQoK","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"The sign of the result is positive if both operands have the same sign, negative if the operands have different signs","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIHplcm8gcmVzdWx0cyBpbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAwICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAvIDAgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgLyAwKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTAgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0wID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0wKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAwID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMCkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0wICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0wID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0wKSk7Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by a zero results in an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IC1JbmZpbml0eSAvIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC8gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IEluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC8gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5IC8gLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC1JbmZpbml0eSkpOwp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by an infinity results in NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhbiBpbmZpbml0eSBieSBhIGZpbml0ZSBub24temVybyB2YWx1ZSByZXN1bHRzIGluIGEgc2lnbmVkIGluZmluaXR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgLyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC8gLTEgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IC1JbmZpbml0eSAvIC0xID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgLyAxID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gMSkpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAvIC0xICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAvIC0xID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAvIC0xKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLyBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM2OiAtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLyBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of an infinity by a finite non-zero value results in a signed infinity","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIGZpbml0ZSB2YWx1ZSBieSBhbiBpbmZpbml0eSByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyMxLjE6IDEgLyAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgxIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC8gLUluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMSAvIC1JbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xIC8gLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTEgLyAtSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgxIC8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSArMCkgewogICRFUlJPUignIzMuMTogMSAvIEluZmluaXR5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAxIC8gSW5maW5pdHkgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgtMSAvIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLTApIHsKICAkRVJST1IoJyM0LjE6IC0xIC8gSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIEluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTEgLyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogLTEgLyBJbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a finite value by an infinity results in zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYSB6ZXJvIHJlc3VsdHMgaW4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigrMCAvICswKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICswIC8gKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswIC8gKzApKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKC0wIC8gKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLTAgLyArMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLTAgLyArMCkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4oKzAgLyAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiArMCAvIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgrMCAvIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTigtMCAvIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IC0wIC8gLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wIC8gLTApKTsKfSAKCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a zero by a zero results in NaN","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEaXZpc2lvbiBvZiBhIHplcm8gYnkgYW55IG5vbi16ZXJvIGZpbml0ZSB2YWx1ZSAtMCByZXN1bHRzIGluIHplcm8gb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoLTAgLyAxICE9PSAtMCkgewogICRFUlJPUignIzEuMTogLTAgLyAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgLyAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IC0wIC8gMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC0wIC8gLTEgIT09ICswKSB7CiAgJEVSUk9SKCcjMi4xOiAtMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC8gLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogLTAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKCswIC8gMSAhPT0gKzApIHsKICAkRVJST1IoJyMzLjE6ICswIC8gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCswIC8gMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogKzAgLyAtMSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKCswIC8gLTEgIT09IC0wKSB7CiAgJEVSUk9SKCcjNC4xOiArMCAvIC0xID09PSAwLiBBY3R1YWw6ICcgKyAoKzAgLyAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKCswIC8gLTEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogKzAgLyAtMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCswIC8gLU51bWJlci5NQVhfVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNS4xOiAwIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwIC8gLU51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgrMCAvIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6ICswIC8gLU51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM2CmlmICgtMCAvIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjNi4xOiAtMCAvIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAvIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAvIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogLTAgLyBOdW1iZXIuTUlOX1ZBTFVFID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCg==","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"Division of a zero by any non-zero finite value -0 results in zero of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGRpdmlzaW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YgSUVFRSA3NTQgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMi9TMTEuNS4yX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSByZXN1bHQgaXMgdGhlbiBhbiBpbmZpbml0eSBvZiBhcHByb3ByaWF0ZSBzaWduCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC8gMC45ID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk1BWF9WQUxVRSAvIC0wLjkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzI6IE51bWJlci5NQVhfVkFMVUUgLyAtMC45ID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTAuOSkpOwp9IAoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gMSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzM6IE51bWJlci5NQVhfVkFMVUUgLyAxID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAvIDEpKTsKfQoKLy9DSEVDSyM0CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gLTEgIT09IC1OdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk1BWF9WQUxVRSAvIC0xID09PSAtTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLyAtMSkpOwp9IAoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTUFYX1ZBTFVFIC8gKE51bWJlci5NQVhfVkFMVUUgLyAwLjkpID09PSAoTnVtYmVyLk1BWF9WQUxVRSAvIE51bWJlci5NQVhfVkFMVUUpIC8gMC45KSB7CiAgJEVSUk9SKCcjNTogTnVtYmVyLk1BWF9WQUxVRSAvIChOdW1iZXIuTUFYX1ZBTFVFIC8gMC45KSAhPT0gKE51bWJlci5NQVhfVkFMVUUgLyBOdW1iZXIuTUFYX1ZBTFVFKSAvIDAuOScpOwp9Cgo=","commentary":"The result of division is determined by the specification of IEEE 754 arithmetics","description":"If the magnitude is too large to represent, the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.5/11.5.2/S11.5.2_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uIGFuZCAiJSIgb3IgYmV0d2VlbiAiJSIgYW5kIFVuYXJ5RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDklXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDklXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCJVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCJVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDJVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDJVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCVcdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCVcXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAlXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAlXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBJVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBJVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEJVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBEJVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCVcdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCVcXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjklXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjklXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOSVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between MultiplicativeExpression and \"%\" or between \"%\" and UnaryExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSAlIDIgPT09IDEuIEFjdHVhbDogJyArICgxICUgMikpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIDIpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMjsKaWYgKDEgJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAyOyAxICUgeSA9PT0gMS4gQWN0dWFsOiAnICsgKDEgJSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggJSB5ICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggJSB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMjsKaWYgKG9iamVjdHgucHJvcCAlIG9iamVjdHkucHJvcCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMjsgb2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wID09PSAxLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICUgb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x % y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAlIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggJSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICUgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x % y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAlIHk7CiAgJEVSUk9SKCcjMS4xOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgJSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICUgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x % y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNS8xMS41LjMvUzExLjUuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAlIDIpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgIT09IDEpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIgPT09IDEuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAlIDIpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gJSAyICE9PSAxKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICUgMiA9PT0gMS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAlIDIpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyID09PSAxLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAlIDIpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICUgMiBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gJSAyIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAlIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzU6IDEgJSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gMSkgewogICRFUlJPUignIzY6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IDEuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAlIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICUge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgJSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x % y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjUvMTEuNS4zL1MxMS41LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAlIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICUgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggJSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICUgeCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAlIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpICUgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggJSAoeCA9IDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ICUgKHggPSAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggJSAoeCA9IDIpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgJSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAlIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICUgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggJSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICUgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAlICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAlIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICUgeSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgJSB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAlIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgxICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAlICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgJSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAlICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAlICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgJSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAlICJ4IikpOwp9Cgo=","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAlIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4obnVsbCAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG51bGwgJSBudWxsKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gJSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAlIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gJSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAlIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAlIHt9KSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICUgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgJSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAlIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgJSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgJSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgJSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAlIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiICUgMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxICUgIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxICUgIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgIngiKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSAlIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsICUgbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpICUgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICUgIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAlICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAlIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICUgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICUgbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAlIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICUgdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAlIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICUgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAlIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICUgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgJSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICUgIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oIjEiICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAlICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgJSAiMSIgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IFN0cmluZygiMSIpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgJSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAlIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAlIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlICUgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICUgdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgJSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgJSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgJSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkICUgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAlIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICUgeSByZXR1cm5zIFRvTnVtYmVyKHgpICUgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgJSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgJSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlICUgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgJSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAlIHRydWUgPT09IDAuIEFjdHVhbDogJyArIChudWxsICUgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAlIG51bGwgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICUgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgJSBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x % y returns ToNumber(x) % ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjEuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTmFOICUgKzApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogTmFOICUgKzAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlICswKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuTmFOICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogTmFOICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIC0wKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IE5hTiAlIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBJbmZpbml0eSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IE5hTiAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgLUluZmluaXR5KSk7IAp9IAoKLy9DSEVDSyM2CmlmIChpc05hTihOdW1iZXIuTmFOICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChOYU4gJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gCgovL0NIRUNLIzcKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IE5hTiAlIE51bWJlci5NSU5fVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAlIE51bWJlci5NSU5fVkFMVUUpKTsgCn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk5hTiAlIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogTmFOICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgMSkpOyAgCn0KCg==","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QxLjIuanMKICogQGRlc2NyaXB0aW9uIElmIGVpdGhlciBvcGVyYW5kIGlzIE5hTiwgdGhlIHJlc3VsdCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5OYU4gJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE5hTiAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICUgTmFOKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTigrMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKzAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCswICUgTmFOKSk7IAp9IAoKLy9DSEVDSyMzCmlmIChpc05hTigtMCAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogLTAgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgTmFOKSk7IAp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IEluZmluaXR5ICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE5hTikpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICAtSW5maW5pdHkgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCAtSW5maW5pdHkgJSBOYU4pKTsgCn0gCgovL0NIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgJSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBOYU4pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAlIE5hTiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIE5hTikpOyAKfQoKLy9DSEVDSyM4CmlmIChpc05hTigxICUgTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAxICUgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICUgTmFOKSk7ICAKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2lnbiBvZiB0aGUgZmluaXRlIG5vbi16ZXJvIHZhbHVlIHJlc3VsdCBlcXVhbHMgdGhlIHNpZ24gb2YgdGhlIGRpdmlkZWQKICovCgovL0NIRUNLIzEKaWYgKDEgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAxICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMSAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMSAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtMSAlIC0xICE9PSAtMCkgewogICRFUlJPUignIzIuMTogLTEgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIC0xKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IC0xICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAlIDEgIT09IC0wKSB7CiAgJEVSUk9SKCcjMy4xOiAtMSAlIDEgPT09IDAuIEFjdHVhbDogJyArICgtMSAlIDEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMSAlIDEpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzMuMjogLTEgJSAxID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjNAppZiAoMSAlIC0xICE9PSAwKSB7CiAgJEVSUk9SKCcjNC4xOiAxICUgLTEgPT09IDAuIEFjdHVhbDogJyArICgxICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxICUgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzQuMjogMSAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMTAxICUgNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNTogMTAxICUgNTEgPT09IDUwLiBBY3R1YWw6ICcgKyAoMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM2CmlmICgxMDEgJSAtNTEgIT09IDUwKSB7CiAgJEVSUk9SKCcjNjogMTAxICUgLTUxID09PSA1MC4gQWN0dWFsOiAnICsgKDEwMSAlIC01MSkpOwp9CgovL0NIRUNLIzcKaWYgKC0xMDEgJSA1MSAhPT0gLTUwKSB7CiAgJEVSUk9SKCcjNzogLTEwMSAlIDUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgNTEpKTsKfQoKLy9DSEVDSyM4CmlmICgtMTAxICUgLTUxICE9PSAtNTApIHsKICAkRVJST1IoJyM4OiAtMTAxICUgLTUxID09PSAtNTAuIEFjdHVhbDogJyArICgtMTAxICUgLTUxKSk7Cn0KCg==","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"The sign of the finite non-zero value result equals the sign of the divided","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aWRlbmQgaXMgYW4gaW5maW5pdHkgcmVzdWx0cyBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICUgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogSW5maW5pdHkgJSBJbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBJbmZpbml0eSAlIC1JbmZpbml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IEluZmluaXR5ICUgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAxKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogLUluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0xKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBJbmZpbml0eSAlIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMSkpOwp9CgovL0NIRUNLIzgKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IEluZmluaXR5ICUgLTEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLTEpKTsKfQoKLy9DSEVDSyM5CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IEluZmluaXR5ICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAlIC1OdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAtSW5maW5pdHkgJSAtTnVtYmVyLk1BWF9WQUxVRSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoLUluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogSW5maW5pdHkgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMxMgppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICUgLU51bWJlci5NQVhfVkFMVUUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6IEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgLU51bWJlci5NQVhfVkFMVUUpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If the dividend is an infinity results is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgZGl2aXNvciBpcyB6ZXJvIHJlc3VsdHMgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigtMCAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogLTAgJSAwID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMCAlIDApKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTigtMCAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IC0wICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC0wICUgLTApKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTigwICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAwICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMCAlIDApKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTigwICUgLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMCAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgwICUgLTApKTsKfQoKLy9DSEVDSyM1CmlmIChpc05hTigtMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oLTEgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAtMSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoaXNOYU4oMSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogMSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgJSAwKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoaXNOYU4oMSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IDEgJSAtMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoMSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICUgMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBJbmZpbml0eSAlIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICUgMCkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgJSAtMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogLUluZmluaXR5ICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTE6IEluZmluaXR5ICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkgJSAwKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEyOiBJbmZpbml0eSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKGlzTmFOKE51bWJlci5NSU5fVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEzOiBOdW1iZXIuTUlOX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNAppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE0OiAtTnVtYmVyLk1JTl9WQUxVRSAlIC0wID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgtTnVtYmVyLk1JTl9WQUxVRSAlIC0wKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKGlzTmFOKE51bWJlci5NQVhfVkFMVUUgJSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE1OiBOdW1iZXIuTUFYX1ZBTFVFICUgMCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIDApKTsKfQoKLy9DSEVDSyMxNgppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSAlIC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE2OiBOdW1iZXIuTUFYX1ZBTFVFICUgLTAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSAtMCkpOwp9Cgo=","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If the divisor is zero results is NaN","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBmaW5pdGUgYW5kIHRoZSBkaXZpc29yIGlzIGFuIGluZmluaXR5LCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxICUgLUluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIC1JbmZpbml0eSkpOwp9Ci8vQ0hFQ0sjMgppZiAoMSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0xKSB7CiAgJEVSUk9SKCcjMjogMSAlIEluZmluaXR5ID09PSAxLiBBY3R1YWw6ICcgKyAoMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoLTEgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogLTEgJSBJbmZpbml0eSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IC0xKSB7CiAgJEVSUk9SKCcjNDogLTEgJSAtSW5maW5pdHkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgJSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAwKSB7CiAgJEVSUk9SKCcjNS4xOiAwICUgSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBJbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzYKaWYgKDAgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgwICUgLUluZmluaXR5KSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzYuMjogMCAlIC1JbmZpbml0eSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzcuMTogLTAgJSBJbmZpbml0eSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgSW5maW5pdHkpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIEluZmluaXR5ID09PSAtIDAuIEFjdHVhbDogKzAnKTsKICB9Cn0KCi8vQ0hFQ0sjOAppZiAoLTAgJSAgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtMCkgewogICRFUlJPUignIzguMTogLTAgJSAtSW5maW5pdHkgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIC1JbmZpbml0eSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjOC4yOiAtMCAlIC1JbmZpbml0eSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5NQVhfVkFMVUUgJSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUFYX1ZBTFVFICUgLUluZmluaXR5ID09PSBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEwCmlmIChOdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzExCmlmICgtTnVtYmVyLk1BWF9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NQVhfVkFMVUUpIHsKICAkRVJST1IoJyMxMTogLU51bWJlci5NQVhfVkFMVUUgJSBJbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk1BWF9WQUxVRSkgewogICRFUlJPUignIzEyOiAtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSA9PT0gLU51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAlIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzEzCmlmIChOdW1iZXIuTUlOX1ZBTFVFICUgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTM6IE51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgLUluZmluaXR5KSk7Cn0KLy9DSEVDSyMxNAppZiAoTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzE0OiBOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMxNQppZiAoLU51bWJlci5NSU5fVkFMVUUgJSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IC1OdW1iZXIuTUlOX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTU6IC1OdW1iZXIuTUlOX1ZBTFVFICUgSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzE2CmlmICgtTnVtYmVyLk1JTl9WQUxVRSAlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gLU51bWJlci5NSU5fVkFMVUUpIHsKICAkRVJST1IoJyMxNjogLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkgPT09IC1OdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NSU5fVkFMVUUgJSAtSW5maW5pdHkpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If dividend is finite and the divisor is an infinity, the result equals the dividend","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBkaXZpZGVuZCBpcyBhIHplcm8gYW5kIHRoZSBkaXZpc29yIGlzIG5vbnplcm8gZmluaXRlLCB0aGUgcmVzdWx0IGVxdWFscyB0aGUgZGl2aWRlbmQKICovCgovL0NIRUNLIzEKaWYgKDAgJSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiAwICUgMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAlIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogMCAlIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICUgLTEgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IDAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgJSAtMSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSAgLTEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzIuMjogMCAlIC0xID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoLTAgJSAxICE9PSAtMCkgewogICRFUlJPUignIzMuMTogLTAgJSAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgJSAxKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLTAgJSAxKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0wICUgMSA9PT0gLSAwLiBBY3R1YWw6ICswJyk7CiAgfQp9CgovL0NIRUNLIzQKaWYgKC0wICUgIC0xICE9PSAtMCkgewogICRFUlJPUignIzQuMTogLTAgJSAtMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgLTEpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlICAtMSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNC4yOiAwICUgLTEgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgwICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gMCkgewogICRFUlJPUignIzUuMTogMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgwICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgJSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM1LjI6IDAgJSBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjNgppZiAoMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IDApIHsKICAkRVJST1IoJyM2LjE6IDAgJSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgwICUgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNi4yOiAwICUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzcKaWYgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSAhPT0gLTApIHsKICAkRVJST1IoJyM3LjE6IC0wICUgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICUgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNy4yOiAtMCAlIE51bWJlci5NQVhfVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM4CmlmICgtMCAlIE51bWJlci5NSU5fVkFMVUUgIT09IC0wKSB7CiAgJEVSUk9SKCcjOC4xOiAtMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMCAlIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCAlIE51bWJlci5NSU5fVkFMVUUpICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzguMjogMCAlIE51bWJlci5NSU5fVkFMVUUgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If dividend is a zero and the divisor is nonzero finite, the result equals the dividend","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGEgRUNNQVNjcmlwdCBmbG9hdGluZy1wb2ludCByZW1haW5kZXIgb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIHJ1bGVzIG9mIElFRUUgYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS41LzExLjUuMy9TMTEuNS4zX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBvcGVyYW5kcyBuZWl0aGVyIGFuIGluZmluaXR5LCBub3IgYSB6ZXJvLCBub3IgTmFOLCByZXR1cm4geCAtIHRydW5jYXRlKHggLyB5KSAqIHkKICovCgpmdW5jdGlvbiB0cnVuY2F0ZSh4KSB7CiAgaWYgKHggPiAwKSB7CiAgICByZXR1cm4gTWF0aC5mbG9vcih4KTsKICB9IGVsc2UgewogICAgcmV0dXJuIE1hdGguY2VpbCh4KTsKICB9Cn0KCi8vQ0hFQ0sjMQp4ID0gMS4zOyAKeSA9IDEuMTsKaWYgKHggJSB5ICE9PSAwLjE5OTk5OTk5OTk5OTk5OTk2KSB7CiAgJEVSUk9SKCcjMTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzIKeCA9IC0xLjM7IAp5ID0gMS4xOyAKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzI6IHggPSAtMS4zOyB5ID0gMS4xOyB4ICUgeSA9PT0gLTAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzMKeCA9IDEuMzsgCnkgPSAtMS4xOwppZiAoeCAlIHkgIT09IDAuMTk5OTk5OTk5OTk5OTk5OTYpIHsKICAkRVJST1IoJyMzOiB4ID0gMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IDAuMTk5OTk5OTk5OTk5OTk5OTYuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzQKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSAtMC4xOTk5OTk5OTk5OTk5OTk5NikgewogICRFUlJPUignIzQ6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IC0wLjE5OTk5OTk5OTk5OTk5OTk2LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM1CnggPSAxLjM7IAp5ID0gMS4xOwppZiAoeCAlIHkgIT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5KSB7CiAgJEVSUk9SKCcjNTogeCA9IDEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM2CnggPSAtMS4zOyAKeSA9IDEuMTsgCmlmICh4ICUgeSAhPT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkpIHsKICAkRVJST1IoJyM2OiB4ID0gLTEuMzsgeSA9IDEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoKLy9DSEVDSyM3CnggPSAxLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzc6IHggPSAxLjM7IHkgPSAtMS4xOyB4ICUgeSA9PT0geCAtIHRydW5jYXRlKHggLyB5KSAqIHkuIEFjdHVhbDogJyArICh4ICUgeSkpOwp9CgovL0NIRUNLIzgKeCA9IC0xLjM7IAp5ID0gLTEuMTsKaWYgKHggJSB5ICE9PSB4IC0gdHJ1bmNhdGUoeCAvIHkpICogeSkgewogICRFUlJPUignIzg6IHggPSAtMS4zOyB5ID0gLTEuMTsgeCAlIHkgPT09IHggLSB0cnVuY2F0ZSh4IC8geSkgKiB5LiBBY3R1YWw6ICcgKyAoeCAlIHkpKTsKfQoK","commentary":"The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics","description":"If operands neither an infinity, nor a zero, nor NaN, return x - truncate(x / y) * y","path":"TestCases/ch11/11.5/11.5.3/S11.5.3_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiKyIgb3IgYmV0d2VlbiAiKyIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkrXHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkrXFx1MDAwOTEgPT09IDInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCK1x1MDAwQjEiKSAhPT0gMikgewogICRFUlJPUignIzI6IDFcXHUwMDBCK1xcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDK1x1MDAwQzEiKSAhPT0gMikgewogICRFUlJPUignIzM6IDFcXHUwMDBDK1xcdTAwMEMxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCtcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCtcXHUwMDIwMSA9PT0gMicpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTArXHUwMEEwMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTArXFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBK1x1MDAwQTEiKSAhPT0gMikgewogICRFUlJPUignIzY6IDFcXHUwMDBBK1xcdTAwMEExID09PSAyJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEK1x1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEK1xcdTAwMEQxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCtcdTIwMjgxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCtcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkrXHUyMDI5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkrXFx1MjAyOTEgPT09IDInKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOStcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOStcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAyJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"+\" or between \"+\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSArIDEgPT09IDIuIEFjdHVhbDogJyArICgxICsgMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgKyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCArIG9iamVjdHkucHJvcCAhPT0gMikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wID09PSAyLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x + y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCArIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSArIHk7CiAgJEVSUk9SKCcjMS4xOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICsgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSArIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSArIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICsgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSArIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzU6IDEgKyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzY6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBEYXRlIG9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIGRhdGUgIT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKSkgewogICRFUlJPUignIzE6IHZhciBkYXRlID0gbmV3IERhdGUoKTsgZGF0ZSArIGRhdGUgPT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKS4gQWN0dWFsOiAnICsgKGRhdGUgKyBkYXRlKSk7ICAKfQoKLy9DSEVDSyMyCnZhciBkYXRlID0gbmV3IERhdGUoKTsKaWYgKGRhdGUgKyAwICE9PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIpIHsKICAkRVJST1IoJyMyOiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyAwID09PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIuIEFjdHVhbDogJyArIChkYXRlICsgMCkpOyAgCn0KCi8vQ0hFQ0sjMwp2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CmlmIChkYXRlICsgdHJ1ZSAhPT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyBkYXRlICsgdHJ1ZSA9PT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiLiBBY3R1YWw6ICcgKyAoZGF0ZSArIHRydWUpKTsgIAp9CgovL0NIRUNLIzQKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIG5ldyBPYmplY3QoKSAhPT0gZGF0ZS50b1N0cmluZygpICsgIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyBuZXcgT2JqZWN0KCkgPT09IGRhdGUudG9TdHJpbmcoKSArICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoZGF0ZSArIG5ldyBPYmplY3QoKSkpOyAgCn0KCgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Date object, evaluate ToPrimitive(value, String)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBGdW5jdGlvbiwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMDsKfQppZiAoZjEgKyAxICE9PSBmMS50b1N0cmluZygpICsgMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGYxKCkge3JldHVybiAwO307IGYxICsgMSA9PT0gZjEudG9TdHJpbmcoKSArIDEnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKCl7CiAgcmV0dXJuIDA7Cn0KZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307CmlmICgxICsgZjIgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogZjF1bmN0aW9uIGYyKCkge3JldHVybiAwO30gZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307IDEgKyBmMiA9PT0gMSArIDEuIEFjdHVhbDogJyArICgxICsgZjIpKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKCl7CiAgcmV0dXJuIDA7Cn0KZjMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoMSArIGYzICE9PSAxICsgMSkgewogICRFUlJPUignIzM6IGYxdW5jdGlvbiBmMygpIHtyZXR1cm4gMDt9IGYzLnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyAxICsgZjMgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoMSArIGYzKSk7Cn0KCi8vQ0hFQ0sjNApmdW5jdGlvbiBmNCgpewogIHJldHVybiAwOwp9CmY0LnZhbHVlT2YgPSBmdW5jdGlvbigpIHtyZXR1cm4gLTE7fTsKZjQudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoZjQgKyAxICE9PSAxIC0gMSkgewogICRFUlJPUignIzQ6IGYxdW5jdGlvbiBmNCgpIHtyZXR1cm4gMDt9OyBmMi52YWx1ZU9mID0gZnVuY3Rpb24oKSB7cmV0dXJuIC0xO307IGY0LnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyBmNCArIDEgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoZjQgKyAxKSk7Cn0KCg==","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Function, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4xL1MxMS42LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCArIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICsgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICsgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICsgeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSArIHggPT09IDIuIEFjdHVhbDogJyArICgoeCA9IDEpICsgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKyAoeCA9IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggKyAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSArIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICsgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSArIHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKyB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKyB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzM6IHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IDEgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpICsgMSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzM6IDEgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKG51bGwgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVsbCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgbnVsbCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgKyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsICsgbnVsbCkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgb3IgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIDEgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxICsgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbnVsbCArIDEgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICsgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAxID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICsgbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgdHJ1ZSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjEvUzExLjYuMV9BMy4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKyBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsICsgdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IG51bGwgKyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobnVsbCArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiBudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzE6ICIxIiArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzM6ICIxIiArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCJ4IiArICIxIiAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjNTogIngiICsgIjEiID09PSAieDEiLiBBY3R1YWw6ICcgKyAoIngiICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiICsgIngiICE9PSAiMXgiKSB7CiAgJEVSUk9SKCcjNjogIjEiICsgIngiID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoIjEiICsgIngiKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICsge30pICE9PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9ICsge30pID09PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsge30pKSk7Cn0KCgoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMxOiAiMSIgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiAxICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiAiMSIgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKCJ4IiArIDEgIT09IngxIikgewogICRFUlJPUignIzk6ICJ4IiArIDEgPT09ICJ4MSIuIEFjdHVhbDogJyArICgieCIgKyAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgKyAieCIgIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogMSArICJ4IiA9PT0gIjF4Ii4gQWN0dWFsOiAnICsgKDEgKyAieCIpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgIjEiICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArICIxIiA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogIjEiICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKCIxIiArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArICIxIiAhPT0gInRydWUxIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgIjEiID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzQ6ICIxIiArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IFN0cmluZygiMSIpICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICsgbmV3IFN0cmluZygiMSIpID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgKyB1bmRlZmluZWQgIT09ICIxdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6ICIxIiArIHVuZGVmaW5lZCA9PT0gIjF1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAoIjEiICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkICsgIjEiICE9PSAidW5kZWZpbmVkMSIpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAiMSIgPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIHVuZGVmaW5lZCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICsgdW5kZWZpbmVkID09PSAiMXVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgKyBuZXcgU3RyaW5nKCIxIikgIT09ICJ1bmRlZmluZWQxIikgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInVuZGVmaW5lZDEiLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0EzLjJfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzE6ICIxIiArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICgiMSIgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCArICIxIiAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IG51bGwgKyAiMSIgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIm51bGwxIikgewogICRFUlJPUignIzQ6IG51bGwgKyBuZXcgU3RyaW5nKCIxIikgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A3.2_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICsgMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOICsgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgKyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxICsgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIG9wcG9zaXRlIHNpZ24gaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSArIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of opposite sign is NaN","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIHRoZSBzYW1lIHNpZ24gaXMgdGhlIGluZmluaXR5IG9mIHRoYXQgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAtSW5maW5pdHkpKTsKfQoKCgoK","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of the same sign is the infinity of that sign","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGFuIGluZmluaXR5IGFuZCBhIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgaW5maW5pdGUgb3BlcmFuZAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xICsgSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIDEgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM0OiAtMSArIC1JbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzc6IC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzg6IC1OdW1iZXIuTUFYX1ZBTFVFICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of an infinity and a finite value is equal to the infinite operand","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBuZWdhdGl2ZSB6ZXJvcyBpcyAtMC4gVGhlIHN1bSBvZiB0d28gcG9zaXRpdmUgemVyb3MsIG9yIG9mIHR3byB6ZXJvcyBvZiBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtMCArIC0wICE9PSAtMCApIHsgIAogICRFUlJPUignIzEuMTogLTAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgLTApKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCArIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjE6IC0wICsgLTAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICsgLTAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMyLjE6IDAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgKyAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAwICsgLTAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMCArIDAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wICsgMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICsgMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCArIDAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwICsgMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCArIDAgPT09IDAuIEFjdHVhbDogJyArICgwICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgKyAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two negative zeros is -0. The sum of two positive zeros, or of two zeros of opposite sign is +0","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGEgemVybyBhbmQgYSBub256ZXJvIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbm9uemVybyBvcGVyYW5kCiAqLwoKLy9DSEVDSyMxCmlmICgxICsgLTAgIT09IDEgKSB7ICAKICAkRVJST1IoJyMxOiAxICsgLTAgPT09IDEuIEFjdHVhbDogJyArICgxICsgLTApKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgMCAhPT0gMSApIHsgIAogICRFUlJPUignIzI6IDEgKyAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSArIDApKTsKfSAKCi8vQ0hFQ0sjMwppZiAoLTAgKyAxICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgKyAxID09PSAxLiBBY3R1YWw6ICcgKyAoLTAgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMCArIDEgIT09IDEgKSB7ICAKICAkRVJST1IoJyM0OiAwICsgMSA9PT0gMS4gQWN0dWFsOiAnICsgKDAgKyAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgKyAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKyAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSArIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCArIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKSB7ICAKICAkRVJST1IoJyM3OiAtMCArIE51bWJlci5NSU5fVkFMVUUgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArICgtMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgwICsgTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgKyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of a zero and a nonzero finite value is equal to the nonzero operand","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBub256ZXJvIGZpbml0ZSB2YWx1ZXMgb2YgdGhlIHNhbWUgbWFnbml0dWRlIGFuZCBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjE6IC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogLTEgLyBOdW1iZXIuTUFYX1ZBTFVFICsgMSAvIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two nonzero finite values of the same magnitude and opposite sign is +0","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMzCmlmICgxZSszMDggKyAxZSszMDggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IDFlKzMwOCArIDFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4ICsgMWUrMzA4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTguOTllKzMwNyAtIDguOTllKzMwNyAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogLTguOTllKzMwNyAtIDguOTllKzMwNyA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoLTguOTllKzMwNyAtIDguOTllKzMwNykpOwp9Cgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMS9TMTEuNi4xX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYWRkaXRpb24gb3BlcmF0b3IgaXMgbm90IGFsd2F5cyBhc3NvY2lhdGl2ZSAoIHggKyB5ICsgeiBpcyB0aGUgc2FtZSAoeCArIHkpICsgeiwgbm90IHggKyAoeSArIHopKQogKi8KCi8vQ0hFQ0sjMQppZiAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTogLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMyCmlmICgoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1OdW1iZXIuTUFYX1ZBTFVFICsgKE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSkgewogICRFUlJPUignIzI6ICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gLU51bWJlci5NQVhfVkFMVUUgKyAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpLiBBY3R1YWw6ICcgKyAoKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiICsgMSArIDEgIT09ICgiMSIgKyAxKSArIDEpIHsKICAkRVJST1IoJyMzOiAiMSIgKyAxICsgMSA9PT0gKCIxIiArIDEpICsgMS4gQWN0dWFsOiAnICsgKCIxIiArIDEgKyAxKSk7Cn0gCgovL0NIRUNLIzQKaWYgKCgiMSIgKyAxKSArIDEgPT09ICIxIiArICgxICsgMSkpIHsKICAkRVJST1IoJyM0OiAoIjEiICsgMSkgKyAxICE9PSAiMSIgKyAoMSArIDEpJyk7Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The addition operator is not always associative ( x + y + z is the same (x + y) + z, not x + (y + z))","path":"TestCases/ch11/11.6/11.6.1/S11.6.1_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiLSIgb3IgYmV0d2VlbiAiLSIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDktXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDktXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCLVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCLVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDLVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDLVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC1cdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC1cXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAtXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAtXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBLVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBLVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBELVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBELVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC1cdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC1cXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjktXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjktXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"-\" or between \"-\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLSB5ID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAtIG9iamVjdHkucHJvcCAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wID09PSAwLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x - y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAtIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAtIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuNi8xMS42LjIvUzExLjYuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC0gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAtIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAtIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC0gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAtIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzU6IDEgLSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzY6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x - y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjYvMTEuNi4yL1MxMS42LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAtIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC0geCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAtIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpIC0geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLSAoeCA9IDEpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAtICh4ID0gMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeCAtICh4ID0gMSkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAtIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAtIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLSB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAtIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAtICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAtICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAtICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAtICJ4IikpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAtIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLSBudWxsKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIHt9KSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAtIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC0gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC0gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gIngiKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAtIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtIDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAtIDEgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IE51bWJlcigxKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbmV3IE51bWJlcigxKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAtIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC0gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgiMSIgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtICIxIiAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiBudWxsIC0gIjEiID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IFN0cmluZygiMSIpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgU3RyaW5nKCIxIikgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICh0cnVlIC0gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLSB0cnVlICE9PSAtMSkgewogICRFUlJPUignIzI6IG51bGwgLSB0cnVlID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC0gMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgLSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxIC0gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"If either operand is NaN, the result is NaN","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiBvcHBvc2l0ZSBzaWduIGlzIHRoZSBpbmZpbml0eSBvZiBtaW51ZW5kIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5IC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of opposite sign is the infinity of minuend sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiB0aGUgc2FtZSBzaWduIGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAtIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAtSW5maW5pdHkgLSAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of the same sign is NaN","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiBhbiBpbmZpbml0eSBhbmQgYSBmaW5pdGUgdmFsdWUgaXMgZXF1YWwgdG8gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xIC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC0xIC0gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLSAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC0gMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNDogLTEgLSAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgLSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgLSBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSA9PT0gSS1uZmluaXR5LiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzcKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAtIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM3OiAtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM4OiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of an infinity and a finite value is equal to infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgdHdvIHplcm9lcyBhbmQgdGhlIGZhY3QgdGhhdCBhIC0gYiA9IGEgKyAoLWIpCiAqLwoKLy9DSEVDSyMxCmlmICgtMCAtIC0wICE9PSAwICkgeyAgCiAgJEVSUk9SKCcjMS4xOiAtMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLSAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogLTAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKDAgLSAtMCAhPT0gMCApIHsgIAogICRFUlJPUignIzIuMTogMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAtIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAtIC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IDAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKC0wIC0gMCAhPT0gLTAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wIC0gMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCAtIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwIC0gMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCAtIDAgPT09IDAuIEFjdHVhbDogJyArICgwIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgLSAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgLSAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of two zeroes and the fact that a - b = a + (-b)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgYSB6ZXJvIGFuZCBhIG5vbnplcm8gZmluaXRlIHZhbHVlIGFuZCB0aGUgZmFjdCB0aGF0IGEgLSBiID0gYSArICgtYikKICovCgovL0NIRUNLIzEKaWYgKDEgLSAtMCAhPT0gMSApIHsgIAogICRFUlJPUignIzE6IDEgLSAtMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSAtMCkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAwICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMjogMSAtIDAgPT09IDEuIEFjdHVhbDogJyArICgxIC0gMCkpOwp9IAoKLy9DSEVDSyMzCmlmICgtMCAtIDEgIT09IC0xICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKC0wIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDAgLSAxICE9PSAtMSApIHsgIAogICRFUlJPUignIzQ6IDAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKDAgLSAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgLSAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAtIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC0gMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCAtIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNzogLTAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKC0wIC0gTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFICE9PSAtTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of a zero and a nonzero finite value and the fact that a - b = a + (-b)","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgbWF0aGVtYXRpY2FsIGRpZmZlcmVuY2Ugb2YgdHdvIG5vbnplcm8gZmluaXRlIHZhbHVlcyBvZiB0aGUgc2FtZSBtYWduaXR1ZGUgYW5kIHNhbWUgc2lnbiBpcyArMAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IE51bWJlci5NSU5fVkFMVUUgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiBOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjI6IC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLU51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4xOiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxIC8gTnVtYmVyLk1BWF9WQUxVRSAtIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"The mathematical difference of two nonzero finite values of the same magnitude and same sign is +0","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggY2gxMS8xMS42LzExLjYuMi9TMTEuNi4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSB1bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMWUrMzA4IC0gLTFlKzMwOCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogMWUrMzA4IC0gLTFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4IC0gLTFlKzMwOCkpOwp9CgovL0NIRUNLIzQKaWYgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcpKTsKfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/ch11/11.6/11.6.2/S11.6.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPDwiIG9yIGJldHdlZW4gIjw8IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOTw8XHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDk8PFxcdTAwMDkxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQjw8XHUwMDBCMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogMVxcdTAwMEI8PFxcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPDxcdTAwMEMxIikgIT09IDIpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQzw8XFx1MDAwQzEgPT09IDInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPDxcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMDw8XFx1MDAyMDEgPT09IDInKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwPDxcdTAwQTAxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiAxXFx1MDBBMDw8XFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPDxcdTAwMEExIikgIT09IDIpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQTw8XFx1MDAwQTEgPT09IDInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ8PFx1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEPDxcXHUwMDBEMSA9PT0gMicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjg8PFx1MjAyODEiKSAhPT0gMikgewogICRFUlJPUignIzg6IDFcXHUyMDI4PDxcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PFx1MjAyOTEiKSAhPT0gMikgewogICRFUlJPUignIzk6IDFcXHUyMDI5PDxcXHUyMDI5MSA9PT0gMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PDxcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTw8XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMicpOwp9Cgo=","commentary":"White Space and Line Terminator between ShiftExpression and \"<<\" or between \"<<\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgyIDw8IDEgIT09IDQpIHsKICAkRVJST1IoJyMxOiAyIDw8IDEgPT09IDQuIEFjdHVhbDogJyArICgyIDw8IDEpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPDwgMSAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMjsgeCA8PCAxID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgyIDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDIgPDwgeSA9PT0gNC4gQWN0dWFsOiAnICsgKDIgPDwgeSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAyOwp2YXIgeSA9IDE7CmlmICh4IDw8IHkgIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDI7IHZhciB5ID0gMTsgeCA8PCB5ID09PSA0LiBBY3R1YWw6ICcgKyAoeCA8PCB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAyOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPDwgb2JqZWN0eS5wcm9wID09PSA0LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIDw8IG9iamVjdHkucHJvcCkpOwp9Cgo=","commentary":"Operator x << y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgMTsKICAkRVJST1IoJyMxLjE6IHggPDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x << y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPDwgeTsKICAkRVJST1IoJyMxLjE6IDEgPDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPDwgeSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PCB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x << y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPDwgMSAhPT0gMikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw8IDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw8IDEgIT09IDIpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM1OiAxIDw8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT09IDIpIHsKICAkRVJST1IoJyM2OiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x << y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8PCB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA8PCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw8IHggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPDwgeCA9PT0gMi4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPDwgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPDwgKHggPSAxKSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCA8PCAoeCA9IDEpID09PSAwLiBBY3R1YWw6ICcgKyAoeCA8PCAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPDwgeSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PCB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw8IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPDwgKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPDwgKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PCAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPDwgeSAhPT0gMikgewogICRFUlJPUignIzI6ICh5ID0gMSkgPDwgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPDwgeSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8IHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA8PCAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogMSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzE6ICIxIiA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDw8ICIxIiAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8PCAiMSIgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzM6ICIxIiA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArICgiMSIgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgU3RyaW5nKCIxIikgPT09IDIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA8PCAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw8ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA8PCAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPDwgIngiKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsIDw8IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPDwgdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPDwgdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDw8IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG51bGwpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PCBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPDwge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9IDw8IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA8PCB7fSkpKTsKfQoKCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPDwgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPDwgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA8PCBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA8PCBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMyOiAxIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw8IDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM1OiAiMSIgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPDwgbmV3IE51bWJlcigxKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPDwgMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA8PCAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPDwgIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPDwgIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAieCIpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsIDw8IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw8IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw8IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPDwgdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw8IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIG9yIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCAiMSIgIT09IDIpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw8ICIxIiA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyMyOiAiMSIgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKCIxIiA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDIpIHsKICAkRVJST1IoJyM1OiB0cnVlIDw8IG5ldyBTdHJpbmcoIjEiKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpIDw8IHRydWUgIT09IDIpIHsKICAkRVJST1IoJyM2OiBuZXcgU3RyaW5nKCIxIikgPDwgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpICE9PSAyKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8PCAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA8PCBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiIDw8IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw8ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPDwgIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIDw8IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIDw8IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw8IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPDwgdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPDwgdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIDw8IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPDwgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgcmV0dXJucyBUb051bWJlcih4KSA8PCBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4xL1MxMS43LjFfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PCBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PCBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PCB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PCB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA8PCB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPDwgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw8IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA8PCBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA8PCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsIDw8IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x << y returns ToNumber(x) << ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA8PCAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xIDw8IDApKTsgCn0gCgoKaWYgKC0yIDw8IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yIDw8IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPDwgMCkpOyAKfSAKCgppZiAoLTQgPDwgMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPDwgMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA8PCAwKSk7IAp9IAoKCmlmICgtOCA8PCAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA8PCAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04IDw8IDApKTsgCn0gCgoKaWYgKC0xNiA8PCAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2IDw8IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAwKSk7IAp9IAoKCmlmICgtMzIgPDwgMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA8PCAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPDwgMCkpOyAKfSAKCgppZiAoLTY0IDw8IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPDwgMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDApKTsgCn0gCgoKaWYgKC0xMjggPDwgMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4IDw8IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4IDw8IDApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2IDw8IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDApKTsgCn0gCgoKaWYgKC01MTIgPDwgMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA8PCAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPDwgMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPDwgMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA8PCAwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPDwgMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA8PCAwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPDwgMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA8PCAwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPDwgMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA8PCAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2IDw8IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPDwgMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0IDw8IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA8PCAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPDwgMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPDwgMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPDwgMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPDwgMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPDwgMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA8PCAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0IDw8IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPDwgMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2IDw8IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA8PCAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPDwgMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAwKSk7IAp9IAoKCmlmICgtMSA8PCAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzMzogLTEgPDwgMSA9PT0gLTIuIEFjdHVhbDogJyArICgtMSA8PCAxKSk7IAp9IAoKCmlmICgtMiA8PCAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNDogLTIgPDwgMSA9PT0gLTQuIEFjdHVhbDogJyArICgtMiA8PCAxKSk7IAp9IAoKCmlmICgtNCA8PCAxICE9PSAtOCkgeyAKICAkRVJST1IoJyMzNTogLTQgPDwgMSA9PT0gLTguIEFjdHVhbDogJyArICgtNCA8PCAxKSk7IAp9IAoKCmlmICgtOCA8PCAxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY6IC04IDw8IDEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC04IDw8IDEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA8PCAxID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMyIDw8IDEgIT09IC02NCkgeyAKICAkRVJST1IoJyMzODogLTMyIDw8IDEgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxKSk7IAp9IAoKCmlmICgtNjQgPDwgMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzOTogLTY0IDw8IDEgPT09IC0xMjguIEFjdHVhbDogJyArICgtNjQgPDwgMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQwOiAtMTI4IDw8IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM0MTogLTI1NiA8PCAxID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQyOiAtNTEyIDw8IDEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MzogLTEwMjQgPDwgMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPDwgMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPDwgMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDY6IC04MTkyIDw8IDEgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA8PCAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYzODQgPDwgMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0ODogLTMyNzY4IDw8IDEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0OTogLTY1NTM2IDw8IDEgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUwOiAtMTMxMDcyIDw8IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1MTogLTI2MjE0NCA8PCAxID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4IDw8IDEgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1MzogLTEwNDg1NzYgPDwgMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPDwgMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPDwgMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTY6IC04Mzg4NjA4IDw8IDEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA8PCAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM1ODogLTMzNTU0NDMyIDw8IDEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM1OTogLTY3MTA4ODY0IDw8IDEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYwOiAtMTM0MjE3NzI4IDw8IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTogLTI2ODQzNTQ1NiA8PCAxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDEgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyIDw8IDEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2MzogLTEwNzM3NDE4MjQgPDwgMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxICE9PSAwKSB7IAogICRFUlJPUignIzY0OiAtMjE0NzQ4MzY0OCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMSkpOyAKfSAKCgppZiAoLTEgPDwgMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjU6IC0xIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEgPDwgMikpOyAKfSAKCgppZiAoLTIgPDwgMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY6IC0yIDw8IDIgPT09IC04LiBBY3R1YWw6ICcgKyAoLTIgPDwgMikpOyAKfSAKCgppZiAoLTQgPDwgMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzY3OiAtNCA8PCAyID09PSAtMTYuIEFjdHVhbDogJyArICgtNCA8PCAyKSk7IAp9IAoKCmlmICgtOCA8PCAyICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjg6IC04IDw8IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC04IDw8IDIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA8PCAyID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYgPDwgMikpOyAKfSAKCgppZiAoLTMyIDw8IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA8PCAyID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NCA8PCAyICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPDwgMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC02NCA8PCAyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzI6IC0xMjggPDwgMiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMikpOyAKfSAKCgppZiAoLTI1NiA8PCAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3MzogLTI1NiA8PCAyID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMikpOyAKfSAKCgppZiAoLTUxMiA8PCAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3NDogLTUxMiA8PCAyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzU6IC0xMDI0IDw8IDIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMikpOyAKfSAKCgppZiAoLTIwNDggPDwgMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4IDw8IDIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzc3OiAtNDA5NiA8PCAyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNzg6IC04MTkyIDw8IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA8PCAyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMikpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA8PCAyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPDwgMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODI6IC0xMzEwNzIgPDwgMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMikpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4MzogLTI2MjE0NCA8PCAyID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4NDogLTUyNDI4OCA8PCAyID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODU6IC0xMDQ4NTc2IDw8IDIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyIDw8IDIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzg3OiAtNDE5NDMwNCA8PCAyID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODg6IC04Mzg4NjA4IDw8IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA8PCAyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA8PCAyID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPDwgMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTI6IC0xMzQyMTc3MjggPDwgMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5MzogLTI2ODQzNTQ1NiA8PCAyID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NDogLTUzNjg3MDkxMiA8PCAyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMiAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4IDw8IDIgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyKSk7IAp9IAoKCmlmICgtMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyM5NzogLTEgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgtMSA8PCAzKSk7IAp9IAoKCmlmICgtMiA8PCAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjOTg6IC0yIDw8IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yIDw8IDMpKTsgCn0gCgoKaWYgKC00IDw8IDMgIT09IC0zMikgeyAKICAkRVJST1IoJyM5OTogLTQgPDwgMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMykpOyAKfSAKCgppZiAoLTggPDwgMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzEwMDogLTggPDwgMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTggPDwgMykpOyAKfSAKCgppZiAoLTE2IDw8IDMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTAxOiAtMTYgPDwgMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNiA8PCAzKSk7IAp9IAoKCmlmICgtMzIgPDwgMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA8PCAzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDMpKTsgCn0gCgoKaWYgKC02NCA8PCAzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzEwMzogLTY0IDw8IDMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjQgPDwgMykpOyAKfSAKCgppZiAoLTEyOCA8PCAzICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMDQ6IC0xMjggPDwgMyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTI4IDw8IDMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2IDw8IDMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzEwNjogLTUxMiA8PCAzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTA3OiAtMTAyNCA8PCAzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxMDg6IC0yMDQ4IDw8IDMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDMpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxMDk6IC00MDk2IDw8IDMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxMTA6IC04MTkyIDw8IDMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzExMTogLTE2Mzg0IDw8IDMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMykpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPDwgMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTM6IC02NTUzNiA8PCAzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTE0OiAtMTMxMDcyIDw8IDMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDMgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA8PCAzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMTY6IC01MjQyODggPDwgMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzExNzogLTEwNDg1NzYgPDwgMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAzICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTE4OiAtMjA5NzE1MiA8PCAzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAzICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTE5OiAtNDE5NDMwNCA8PCAzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTIwOiAtODM4ODYwOCA8PCAzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxMjE6IC0xNjc3NzIxNiA8PCAzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAzICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyIDw8IDMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMTIzOiAtNjcxMDg4NjQgPDwgMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDMgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzEyNDogLTEzNDIxNzcyOCA8PCAzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPDwgMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjc6IC0xMDczNzQxODI0IDw8IDMgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAzICE9PSAwKSB7IAogICRFUlJPUignIzEyODogLTIxNDc0ODM2NDggPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMpKTsgCn0gCgoKaWYgKC0xIDw8IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMjk6IC0xIDw8IDQgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xIDw8IDQpKTsgCn0gCgoKaWYgKC0yIDw8IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzA6IC0yIDw8IDQgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yIDw8IDQpKTsgCn0gCgoKaWYgKC00IDw8IDQgIT09IC02NCkgeyAKICAkRVJST1IoJyMxMzE6IC00IDw8IDQgPT09IC02NC4gQWN0dWFsOiAnICsgKC00IDw8IDQpKTsgCn0gCgoKaWYgKC04IDw8IDQgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA8PCA0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTggPDwgNCkpOyAKfSAKCgppZiAoLTE2IDw8IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTMzOiAtMTYgPDwgNCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA0KSk7IAp9IAoKCmlmICgtMzIgPDwgNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMzQ6IC0zMiA8PCA0ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDQpKTsgCn0gCgoKaWYgKC02NCA8PCA0ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMzU6IC02NCA8PCA0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC02NCA8PCA0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzEzNjogLTEyOCA8PCA0ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgNCkpOyAKfSAKCgppZiAoLTI1NiA8PCA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPDwgNCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MTIgPDwgNCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTM4OiAtNTEyIDw8IDQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA8PCA0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTAyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQwOiAtMjA0OCA8PCA0ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjA0OCA8PCA0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA8PCA0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNDA5NiA8PCA0KSk7IAp9IAoKCmlmICgtODE5MiA8PCA0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE0MjogLTgxOTIgPDwgNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE0MzogLTE2Mzg0IDw8IDQgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAtMzI3NjggPDwgNCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTQ1OiAtNjU1MzYgPDwgNCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNDY6IC0xMzEwNzIgPDwgNCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0IDw8IDQgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA0KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE0ODogLTUyNDI4OCA8PCA0ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPDwgNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1MDogLTIwOTcxNTIgPDwgNCA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPDwgNCA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxNTI6IC04Mzg4NjA4IDw8IDQgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMxNTM6IC0xNjc3NzIxNiA8PCA0ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCA0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE1NDogLTMzNTU0NDMyIDw8IDQgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE1NTogLTY3MTA4ODY0IDw8IDQgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTU2OiAtMTM0MjE3NzI4IDw8IDQgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTU3OiAtMjY4NDM1NDU2IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTg6IC01MzY4NzA5MTIgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0IDw8IDQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA0ICE9PSAwKSB7IAogICRFUlJPUignIzE2MDogLTIxNDc0ODM2NDggPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDQpKTsgCn0gCgoKaWYgKC0xIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxNjE6IC0xIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xIDw8IDUpKTsgCn0gCgoKaWYgKC0yIDw8IDUgIT09IC02NCkgeyAKICAkRVJST1IoJyMxNjI6IC0yIDw8IDUgPT09IC02NC4gQWN0dWFsOiAnICsgKC0yIDw8IDUpKTsgCn0gCgoKaWYgKC00IDw8IDUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMTYzOiAtNCA8PCA1ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgNSkpOyAKfSAKCgppZiAoLTggPDwgNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMxNjQ6IC04IDw8IDUgPT09IC0yNTYuIEFjdHVhbDogJyArICgtOCA8PCA1KSk7IAp9IAoKCmlmICgtMTYgPDwgNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA8PCA1ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDUpKTsgCn0gCgoKaWYgKC0zMiA8PCA1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxNjY6IC0zMiA8PCA1ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCA1KSk7IAp9IAoKCmlmICgtNjQgPDwgNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMTY3OiAtNjQgPDwgNSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNjQgPDwgNSkpOyAKfSAKCgppZiAoLTEyOCA8PCA1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNjg6IC0xMjggPDwgNSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMTY5OiAtMjU2IDw8IDUgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMxNzA6IC01MTIgPDwgNSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTcxOiAtMTAyNCA8PCA1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTAyNCA8PCA1KSk7IAp9IAoKCmlmICgtMjA0OCA8PCA1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTcyOiAtMjA0OCA8PCA1ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA1ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzE3MzogLTQwOTYgPDwgNSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDUgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTc0OiAtODE5MiA8PCA1ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDUgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTc1OiAtMTYzODQgPDwgNSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTc2OiAtMzI3NjggPDwgNSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDUgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzE3NzogLTY1NTM2IDw8IDUgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTc4OiAtMTMxMDcyIDw8IDUgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDUgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzE3OTogLTI2MjE0NCA8PCA1ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA1ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMTgwOiAtNTI0Mjg4IDw8IDUgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE4MTogLTEwNDg1NzYgPDwgNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzE4MjogLTIwOTcxNTIgPDwgNSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMxODM6IC00MTk0MzA0IDw8IDUgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzE4NDogLTgzODg2MDggPDwgNSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzE4NTogLTE2Nzc3MjE2IDw8IDUgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzE4NjogLTMzNTU0NDMyIDw8IDUgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxODc6IC02NzEwODg2NCA8PCA1ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCA1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTg4OiAtMTM0MjE3NzI4IDw8IDUgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxODk6IC0yNjg0MzU0NTYgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MDogLTUzNjg3MDkxMiA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCA1ICE9PSAwKSB7IAogICRFUlJPUignIzE5MTogLTEwNzM3NDE4MjQgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA8PCA1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgNSkpOyAKfSAKCgppZiAoLTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzE5MzogLTEgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEgPDwgNikpOyAKfSAKCgppZiAoLTIgPDwgNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxOTQ6IC0yIDw8IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtMiA8PCA2KSk7IAp9IAoKCmlmICgtNCA8PCA2ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE5NTogLTQgPDwgNiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC00IDw8IDYpKTsgCn0gCgoKaWYgKC04IDw8IDYgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTk2OiAtOCA8PCA2ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTggPDwgNikpOyAKfSAKCgppZiAoLTE2IDw8IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE5NzogLTE2IDw8IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDYpKTsgCn0gCgoKaWYgKC0zMiA8PCA2ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA8PCA2ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0zMiA8PCA2KSk7IAp9IAoKCmlmICgtNjQgPDwgNiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPDwgNiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNjQgPDwgNikpOyAKfSAKCgppZiAoLTEyOCA8PCA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPDwgNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTI4IDw8IDYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgNiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzIwMTogLTI1NiA8PCA2ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MTIgPDwgNiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA8PCA2ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNTEyIDw8IDYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMDM6IC0xMDI0IDw8IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAtMjA0OCA8PCA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMyMDU6IC00MDk2IDw8IDYgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNDA5NiA8PCA2KSk7IAp9IAoKCmlmICgtODE5MiA8PCA2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzIwNjogLTgxOTIgPDwgNiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA8PCA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjA4OiAtMzI3NjggPDwgNiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMzI3NjggPDwgNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2IDw8IDYgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyIDw8IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMyMTE6IC0yNjIxNDQgPDwgNiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCA2KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPDwgNiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCA2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCA2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjEzOiAtMTA0ODU3NiA8PCA2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzIxNDogLTIwOTcxNTIgPDwgNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMjE1OiAtNDE5NDMwNCA8PCA2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMyMTY6IC04Mzg4NjA4IDw8IDYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCA2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPDwgNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzIxODogLTMzNTU0NDMyIDw8IDYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIxOTogLTY3MTA4ODY0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA8PCA2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjIxOiAtMjY4NDM1NDU2IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjI6IC01MzY4NzA5MTIgPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjM6IC0xMDczNzQxODI0IDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA2ICE9PSAwKSB7IAogICRFUlJPUignIzIyNDogLTIxNDc0ODM2NDggPDwgNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDYpKTsgCn0gCgoKaWYgKC0xIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjI1OiAtMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTEgPDwgNykpOyAKfSAKCgppZiAoLTIgPDwgNyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMjY6IC0yIDw8IDcgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMiA8PCA3KSk7IAp9IAoKCmlmICgtNCA8PCA3ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIyNzogLTQgPDwgNyA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC00IDw8IDcpKTsgCn0gCgoKaWYgKC04IDw8IDcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIyODogLTggPDwgNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtOCA8PCA3KSk7IAp9IAoKCmlmICgtMTYgPDwgNyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjI5OiAtMTYgPDwgNyA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTYgPDwgNykpOyAKfSAKCgppZiAoLTMyIDw8IDcgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIzMDogLTMyIDw8IDcgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NCA8PCA3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMzE6IC02NCA8PCA3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC02NCA8PCA3KSk7IAp9IAoKCmlmICgtMTI4IDw8IDcgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPDwgNyA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDcgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMzM6IC0yNTYgPDwgNyA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCA3KSk7IAp9IAoKCmlmICgtNTEyIDw8IDcgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMzQ6IC01MTIgPDwgNyA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA3KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzIzNTogLTEwMjQgPDwgNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDcpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDcgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjM2OiAtMjA0OCA8PCA3ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgNykpOyAKfSAKCgppZiAoLTQwOTYgPDwgNyAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2IDw8IDcgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNDA5NiA8PCA3KSk7IAp9IAoKCmlmICgtODE5MiA8PCA3ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyIDw8IDcgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgNykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDcgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0IDw8IDcgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCA3ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyNDA6IC0zMjc2OCA8PCA3ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgNyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQxOiAtNjU1MzYgPDwgNyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCA3ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyIDw8IDcgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgNykpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCA3ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjQzOiAtMjYyMTQ0IDw8IDcgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCA3ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMjQ0OiAtNTI0Mjg4IDw8IDcgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNDU6IC0xMDQ4NTc2IDw8IDcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA3ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI0NjogLTIwOTcxNTIgPDwgNyA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDcgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA8PCA3ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgNyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA8PCA3ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCA3ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA8PCA3ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA3KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTA6IC0zMzU1NDQzMiA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDcpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MTogLTY3MTA4ODY0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA8PCA3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjUzOiAtMjY4NDM1NDU2IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTQ6IC01MzY4NzA5MTIgPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0IDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA3ICE9PSAwKSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPDwgNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDcpKTsgCn0gCgoKaWYgKC0xIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgOCkpOyAKfSAKCgppZiAoLTIgPDwgOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNTg6IC0yIDw8IDggPT09IC01MTIuIEFjdHVhbDogJyArICgtMiA8PCA4KSk7IAp9IAoKCmlmICgtNCA8PCA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNTk6IC00IDw8IDggPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgOCkpOyAKfSAKCgppZiAoLTggPDwgOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA8PCA4ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04IDw8IDgpKTsgCn0gCgoKaWYgKC0xNiA8PCA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA8PCA4ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNiA8PCA4KSk7IAp9IAoKCmlmICgtMzIgPDwgOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPDwgOCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzIgPDwgOCkpOyAKfSAKCgppZiAoLTY0IDw8IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNjM6IC02NCA8PCA4ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjQgPDwgOCkpOyAKfSAKCgppZiAoLTEyOCA8PCA4ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4IDw8IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgOCkpOyAKfSAKCgppZiAoLTI1NiA8PCA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjY1OiAtMjU2IDw8IDggPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOCkpOyAKfSAKCgppZiAoLTUxMiA8PCA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI2NjogLTUxMiA8PCA4ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPDwgOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjY4OiAtMjA0OCA8PCA4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjY5OiAtNDA5NiA8PCA4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDgpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPDwgOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODE5MiA8PCA4KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjcxOiAtMTYzODQgPDwgOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYzODQgPDwgOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI3MjogLTMyNzY4IDw8IDggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDgpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCA4ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjczOiAtNjU1MzYgPDwgOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgOCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzI3NDogLTEzMTA3MiA8PCA4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgOCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3NTogLTI2MjE0NCA8PCA4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMyNzY6IC01MjQyODggPDwgOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2IDw8IDggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzI3ODogLTIwOTcxNTIgPDwgOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzI3OTogLTQxOTQzMDQgPDwgOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCA4KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCA4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4IDw8IDggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODI6IC0zMzU1NDQzMiA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4MzogLTY3MTA4ODY0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4NDogLTEzNDIxNzcyOCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODY6IC01MzY4NzA5MTIgPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyODc6IC0xMDczNzQxODI0IDw8IDggPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPDwgOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDgpKTsgCn0gCgoKaWYgKC0xIDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMjg5OiAtMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEgPDwgOSkpOyAKfSAKCgppZiAoLTIgPDwgOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA8PCA5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yIDw8IDkpKTsgCn0gCgoKaWYgKC00IDw8IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI5MTogLTQgPDwgOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNCA8PCA5KSk7IAp9IAoKCmlmICgtOCA8PCA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyOTI6IC04IDw8IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTggPDwgOSkpOyAKfSAKCgppZiAoLTE2IDw8IDkgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI5MzogLTE2IDw8IDkgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDkpKTsgCn0gCgoKaWYgKC0zMiA8PCA5ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjk0OiAtMzIgPDwgOSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NCA8PCA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPDwgOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDkpKTsgCn0gCgoKaWYgKC0xMjggPDwgOSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzI5NjogLTEyOCA8PCA5ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTI4IDw8IDkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgOSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyOTc6IC0yNTYgPDwgOSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgOSkpOyAKfSAKCgppZiAoLTUxMiA8PCA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI5ODogLTUxMiA8PCA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCA5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCA5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzI5OTogLTEwMjQgPDwgOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPDwgOSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA0OCA8PCA5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2IDw8IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzAyOiAtODE5MiA8PCA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDkpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCA5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA8PCA5ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCA5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzMwNDogLTMyNzY4IDw8IDkgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCA5KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzMwNTogLTY1NTM2IDw8IDkgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCA5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzMDY6IC0xMzEwNzIgPDwgOSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCA5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzA3OiAtMjYyMTQ0IDw8IDkgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPDwgOSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDk6IC0xMDQ4NTc2IDw8IDkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCA5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyIDw8IDkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA8PCA5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEyOiAtODM4ODYwOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCA5KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTQ6IC0zMzU1NDQzMiA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTg6IC01MzY4NzA5MTIgPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0IDw8IDkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCA5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzMyMDogLTIxNDc0ODM2NDggPDwgOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDkpKTsgCn0gCgoKaWYgKC0xIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMjE6IC0xIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xIDw8IDEwKSk7IAp9IAoKCmlmICgtMiA8PCAxMCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA8PCAxMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMiA8PCAxMCkpOyAKfSAKCgppZiAoLTQgPDwgMTAgIT09IC00MDk2KSB7IAogICRFUlJPUignIzMyMzogLTQgPDwgMTAgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTApKTsgCn0gCgoKaWYgKC04IDw8IDEwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzMjQ6IC04IDw8IDEwID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC04IDw8IDEwKSk7IAp9IAoKCmlmICgtMTYgPDwgMTAgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMjU6IC0xNiA8PCAxMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzIgPDwgMTAgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA8PCAxMCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDEwKSk7IAp9IAoKCmlmICgtNjQgPDwgMTAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzMjc6IC02NCA8PCAxMCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEwKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEwICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMyODogLTEyOCA8PCAxMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTApKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTAgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2IDw8IDEwID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxMCkpOyAKfSAKCgppZiAoLTUxMiA8PCAxMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzMzA6IC01MTIgPDwgMTAgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtNTEyIDw8IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA8PCAxMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPDwgMTAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDEwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2IDw8IDEwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEwKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA8PCAxMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODE5MiA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPDwgMTAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxMCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDEwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPDwgMTAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDEwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPDwgMTAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPDwgMTAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA8PCAxMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4IDw8IDEwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPDwgMTAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDEwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyIDw8IDEwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDM6IC00MTk0MzA0IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTApKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEwKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ2OiAtMzM1NTQ0MzIgPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDc6IC02NzEwODg2NCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNDg6IC0xMzQyMTc3MjggPDwgMTAgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzM0OTogLTI2ODQzNTQ1NiA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUwOiAtNTM2ODcwOTEyIDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzUxOiAtMTA3Mzc0MTgyNCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTI6IC0yMTQ3NDgzNjQ4IDw8IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTApKTsgCn0gCgoKaWYgKC0xIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNTM6IC0xIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xIDw8IDExKSk7IAp9IAoKCmlmICgtMiA8PCAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzU0OiAtMiA8PCAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMiA8PCAxMSkpOyAKfSAKCgppZiAoLTQgPDwgMTEgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM1NTogLTQgPDwgMTEgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTEpKTsgCn0gCgoKaWYgKC04IDw8IDExICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzU2OiAtOCA8PCAxMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM1NzogLTE2IDw8IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMTYgPDwgMTEpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM1ODogLTMyIDw8IDExID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMzIgPDwgMTEpKTsgCn0gCgoKaWYgKC02NCA8PCAxMSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzNTk6IC02NCA8PCAxMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC02NCA8PCAxMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNjA6IC0xMjggPDwgMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDExKSk7IAp9IAoKCmlmICgtMjU2IDw8IDExICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM2MTogLTI1NiA8PCAxMSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTEpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTEgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM2MjogLTUxMiA8PCAxMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNTEyIDw8IDExKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzYzOiAtMTAyNCA8PCAxMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTEgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM2NDogLTIwNDggPDwgMTEgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDExICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzNjU6IC00MDk2IDw8IDExID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDExKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM2NjogLTgxOTIgPDwgMTEgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTEgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMzNjc6IC0xNjM4NCA8PCAxMSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDExKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTEgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzNjg6IC0zMjc2OCA8PCAxMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDExKSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPDwgMTEgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTEgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMzcwOiAtMTMxMDcyIDw8IDExID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxMSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPDwgMTEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDExICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzNzI6IC01MjQyODggPDwgMTEgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPDwgMTEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc1OiAtNDE5NDMwNCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzY6IC04Mzg4NjA4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyIDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDExKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc5OiAtNjcxMDg4NjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzgwOiAtMTM0MjE3NzI4IDw8IDExID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzODE6IC0yNjg0MzU0NTYgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDExKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MjogLTUzNjg3MDkxMiA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM4MzogLTEwNzM3NDE4MjQgPDwgMTEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg0OiAtMjE0NzQ4MzY0OCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDExKSk7IAp9IAoKCmlmICgtMSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMSA8PCAxMikpOyAKfSAKCgppZiAoLTIgPDwgMTIgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM4NjogLTIgPDwgMTIgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMTIpKTsgCn0gCgoKaWYgKC00IDw8IDEyICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMzg3OiAtNCA8PCAxMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTIpKTsgCn0gCgoKaWYgKC04IDw8IDEyICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA8PCAxMiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTggPDwgMTIpKTsgCn0gCgoKaWYgKC0xNiA8PCAxMiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM4OTogLTE2IDw8IDEyID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTIpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMiAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMzOTA6IC0zMiA8PCAxMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMikpOyAKfSAKCgppZiAoLTY0IDw8IDEyICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzM5MTogLTY0IDw8IDEyID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEyICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM5MjogLTEyOCA8PCAxMiA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTIgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzM5MzogLTI1NiA8PCAxMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjU2IDw8IDEyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDEyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPDwgMTIgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPDwgMTIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTIpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDEyICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4IDw8IDEyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzM5NzogLTQwOTYgPDwgMTIgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDEyKSk7IAp9IAoKCmlmICgtODE5MiA8PCAxMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPDwgMTIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDEyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTIgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMzOTk6IC0xNjM4NCA8PCAxMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDAwOiAtMzI3NjggPDwgMTIgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTIpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0MDE6IC02NTUzNiA8PCAxMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MDI6IC0xMzEwNzIgPDwgMTIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDEyKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDEyICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0MDM6IC0yNjIxNDQgPDwgMTIgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxMiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDA0OiAtNTI0Mjg4IDw8IDEyID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTIpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogLTEwNDg1NzYgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiAtMjA5NzE1MiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDc6IC00MTk0MzA0IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwODogLTgzODg2MDggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDEwOiAtMzM1NTQ0MzIgPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTE6IC02NzEwODg2NCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPDwgMTIgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEyKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQxMzogLTI2ODQzNTQ1NiA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA8PCAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4IDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTIpKTsgCn0gCgoKaWYgKC0xIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTc6IC0xIDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xIDw8IDEzKSk7IAp9IAoKCmlmICgtMiA8PCAxMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxODogLTIgPDwgMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yIDw8IDEzKSk7IAp9IAoKCmlmICgtNCA8PCAxMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQxOTogLTQgPDwgMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC00IDw8IDEzKSk7IAp9IAoKCmlmICgtOCA8PCAxMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQyMDogLTggPDwgMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC04IDw8IDEzKSk7IAp9IAoKCmlmICgtMTYgPDwgMTMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDIxOiAtMTYgPDwgMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTYgPDwgMTMpKTsgCn0gCgoKaWYgKC0zMiA8PCAxMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA8PCAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAxMykpOyAKfSAKCgppZiAoLTY0IDw8IDEzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQyMzogLTY0IDw8IDEzID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDEzKSk7IAp9IAoKCmlmICgtMTI4IDw8IDEzICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPDwgMTMgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxMykpOyAKfSAKCgppZiAoLTI1NiA8PCAxMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2IDw8IDEzID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQyNjogLTUxMiA8PCAxMyA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNTEyIDw8IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA8PCAxMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTAyNCA8PCAxMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMTMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM0Mjg6IC0yMDQ4IDw8IDEzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxMykpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2IDw8IDEzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxMykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0MzA6IC04MTkyIDw8IDEzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtODE5MiA8PCAxMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDEzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzQzMTogLTE2Mzg0IDw8IDEzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDEzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPDwgMTMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0MzM6IC02NTUzNiA8PCAxMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNDM0OiAtMTMxMDcyIDw8IDEzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA8PCAxMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDEzKSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNzogLTEwNDg1NzYgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM4OiAtMjA5NzE1MiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDEzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzk6IC00MTk0MzA0IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MTogLTE2Nzc3MjE2IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQyOiAtMzM1NTQ0MzIgPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPDwgMTMgPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDEzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0NTogLTI2ODQzNTQ1NiA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ2OiAtNTM2ODcwOTEyIDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ3OiAtMTA3Mzc0MTgyNCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDEzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDg6IC0yMTQ3NDgzNjQ4IDw8IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTMpKTsgCn0gCgoKaWYgKC0xIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMTQpKTsgCn0gCgoKaWYgKC0yIDw8IDE0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDUwOiAtMiA8PCAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTQpKTsgCn0gCgoKaWYgKC00IDw8IDE0ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDUxOiAtNCA8PCAxNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTQpKTsgCn0gCgoKaWYgKC04IDw8IDE0ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ1MjogLTggPDwgMTQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtOCA8PCAxNCkpOyAKfSAKCgppZiAoLTE2IDw8IDE0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ1MzogLTE2IDw8IDE0ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE0KSk7IAp9IAoKCmlmICgtMzIgPDwgMTQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPDwgMTQgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMzIgPDwgMTQpKTsgCn0gCgoKaWYgKC02NCA8PCAxNCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNDU1OiAtNjQgPDwgMTQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE0KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0NTY6IC0xMjggPDwgMTQgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI1NiA8PCAxNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNDU3OiAtMjU2IDw8IDE0ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTQgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzQ1ODogLTUxMiA8PCAxNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNTEyIDw8IDE0KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPDwgMTQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzQ2MDogLTIwNDggPDwgMTQgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxNCAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzQ2MTogLTQwOTYgPDwgMTQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE0KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM0NjI6IC04MTkyIDw8IDE0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0NjM6IC0xNjM4NCA8PCAxNCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE0ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4IDw8IDE0ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE0KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTQgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzQ2NTogLTY1NTM2IDw8IDE0ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDY2OiAtMTMxMDcyIDw8IDE0ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njg6IC01MjQyODggPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IC0xMDQ4NTc2IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MDogLTIwOTcxNTIgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcxOiAtNDE5NDMwNCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzI6IC04Mzg4NjA4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzM6IC0xNjc3NzIxNiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NDogLTMzNTU0NDMyIDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiAtMTM0MjE3NzI4IDw8IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Nzc6IC0yNjg0MzU0NTYgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3OTogLTEwNzM3NDE4MjQgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA8PCAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE0KSk7IAp9IAoKCmlmICgtMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ4MTogLTEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xIDw8IDE1KSk7IAp9IAoKCmlmICgtMiA8PCAxNSAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzQ4MjogLTIgPDwgMTUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yIDw8IDE1KSk7IAp9IAoKCmlmICgtNCA8PCAxNSAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM0ODM6IC00IDw8IDE1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQgPDwgMTUpKTsgCn0gCgoKaWYgKC04IDw8IDE1ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzQ4NDogLTggPDwgMTUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtOCA8PCAxNSkpOyAKfSAKCgppZiAoLTE2IDw8IDE1ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzQ4NTogLTE2IDw8IDE1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDE1KSk7IAp9IAoKCmlmICgtMzIgPDwgMTUgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzQ4NjogLTMyIDw8IDE1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMiA8PCAxNSkpOyAKfSAKCgppZiAoLTY0IDw8IDE1ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM0ODc6IC02NCA8PCAxNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTUgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzQ4ODogLTEyOCA8PCAxNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTI4IDw8IDE1KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE1ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM0ODk6IC0yNTYgPDwgMTUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxNSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzQ5MDogLTUxMiA8PCAxNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM0OTE6IC0xMDI0IDw8IDE1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTUgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4IDw8IDE1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTUgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA8PCAxNSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE1KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM0OTQ6IC04MTkyIDw8IDE1ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM0OTU6IC0xNjM4NCA8PCAxNSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxNSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE1ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM0OTY6IC0zMjc2OCA8PCAxNSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNDk3OiAtNjU1MzYgPDwgMTUgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE1KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiAtMjYyMTQ0IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDA6IC01MjQyODggPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE1KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogLTIwOTcxNTIgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNjogLTMzNTU0NDMyIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiAtMTM0MjE3NzI4IDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IC0yNjg0MzU0NTYgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMDogLTUzNjg3MDkxMiA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogLTEwNzM3NDE4MjQgPDwgMTUgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA8PCAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE1KSk7IAp9IAoK","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = -2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoLTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MTM6IC0xIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMSA8PCAxNikpOyAKfSAKCgppZiAoLTIgPDwgMTYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA8PCAxNiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yIDw8IDE2KSk7IAp9IAoKCmlmICgtNCA8PCAxNiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTU6IC00IDw8IDE2ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMTYpKTsgCn0gCgoKaWYgKC04IDw8IDE2ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzUxNjogLTggPDwgMTYgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtOCA8PCAxNikpOyAKfSAKCgppZiAoLTE2IDw8IDE2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1MTc6IC0xNiA8PCAxNiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTYgPDwgMTYpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNiAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTE4OiAtMzIgPDwgMTYgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjQgPDwgMTYgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzUxOTogLTY0IDw8IDE2ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNikpOyAKfSAKCgppZiAoLTEyOCA8PCAxNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTIwOiAtMTI4IDw8IDE2ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTYpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTYgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1MjE6IC0yNTYgPDwgMTYgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMTYpKTsgCn0gCgoKaWYgKC01MTIgPDwgMTYgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM1MjI6IC01MTIgPDwgMTYgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA8PCAxNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE2ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPDwgMTYgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMjA0OCA8PCAxNikpOyAKfSAKCgppZiAoLTQwOTYgPDwgMTYgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNTI1OiAtNDA5NiA8PCAxNiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDE2KSk7IAp9IAoKCmlmICgtODE5MiA8PCAxNiAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM1MjY6IC04MTkyIDw8IDE2ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNiAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTI3OiAtMTYzODQgPDwgMTYgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTYgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzUyODogLTMyNzY4IDw8IDE2ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxNikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE2KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogLTEzMTA3MiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAtMjYyMTQ0IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxNikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogLTIwOTcxNTIgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiAtNDE5NDMwNCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzY6IC04Mzg4NjA4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTYpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IC0xNjc3NzIxNiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxNikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogLTMzNTU0NDMyIDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM5OiAtNjcxMDg4NjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAtMTM0MjE3NzI4IDw8IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogLTUzNjg3MDkxMiA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogLTEwNzM3NDE4MjQgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA8PCAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE2KSk7IAp9IAoKCmlmICgtMSA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NDU6IC0xIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMTcpKTsgCn0gCgoKaWYgKC0yIDw8IDE3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU0NjogLTIgPDwgMTcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMiA8PCAxNykpOyAKfSAKCgppZiAoLTQgPDwgMTcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTQ3OiAtNCA8PCAxNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00IDw8IDE3KSk7IAp9IAoKCmlmICgtOCA8PCAxNyAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTQ4OiAtOCA8PCAxNyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtOCA8PCAxNykpOyAKfSAKCgppZiAoLTE2IDw8IDE3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDk6IC0xNiA8PCAxNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMiA8PCAxNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTUwOiAtMzIgPDwgMTcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE3KSk7IAp9IAoKCmlmICgtNjQgPDwgMTcgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzU1MTogLTY0IDw8IDE3ID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NCA8PCAxNykpOyAKfSAKCgppZiAoLTEyOCA8PCAxNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU1MjogLTEyOCA8PCAxNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAxNykpOyAKfSAKCgppZiAoLTI1NiA8PCAxNyAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzU1MzogLTI1NiA8PCAxNyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUxMiA8PCAxNyAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzU1NDogLTUxMiA8PCAxNyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAxNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMTcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA8PCAxNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAxNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM1NTY6IC0yMDQ4IDw8IDE3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMTcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDE3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzU1NzogLTQwOTYgPDwgMTcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzU1ODogLTgxOTIgPDwgMTcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTcpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNTU5OiAtMTYzODQgPDwgMTcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDE3KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMTcpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IC02NTUzNiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IC0xMzEwNzIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDE3KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMTcpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAtNTI0Mjg4IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY1OiAtMTA0ODU3NiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDE3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IC0yMDk3MTUyIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogLTQxOTQzMDQgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAxNykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDE3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAtMTY3NzcyMTYgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMTcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IC0zMzU1NDQzMiA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAxNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogLTY3MTA4ODY0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDE3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA8PCAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMTcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAtMjY4NDM1NDU2IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IC01MzY4NzA5MTIgPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDE3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0IDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMTcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPDwgMTcgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAxNykpOyAKfSAKCgppZiAoLTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xIDw8IDE4KSk7IAp9IAoKCmlmICgtMiA8PCAxOCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM1Nzg6IC0yIDw8IDE4ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTgpKTsgCn0gCgoKaWYgKC00IDw8IDE4ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1Nzk6IC00IDw8IDE4ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC00IDw8IDE4KSk7IAp9IAoKCmlmICgtOCA8PCAxOCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA8PCAxOCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2IDw8IDE4ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA8PCAxOCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTYgPDwgMTgpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPDwgMTggPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDE4KSk7IAp9IAoKCmlmICgtNjQgPDwgMTggIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM1ODM6IC02NCA8PCAxOCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDE4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDE4ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4IDw8IDE4ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjU2IDw8IDE4ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNTg1OiAtMjU2IDw8IDE4ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDE4KSk7IAp9IAoKCmlmICgtNTEyIDw8IDE4ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzU4NjogLTUxMiA8PCAxOCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDE4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPDwgMTggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTAyNCA8PCAxOCkpOyAKfSAKCgppZiAoLTIwNDggPDwgMTggIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNTg4OiAtMjA0OCA8PCAxOCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA8PCAxOCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTggIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPDwgMTggPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTE6IC0xNjM4NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAxOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDE4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkzOiAtNjU1MzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk0OiAtMTMxMDcyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAxOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDE4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NjogLTUyNDI4OCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogLTEwNDg1NzYgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAxOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDE4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMTgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMDogLTgzODg2MDggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogLTE2Nzc3MjE2IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDE4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAyOiAtMzM1NTQ0MzIgPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMTgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDM6IC02NzEwODg2NCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAxOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IC0xMzQyMTc3MjggPDwgMTggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDE4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNTogLTI2ODQzNTQ1NiA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA2OiAtNTM2ODcwOTEyIDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAxOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDE4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IC0yMTQ3NDgzNjQ4IDw8IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMTgpKTsgCn0gCgoKaWYgKC0xIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYwOTogLTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMSA8PCAxOSkpOyAKfSAKCgppZiAoLTIgPDwgMTkgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzYxMDogLTIgPDwgMTkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMTkpKTsgCn0gCgoKaWYgKC00IDw8IDE5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2MTE6IC00IDw8IDE5ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC00IDw8IDE5KSk7IAp9IAoKCmlmICgtOCA8PCAxOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNjEyOiAtOCA8PCAxOSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtOCA8PCAxOSkpOyAKfSAKCgppZiAoLTE2IDw8IDE5ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM2MTM6IC0xNiA8PCAxOSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTYgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMiA8PCAxOSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzYxNDogLTMyIDw8IDE5ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMzIgPDwgMTkpKTsgCn0gCgoKaWYgKC02NCA8PCAxOSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzYxNTogLTY0IDw8IDE5ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMTkgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPDwgMTkgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMTkpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMTkgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2IDw8IDE5ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAxOSkpOyAKfSAKCgppZiAoLTUxMiA8PCAxOSAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MTg6IC01MTIgPDwgMTkgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTEyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAxOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MTk6IC0xMDI0IDw8IDE5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDE5ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MjA6IC0yMDQ4IDw8IDE5ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAxOSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjNjIxOiAtNDA5NiA8PCAxOSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNDA5NiA8PCAxOSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDE5KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIzOiAtMTYzODQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjQ6IC0zMjc2OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAxOSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDE5KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNjogLTEzMTA3MiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI3OiAtMjYyMTQ0IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAxOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDE5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjk6IC0xMDQ4NTc2IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMDogLTIwOTcxNTIgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAxOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDE5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMTkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzM6IC0xNjc3NzIxNiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNDogLTMzNTU0NDMyIDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDE5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAtNjcxMDg4NjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM2OiAtMTM0MjE3NzI4IDw8IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAxOSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mzc6IC0yNjg0MzU0NTYgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDE5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogLTUzNjg3MDkxMiA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzOTogLTEwNzM3NDE4MjQgPDwgMTkgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAxOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDE5KSk7IAp9IAoKCmlmICgtMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjQxOiAtMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMSA8PCAyMCkpOyAKfSAKCgppZiAoLTIgPDwgMjAgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY0MjogLTIgPDwgMjAgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTIgPDwgMjApKTsgCn0gCgoKaWYgKC00IDw8IDIwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NDM6IC00IDw8IDIwID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC00IDw8IDIwKSk7IAp9IAoKCmlmICgtOCA8PCAyMCAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjQ0OiAtOCA8PCAyMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtOCA8PCAyMCkpOyAKfSAKCgppZiAoLTE2IDw8IDIwICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPDwgMjAgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMCkpOyAKfSAKCgppZiAoLTMyIDw8IDIwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjQ2OiAtMzIgPDwgMjAgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY0IDw8IDIwICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjQ3OiAtNjQgPDwgMjAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NCA8PCAyMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAyMCAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM2NDg6IC0xMjggPDwgMjAgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgtMTI4IDw8IDIwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDIwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY0OTogLTI1NiA8PCAyMCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjApKTsgCn0gCgoKaWYgKC01MTIgPDwgMjAgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyIDw8IDIwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzY1MTogLTEwMjQgPDwgMjAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDIwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NTI6IC0yMDQ4IDw8IDIwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIwKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTM6IC00MDk2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjApKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NDogLTgxOTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMCkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIwKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU2OiAtMzI3NjggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjApKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTc6IC02NTUzNiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIwKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1OTogLTI2MjE0NCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjApKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYwOiAtNTI0Mjg4IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjI6IC0yMDk3MTUyIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MzogLTQxOTQzMDQgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjY6IC0zMzU1NDQzMiA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NzogLTY3MTA4ODY0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2ODogLTEzNDIxNzcyOCA8PCAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjApKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY5OiAtMjY4NDM1NDU2IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzA6IC01MzY4NzA5MTIgPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzE6IC0xMDczNzQxODI0IDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MjogLTIxNDc0ODM2NDggPDwgMjAgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMCkpOyAKfSAKCgppZiAoLTEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY3MzogLTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEgPDwgMjEpKTsgCn0gCgoKaWYgKC0yIDw8IDIxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM2NzQ6IC0yIDw8IDIxID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yIDw8IDIxKSk7IAp9IAoKCmlmICgtNCA8PCAyMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNjc1OiAtNCA8PCAyMSA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtNCA8PCAyMSkpOyAKfSAKCgppZiAoLTggPDwgMjEgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM2NzY6IC04IDw8IDIxID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtOCA8PCAyMSkpOyAKfSAKCgppZiAoLTE2IDw8IDIxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNjc3OiAtMTYgPDwgMjEgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMyIDw8IDIxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPDwgMjEgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMSkpOyAKfSAKCgppZiAoLTY0IDw8IDIxICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzY3OTogLTY0IDw8IDIxID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIxKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzY4MDogLTEyOCA8PCAyMSA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjEpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjgxOiAtMjU2IDw8IDIxID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAyMSAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNjgyOiAtNTEyIDw8IDIxID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2ODM6IC0xMDI0IDw8IDIxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIxKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjEpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogLTQwOTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiAtODE5MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIxKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjEpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IC0zMjc2OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogLTY1NTM2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIxKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjEpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAtMjYyMTQ0IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IC01MjQyODggPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIxKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjEpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NDogLTIwOTcxNTIgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk1OiAtNDE5NDMwNCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjEpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IC0xNjc3NzIxNiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5ODogLTMzNTU0NDMyIDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIxKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiAtMTM0MjE3NzI4IDw8IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA0OiAtMjE0NzQ4MzY0OCA8PCAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIxKSk7IAp9IAoKCmlmICgtMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzA1OiAtMSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMSA8PCAyMikpOyAKfSAKCgppZiAoLTIgPDwgMjIgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzcwNjogLTIgPDwgMjIgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjIpKTsgCn0gCgoKaWYgKC00IDw8IDIyICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzA3OiAtNCA8PCAyMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjIpKTsgCn0gCgoKaWYgKC04IDw8IDIyICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNzA4OiAtOCA8PCAyMiA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNiA8PCAyMiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzcwOTogLTE2IDw8IDIyID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMiA8PCAyMiAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA8PCAyMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyMikpOyAKfSAKCgppZiAoLTY0IDw8IDIyICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzcxMTogLTY0IDw8IDIyID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTY0IDw8IDIyKSk7IAp9IAoKCmlmICgtMTI4IDw8IDIyICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzcxMjogLTEyOCA8PCAyMiA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjIpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjIgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzcxMzogLTI1NiA8PCAyMiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIyICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM3MTQ6IC01MTIgPDwgMjIgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyMikpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDIyKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTY6IC0yMDQ4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjIpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNzogLTQwOTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyMikpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDIyKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE5OiAtMTYzODQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjA6IC0zMjc2OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyMikpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDIyKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMjogLTEzMTA3MiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIzOiAtMjYyMTQ0IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyMikpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDIyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjU6IC0xMDQ4NTc2IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNjogLTIwOTcxNTIgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDIyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjg6IC04Mzg4NjA4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjk6IC0xNjc3NzIxNiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDIyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMyOiAtMTM0MjE3NzI4IDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzM6IC0yNjg0MzU0NTYgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDIyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNDogLTUzNjg3MDkxMiA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjIpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNTogLTEwNzM3NDE4MjQgPDwgMjIgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyMikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM2OiAtMjE0NzQ4MzY0OCA8PCAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDIyKSk7IAp9IAoKCmlmICgtMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzM3OiAtMSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMSA8PCAyMykpOyAKfSAKCgppZiAoLTIgPDwgMjMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Mzg6IC0yIDw8IDIzID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMiA8PCAyMykpOyAKfSAKCgppZiAoLTQgPDwgMjMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3Mzk6IC00IDw8IDIzID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNCA8PCAyMykpOyAKfSAKCgppZiAoLTggPDwgMjMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NDA6IC04IDw8IDIzID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtOCA8PCAyMykpOyAKfSAKCgppZiAoLTE2IDw8IDIzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzc0MTogLTE2IDw8IDIzID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDIzKSk7IAp9IAoKCmlmICgtMzIgPDwgMjMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzQyOiAtMzIgPDwgMjMgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMzIgPDwgMjMpKTsgCn0gCgoKaWYgKC02NCA8PCAyMyAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NDM6IC02NCA8PCAyMyA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC02NCA8PCAyMykpOyAKfSAKCgppZiAoLTEyOCA8PCAyMyAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjNzQ0OiAtMTI4IDw8IDIzID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjMgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc0NTogLTI1NiA8PCAyMyA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjU2IDw8IDIzKSk7IAp9IAoKCmlmICgtNTEyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NjogLTUxMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjMpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NzogLTEwMjQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyMykpOyAKfSAKCgppZiAoLTIwNDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDIzKSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDk6IC00MDk2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjMpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MDogLTgxOTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyMykpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDIzKSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUyOiAtMzI3NjggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTM6IC02NTUzNiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyMykpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDIzKSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NTogLTI2MjE0NCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU2OiAtNTI0Mjg4IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDIzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTg6IC0yMDk3MTUyIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1OTogLTQxOTQzMDQgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyMykpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDIzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYxOiAtMTY3NzcyMTYgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjI6IC0zMzU1NDQzMiA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDIzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA8PCAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY1OiAtMjY4NDM1NDU2IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjY6IC01MzY4NzA5MTIgPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDIzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njc6IC0xMDczNzQxODI0IDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2ODogLTIxNDc0ODM2NDggPDwgMjMgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyMykpOyAKfSAKCgppZiAoLTEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3Njk6IC0xIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMSA8PCAyNCkpOyAKfSAKCgppZiAoLTIgPDwgMjQgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM3NzA6IC0yIDw8IDI0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMiA8PCAyNCkpOyAKfSAKCgppZiAoLTQgPDwgMjQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM3NzE6IC00IDw8IDI0ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtNCA8PCAyNCkpOyAKfSAKCgppZiAoLTggPDwgMjQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNzcyOiAtOCA8PCAyNCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC04IDw8IDI0KSk7IAp9IAoKCmlmICgtMTYgPDwgMjQgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjNzczOiAtMTYgPDwgMjQgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMTYgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA8PCAyNCA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNCkpOyAKfSAKCgppZiAoLTY0IDw8IDI0ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM3NzU6IC02NCA8PCAyNCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtNjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjQgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzc3NjogLTEyOCA8PCAyNCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMTI4IDw8IDI0KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogLTI1NiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjQpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiAtNTEyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI0KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IC0yMDQ4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjQpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogLTQwOTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI0KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAtMTYzODQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IC0zMjc2OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI0KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogLTEzMTA3MiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAtMjYyMTQ0IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IC0xMDQ4NTc2IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogLTIwOTcxNTIgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI0KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IC04Mzg4NjA4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IC0xNjc3NzIxNiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAtNjcxMDg4NjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk2OiAtMTM0MjE3NzI4IDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IC0yNjg0MzU0NTYgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogLTUzNjg3MDkxMiA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPDwgMjQgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAtMjE0NzQ4MzY0OCA8PCAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI0KSk7IAp9IAoKCmlmICgtMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwMTogLTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xIDw8IDI1KSk7IAp9IAoKCmlmICgtMiA8PCAyNSAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgwMjogLTIgPDwgMjUgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0yIDw8IDI1KSk7IAp9IAoKCmlmICgtNCA8PCAyNSAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4MDM6IC00IDw8IDI1ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjUpKTsgCn0gCgoKaWYgKC04IDw8IDI1ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzgwNDogLTggPDwgMjUgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtOCA8PCAyNSkpOyAKfSAKCgppZiAoLTE2IDw8IDI1ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgwNTogLTE2IDw8IDI1ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI1KSk7IAp9IAoKCmlmICgtMzIgPDwgMjUgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzgwNjogLTMyIDw8IDI1ID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY0IDw8IDI1ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM4MDc6IC02NCA8PCAyNSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAtMTI4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IC0yNTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI1KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjUpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogLTEwMjQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAtMjA0OCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI1KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjUpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogLTgxOTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogLTE2Mzg0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI1KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjUpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IC02NTUzNiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IC0xMzEwNzIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI1KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjUpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiAtNTI0Mjg4IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAtMTA0ODU3NiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI1KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyIDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjUpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogLTQxOTQzMDQgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiAtODM4ODYwOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjY6IC0zMzU1NDQzMiA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNzogLTY3MTA4ODY0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA8PCAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI5OiAtMjY4NDM1NDU2IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzA6IC01MzY4NzA5MTIgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0IDw8IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMjogLTIxNDc0ODM2NDggPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNSkpOyAKfSAKCgppZiAoLTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4MzM6IC0xIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMSA8PCAyNikpOyAKfSAKCgppZiAoLTIgPDwgMjYgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODM0OiAtMiA8PCAyNiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yIDw8IDI2KSk7IAp9IAoKCmlmICgtNCA8PCAyNiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4MzU6IC00IDw8IDI2ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjYpKTsgCn0gCgoKaWYgKC04IDw8IDI2ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzgzNjogLTggPDwgMjYgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtOCA8PCAyNikpOyAKfSAKCgppZiAoLTE2IDw8IDI2ICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM4Mzc6IC0xNiA8PCAyNiA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMiA8PCAyNiAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODM4OiAtMzIgPDwgMjYgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI2KSk7IAp9IAoKCmlmICgtNjQgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiAtNjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAtMTI4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyNikpOyAKfSAKCgppZiAoLTI1NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI2KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogLTUxMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjYpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogLTEwMjQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyNikpOyAKfSAKCgppZiAoLTIwNDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI2KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IC00MDk2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjYpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NjogLTgxOTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyNikpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI2KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiAtMzI3NjggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IC02NTUzNiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyNikpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI2KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogLTI2MjE0NCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUyOiAtNTI0Mjg4IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI2KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTQ6IC0yMDk3MTUyIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NTogLTQxOTQzMDQgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyNikpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU3OiAtMTY3NzcyMTYgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTg6IC0zMzU1NDQzMiA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogLTEzNDIxNzcyOCA8PCAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAtMjY4NDM1NDU2IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0IDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogLTIxNDc0ODM2NDggPDwgMjYgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyNikpOyAKfSAKCgppZiAoLTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODY1OiAtMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xIDw8IDI3KSk7IAp9IAoKCmlmICgtMiA8PCAyNyAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4NjY6IC0yIDw8IDI3ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjcpKTsgCn0gCgoKaWYgKC00IDw8IDI3ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg2NzogLTQgPDwgMjcgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtNCA8PCAyNykpOyAKfSAKCgppZiAoLTggPDwgMjcgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg2ODogLTggPDwgMjcgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNiA8PCAyNyAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPDwgMjcgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoLTE2IDw8IDI3KSk7IAp9IAoKCmlmICgtMzIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAtMzIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMjcpKTsgCn0gCgoKaWYgKC02NCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAyNykpOyAKfSAKCgppZiAoLTEyOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzI6IC0xMjggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDI3KSk7IAp9IAoKCmlmICgtMjU2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogLTI1NiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMjcpKTsgCn0gCgoKaWYgKC01MTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAyNykpOyAKfSAKCgppZiAoLTEwMjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc1OiAtMTAyNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IC0yMDQ4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMjcpKTsgCn0gCgoKaWYgKC00MDk2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAyNykpOyAKfSAKCgppZiAoLTgxOTIgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiAtODE5MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAtMTYzODQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMjcpKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAyNykpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogLTY1NTM2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MjogLTEzMTA3MiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMjcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAyNykpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IC01MjQyODggPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODU6IC0xMDQ4NTc2IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMjcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAyNykpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg3OiAtNDE5NDMwNCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODg6IC04Mzg4NjA4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMjcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAyNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MDogLTMzNTU0NDMyIDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkxOiAtNjcxMDg4NjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4IDw8IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAyNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTM6IC0yNjg0MzU0NTYgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NDogLTUzNjg3MDkxMiA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMjcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPDwgMjcgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAyNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDI3KSk7IAp9IAoKCmlmICgtMSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM4OTc6IC0xIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTEgPDwgMjgpKTsgCn0gCgoKaWYgKC0yIDw8IDI4ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzg5ODogLTIgPDwgMjggPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMiA8PCAyOCkpOyAKfSAKCgppZiAoLTQgPDwgMjggIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzg5OTogLTQgPDwgMjggPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTQgPDwgMjgpKTsgCn0gCgoKaWYgKC04IDw8IDI4ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MDA6IC04IDw8IDI4ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC04IDw8IDI4KSk7IAp9IAoKCmlmICgtMTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAtMTYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTYgPDwgMjgpKTsgCn0gCgoKaWYgKC0zMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMiA8PCAyOCkpOyAKfSAKCgppZiAoLTY0IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogLTY0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY0IDw8IDI4KSk7IAp9IAoKCmlmICgtMTI4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogLTEyOCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMjggPDwgMjgpKTsgCn0gCgoKaWYgKC0yNTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAyOCkpOyAKfSAKCgppZiAoLTUxMiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IC01MTIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNTEyIDw8IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IC0xMDI0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwMjQgPDwgMjgpKTsgCn0gCgoKaWYgKC0yMDQ4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAyOCkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiAtNDA5NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MDk2IDw8IDI4KSk7IAp9IAoKCmlmICgtODE5MiA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IC04MTkyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTgxOTIgPDwgMjgpKTsgCn0gCgoKaWYgKC0xNjM4NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAyOCkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogLTMyNzY4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyNzY4IDw8IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiAtNjU1MzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtNjU1MzYgPDwgMjgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAyOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IC0yNjIxNDQgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMjYyMTQ0IDw8IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogLTUyNDI4OCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MjQyODggPDwgMjgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAyOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAtMjA5NzE1MiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyIDw8IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IC00MTk0MzA0IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPDwgMjgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAyOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogLTE2Nzc3MjE2IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2IDw8IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAtMzM1NTQ0MzIgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPDwgMjgpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAyOCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IC0xMzQyMTc3MjggPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4IDw8IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2IDw8IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogLTI2ODQzNTQ1NiA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPDwgMjgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyIDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAyOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI3OiAtMTA3Mzc0MTgyNCA8PCAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0IDw8IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjg6IC0yMTQ3NDgzNjQ4IDw8IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPDwgMjgpKTsgCn0gCgoKaWYgKC0xIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkyOTogLTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMSA8PCAyOSkpOyAKfSAKCgppZiAoLTIgPDwgMjkgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzkzMDogLTIgPDwgMjkgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00IDw8IDI5ICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5MzE6IC00IDw8IDI5ID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC00IDw8IDI5KSk7IAp9IAoKCmlmICgtOCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzI6IC04IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTggPDwgMjkpKTsgCn0gCgoKaWYgKC0xNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzM6IC0xNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNiA8PCAyOSkpOyAKfSAKCgppZiAoLTMyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNDogLTMyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTMyIDw8IDI5KSk7IAp9IAoKCmlmICgtNjQgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM1OiAtNjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM2OiAtMTI4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAyOSkpOyAKfSAKCgppZiAoLTI1NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjU2IDw8IDI5KSk7IAp9IAoKCmlmICgtNTEyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzODogLTUxMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC01MTIgPDwgMjkpKTsgCn0gCgoKaWYgKC0xMDI0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzOTogLTEwMjQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAyOSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMDQ4IDw8IDI5KSk7IAp9IAoKCmlmICgtNDA5NiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDE6IC00MDk2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTQwOTYgPDwgMjkpKTsgCn0gCgoKaWYgKC04MTkyIDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MjogLTgxOTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAyOSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2Mzg0IDw8IDI5KSk7IAp9IAoKCmlmICgtMzI3NjggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ0OiAtMzI3NjggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMzI3NjggPDwgMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDU6IC02NTUzNiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAyOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTMxMDcyIDw8IDI5KSk7IAp9IAoKCmlmICgtMjYyMTQ0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NzogLTI2MjE0NCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPDwgMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ4OiAtNTI0Mjg4IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2IDw8IDI5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTA6IC0yMDk3MTUyIDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPDwgMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MTogLTQxOTQzMDQgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAyOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4IDw8IDI5KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUzOiAtMTY3NzcyMTYgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPDwgMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTQ6IC0zMzU1NDQzMiA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAyOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0IDw8IDI5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NjogLTEzNDIxNzcyOCA8PCAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPDwgMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPDwgMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU3OiAtMjY4NDM1NDU2IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAyOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyIDw8IDI5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTk6IC0xMDczNzQxODI0IDw8IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPDwgMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4IDw8IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MDogLTIxNDc0ODM2NDggPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAyOSkpOyAKfSAKCgppZiAoLTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2MTogLTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoLTEgPDwgMzApKTsgCn0gCgoKaWYgKC0yIDw8IDMwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5NjI6IC0yIDw8IDMwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKC0yIDw8IDMwKSk7IAp9IAoKCmlmICgtNCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IC00IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzApKTsgCn0gCgoKaWYgKC04IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogLTggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMCkpOyAKfSAKCgppZiAoLTE2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogLTE2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMwKSk7IAp9IAoKCmlmICgtMzIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzApKTsgCn0gCgoKaWYgKC02NCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IC02NCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMCkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IC0xMjggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTI4IDw8IDMwKSk7IAp9IAoKCmlmICgtMjU2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yNTYgPDwgMzApKTsgCn0gCgoKaWYgKC01MTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiAtNTEyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAtMTAyNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMDI0IDw8IDMwKSk7IAp9IAoKCmlmICgtMjA0OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTIwNDggPDwgMzApKTsgCn0gCgoKaWYgKC00MDk2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogLTQwOTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiAtODE5MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC04MTkyIDw8IDMwKSk7IAp9IAoKCmlmICgtMTYzODQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTYzODQgPDwgMzApKTsgCn0gCgoKaWYgKC0zMjc2OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IC0zMjc2OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMCkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogLTY1NTM2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTY1NTM2IDw8IDMwKSk7IAp9IAoKCmlmICgtMTMxMDcyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPDwgMzApKTsgCn0gCgoKaWYgKC0yNjIxNDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAtMjYyMTQ0IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IC01MjQyODggPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNTI0Mjg4IDw8IDMwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPDwgMzApKTsgCn0gCgoKaWYgKC0yMDk3MTUyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogLTIwOTcxNTIgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiAtNDE5NDMwNCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC00MTk0MzA0IDw8IDMwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPDwgMzApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IC0xNjc3NzIxNiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogLTMzNTU0NDMyIDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyIDw8IDMwKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPDwgMzApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAtMTM0MjE3NzI4IDw8IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IC0yNjg0MzU0NTYgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2IDw8IDMwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPDwgMzApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0IDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MTogLTEwNzM3NDE4MjQgPDwgMzAgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkyOiAtMjE0NzQ4MzY0OCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4IDw8IDMwKSk7IAp9IAoKCmlmICgtMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTkzOiAtMSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMSA8PCAzMSkpOyAKfSAKCgppZiAoLTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0yIDw8IDMxKSk7IAp9IAoKCmlmICgtNCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IC00IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTQgPDwgMzEpKTsgCn0gCgoKaWYgKC04IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogLTggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NzogLTE2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTE2IDw8IDMxKSk7IAp9IAoKCmlmICgtMzIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAtMzIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMzIgPDwgMzEpKTsgCn0gCgoKaWYgKC02NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IC02NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAtMjU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAtNTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwMjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTAyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIwNDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNDogLTIwNDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA0OCA8PCAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogLTQwOTYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDA5NiA8PCAzMSkpOyAKfSAKCgppZiAoLTgxOTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODE5MiA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Mzg0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDc6IC0xNjM4NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjM4NCA8PCAzMSkpOyAKfSAKCgppZiAoLTMyNzY4IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IC0zMjc2OCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMjc2OCA8PCAzMSkpOyAKfSAKCgppZiAoLTY1NTM2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NTUzNiA8PCAzMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEwOiAtMTMxMDcyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA8PCAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAtMjYyMTQ0IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA8PCAzMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMzogLTEwNDg1NzYgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA0ODU3NiA8PCAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNDogLTIwOTcxNTIgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjA5NzE1MiA8PCAzMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtNDE5NDMwNCA8PCAzMSkpOyAKfSAKCgppZiAoLTgzODg2MDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogLTgzODg2MDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtODM4ODYwOCA8PCAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTc6IC0xNjc3NzIxNiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA8PCAzMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyIDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA8PCAzMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0IDw8IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IC02NzEwODg2NCA8PCAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA8PCAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIwOiAtMTM0MjE3NzI4IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA8PCAzMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2IDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA8PCAzMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIyOiAtNTM2ODcwOTEyIDw8IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA8PCAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMzogLTEwNzM3NDE4MjQgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA8PCAzMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPDwgMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA8PCAzMSkpOyAKfSAKCgo=","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgwIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA8PCAwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAwKSk7IAp9IAoKCmlmICgxIDw8IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA8PCAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAwKSk7IAp9IAoKCmlmICgzIDw8IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA8PCAwID09PSAzLiBBY3R1YWw6ICcgKyAoMyA8PCAwKSk7IAp9IAoKCmlmICg3IDw8IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA8PCAwID09PSA3LiBBY3R1YWw6ICcgKyAoNyA8PCAwKSk7IAp9IAoKCmlmICgxNSA8PCAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA8PCAwID09PSAxNS4gQWN0dWFsOiAnICsgKDE1IDw8IDApKTsgCn0gCgoKaWYgKDMxIDw8IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxIDw8IDAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzEgPDwgMCkpOyAKfSAKCgppZiAoNjMgPDwgMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPDwgMCA9PT0gNjMuIEFjdHVhbDogJyArICg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMjcgPDwgMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA8PCAwID09PSAxMjcuIEFjdHVhbDogJyArICgxMjcgPDwgMCkpOyAKfSAKCgppZiAoMjU1IDw8IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPDwgMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDApKTsgCn0gCgoKaWYgKDUxMSA8PCAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA8PCAwID09PSA1MTEuIEFjdHVhbDogJyArICg1MTEgPDwgMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzIDw8IDAgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMDIzIDw8IDApKTsgCn0gCgoKaWYgKDIwNDcgPDwgMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA8PCAwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPDwgMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMCkpOyAKfSAKCgppZiAoODE5MSA8PCAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxIDw8IDAgPT09IDgxOTEuIEFjdHVhbDogJyArICg4MTkxIDw8IDApKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA8PCAwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA8PCAwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDApKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA8PCAwID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDApKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA8PCAwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzIDw8IDAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPDwgMCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA8PCAwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPDwgMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzIDw8IDAgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDApKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA8PCAwID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPDwgMCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPDwgMCA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPDwgMCA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPDwgMCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA8PCAwID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExIDw8IDAgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPDwgMCA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3IDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDApKTsgCn0gCgoKaWYgKDAgPDwgMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzogMCA8PCAxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxKSk7IAp9IAoKCmlmICgxIDw8IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzQ6IDEgPDwgMSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgPDwgMSkpOyAKfSAKCgppZiAoMyA8PCAxICE9PSA2KSB7IAogICRFUlJPUignIzM1OiAzIDw8IDEgPT09IDYuIEFjdHVhbDogJyArICgzIDw8IDEpKTsgCn0gCgoKaWYgKDcgPDwgMSAhPT0gMTQpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPDwgMSA9PT0gMTQuIEFjdHVhbDogJyArICg3IDw8IDEpKTsgCn0gCgoKaWYgKDE1IDw8IDEgIT09IDMwKSB7IAogICRFUlJPUignIzM3OiAxNSA8PCAxID09PSAzMC4gQWN0dWFsOiAnICsgKDE1IDw8IDEpKTsgCn0gCgoKaWYgKDMxIDw8IDEgIT09IDYyKSB7IAogICRFUlJPUignIzM4OiAzMSA8PCAxID09PSA2Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEpKTsgCn0gCgoKaWYgKDYzIDw8IDEgIT09IDEyNikgeyAKICAkRVJST1IoJyMzOTogNjMgPDwgMSA9PT0gMTI2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMSkpOyAKfSAKCgppZiAoMTI3IDw8IDEgIT09IDI1NCkgeyAKICAkRVJST1IoJyM0MDogMTI3IDw8IDEgPT09IDI1NC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxKSk7IAp9IAoKCmlmICgyNTUgPDwgMSAhPT0gNTEwKSB7IAogICRFUlJPUignIzQxOiAyNTUgPDwgMSA9PT0gNTEwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDEpKTsgCn0gCgoKaWYgKDUxMSA8PCAxICE9PSAxMDIyKSB7IAogICRFUlJPUignIzQyOiA1MTEgPDwgMSA9PT0gMTAyMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEgIT09IDIwNDYpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjMgPDwgMSA9PT0gMjA0Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxICE9PSA0MDk0KSB7IAogICRFUlJPUignIzQ0OiAyMDQ3IDw8IDEgPT09IDQwOTQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMSAhPT0gODE5MCkgeyAKICAkRVJST1IoJyM0NTogNDA5NSA8PCAxID09PSA4MTkwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEgIT09IDE2MzgyKSB7IAogICRFUlJPUignIzQ2OiA4MTkxIDw8IDEgPT09IDE2MzgyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxICE9PSAzMjc2NikgeyAKICAkRVJST1IoJyM0NzogMTYzODMgPDwgMSA9PT0gMzI3NjYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxICE9PSA2NTUzNCkgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPDwgMSA9PT0gNjU1MzQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxICE9PSAxMzEwNzApIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM1IDw8IDEgPT09IDEzMTA3MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxICE9PSAyNjIxNDIpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA8PCAxID09PSAyNjIxNDIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEgIT09IDUyNDI4NikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQzIDw8IDEgPT09IDUyNDI4Ni4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMSAhPT0gMTA0ODU3NCkgeyAKICAkRVJST1IoJyM1MjogNTI0Mjg3IDw8IDEgPT09IDEwNDg1NzQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxICE9PSAyMDk3MTUwKSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc1IDw8IDEgPT09IDIwOTcxNTAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMSAhPT0gNDE5NDMwMikgeyAKICAkRVJST1IoJyM1NDogMjA5NzE1MSA8PCAxID09PSA0MTk0MzAyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEgIT09IDgzODg2MDYpIHsgCiAgJEVSUk9SKCcjNTU6IDQxOTQzMDMgPDwgMSA9PT0gODM4ODYwNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMSkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxICE9PSAxNjc3NzIxNCkgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA8PCAxID09PSAxNjc3NzIxNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMSAhPT0gMzM1NTQ0MzApIHsgCiAgJEVSUk9SKCcjNTc6IDE2Nzc3MjE1IDw8IDEgPT09IDMzNTU0NDMwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMSAhPT0gNjcxMDg4NjIpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxIDw8IDEgPT09IDY3MTA4ODYyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMSAhPT0gMTM0MjE3NzI2KSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2MyA8PCAxID09PSAxMzQyMTc3MjYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMSAhPT0gMjY4NDM1NDU0KSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPDwgMSA9PT0gMjY4NDM1NDU0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxICE9PSA1MzY4NzA5MTApIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NSA8PCAxID09PSA1MzY4NzA5MTAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEgIT09IDEwNzM3NDE4MjIpIHsgCiAgJEVSUk9SKCcjNjI6IDUzNjg3MDkxMSA8PCAxID09PSAxMDczNzQxODIyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMSAhPT0gMjE0NzQ4MzY0NikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyMyA8PCAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEgIT09IC0yKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3IDw8IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxKSk7IAp9IAoKCmlmICgwIDw8IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDAgPDwgMiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMikpOyAKfSAKCgppZiAoMSA8PCAyICE9PSA0KSB7IAogICRFUlJPUignIzY2OiAxIDw8IDIgPT09IDQuIEFjdHVhbDogJyArICgxIDw8IDIpKTsgCn0gCgoKaWYgKDMgPDwgMiAhPT0gMTIpIHsgCiAgJEVSUk9SKCcjNjc6IDMgPDwgMiA9PT0gMTIuIEFjdHVhbDogJyArICgzIDw8IDIpKTsgCn0gCgoKaWYgKDcgPDwgMiAhPT0gMjgpIHsgCiAgJEVSUk9SKCcjNjg6IDcgPDwgMiA9PT0gMjguIEFjdHVhbDogJyArICg3IDw8IDIpKTsgCn0gCgoKaWYgKDE1IDw8IDIgIT09IDYwKSB7IAogICRFUlJPUignIzY5OiAxNSA8PCAyID09PSA2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIpKTsgCn0gCgoKaWYgKDMxIDw8IDIgIT09IDEyNCkgeyAKICAkRVJST1IoJyM3MDogMzEgPDwgMiA9PT0gMTI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMikpOyAKfSAKCgppZiAoNjMgPDwgMiAhPT0gMjUyKSB7IAogICRFUlJPUignIzcxOiA2MyA8PCAyID09PSAyNTIuIEFjdHVhbDogJyArICg2MyA8PCAyKSk7IAp9IAoKCmlmICgxMjcgPDwgMiAhPT0gNTA4KSB7IAogICRFUlJPUignIzcyOiAxMjcgPDwgMiA9PT0gNTA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIpKTsgCn0gCgoKaWYgKDI1NSA8PCAyICE9PSAxMDIwKSB7IAogICRFUlJPUignIzczOiAyNTUgPDwgMiA9PT0gMTAyMC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyKSk7IAp9IAoKCmlmICg1MTEgPDwgMiAhPT0gMjA0NCkgeyAKICAkRVJST1IoJyM3NDogNTExIDw8IDIgPT09IDIwNDQuIEFjdHVhbDogJyArICg1MTEgPDwgMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyICE9PSA0MDkyKSB7IAogICRFUlJPUignIzc1OiAxMDIzIDw8IDIgPT09IDQwOTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMiAhPT0gODE4OCkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA8PCAyID09PSA4MTg4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIgIT09IDE2MzgwKSB7IAogICRFUlJPUignIzc3OiA0MDk1IDw8IDIgPT09IDE2MzgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIgIT09IDMyNzY0KSB7IAogICRFUlJPUignIzc4OiA4MTkxIDw8IDIgPT09IDMyNzY0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyICE9PSA2NTUzMikgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPDwgMiA9PT0gNjU1MzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyICE9PSAxMzEwNjgpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3IDw8IDIgPT09IDEzMTA2OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDIgIT09IDI2MjE0MCkgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPDwgMiA9PT0gMjYyMTQwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMikpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIgIT09IDUyNDI4NCkgeyAKICAkRVJST1IoJyM4MjogMTMxMDcxIDw8IDIgPT09IDUyNDI4NC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMiAhPT0gMTA0ODU3MikgeyAKICAkRVJST1IoJyM4MzogMjYyMTQzIDw8IDIgPT09IDEwNDg1NzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIgIT09IDIwOTcxNDgpIHsgCiAgJEVSUk9SKCcjODQ6IDUyNDI4NyA8PCAyID09PSAyMDk3MTQ4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMiAhPT0gNDE5NDMwMCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NSA8PCAyID09PSA0MTk0MzAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIgIT09IDgzODg2MDQpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPDwgMiA9PT0gODM4ODYwNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyICE9PSAxNjc3NzIxMikgeyAKICAkRVJST1IoJyM4NzogNDE5NDMwMyA8PCAyID09PSAxNjc3NzIxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMikpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyICE9PSAzMzU1NDQyOCkgeyAKICAkRVJST1IoJyM4ODogODM4ODYwNyA8PCAyID09PSAzMzU1NDQyOC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMiAhPT0gNjcxMDg4NjApIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1IDw8IDIgPT09IDY3MTA4ODYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMiAhPT0gMTM0MjE3NzI0KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA8PCAyID09PSAxMzQyMTc3MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyICE9PSAyNjg0MzU0NTIpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzIDw8IDIgPT09IDI2ODQzNTQ1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyICE9PSA1MzY4NzA5MDgpIHsgCiAgJEVSUk9SKCcjOTI6IDEzNDIxNzcyNyA8PCAyID09PSA1MzY4NzA5MDguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIgIT09IDEwNzM3NDE4MjApIHsgCiAgJEVSUk9SKCcjOTM6IDI2ODQzNTQ1NSA8PCAyID09PSAxMDczNzQxODIwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyICE9PSAyMTQ3NDgzNjQ0KSB7IAogICRFUlJPUignIzk0OiA1MzY4NzA5MTEgPDwgMiA9PT0gMjE0NzQ4MzY0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk1OiAxMDczNzQxODIzIDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIgIT09IC00KSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3IDw8IDIgPT09IC00LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyKSk7IAp9IAoKCmlmICgwIDw8IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc6IDAgPDwgMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMykpOyAKfSAKCgppZiAoMSA8PCAzICE9PSA4KSB7IAogICRFUlJPUignIzk4OiAxIDw8IDMgPT09IDguIEFjdHVhbDogJyArICgxIDw8IDMpKTsgCn0gCgoKaWYgKDMgPDwgMyAhPT0gMjQpIHsgCiAgJEVSUk9SKCcjOTk6IDMgPDwgMyA9PT0gMjQuIEFjdHVhbDogJyArICgzIDw8IDMpKTsgCn0gCgoKaWYgKDcgPDwgMyAhPT0gNTYpIHsgCiAgJEVSUk9SKCcjMTAwOiA3IDw8IDMgPT09IDU2LiBBY3R1YWw6ICcgKyAoNyA8PCAzKSk7IAp9IAoKCmlmICgxNSA8PCAzICE9PSAxMjApIHsgCiAgJEVSUk9SKCcjMTAxOiAxNSA8PCAzID09PSAxMjAuIEFjdHVhbDogJyArICgxNSA8PCAzKSk7IAp9IAoKCmlmICgzMSA8PCAzICE9PSAyNDgpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA8PCAzID09PSAyNDguIEFjdHVhbDogJyArICgzMSA8PCAzKSk7IAp9IAoKCmlmICg2MyA8PCAzICE9PSA1MDQpIHsgCiAgJEVSUk9SKCcjMTAzOiA2MyA8PCAzID09PSA1MDQuIEFjdHVhbDogJyArICg2MyA8PCAzKSk7IAp9IAoKCmlmICgxMjcgPDwgMyAhPT0gMTAxNikgeyAKICAkRVJST1IoJyMxMDQ6IDEyNyA8PCAzID09PSAxMDE2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDMpKTsgCn0gCgoKaWYgKDI1NSA8PCAzICE9PSAyMDQwKSB7IAogICRFUlJPUignIzEwNTogMjU1IDw8IDMgPT09IDIwNDAuIEFjdHVhbDogJyArICgyNTUgPDwgMykpOyAKfSAKCgppZiAoNTExIDw8IDMgIT09IDQwODgpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTEgPDwgMyA9PT0gNDA4OC4gQWN0dWFsOiAnICsgKDUxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMgIT09IDgxODQpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDIzIDw8IDMgPT09IDgxODQuIEFjdHVhbDogJyArICgxMDIzIDw8IDMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMyAhPT0gMTYzNzYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ3IDw8IDMgPT09IDE2Mzc2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDMgIT09IDMyNzYwKSB7IAogICRFUlJPUignIzEwOTogNDA5NSA8PCAzID09PSAzMjc2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMykpOyAKfSAKCgppZiAoODE5MSA8PCAzICE9PSA2NTUyOCkgeyAKICAkRVJST1IoJyMxMTA6IDgxOTEgPDwgMyA9PT0gNjU1MjguIEFjdHVhbDogJyArICg4MTkxIDw8IDMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMgIT09IDEzMTA2NCkgeyAKICAkRVJST1IoJyMxMTE6IDE2MzgzIDw8IDMgPT09IDEzMTA2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMgIT09IDI2MjEzNikgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3IDw8IDMgPT09IDI2MjEzNi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDMgIT09IDUyNDI4MCkgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM1IDw8IDMgPT09IDUyNDI4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzICE9PSAxMDQ4NTY4KSB7IAogICRFUlJPUignIzExNDogMTMxMDcxIDw8IDMgPT09IDEwNDg1NjguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMgIT09IDIwOTcxNDQpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPDwgMyA9PT0gMjA5NzE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMyAhPT0gNDE5NDI5NikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4NyA8PCAzID09PSA0MTk0Mjk2LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMyAhPT0gODM4ODYwMCkgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzUgPDwgMyA9PT0gODM4ODYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzICE9PSAxNjc3NzIwOCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTEgPDwgMyA9PT0gMTY3NzcyMDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMyAhPT0gMzM1NTQ0MjQpIHsgCiAgJEVSUk9SKCcjMTE5OiA0MTk0MzAzIDw8IDMgPT09IDMzNTU0NDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDMgIT09IDY3MTA4ODU2KSB7IAogICRFUlJPUignIzEyMDogODM4ODYwNyA8PCAzID09PSA2NzEwODg1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMyAhPT0gMTM0MjE3NzIwKSB7IAogICRFUlJPUignIzEyMTogMTY3NzcyMTUgPDwgMyA9PT0gMTM0MjE3NzIwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMyAhPT0gMjY4NDM1NDQ4KSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPDwgMyA9PT0gMjY4NDM1NDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMyAhPT0gNTM2ODcwOTA0KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjMgPDwgMyA9PT0gNTM2ODcwOTA0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMgIT09IDEwNzM3NDE4MTYpIHsgCiAgJEVSUk9SKCcjMTI0OiAxMzQyMTc3MjcgPDwgMyA9PT0gMTA3Mzc0MTgxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMyAhPT0gMjE0NzQ4MzY0MCkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA8PCAzID09PSAyMTQ3NDgzNjQwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjY6IDUzNjg3MDkxMSA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDMgIT09IC04KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyMyA8PCAzID09PSAtOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAzICE9PSAtOCkgeyAKICAkRVJST1IoJyMxMjg6IDIxNDc0ODM2NDcgPDwgMyA9PT0gLTguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDMpKTsgCn0gCgoKaWYgKDAgPDwgNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDAgPDwgNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNCkpOyAKfSAKCgppZiAoMSA8PCA0ICE9PSAxNikgeyAKICAkRVJST1IoJyMxMzA6IDEgPDwgNCA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IDQpKTsgCn0gCgoKaWYgKDMgPDwgNCAhPT0gNDgpIHsgCiAgJEVSUk9SKCcjMTMxOiAzIDw8IDQgPT09IDQ4LiBBY3R1YWw6ICcgKyAoMyA8PCA0KSk7IAp9IAoKCmlmICg3IDw8IDQgIT09IDExMikgeyAKICAkRVJST1IoJyMxMzI6IDcgPDwgNCA9PT0gMTEyLiBBY3R1YWw6ICcgKyAoNyA8PCA0KSk7IAp9IAoKCmlmICgxNSA8PCA0ICE9PSAyNDApIHsgCiAgJEVSUk9SKCcjMTMzOiAxNSA8PCA0ID09PSAyNDAuIEFjdHVhbDogJyArICgxNSA8PCA0KSk7IAp9IAoKCmlmICgzMSA8PCA0ICE9PSA0OTYpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA8PCA0ID09PSA0OTYuIEFjdHVhbDogJyArICgzMSA8PCA0KSk7IAp9IAoKCmlmICg2MyA8PCA0ICE9PSAxMDA4KSB7IAogICRFUlJPUignIzEzNTogNjMgPDwgNCA9PT0gMTAwOC4gQWN0dWFsOiAnICsgKDYzIDw8IDQpKTsgCn0gCgoKaWYgKDEyNyA8PCA0ICE9PSAyMDMyKSB7IAogICRFUlJPUignIzEzNjogMTI3IDw8IDQgPT09IDIwMzIuIEFjdHVhbDogJyArICgxMjcgPDwgNCkpOyAKfSAKCgppZiAoMjU1IDw8IDQgIT09IDQwODApIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTUgPDwgNCA9PT0gNDA4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA0KSk7IAp9IAoKCmlmICg1MTEgPDwgNCAhPT0gODE3NikgeyAKICAkRVJST1IoJyMxMzg6IDUxMSA8PCA0ID09PSA4MTc2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNCAhPT0gMTYzNjgpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDIzIDw8IDQgPT09IDE2MzY4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA0KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDQgIT09IDMyNzUyKSB7IAogICRFUlJPUignIzE0MDogMjA0NyA8PCA0ID09PSAzMjc1Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgNCkpOyAKfSAKCgppZiAoNDA5NSA8PCA0ICE9PSA2NTUyMCkgeyAKICAkRVJST1IoJyMxNDE6IDQwOTUgPDwgNCA9PT0gNjU1MjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDQpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNCAhPT0gMTMxMDU2KSB7IAogICRFUlJPUignIzE0MjogODE5MSA8PCA0ID09PSAxMzEwNTYuIEFjdHVhbDogJyArICg4MTkxIDw8IDQpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDQgIT09IDI2MjEyOCkgeyAKICAkRVJST1IoJyMxNDM6IDE2MzgzIDw8IDQgPT09IDI2MjEyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDQpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDQgIT09IDUyNDI3MikgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3IDw8IDQgPT09IDUyNDI3Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDQpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDQgIT09IDEwNDg1NjApIHsgCiAgJEVSUk9SKCcjMTQ1OiA2NTUzNSA8PCA0ID09PSAxMDQ4NTYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDQgIT09IDIwOTcxMzYpIHsgCiAgJEVSUk9SKCcjMTQ2OiAxMzEwNzEgPDwgNCA9PT0gMjA5NzEzNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA0KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNCAhPT0gNDE5NDI4OCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0MyA8PCA0ID09PSA0MTk0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA0ICE9PSA4Mzg4NTkyKSB7IAogICRFUlJPUignIzE0ODogNTI0Mjg3IDw8IDQgPT09IDgzODg1OTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA0ICE9PSAxNjc3NzIwMCkgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzUgPDwgNCA9PT0gMTY3NzcyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNCAhPT0gMzM1NTQ0MTYpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxIDw8IDQgPT09IDMzNTU0NDE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCA0KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDQgIT09IDY3MTA4ODQ4KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwMyA8PCA0ID09PSA2NzEwODg0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA0ICE9PSAxMzQyMTc3MTIpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3IDw8IDQgPT09IDEzNDIxNzcxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgNCAhPT0gMjY4NDM1NDQwKSB7IAogICRFUlJPUignIzE1MzogMTY3NzcyMTUgPDwgNCA9PT0gMjY4NDM1NDQwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNCAhPT0gNTM2ODcwODk2KSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPDwgNCA9PT0gNTM2ODcwODk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNCAhPT0gMTA3Mzc0MTgwOCkgeyAKICAkRVJST1IoJyMxNTU6IDY3MTA4ODYzIDw8IDQgPT09IDEwNzM3NDE4MDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNCAhPT0gMjE0NzQ4MzYzMikgeyAKICAkRVJST1IoJyMxNTY6IDEzNDIxNzcyNyA8PCA0ID09PSAyMTQ3NDgzNjMyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCA0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTU4OiA1MzY4NzA5MTEgPDwgNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyMyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNCAhPT0gLTE2KSB7IAogICRFUlJPUignIzE2MDogMjE0NzQ4MzY0NyA8PCA0ID09PSAtMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDQpKTsgCn0gCgoKaWYgKDAgPDwgNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjE6IDAgPDwgNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgNSkpOyAKfSAKCgppZiAoMSA8PCA1ICE9PSAzMikgeyAKICAkRVJST1IoJyMxNjI6IDEgPDwgNSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDUpKTsgCn0gCgoKaWYgKDMgPDwgNSAhPT0gOTYpIHsgCiAgJEVSUk9SKCcjMTYzOiAzIDw8IDUgPT09IDk2LiBBY3R1YWw6ICcgKyAoMyA8PCA1KSk7IAp9IAoKCmlmICg3IDw8IDUgIT09IDIyNCkgeyAKICAkRVJST1IoJyMxNjQ6IDcgPDwgNSA9PT0gMjI0LiBBY3R1YWw6ICcgKyAoNyA8PCA1KSk7IAp9IAoKCmlmICgxNSA8PCA1ICE9PSA0ODApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA8PCA1ID09PSA0ODAuIEFjdHVhbDogJyArICgxNSA8PCA1KSk7IAp9IAoKCmlmICgzMSA8PCA1ICE9PSA5OTIpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMSA8PCA1ID09PSA5OTIuIEFjdHVhbDogJyArICgzMSA8PCA1KSk7IAp9IAoKCmlmICg2MyA8PCA1ICE9PSAyMDE2KSB7IAogICRFUlJPUignIzE2NzogNjMgPDwgNSA9PT0gMjAxNi4gQWN0dWFsOiAnICsgKDYzIDw8IDUpKTsgCn0gCgoKaWYgKDEyNyA8PCA1ICE9PSA0MDY0KSB7IAogICRFUlJPUignIzE2ODogMTI3IDw8IDUgPT09IDQwNjQuIEFjdHVhbDogJyArICgxMjcgPDwgNSkpOyAKfSAKCgppZiAoMjU1IDw8IDUgIT09IDgxNjApIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPDwgNSA9PT0gODE2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA1KSk7IAp9IAoKCmlmICg1MTEgPDwgNSAhPT0gMTYzNTIpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPDwgNSA9PT0gMTYzNTIuIEFjdHVhbDogJyArICg1MTEgPDwgNSkpOyAKfSAKCgppZiAoMTAyMyA8PCA1ICE9PSAzMjczNikgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPDwgNSA9PT0gMzI3MzYuIEFjdHVhbDogJyArICgxMDIzIDw8IDUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNSAhPT0gNjU1MDQpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3IDw8IDUgPT09IDY1NTA0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA1KSk7IAp9IAoKCmlmICg0MDk1IDw8IDUgIT09IDEzMTA0MCkgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPDwgNSA9PT0gMTMxMDQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA1KSk7IAp9IAoKCmlmICg4MTkxIDw8IDUgIT09IDI2MjExMikgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPDwgNSA9PT0gMjYyMTEyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA1KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA1ICE9PSA1MjQyNTYpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA8PCA1ID09PSA1MjQyNTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCA1KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA1ICE9PSAxMDQ4NTQ0KSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPDwgNSA9PT0gMTA0ODU0NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDUgIT09IDIwOTcxMjApIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA8PCA1ID09PSAyMDk3MTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDUgIT09IDQxOTQyNzIpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPDwgNSA9PT0gNDE5NDI3Mi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgNSAhPT0gODM4ODU3NikgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA8PCA1ID09PSA4Mzg4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA1ICE9PSAxNjc3NzE4NCkgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA8PCA1ID09PSAxNjc3NzE4NC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDUgIT09IDMzNTU0NDAwKSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA8PCA1ID09PSAzMzU1NDQwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA1ICE9PSA2NzEwODgzMikgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPDwgNSA9PT0gNjcxMDg4MzIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNSAhPT0gMTM0MjE3Njk2KSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA8PCA1ID09PSAxMzQyMTc2OTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNSAhPT0gMjY4NDM1NDI0KSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA8PCA1ID09PSAyNjg0MzU0MjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDUgIT09IDUzNjg3MDg4MCkgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1IDw8IDUgPT09IDUzNjg3MDg4MC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDUgIT09IDEwNzM3NDE3OTIpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA8PCA1ID09PSAxMDczNzQxNzkyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNSAhPT0gMjE0NzQ4MzYxNikgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzIDw8IDUgPT09IDIxNDc0ODM2MTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4ODogMTM0MjE3NzI3IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1IDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExIDw8IDUgPT09IC0zMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTE6IDEwNzM3NDE4MjMgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDUgIT09IC0zMikgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDcgPDwgNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA1KSk7IAp9IAoKCmlmICgwIDw8IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTkzOiAwIDw8IDYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDYpKTsgCn0gCgoKaWYgKDEgPDwgNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTk0OiAxIDw8IDYgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCA2KSk7IAp9IAoKCmlmICgzIDw8IDYgIT09IDE5MikgeyAKICAkRVJST1IoJyMxOTU6IDMgPDwgNiA9PT0gMTkyLiBBY3R1YWw6ICcgKyAoMyA8PCA2KSk7IAp9IAoKCmlmICg3IDw8IDYgIT09IDQ0OCkgeyAKICAkRVJST1IoJyMxOTY6IDcgPDwgNiA9PT0gNDQ4LiBBY3R1YWw6ICcgKyAoNyA8PCA2KSk7IAp9IAoKCmlmICgxNSA8PCA2ICE9PSA5NjApIHsgCiAgJEVSUk9SKCcjMTk3OiAxNSA8PCA2ID09PSA5NjAuIEFjdHVhbDogJyArICgxNSA8PCA2KSk7IAp9IAoKCmlmICgzMSA8PCA2ICE9PSAxOTg0KSB7IAogICRFUlJPUignIzE5ODogMzEgPDwgNiA9PT0gMTk4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDYpKTsgCn0gCgoKaWYgKDYzIDw8IDYgIT09IDQwMzIpIHsgCiAgJEVSUk9SKCcjMTk5OiA2MyA8PCA2ID09PSA0MDMyLiBBY3R1YWw6ICcgKyAoNjMgPDwgNikpOyAKfSAKCgppZiAoMTI3IDw8IDYgIT09IDgxMjgpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjcgPDwgNiA9PT0gODEyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCA2KSk7IAp9IAoKCmlmICgyNTUgPDwgNiAhPT0gMTYzMjApIHsgCiAgJEVSUk9SKCcjMjAxOiAyNTUgPDwgNiA9PT0gMTYzMjAuIEFjdHVhbDogJyArICgyNTUgPDwgNikpOyAKfSAKCgppZiAoNTExIDw8IDYgIT09IDMyNzA0KSB7IAogICRFUlJPUignIzIwMjogNTExIDw8IDYgPT09IDMyNzA0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDYpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNiAhPT0gNjU0NzIpIHsgCiAgJEVSUk9SKCcjMjAzOiAxMDIzIDw8IDYgPT09IDY1NDcyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDYgIT09IDEzMTAwOCkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPDwgNiA9PT0gMTMxMDA4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDYgIT09IDI2MjA4MCkgeyAKICAkRVJST1IoJyMyMDU6IDQwOTUgPDwgNiA9PT0gMjYyMDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCA2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDYgIT09IDUyNDIyNCkgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPDwgNiA9PT0gNTI0MjI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCA2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA2ICE9PSAxMDQ4NTEyKSB7IAogICRFUlJPUignIzIwNzogMTYzODMgPDwgNiA9PT0gMTA0ODUxMi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDYpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDYgIT09IDIwOTcwODgpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA8PCA2ID09PSAyMDk3MDg4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgNikpOyAKfSAKCgppZiAoNjU1MzUgPDwgNiAhPT0gNDE5NDI0MCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM1IDw8IDYgPT09IDQxOTQyNDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgNiAhPT0gODM4ODU0NCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MSA8PCA2ID09PSA4Mzg4NTQ0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA2ICE9PSAxNjc3NzE1MikgeyAKICAkRVJST1IoJyMyMTE6IDI2MjE0MyA8PCA2ID09PSAxNjc3NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNiAhPT0gMzM1NTQzNjgpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODcgPDwgNiA9PT0gMzM1NTQzNjguIEFjdHVhbDogJyArICg1MjQyODcgPDwgNikpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA2ICE9PSA2NzEwODgwMCkgeyAKICAkRVJST1IoJyMyMTM6IDEwNDg1NzUgPDwgNiA9PT0gNjcxMDg4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgNiAhPT0gMTM0MjE3NjY0KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA8PCA2ID09PSAxMzQyMTc2NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgNiAhPT0gMjY4NDM1MzkyKSB7IAogICRFUlJPUignIzIxNTogNDE5NDMwMyA8PCA2ID09PSAyNjg0MzUzOTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgNiAhPT0gNTM2ODcwODQ4KSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA8PCA2ID09PSA1MzY4NzA4NDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDYgIT09IDEwNzM3NDE3NjApIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNSA8PCA2ID09PSAxMDczNzQxNzYwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgNiAhPT0gMjE0NzQ4MzU4NCkgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxIDw8IDYgPT09IDIxNDc0ODM1ODQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA2ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA8PCA2ID09PSAtNjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI3IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMTogMjY4NDM1NDU1IDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExIDw8IDYgPT09IC02NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDYgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMjQ6IDIxNDc0ODM2NDcgPDwgNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA2KSk7IAp9IAoKCmlmICgwIDw8IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwIDw8IDcgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDcpKTsgCn0gCgoKaWYgKDEgPDwgNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzIyNjogMSA8PCA3ID09PSAxMjguIEFjdHVhbDogJyArICgxIDw8IDcpKTsgCn0gCgoKaWYgKDMgPDwgNyAhPT0gMzg0KSB7IAogICRFUlJPUignIzIyNzogMyA8PCA3ID09PSAzODQuIEFjdHVhbDogJyArICgzIDw8IDcpKTsgCn0gCgoKaWYgKDcgPDwgNyAhPT0gODk2KSB7IAogICRFUlJPUignIzIyODogNyA8PCA3ID09PSA4OTYuIEFjdHVhbDogJyArICg3IDw8IDcpKTsgCn0gCgoKaWYgKDE1IDw8IDcgIT09IDE5MjApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA8PCA3ID09PSAxOTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgNykpOyAKfSAKCgppZiAoMzEgPDwgNyAhPT0gMzk2OCkgeyAKICAkRVJST1IoJyMyMzA6IDMxIDw8IDcgPT09IDM5NjguIEFjdHVhbDogJyArICgzMSA8PCA3KSk7IAp9IAoKCmlmICg2MyA8PCA3ICE9PSA4MDY0KSB7IAogICRFUlJPUignIzIzMTogNjMgPDwgNyA9PT0gODA2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDcpKTsgCn0gCgoKaWYgKDEyNyA8PCA3ICE9PSAxNjI1NikgeyAKICAkRVJST1IoJyMyMzI6IDEyNyA8PCA3ID09PSAxNjI1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCA3KSk7IAp9IAoKCmlmICgyNTUgPDwgNyAhPT0gMzI2NDApIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPDwgNyA9PT0gMzI2NDAuIEFjdHVhbDogJyArICgyNTUgPDwgNykpOyAKfSAKCgppZiAoNTExIDw8IDcgIT09IDY1NDA4KSB7IAogICRFUlJPUignIzIzNDogNTExIDw8IDcgPT09IDY1NDA4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgNyAhPT0gMTMwOTQ0KSB7IAogICRFUlJPUignIzIzNTogMTAyMyA8PCA3ID09PSAxMzA5NDQuIEFjdHVhbDogJyArICgxMDIzIDw8IDcpKTsgCn0gCgoKaWYgKDIwNDcgPDwgNyAhPT0gMjYyMDE2KSB7IAogICRFUlJPUignIzIzNjogMjA0NyA8PCA3ID09PSAyNjIwMTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDcpKTsgCn0gCgoKaWYgKDQwOTUgPDwgNyAhPT0gNTI0MTYwKSB7IAogICRFUlJPUignIzIzNzogNDA5NSA8PCA3ID09PSA1MjQxNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgNyAhPT0gMTA0ODQ0OCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTEgPDwgNyA9PT0gMTA0ODQ0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgNykpOyAKfSAKCgppZiAoMTYzODMgPDwgNyAhPT0gMjA5NzAyNCkgeyAKICAkRVJST1IoJyMyMzk6IDE2MzgzIDw8IDcgPT09IDIwOTcwMjQuIEFjdHVhbDogJyArICgxNjM4MyA8PCA3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA3ICE9PSA0MTk0MTc2KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPDwgNyA9PT0gNDE5NDE3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDcgIT09IDgzODg0ODApIHsgCiAgJEVSUk9SKCcjMjQxOiA2NTUzNSA8PCA3ID09PSA4Mzg4NDgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDcgIT09IDE2Nzc3MDg4KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcxIDw8IDcgPT09IDE2Nzc3MDg4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA3ICE9PSAzMzU1NDMwNCkgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA8PCA3ID09PSAzMzU1NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCA3KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgNyAhPT0gNjcxMDg3MzYpIHsgCiAgJEVSUk9SKCcjMjQ0OiA1MjQyODcgPDwgNyA9PT0gNjcxMDg3MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCA3ICE9PSAxMzQyMTc2MDApIHsgCiAgJEVSUk9SKCcjMjQ1OiAxMDQ4NTc1IDw8IDcgPT09IDEzNDIxNzYwMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgNykpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCA3ICE9PSAyNjg0MzUzMjgpIHsgCiAgJEVSUk9SKCcjMjQ2OiAyMDk3MTUxIDw8IDcgPT09IDI2ODQzNTMyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA3ICE9PSA1MzY4NzA3ODQpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzAzIDw8IDcgPT09IDUzNjg3MDc4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA3ICE9PSAxMDczNzQxNjk2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwNyA8PCA3ID09PSAxMDczNzQxNjk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA3ICE9PSAyMTQ3NDgzNTIwKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTUgPDwgNyA9PT0gMjE0NzQ4MzUyMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTE6IDY3MTA4ODYzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA8PCA3ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1IDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDcgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzIDw8IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyNTY6IDIxNDc0ODM2NDcgPDwgNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgNykpOyAKfSAKCgppZiAoMCA8PCA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMCA8PCA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA4KSk7IAp9IAoKCmlmICgxIDw8IDggIT09IDI1NikgeyAKICAkRVJST1IoJyMyNTg6IDEgPDwgOCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA4KSk7IAp9IAoKCmlmICgzIDw8IDggIT09IDc2OCkgeyAKICAkRVJST1IoJyMyNTk6IDMgPDwgOCA9PT0gNzY4LiBBY3R1YWw6ICcgKyAoMyA8PCA4KSk7IAp9IAoKCmlmICg3IDw8IDggIT09IDE3OTIpIHsgCiAgJEVSUk9SKCcjMjYwOiA3IDw8IDggPT09IDE3OTIuIEFjdHVhbDogJyArICg3IDw8IDgpKTsgCn0gCgoKaWYgKDE1IDw8IDggIT09IDM4NDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA8PCA4ID09PSAzODQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgOCkpOyAKfSAKCgppZiAoMzEgPDwgOCAhPT0gNzkzNikgeyAKICAkRVJST1IoJyMyNjI6IDMxIDw8IDggPT09IDc5MzYuIEFjdHVhbDogJyArICgzMSA8PCA4KSk7IAp9IAoKCmlmICg2MyA8PCA4ICE9PSAxNjEyOCkgeyAKICAkRVJST1IoJyMyNjM6IDYzIDw8IDggPT09IDE2MTI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgOCkpOyAKfSAKCgppZiAoMTI3IDw8IDggIT09IDMyNTEyKSB7IAogICRFUlJPUignIzI2NDogMTI3IDw8IDggPT09IDMyNTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDgpKTsgCn0gCgoKaWYgKDI1NSA8PCA4ICE9PSA2NTI4MCkgeyAKICAkRVJST1IoJyMyNjU6IDI1NSA8PCA4ID09PSA2NTI4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA4KSk7IAp9IAoKCmlmICg1MTEgPDwgOCAhPT0gMTMwODE2KSB7IAogICRFUlJPUignIzI2NjogNTExIDw8IDggPT09IDEzMDgxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDIzIDw8IDggIT09IDI2MTg4OCkgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPDwgOCA9PT0gMjYxODg4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA4KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDggIT09IDUyNDAzMikgeyAKICAkRVJST1IoJyMyNjg6IDIwNDcgPDwgOCA9PT0gNTI0MDMyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCA4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDggIT09IDEwNDgzMjApIHsgCiAgJEVSUk9SKCcjMjY5OiA0MDk1IDw8IDggPT09IDEwNDgzMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgOCAhPT0gMjA5Njg5NikgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPDwgOCA9PT0gMjA5Njg5Ni4gQWN0dWFsOiAnICsgKDgxOTEgPDwgOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgOCAhPT0gNDE5NDA0OCkgeyAKICAkRVJST1IoJyMyNzE6IDE2MzgzIDw8IDggPT09IDQxOTQwNDguIEFjdHVhbDogJyArICgxNjM4MyA8PCA4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCA4ICE9PSA4Mzg4MzUyKSB7IAogICRFUlJPUignIzI3MjogMzI3NjcgPDwgOCA9PT0gODM4ODM1Mi4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDggIT09IDE2Nzc2OTYwKSB7IAogICRFUlJPUignIzI3MzogNjU1MzUgPDwgOCA9PT0gMTY3NzY5NjAuIEFjdHVhbDogJyArICg2NTUzNSA8PCA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgOCAhPT0gMzM1NTQxNzYpIHsgCiAgJEVSUk9SKCcjMjc0OiAxMzEwNzEgPDwgOCA9PT0gMzM1NTQxNzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgOCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDggIT09IDY3MTA4NjA4KSB7IAogICRFUlJPUignIzI3NTogMjYyMTQzIDw8IDggPT09IDY3MTA4NjA4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA4ICE9PSAxMzQyMTc0NzIpIHsgCiAgJEVSUk9SKCcjMjc2OiA1MjQyODcgPDwgOCA9PT0gMTM0MjE3NDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOCAhPT0gMjY4NDM1MjAwKSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA8PCA4ID09PSAyNjg0MzUyMDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOCAhPT0gNTM2ODcwNjU2KSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MSA8PCA4ID09PSA1MzY4NzA2NTYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgOCAhPT0gMTA3Mzc0MTU2OCkgeyAKICAkRVJST1IoJyMyNzk6IDQxOTQzMDMgPDwgOCA9PT0gMTA3Mzc0MTU2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCA4ICE9PSAyMTQ3NDgzMzkyKSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA8PCA4ID09PSAyMTQ3NDgzMzkyLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCA4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTUgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMSA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCA4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODQ6IDEzNDIxNzcyNyA8PCA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCA4ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1IDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzIDw8IDggPT09IC0yNTYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPDwgOCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgOCkpOyAKfSAKCgppZiAoMCA8PCA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA8PCA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCA5KSk7IAp9IAoKCmlmICgxIDw8IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMyOTA6IDEgPDwgOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA5KSk7IAp9IAoKCmlmICgzIDw8IDkgIT09IDE1MzYpIHsgCiAgJEVSUk9SKCcjMjkxOiAzIDw8IDkgPT09IDE1MzYuIEFjdHVhbDogJyArICgzIDw8IDkpKTsgCn0gCgoKaWYgKDcgPDwgOSAhPT0gMzU4NCkgeyAKICAkRVJST1IoJyMyOTI6IDcgPDwgOSA9PT0gMzU4NC4gQWN0dWFsOiAnICsgKDcgPDwgOSkpOyAKfSAKCgppZiAoMTUgPDwgOSAhPT0gNzY4MCkgeyAKICAkRVJST1IoJyMyOTM6IDE1IDw8IDkgPT09IDc2ODAuIEFjdHVhbDogJyArICgxNSA8PCA5KSk7IAp9IAoKCmlmICgzMSA8PCA5ICE9PSAxNTg3MikgeyAKICAkRVJST1IoJyMyOTQ6IDMxIDw8IDkgPT09IDE1ODcyLiBBY3R1YWw6ICcgKyAoMzEgPDwgOSkpOyAKfSAKCgppZiAoNjMgPDwgOSAhPT0gMzIyNTYpIHsgCiAgJEVSUk9SKCcjMjk1OiA2MyA8PCA5ID09PSAzMjI1Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDkpKTsgCn0gCgoKaWYgKDEyNyA8PCA5ICE9PSA2NTAyNCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA8PCA5ID09PSA2NTAyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCA5KSk7IAp9IAoKCmlmICgyNTUgPDwgOSAhPT0gMTMwNTYwKSB7IAogICRFUlJPUignIzI5NzogMjU1IDw8IDkgPT09IDEzMDU2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCA5KSk7IAp9IAoKCmlmICg1MTEgPDwgOSAhPT0gMjYxNjMyKSB7IAogICRFUlJPUignIzI5ODogNTExIDw8IDkgPT09IDI2MTYzMi4gQWN0dWFsOiAnICsgKDUxMSA8PCA5KSk7IAp9IAoKCmlmICgxMDIzIDw8IDkgIT09IDUyMzc3NikgeyAKICAkRVJST1IoJyMyOTk6IDEwMjMgPDwgOSA9PT0gNTIzNzc2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCA5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDkgIT09IDEwNDgwNjQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ3IDw8IDkgPT09IDEwNDgwNjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgOSAhPT0gMjA5NjY0MCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTUgPDwgOSA9PT0gMjA5NjY0MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgOSkpOyAKfSAKCgppZiAoODE5MSA8PCA5ICE9PSA0MTkzNzkyKSB7IAogICRFUlJPUignIzMwMjogODE5MSA8PCA5ID09PSA0MTkzNzkyLiBBY3R1YWw6ICcgKyAoODE5MSA8PCA5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCA5ICE9PSA4Mzg4MDk2KSB7IAogICRFUlJPUignIzMwMzogMTYzODMgPDwgOSA9PT0gODM4ODA5Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDkgIT09IDE2Nzc2NzA0KSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPDwgOSA9PT0gMTY3NzY3MDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCA5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCA5ICE9PSAzMzU1MzkyMCkgeyAKICAkRVJST1IoJyMzMDU6IDY1NTM1IDw8IDkgPT09IDMzNTUzOTIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgOSkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDkgIT09IDY3MTA4MzUyKSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxIDw8IDkgPT09IDY3MTA4MzUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCA5ICE9PSAxMzQyMTcyMTYpIHsgCiAgJEVSUk9SKCcjMzA3OiAyNjIxNDMgPDwgOSA9PT0gMTM0MjE3MjE2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDkpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCA5ICE9PSAyNjg0MzQ5NDQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODcgPDwgOSA9PT0gMjY4NDM0OTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgOSAhPT0gNTM2ODcwNDAwKSB7IAogICRFUlJPUignIzMwOTogMTA0ODU3NSA8PCA5ID09PSA1MzY4NzA0MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgOSAhPT0gMTA3Mzc0MTMxMikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTEgPDwgOSA9PT0gMTA3Mzc0MTMxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCA5ICE9PSAyMTQ3NDgzMTM2KSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwMyA8PCA5ID09PSAyMTQ3NDgzMTM2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTQ6IDMzNTU0NDMxIDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNTogNjcxMDg4NjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI3IDw8IDkgPT09IC01MTIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMSA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjMgPDwgOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCA5ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0NyA8PCA5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCA5KSk7IAp9IAoKCmlmICgwIDw8IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMCA8PCAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTApKTsgCn0gCgoKaWYgKDEgPDwgMTAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzIyOiAxIDw8IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMSA8PCAxMCkpOyAKfSAKCgppZiAoMyA8PCAxMCAhPT0gMzA3MikgeyAKICAkRVJST1IoJyMzMjM6IDMgPDwgMTAgPT09IDMwNzIuIEFjdHVhbDogJyArICgzIDw8IDEwKSk7IAp9IAoKCmlmICg3IDw8IDEwICE9PSA3MTY4KSB7IAogICRFUlJPUignIzMyNDogNyA8PCAxMCA9PT0gNzE2OC4gQWN0dWFsOiAnICsgKDcgPDwgMTApKTsgCn0gCgoKaWYgKDE1IDw8IDEwICE9PSAxNTM2MCkgeyAKICAkRVJST1IoJyMzMjU6IDE1IDw8IDEwID09PSAxNTM2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEwKSk7IAp9IAoKCmlmICgzMSA8PCAxMCAhPT0gMzE3NDQpIHsgCiAgJEVSUk9SKCcjMzI2OiAzMSA8PCAxMCA9PT0gMzE3NDQuIEFjdHVhbDogJyArICgzMSA8PCAxMCkpOyAKfSAKCgppZiAoNjMgPDwgMTAgIT09IDY0NTEyKSB7IAogICRFUlJPUignIzMyNzogNjMgPDwgMTAgPT09IDY0NTEyLiBBY3R1YWw6ICcgKyAoNjMgPDwgMTApKTsgCn0gCgoKaWYgKDEyNyA8PCAxMCAhPT0gMTMwMDQ4KSB7IAogICRFUlJPUignIzMyODogMTI3IDw8IDEwID09PSAxMzAwNDguIEFjdHVhbDogJyArICgxMjcgPDwgMTApKTsgCn0gCgoKaWYgKDI1NSA8PCAxMCAhPT0gMjYxMTIwKSB7IAogICRFUlJPUignIzMyOTogMjU1IDw8IDEwID09PSAyNjExMjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTApKTsgCn0gCgoKaWYgKDUxMSA8PCAxMCAhPT0gNTIzMjY0KSB7IAogICRFUlJPUignIzMzMDogNTExIDw8IDEwID09PSA1MjMyNjQuIEFjdHVhbDogJyArICg1MTEgPDwgMTApKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTAgIT09IDEwNDc1NTIpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDIzIDw8IDEwID09PSAxMDQ3NTUyLiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMCAhPT0gMjA5NjEyOCkgeyAKICAkRVJST1IoJyMzMzI6IDIwNDcgPDwgMTAgPT09IDIwOTYxMjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDEwKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEwICE9PSA0MTkzMjgwKSB7IAogICRFUlJPUignIzMzMzogNDA5NSA8PCAxMCA9PT0gNDE5MzI4MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTApKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTAgIT09IDgzODc1ODQpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkxIDw8IDEwID09PSA4Mzg3NTg0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTAgIT09IDE2Nzc2MTkyKSB7IAogICRFUlJPUignIzMzNTogMTYzODMgPDwgMTAgPT09IDE2Nzc2MTkyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEwICE9PSAzMzU1MzQwOCkgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY3IDw8IDEwID09PSAzMzU1MzQwOC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDEwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxMCAhPT0gNjcxMDc4NDApIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNSA8PCAxMCA9PT0gNjcxMDc4NDAuIEFjdHVhbDogJyArICg2NTUzNSA8PCAxMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDEwICE9PSAxMzQyMTY3MDQpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzEgPDwgMTAgPT09IDEzNDIxNjcwNC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEwICE9PSAyNjg0MzQ0MzIpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDMgPDwgMTAgPT09IDI2ODQzNDQzMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEwICE9PSA1MzY4Njk4ODgpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODcgPDwgMTAgPT09IDUzNjg2OTg4OC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMCAhPT0gMTA3Mzc0MDgwMCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzUgPDwgMTAgPT09IDEwNzM3NDA4MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDEwKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDEwICE9PSAyMTQ3NDgyNjI0KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MSA8PCAxMCA9PT0gMjE0NzQ4MjYyNC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MzogNDE5NDMwMyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDcgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0NTogMTY3NzcyMTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTApKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDY6IDMzNTU0NDMxIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NzEwODg2MyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyNyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjg0MzU0NTUgPDwgMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzIDw8IDEwID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM1MjogMjE0NzQ4MzY0NyA8PCAxMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEwKSk7IAp9IAoKCmlmICgwIDw8IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA8PCAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTEpKTsgCn0gCgoKaWYgKDEgPDwgMTEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzU0OiAxIDw8IDExID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAxMSkpOyAKfSAKCgppZiAoMyA8PCAxMSAhPT0gNjE0NCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPDwgMTEgPT09IDYxNDQuIEFjdHVhbDogJyArICgzIDw8IDExKSk7IAp9IAoKCmlmICg3IDw8IDExICE9PSAxNDMzNikgeyAKICAkRVJST1IoJyMzNTY6IDcgPDwgMTEgPT09IDE0MzM2LiBBY3R1YWw6ICcgKyAoNyA8PCAxMSkpOyAKfSAKCgppZiAoMTUgPDwgMTEgIT09IDMwNzIwKSB7IAogICRFUlJPUignIzM1NzogMTUgPDwgMTEgPT09IDMwNzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTEpKTsgCn0gCgoKaWYgKDMxIDw8IDExICE9PSA2MzQ4OCkgeyAKICAkRVJST1IoJyMzNTg6IDMxIDw8IDExID09PSA2MzQ4OC4gQWN0dWFsOiAnICsgKDMxIDw8IDExKSk7IAp9IAoKCmlmICg2MyA8PCAxMSAhPT0gMTI5MDI0KSB7IAogICRFUlJPUignIzM1OTogNjMgPDwgMTEgPT09IDEyOTAyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDExKSk7IAp9IAoKCmlmICgxMjcgPDwgMTEgIT09IDI2MDA5NikgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA8PCAxMSA9PT0gMjYwMDk2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDExKSk7IAp9IAoKCmlmICgyNTUgPDwgMTEgIT09IDUyMjI0MCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NSA8PCAxMSA9PT0gNTIyMjQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDExKSk7IAp9IAoKCmlmICg1MTEgPDwgMTEgIT09IDEwNDY1MjgpIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPDwgMTEgPT09IDEwNDY1MjguIEFjdHVhbDogJyArICg1MTEgPDwgMTEpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTEgIT09IDIwOTUxMDQpIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzIDw8IDExID09PSAyMDk1MTA0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxMSAhPT0gNDE5MjI1NikgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPDwgMTEgPT09IDQxOTIyNTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDExKSk7IAp9IAoKCmlmICg0MDk1IDw8IDExICE9PSA4Mzg2NTYwKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA8PCAxMSA9PT0gODM4NjU2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTEpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTEgIT09IDE2Nzc1MTY4KSB7IAogICRFUlJPUignIzM2NjogODE5MSA8PCAxMSA9PT0gMTY3NzUxNjguIEFjdHVhbDogJyArICg4MTkxIDw8IDExKSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxMSAhPT0gMzM1NTIzODQpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA8PCAxMSA9PT0gMzM1NTIzODQuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTEgIT09IDY3MTA2ODE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjcgPDwgMTEgPT09IDY3MTA2ODE2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTEpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDExICE9PSAxMzQyMTU2ODApIHsgCiAgJEVSUk9SKCcjMzY5OiA2NTUzNSA8PCAxMSA9PT0gMTM0MjE1NjgwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMSAhPT0gMjY4NDMzNDA4KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcxIDw8IDExID09PSAyNjg0MzM0MDguIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMSAhPT0gNTM2ODY4ODY0KSB7IAogICRFUlJPUignIzM3MTogMjYyMTQzIDw8IDExID09PSA1MzY4Njg4NjQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxMSAhPT0gMTA3MzczOTc3NikgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA8PCAxMSA9PT0gMTA3MzczOTc3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMSAhPT0gMjE0NzQ4MTYwMCkgeyAKICAkRVJST1IoJyMzNzM6IDEwNDg1NzUgPDwgMTEgPT09IDIxNDc0ODE2MDAuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3NjogODM4ODYwNyA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM3ODogMzM1NTQ0MzEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzk6IDY3MTA4ODYzIDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTEgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzM4MDogMTM0MjE3NzI3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NSA8PCAxMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzgyOiA1MzY4NzA5MTEgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDExKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPDwgMTEgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxMSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3IDw8IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTEpKTsgCn0gCgoKaWYgKDAgPDwgMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAwIDw8IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxMikpOyAKfSAKCgppZiAoMSA8PCAxMiAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzODY6IDEgPDwgMTIgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IDEyKSk7IAp9IAoKCmlmICgzIDw8IDEyICE9PSAxMjI4OCkgeyAKICAkRVJST1IoJyMzODc6IDMgPDwgMTIgPT09IDEyMjg4LiBBY3R1YWw6ICcgKyAoMyA8PCAxMikpOyAKfSAKCgppZiAoNyA8PCAxMiAhPT0gMjg2NzIpIHsgCiAgJEVSUk9SKCcjMzg4OiA3IDw8IDEyID09PSAyODY3Mi4gQWN0dWFsOiAnICsgKDcgPDwgMTIpKTsgCn0gCgoKaWYgKDE1IDw8IDEyICE9PSA2MTQ0MCkgeyAKICAkRVJST1IoJyMzODk6IDE1IDw8IDEyID09PSA2MTQ0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEyKSk7IAp9IAoKCmlmICgzMSA8PCAxMiAhPT0gMTI2OTc2KSB7IAogICRFUlJPUignIzM5MDogMzEgPDwgMTIgPT09IDEyNjk3Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2MyA8PCAxMiAhPT0gMjU4MDQ4KSB7IAogICRFUlJPUignIzM5MTogNjMgPDwgMTIgPT09IDI1ODA0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDEyKSk7IAp9IAoKCmlmICgxMjcgPDwgMTIgIT09IDUyMDE5MikgeyAKICAkRVJST1IoJyMzOTI6IDEyNyA8PCAxMiA9PT0gNTIwMTkyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDEyKSk7IAp9IAoKCmlmICgyNTUgPDwgMTIgIT09IDEwNDQ0ODApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTUgPDwgMTIgPT09IDEwNDQ0ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTIpKTsgCn0gCgoKaWYgKDUxMSA8PCAxMiAhPT0gMjA5MzA1NikgeyAKICAkRVJST1IoJyMzOTQ6IDUxMSA8PCAxMiA9PT0gMjA5MzA1Ni4gQWN0dWFsOiAnICsgKDUxMSA8PCAxMikpOyAKfSAKCgppZiAoMTAyMyA8PCAxMiAhPT0gNDE5MDIwOCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjMgPDwgMTIgPT09IDQxOTAyMDguIEFjdHVhbDogJyArICgxMDIzIDw8IDEyKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDEyICE9PSA4Mzg0NTEyKSB7IAogICRFUlJPUignIzM5NjogMjA0NyA8PCAxMiA9PT0gODM4NDUxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTIpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTIgIT09IDE2NzczMTIwKSB7IAogICRFUlJPUignIzM5NzogNDA5NSA8PCAxMiA9PT0gMTY3NzMxMjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDEyKSk7IAp9IAoKCmlmICg4MTkxIDw8IDEyICE9PSAzMzU1MDMzNikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTEgPDwgMTIgPT09IDMzNTUwMzM2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxMikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTIgIT09IDY3MTA0NzY4KSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPDwgMTIgPT09IDY3MTA0NzY4LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTIpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEyICE9PSAxMzQyMTM2MzIpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA8PCAxMiA9PT0gMTM0MjEzNjMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTIpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEyICE9PSAyNjg0MzEzNjApIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA8PCAxMiA9PT0gMjY4NDMxMzYwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMiAhPT0gNTM2ODY2ODE2KSB7IAogICRFUlJPUignIzQwMjogMTMxMDcxIDw8IDEyID09PSA1MzY4NjY4MTYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxMiAhPT0gMTA3MzczNzcyOCkgeyAKICAkRVJST1IoJyM0MDM6IDI2MjE0MyA8PCAxMiA9PT0gMTA3MzczNzcyOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDEyICE9PSAyMTQ3NDc5NTUyKSB7IAogICRFUlJPUignIzQwNDogNTI0Mjg3IDw8IDEyID09PSAyMTQ3NDc5NTUyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDU6IDEwNDg1NzUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MDg6IDgzODg2MDcgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2MyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDEyICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyNyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTUgPDwgMTIgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODIzIDw8IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQxNjogMjE0NzQ4MzY0NyA8PCAxMiA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDEyKSk7IAp9IAoKCmlmICgwIDw8IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMCA8PCAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTMpKTsgCn0gCgoKaWYgKDEgPDwgMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDE4OiAxIDw8IDEzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMSA8PCAxMykpOyAKfSAKCgppZiAoMyA8PCAxMyAhPT0gMjQ1NzYpIHsgCiAgJEVSUk9SKCcjNDE5OiAzIDw8IDEzID09PSAyNDU3Ni4gQWN0dWFsOiAnICsgKDMgPDwgMTMpKTsgCn0gCgoKaWYgKDcgPDwgMTMgIT09IDU3MzQ0KSB7IAogICRFUlJPUignIzQyMDogNyA8PCAxMyA9PT0gNTczNDQuIEFjdHVhbDogJyArICg3IDw8IDEzKSk7IAp9IAoKCmlmICgxNSA8PCAxMyAhPT0gMTIyODgwKSB7IAogICRFUlJPUignIzQyMTogMTUgPDwgMTMgPT09IDEyMjg4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMSA8PCAxMyAhPT0gMjUzOTUyKSB7IAogICRFUlJPUignIzQyMjogMzEgPDwgMTMgPT09IDI1Mzk1Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDEzKSk7IAp9IAoKCmlmICg2MyA8PCAxMyAhPT0gNTE2MDk2KSB7IAogICRFUlJPUignIzQyMzogNjMgPDwgMTMgPT09IDUxNjA5Ni4gQWN0dWFsOiAnICsgKDYzIDw8IDEzKSk7IAp9IAoKCmlmICgxMjcgPDwgMTMgIT09IDEwNDAzODQpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMjcgPDwgMTMgPT09IDEwNDAzODQuIEFjdHVhbDogJyArICgxMjcgPDwgMTMpKTsgCn0gCgoKaWYgKDI1NSA8PCAxMyAhPT0gMjA4ODk2MCkgeyAKICAkRVJST1IoJyM0MjU6IDI1NSA8PCAxMyA9PT0gMjA4ODk2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAxMykpOyAKfSAKCgppZiAoNTExIDw8IDEzICE9PSA0MTg2MTEyKSB7IAogICRFUlJPUignIzQyNjogNTExIDw8IDEzID09PSA0MTg2MTEyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDEzKSk7IAp9IAoKCmlmICgxMDIzIDw8IDEzICE9PSA4MzgwNDE2KSB7IAogICRFUlJPUignIzQyNzogMTAyMyA8PCAxMyA9PT0gODM4MDQxNi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTMgIT09IDE2NzY5MDI0KSB7IAogICRFUlJPUignIzQyODogMjA0NyA8PCAxMyA9PT0gMTY3NjkwMjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDEzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDEzICE9PSAzMzU0NjI0MCkgeyAKICAkRVJST1IoJyM0Mjk6IDQwOTUgPDwgMTMgPT09IDMzNTQ2MjQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxMykpOyAKfSAKCgppZiAoODE5MSA8PCAxMyAhPT0gNjcxMDA2NzIpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkxIDw8IDEzID09PSA2NzEwMDY3Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDEzICE9PSAxMzQyMDk1MzYpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4MyA8PCAxMyA9PT0gMTM0MjA5NTM2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTMpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDEzICE9PSAyNjg0MjcyNjQpIHsgCiAgJEVSUk9SKCcjNDMyOiAzMjc2NyA8PCAxMyA9PT0gMjY4NDI3MjY0LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTMpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDEzICE9PSA1MzY4NjI3MjApIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA8PCAxMyA9PT0gNTM2ODYyNzIwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxMyAhPT0gMTA3MzczMzYzMikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MSA8PCAxMyA9PT0gMTA3MzczMzYzMi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxMykpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDEzICE9PSAyMTQ3NDc1NDU2KSB7IAogICRFUlJPUignIzQzNTogMjYyMTQzIDw8IDEzID09PSAyMTQ3NDc1NDU2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDEzKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAxMykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0Mzk6IDQxOTQzMDMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAxMykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQwOiA4Mzg4NjA3IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDEzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAxMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0MzogNjcxMDg4NjMgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxMyAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1IDw8IDEzID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzQ0NzogMTA3Mzc0MTgyMyA8PCAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDEzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPDwgMTMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAxMykpOyAKfSAKCgppZiAoMCA8PCAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDk6IDAgPDwgMTQgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE0KSk7IAp9IAoKCmlmICgxIDw8IDE0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPDwgMTQgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCAxNCkpOyAKfSAKCgppZiAoMyA8PCAxNCAhPT0gNDkxNTIpIHsgCiAgJEVSUk9SKCcjNDUxOiAzIDw8IDE0ID09PSA0OTE1Mi4gQWN0dWFsOiAnICsgKDMgPDwgMTQpKTsgCn0gCgoKaWYgKDcgPDwgMTQgIT09IDExNDY4OCkgeyAKICAkRVJST1IoJyM0NTI6IDcgPDwgMTQgPT09IDExNDY4OC4gQWN0dWFsOiAnICsgKDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE1IDw8IDE0ICE9PSAyNDU3NjApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA8PCAxNCA9PT0gMjQ1NzYwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMxIDw8IDE0ICE9PSA1MDc5MDQpIHsgCiAgJEVSUk9SKCcjNDU0OiAzMSA8PCAxNCA9PT0gNTA3OTA0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTQpKTsgCn0gCgoKaWYgKDYzIDw8IDE0ICE9PSAxMDMyMTkyKSB7IAogICRFUlJPUignIzQ1NTogNjMgPDwgMTQgPT09IDEwMzIxOTIuIEFjdHVhbDogJyArICg2MyA8PCAxNCkpOyAKfSAKCgppZiAoMTI3IDw8IDE0ICE9PSAyMDgwNzY4KSB7IAogICRFUlJPUignIzQ1NjogMTI3IDw8IDE0ID09PSAyMDgwNzY4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE0KSk7IAp9IAoKCmlmICgyNTUgPDwgMTQgIT09IDQxNzc5MjApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPDwgMTQgPT09IDQxNzc5MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNCAhPT0gODM3MjIyNCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA8PCAxNCA9PT0gODM3MjIyNC4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAxNCAhPT0gMTY3NjA4MzIpIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDIzIDw8IDE0ID09PSAxNjc2MDgzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTQgIT09IDMzNTM4MDQ4KSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA8PCAxNCA9PT0gMzM1MzgwNDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDE0KSk7IAp9IAoKCmlmICg0MDk1IDw8IDE0ICE9PSA2NzA5MjQ4MCkgeyAKICAkRVJST1IoJyM0NjE6IDQwOTUgPDwgMTQgPT09IDY3MDkyNDgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNCkpOyAKfSAKCgppZiAoODE5MSA8PCAxNCAhPT0gMTM0MjAxMzQ0KSB7IAogICRFUlJPUignIzQ2MjogODE5MSA8PCAxNCA9PT0gMTM0MjAxMzQ0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMTQgIT09IDI2ODQxOTA3MikgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzIDw8IDE0ID09PSAyNjg0MTkwNzIuIEFjdHVhbDogJyArICgxNjM4MyA8PCAxNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTQgIT09IDUzNjg1NDUyOCkgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY3IDw8IDE0ID09PSA1MzY4NTQ1MjguIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTQgIT09IDEwNzM3MjU0NDApIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA8PCAxNCA9PT0gMTA3MzcyNTQ0MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTQgIT09IDIxNDc0NjcyNjQpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPDwgMTQgPT09IDIxNDc0NjcyNjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQzIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTQpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Njk6IDEwNDg1NzUgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDczOiAxNjc3NzIxNSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2MyA8PCAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NjogMTM0MjE3NzI3IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogMjY4NDM1NDU1IDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTExIDw8IDE0ID09PSAtMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTQgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDcgPDwgMTQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTQpKTsgCn0gCgoKaWYgKDAgPDwgMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAwIDw8IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNSkpOyAKfSAKCgppZiAoMSA8PCAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDgyOiAxIDw8IDE1ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgMTUpKTsgCn0gCgoKaWYgKDMgPDwgMTUgIT09IDk4MzA0KSB7IAogICRFUlJPUignIzQ4MzogMyA8PCAxNSA9PT0gOTgzMDQuIEFjdHVhbDogJyArICgzIDw8IDE1KSk7IAp9IAoKCmlmICg3IDw8IDE1ICE9PSAyMjkzNzYpIHsgCiAgJEVSUk9SKCcjNDg0OiA3IDw8IDE1ID09PSAyMjkzNzYuIEFjdHVhbDogJyArICg3IDw8IDE1KSk7IAp9IAoKCmlmICgxNSA8PCAxNSAhPT0gNDkxNTIwKSB7IAogICRFUlJPUignIzQ4NTogMTUgPDwgMTUgPT09IDQ5MTUyMC4gQWN0dWFsOiAnICsgKDE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMSA8PCAxNSAhPT0gMTAxNTgwOCkgeyAKICAkRVJST1IoJyM0ODY6IDMxIDw8IDE1ID09PSAxMDE1ODA4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTUpKTsgCn0gCgoKaWYgKDYzIDw8IDE1ICE9PSAyMDY0Mzg0KSB7IAogICRFUlJPUignIzQ4NzogNjMgPDwgMTUgPT09IDIwNjQzODQuIEFjdHVhbDogJyArICg2MyA8PCAxNSkpOyAKfSAKCgppZiAoMTI3IDw8IDE1ICE9PSA0MTYxNTM2KSB7IAogICRFUlJPUignIzQ4ODogMTI3IDw8IDE1ID09PSA0MTYxNTM2LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNTUgPDwgMTUgIT09IDgzNTU4NDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTUgPDwgMTUgPT09IDgzNTU4NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTUpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNSAhPT0gMTY3NDQ0NDgpIHsgCiAgJEVSUk9SKCcjNDkwOiA1MTEgPDwgMTUgPT09IDE2NzQ0NDQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE1ICE9PSAzMzUyMTY2NCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjMgPDwgMTUgPT09IDMzNTIxNjY0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNSkpOyAKfSAKCgppZiAoMjA0NyA8PCAxNSAhPT0gNjcwNzYwOTYpIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3IDw8IDE1ID09PSA2NzA3NjA5Ni4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTUgIT09IDEzNDE4NDk2MCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPDwgMTUgPT09IDEzNDE4NDk2MC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMTUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMTUgIT09IDI2ODQwMjY4OCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTEgPDwgMTUgPT09IDI2ODQwMjY4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE1ICE9PSA1MzY4MzgxNDQpIHsgCiAgJEVSUk9SKCcjNDk1OiAxNjM4MyA8PCAxNSA9PT0gNTM2ODM4MTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE1ICE9PSAxMDczNzA5MDU2KSB7IAogICRFUlJPUignIzQ5NjogMzI3NjcgPDwgMTUgPT09IDEwNzM3MDkwNTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTUgIT09IDIxNDc0NTA4ODApIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNSA8PCAxNSA9PT0gMjE0NzQ1MDg4MC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE1KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDE1KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0MyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4NyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE1KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDE1KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAyOiAyMDk3MTUxIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNjogMzM1NTQ0MzEgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPDwgMTUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDE1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyNyA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MDk6IDI2ODQzNTQ1NSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM1MTA6IDUzNjg3MDkxMSA8PCAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODIzIDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3IDw8IDE1ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE1KSk7IAp9IAoK","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4IDw8IHkgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjEvUzExLjcuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCgppZiAoMCA8PCAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDAgPDwgMTYgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDE2KSk7IAp9IAoKCmlmICgxIDw8IDE2ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyM1MTQ6IDEgPDwgMTYgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMSA8PCAxNikpOyAKfSAKCgppZiAoMyA8PCAxNiAhPT0gMTk2NjA4KSB7IAogICRFUlJPUignIzUxNTogMyA8PCAxNiA9PT0gMTk2NjA4LiBBY3R1YWw6ICcgKyAoMyA8PCAxNikpOyAKfSAKCgppZiAoNyA8PCAxNiAhPT0gNDU4NzUyKSB7IAogICRFUlJPUignIzUxNjogNyA8PCAxNiA9PT0gNDU4NzUyLiBBY3R1YWw6ICcgKyAoNyA8PCAxNikpOyAKfSAKCgppZiAoMTUgPDwgMTYgIT09IDk4MzA0MCkgeyAKICAkRVJST1IoJyM1MTc6IDE1IDw8IDE2ID09PSA5ODMwNDAuIEFjdHVhbDogJyArICgxNSA8PCAxNikpOyAKfSAKCgppZiAoMzEgPDwgMTYgIT09IDIwMzE2MTYpIHsgCiAgJEVSUk9SKCcjNTE4OiAzMSA8PCAxNiA9PT0gMjAzMTYxNi4gQWN0dWFsOiAnICsgKDMxIDw8IDE2KSk7IAp9IAoKCmlmICg2MyA8PCAxNiAhPT0gNDEyODc2OCkgeyAKICAkRVJST1IoJyM1MTk6IDYzIDw8IDE2ID09PSA0MTI4NzY4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEyNyA8PCAxNiAhPT0gODMyMzA3MikgeyAKICAkRVJST1IoJyM1MjA6IDEyNyA8PCAxNiA9PT0gODMyMzA3Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAxNikpOyAKfSAKCgppZiAoMjU1IDw8IDE2ICE9PSAxNjcxMTY4MCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NSA8PCAxNiA9PT0gMTY3MTE2ODAuIEFjdHVhbDogJyArICgyNTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUxMSA8PCAxNiAhPT0gMzM0ODg4OTYpIHsgCiAgJEVSUk9SKCcjNTIyOiA1MTEgPDwgMTYgPT09IDMzNDg4ODk2LiBBY3R1YWw6ICcgKyAoNTExIDw8IDE2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDE2ICE9PSA2NzA0MzMyOCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPDwgMTYgPT09IDY3MDQzMzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNikpOyAKfSAKCgppZiAoMjA0NyA8PCAxNiAhPT0gMTM0MTUyMTkyKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA8PCAxNiA9PT0gMTM0MTUyMTkyLiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNikpOyAKfSAKCgppZiAoNDA5NSA8PCAxNiAhPT0gMjY4MzY5OTIwKSB7IAogICRFUlJPUignIzUyNTogNDA5NSA8PCAxNiA9PT0gMjY4MzY5OTIwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNikpOyAKfSAKCgppZiAoODE5MSA8PCAxNiAhPT0gNTM2ODA1Mzc2KSB7IAogICRFUlJPUignIzUyNjogODE5MSA8PCAxNiA9PT0gNTM2ODA1Mzc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAxNikpOyAKfSAKCgppZiAoMTYzODMgPDwgMTYgIT09IDEwNzM2NzYyODgpIHsgCiAgJEVSUk9SKCcjNTI3OiAxNjM4MyA8PCAxNiA9PT0gMTA3MzY3NjI4OC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAxNiAhPT0gMjE0NzQxODExMikgeyAKICAkRVJST1IoJyM1Mjg6IDMyNzY3IDw8IDE2ID09PSAyMTQ3NDE4MTEyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMTYpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTYpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMDogMTMxMDcxIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQzIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTEgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzU6IDQxOTQzMDMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMTYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMSA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE2ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTM5OiA2NzEwODg2MyA8PCAxNiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI3IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1IDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxNiAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzU0MjogNTM2ODcwOTExIDw8IDE2ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDM6IDEwNzM3NDE4MjMgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMTYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMTYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPDwgMTYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTYpKTsgCn0gCgoKaWYgKDAgPDwgMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ1OiAwIDw8IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAxNykpOyAKfSAKCgppZiAoMSA8PCAxNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzU0NjogMSA8PCAxNyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMSA8PCAxNykpOyAKfSAKCgppZiAoMyA8PCAxNyAhPT0gMzkzMjE2KSB7IAogICRFUlJPUignIzU0NzogMyA8PCAxNyA9PT0gMzkzMjE2LiBBY3R1YWw6ICcgKyAoMyA8PCAxNykpOyAKfSAKCgppZiAoNyA8PCAxNyAhPT0gOTE3NTA0KSB7IAogICRFUlJPUignIzU0ODogNyA8PCAxNyA9PT0gOTE3NTA0LiBBY3R1YWw6ICcgKyAoNyA8PCAxNykpOyAKfSAKCgppZiAoMTUgPDwgMTcgIT09IDE5NjYwODApIHsgCiAgJEVSUk9SKCcjNTQ5OiAxNSA8PCAxNyA9PT0gMTk2NjA4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE3KSk7IAp9IAoKCmlmICgzMSA8PCAxNyAhPT0gNDA2MzIzMikgeyAKICAkRVJST1IoJyM1NTA6IDMxIDw8IDE3ID09PSA0MDYzMjMyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMTcpKTsgCn0gCgoKaWYgKDYzIDw8IDE3ICE9PSA4MjU3NTM2KSB7IAogICRFUlJPUignIzU1MTogNjMgPDwgMTcgPT09IDgyNTc1MzYuIEFjdHVhbDogJyArICg2MyA8PCAxNykpOyAKfSAKCgppZiAoMTI3IDw8IDE3ICE9PSAxNjY0NjE0NCkgeyAKICAkRVJST1IoJyM1NTI6IDEyNyA8PCAxNyA9PT0gMTY2NDYxNDQuIEFjdHVhbDogJyArICgxMjcgPDwgMTcpKTsgCn0gCgoKaWYgKDI1NSA8PCAxNyAhPT0gMzM0MjMzNjApIHsgCiAgJEVSUk9SKCcjNTUzOiAyNTUgPDwgMTcgPT09IDMzNDIzMzYwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MTEgPDwgMTcgIT09IDY2OTc3NzkyKSB7IAogICRFUlJPUignIzU1NDogNTExIDw8IDE3ID09PSA2Njk3Nzc5Mi4gQWN0dWFsOiAnICsgKDUxMSA8PCAxNykpOyAKfSAKCgppZiAoMTAyMyA8PCAxNyAhPT0gMTM0MDg2NjU2KSB7IAogICRFUlJPUignIzU1NTogMTAyMyA8PCAxNyA9PT0gMTM0MDg2NjU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAxNykpOyAKfSAKCgppZiAoMjA0NyA8PCAxNyAhPT0gMjY4MzA0Mzg0KSB7IAogICRFUlJPUignIzU1NjogMjA0NyA8PCAxNyA9PT0gMjY4MzA0Mzg0LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxNykpOyAKfSAKCgppZiAoNDA5NSA8PCAxNyAhPT0gNTM2NzM5ODQwKSB7IAogICRFUlJPUignIzU1NzogNDA5NSA8PCAxNyA9PT0gNTM2NzM5ODQwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxNykpOyAKfSAKCgppZiAoODE5MSA8PCAxNyAhPT0gMTA3MzYxMDc1MikgeyAKICAkRVJST1IoJyM1NTg6IDgxOTEgPDwgMTcgPT09IDEwNzM2MTA3NTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDE3KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxNyAhPT0gMjE0NzM1MjU3NikgeyAKICAkRVJST1IoJyM1NTk6IDE2MzgzIDw8IDE3ID09PSAyMTQ3MzUyNTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTcpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2MDogMzI3NjcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxNykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYxOiA2NTUzNSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE3KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTYyOiAxMzEwNzEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTcpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NjM6IDI2MjE0MyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxNykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NDogNTI0Mjg3IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2NTogMTA0ODU3NSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1Njc6IDQxOTQzMDMgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2ODogODM4ODYwNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTUgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTcwOiAzMzU1NDQzMSA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzI6IDEzNDIxNzcyNyA8PCAxNyA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE3ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzU3MzogMjY4NDM1NDU1IDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc0OiA1MzY4NzA5MTEgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTcgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTc1OiAxMDczNzQxODIzIDw8IDE3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPDwgMTcgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE3KSk7IAp9IAoKCmlmICgwIDw8IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMCA8PCAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTgpKTsgCn0gCgoKaWYgKDEgPDwgMTggIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1Nzg6IDEgPDwgMTggPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgMTgpKTsgCn0gCgoKaWYgKDMgPDwgMTggIT09IDc4NjQzMikgeyAKICAkRVJST1IoJyM1Nzk6IDMgPDwgMTggPT09IDc4NjQzMi4gQWN0dWFsOiAnICsgKDMgPDwgMTgpKTsgCn0gCgoKaWYgKDcgPDwgMTggIT09IDE4MzUwMDgpIHsgCiAgJEVSUk9SKCcjNTgwOiA3IDw8IDE4ID09PSAxODM1MDA4LiBBY3R1YWw6ICcgKyAoNyA8PCAxOCkpOyAKfSAKCgppZiAoMTUgPDwgMTggIT09IDM5MzIxNjApIHsgCiAgJEVSUk9SKCcjNTgxOiAxNSA8PCAxOCA9PT0gMzkzMjE2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDE4KSk7IAp9IAoKCmlmICgzMSA8PCAxOCAhPT0gODEyNjQ2NCkgeyAKICAkRVJST1IoJyM1ODI6IDMxIDw8IDE4ID09PSA4MTI2NDY0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMTgpKTsgCn0gCgoKaWYgKDYzIDw8IDE4ICE9PSAxNjUxNTA3MikgeyAKICAkRVJST1IoJyM1ODM6IDYzIDw8IDE4ID09PSAxNjUxNTA3Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDE4KSk7IAp9IAoKCmlmICgxMjcgPDwgMTggIT09IDMzMjkyMjg4KSB7IAogICRFUlJPUignIzU4NDogMTI3IDw8IDE4ID09PSAzMzI5MjI4OC4gQWN0dWFsOiAnICsgKDEyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjU1IDw8IDE4ICE9PSA2Njg0NjcyMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA8PCAxOCA9PT0gNjY4NDY3MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMTgpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOCAhPT0gMTMzOTU1NTg0KSB7IAogICRFUlJPUignIzU4NjogNTExIDw8IDE4ID09PSAxMzM5NTU1ODQuIEFjdHVhbDogJyArICg1MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTggIT09IDI2ODE3MzMxMikgeyAKICAkRVJST1IoJyM1ODc6IDEwMjMgPDwgMTggPT09IDI2ODE3MzMxMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTgpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTggIT09IDUzNjYwODc2OCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDcgPDwgMTggPT09IDUzNjYwODc2OC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMTgpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMTggIT09IDEwNzM0Nzk2ODApIHsgCiAgJEVSUk9SKCcjNTg5OiA0MDk1IDw8IDE4ID09PSAxMDczNDc5NjgwLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAxOCkpOyAKfSAKCgppZiAoODE5MSA8PCAxOCAhPT0gMjE0NzIyMTUwNCkgeyAKICAkRVJST1IoJyM1OTA6IDgxOTEgPDwgMTggPT09IDIxNDcyMjE1MDQuIEFjdHVhbDogJyArICg4MTkxIDw8IDE4KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTE6IDE2MzgzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMTgpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5MjogMzI3NjcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAxOCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTkzOiA2NTUzNSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDE4KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk0OiAxMzEwNzEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMTgpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTU6IDI2MjE0MyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAxOCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NjogNTI0Mjg3IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzU5NzogMTA0ODU3NSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNTk4OiAyMDk3MTUxIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAxOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDE4KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMDogODM4ODYwNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTUgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMSA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDM6IDY3MTA4ODYzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMTgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA8PCAxOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDE4ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzYwNTogMjY4NDM1NDU1IDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA2OiA1MzY4NzA5MTEgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMTggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNjA3OiAxMDczNzQxODIzIDw8IDE4ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAxOCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM2MDg6IDIxNDc0ODM2NDcgPDwgMTggPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDE4KSk7IAp9IAoKCmlmICgwIDw8IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYwOTogMCA8PCAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMTkpKTsgCn0gCgoKaWYgKDEgPDwgMTkgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPDwgMTkgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgMTkpKTsgCn0gCgoKaWYgKDMgPDwgMTkgIT09IDE1NzI4NjQpIHsgCiAgJEVSUk9SKCcjNjExOiAzIDw8IDE5ID09PSAxNTcyODY0LiBBY3R1YWw6ICcgKyAoMyA8PCAxOSkpOyAKfSAKCgppZiAoNyA8PCAxOSAhPT0gMzY3MDAxNikgeyAKICAkRVJST1IoJyM2MTI6IDcgPDwgMTkgPT09IDM2NzAwMTYuIEFjdHVhbDogJyArICg3IDw8IDE5KSk7IAp9IAoKCmlmICgxNSA8PCAxOSAhPT0gNzg2NDMyMCkgeyAKICAkRVJST1IoJyM2MTM6IDE1IDw8IDE5ID09PSA3ODY0MzIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMTkpKTsgCn0gCgoKaWYgKDMxIDw8IDE5ICE9PSAxNjI1MjkyOCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxIDw8IDE5ID09PSAxNjI1MjkyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDE5KSk7IAp9IAoKCmlmICg2MyA8PCAxOSAhPT0gMzMwMzAxNDQpIHsgCiAgJEVSUk9SKCcjNjE1OiA2MyA8PCAxOSA9PT0gMzMwMzAxNDQuIEFjdHVhbDogJyArICg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTI3IDw8IDE5ICE9PSA2NjU4NDU3NikgeyAKICAkRVJST1IoJyM2MTY6IDEyNyA8PCAxOSA9PT0gNjY1ODQ1NzYuIEFjdHVhbDogJyArICgxMjcgPDwgMTkpKTsgCn0gCgoKaWYgKDI1NSA8PCAxOSAhPT0gMTMzNjkzNDQwKSB7IAogICRFUlJPUignIzYxNzogMjU1IDw8IDE5ID09PSAxMzM2OTM0NDAuIEFjdHVhbDogJyArICgyNTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUxMSA8PCAxOSAhPT0gMjY3OTExMTY4KSB7IAogICRFUlJPUignIzYxODogNTExIDw8IDE5ID09PSAyNjc5MTExNjguIEFjdHVhbDogJyArICg1MTEgPDwgMTkpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMTkgIT09IDUzNjM0NjYyNCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPDwgMTkgPT09IDUzNjM0NjYyNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMTkpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMTkgIT09IDEwNzMyMTc1MzYpIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ3IDw8IDE5ID09PSAxMDczMjE3NTM2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAxOSkpOyAKfSAKCgppZiAoNDA5NSA8PCAxOSAhPT0gMjE0Njk1OTM2MCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTUgPDwgMTkgPT09IDIxNDY5NTkzNjAuIEFjdHVhbDogJyArICg0MDk1IDw8IDE5KSk7IAp9IAoKCmlmICg4MTkxIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMjogODE5MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMTkpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyMzogMTYzODMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxNjM4MyA8PCAxOSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDE5KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMTkpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAxOSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYyNzogMjYyMTQzIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDE5KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODcgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMTkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc1IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAxOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTEgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDE5KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwMyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMTkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMyOiA4Mzg4NjA3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxIDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMTkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI3IDw8IDE5ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMTkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNjM3OiAyNjg0MzU0NTUgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMTkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMSA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAxOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAxOSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjMgPDwgMTkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDE5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDE5ICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0NyA8PCAxOSA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMTkpKTsgCn0gCgoKaWYgKDAgPDwgMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAwIDw8IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMCkpOyAKfSAKCgppZiAoMSA8PCAyMCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NDI6IDEgPDwgMjAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxIDw8IDIwKSk7IAp9IAoKCmlmICgzIDw8IDIwICE9PSAzMTQ1NzI4KSB7IAogICRFUlJPUignIzY0MzogMyA8PCAyMCA9PT0gMzE0NTcyOC4gQWN0dWFsOiAnICsgKDMgPDwgMjApKTsgCn0gCgoKaWYgKDcgPDwgMjAgIT09IDczNDAwMzIpIHsgCiAgJEVSUk9SKCcjNjQ0OiA3IDw8IDIwID09PSA3MzQwMDMyLiBBY3R1YWw6ICcgKyAoNyA8PCAyMCkpOyAKfSAKCgppZiAoMTUgPDwgMjAgIT09IDE1NzI4NjQwKSB7IAogICRFUlJPUignIzY0NTogMTUgPDwgMjAgPT09IDE1NzI4NjQwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjApKTsgCn0gCgoKaWYgKDMxIDw8IDIwICE9PSAzMjUwNTg1NikgeyAKICAkRVJST1IoJyM2NDY6IDMxIDw8IDIwID09PSAzMjUwNTg1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDIwKSk7IAp9IAoKCmlmICg2MyA8PCAyMCAhPT0gNjYwNjAyODgpIHsgCiAgJEVSUk9SKCcjNjQ3OiA2MyA8PCAyMCA9PT0gNjYwNjAyODguIEFjdHVhbDogJyArICg2MyA8PCAyMCkpOyAKfSAKCgppZiAoMTI3IDw8IDIwICE9PSAxMzMxNjkxNTIpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMjcgPDwgMjAgPT09IDEzMzE2OTE1Mi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMCkpOyAKfSAKCgppZiAoMjU1IDw8IDIwICE9PSAyNjczODY4ODApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTUgPDwgMjAgPT09IDI2NzM4Njg4MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTExIDw8IDIwICE9PSA1MzU4MjIzMzYpIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPDwgMjAgPT09IDUzNTgyMjMzNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyMCAhPT0gMTA3MjY5MzI0OCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjMgPDwgMjAgPT09IDEwNzI2OTMyNDguIEFjdHVhbDogJyArICgxMDIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMDQ3IDw8IDIwICE9PSAyMTQ2NDM1MDcyKSB7IAogICRFUlJPUignIzY1MjogMjA0NyA8PCAyMCA9PT0gMjE0NjQzNTA3Mi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1MzogNDA5NSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg0MDk1IDw8IDIwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTEgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY1NTogMTYzODMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDIwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NTg6IDEzMTA3MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDIwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjYxOiAxMDQ4NTc1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDIwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY0OiA4Mzg4NjA3IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDIwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjMgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyMCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNjY4OiAxMzQyMTc3MjcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU1IDw8IDIwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjAgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA8PCAyMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDIwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDcgPDwgMjAgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyMCkpOyAKfSAKCgppZiAoMCA8PCAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPDwgMjEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDIxKSk7IAp9IAoKCmlmICgxIDw8IDIxICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzY3NDogMSA8PCAyMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEgPDwgMjEpKTsgCn0gCgoKaWYgKDMgPDwgMjEgIT09IDYyOTE0NTYpIHsgCiAgJEVSUk9SKCcjNjc1OiAzIDw8IDIxID09PSA2MjkxNDU2LiBBY3R1YWw6ICcgKyAoMyA8PCAyMSkpOyAKfSAKCgppZiAoNyA8PCAyMSAhPT0gMTQ2ODAwNjQpIHsgCiAgJEVSUk9SKCcjNjc2OiA3IDw8IDIxID09PSAxNDY4MDA2NC4gQWN0dWFsOiAnICsgKDcgPDwgMjEpKTsgCn0gCgoKaWYgKDE1IDw8IDIxICE9PSAzMTQ1NzI4MCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1IDw8IDIxID09PSAzMTQ1NzI4MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIxKSk7IAp9IAoKCmlmICgzMSA8PCAyMSAhPT0gNjUwMTE3MTIpIHsgCiAgJEVSUk9SKCcjNjc4OiAzMSA8PCAyMSA9PT0gNjUwMTE3MTIuIEFjdHVhbDogJyArICgzMSA8PCAyMSkpOyAKfSAKCgppZiAoNjMgPDwgMjEgIT09IDEzMjEyMDU3NikgeyAKICAkRVJST1IoJyM2Nzk6IDYzIDw8IDIxID09PSAxMzIxMjA1NzYuIEFjdHVhbDogJyArICg2MyA8PCAyMSkpOyAKfSAKCgppZiAoMTI3IDw8IDIxICE9PSAyNjYzMzgzMDQpIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPDwgMjEgPT09IDI2NjMzODMwNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjU1IDw8IDIxICE9PSA1MzQ3NzM3NjApIHsgCiAgJEVSUk9SKCcjNjgxOiAyNTUgPDwgMjEgPT09IDUzNDc3Mzc2MC4gQWN0dWFsOiAnICsgKDI1NSA8PCAyMSkpOyAKfSAKCgppZiAoNTExIDw8IDIxICE9PSAxMDcxNjQ0NjcyKSB7IAogICRFUlJPUignIzY4MjogNTExIDw8IDIxID09PSAxMDcxNjQ0NjcyLiBBY3R1YWw6ICcgKyAoNTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDIxICE9PSAyMTQ1Mzg2NDk2KSB7IAogICRFUlJPUignIzY4MzogMTAyMyA8PCAyMSA9PT0gMjE0NTM4NjQ5Ni4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4NDogMjA0NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIxKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMSkpOyAKfSAKCgppZiAoODE5MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkxIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2ODc6IDE2MzgzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY4OTogNjU1MzUgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjkwOiAxMzEwNzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4NyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5MzogMTA0ODU3NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzAzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5NjogODM4ODYwNyA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzY5ODogMzM1NTQ0MzEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM2OTk6IDY3MTA4ODYzIDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjEgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzcwMDogMTM0MjE3NzI3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA8PCAyMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzAyOiA1MzY4NzA5MTEgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjMgPDwgMjEgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ3IDw8IDIxID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjEpKTsgCn0gCgoKaWYgKDAgPDwgMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwIDw8IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMikpOyAKfSAKCgppZiAoMSA8PCAyMiAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPDwgMjIgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDIyKSk7IAp9IAoKCmlmICgzIDw8IDIyICE9PSAxMjU4MjkxMikgeyAKICAkRVJST1IoJyM3MDc6IDMgPDwgMjIgPT09IDEyNTgyOTEyLiBBY3R1YWw6ICcgKyAoMyA8PCAyMikpOyAKfSAKCgppZiAoNyA8PCAyMiAhPT0gMjkzNjAxMjgpIHsgCiAgJEVSUk9SKCcjNzA4OiA3IDw8IDIyID09PSAyOTM2MDEyOC4gQWN0dWFsOiAnICsgKDcgPDwgMjIpKTsgCn0gCgoKaWYgKDE1IDw8IDIyICE9PSA2MjkxNDU2MCkgeyAKICAkRVJST1IoJyM3MDk6IDE1IDw8IDIyID09PSA2MjkxNDU2MC4gQWN0dWFsOiAnICsgKDE1IDw8IDIyKSk7IAp9IAoKCmlmICgzMSA8PCAyMiAhPT0gMTMwMDIzNDI0KSB7IAogICRFUlJPUignIzcxMDogMzEgPDwgMjIgPT09IDEzMDAyMzQyNC4gQWN0dWFsOiAnICsgKDMxIDw8IDIyKSk7IAp9IAoKCmlmICg2MyA8PCAyMiAhPT0gMjY0MjQxMTUyKSB7IAogICRFUlJPUignIzcxMTogNjMgPDwgMjIgPT09IDI2NDI0MTE1Mi4gQWN0dWFsOiAnICsgKDYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMjcgPDwgMjIgIT09IDUzMjY3NjYwOCkgeyAKICAkRVJST1IoJyM3MTI6IDEyNyA8PCAyMiA9PT0gNTMyNjc2NjA4LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDIyKSk7IAp9IAoKCmlmICgyNTUgPDwgMjIgIT09IDEwNjk1NDc1MjApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPDwgMjIgPT09IDEwNjk1NDc1MjAuIEFjdHVhbDogJyArICgyNTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUxMSA8PCAyMiAhPT0gMjE0MzI4OTM0NCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA8PCAyMiA9PT0gMjE0MzI4OTM0NC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMikpOyAKfSAKCgppZiAoMTAyMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE1OiAxMDIzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjIpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcxNjogMjA0NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDIyKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMikpOyAKfSAKCgppZiAoODE5MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzE4OiA4MTkxIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjIpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMikpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMTogNjU1MzUgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjIpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyMzogMjYyMTQzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMikpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjQ6IDUyNDI4NyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI3OiA0MTk0MzAzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMDogMzM1NTQ0MzEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODYzIDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjIgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NSA8PCAyMiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM0OiA1MzY4NzA5MTEgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIyICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjMgPDwgMjIgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3IDw8IDIyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjIpKTsgCn0gCgoKaWYgKDAgPDwgMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAwIDw8IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyMykpOyAKfSAKCgppZiAoMSA8PCAyMyAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Mzg6IDEgPDwgMjMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxIDw8IDIzKSk7IAp9IAoKCmlmICgzIDw8IDIzICE9PSAyNTE2NTgyNCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPDwgMjMgPT09IDI1MTY1ODI0LiBBY3R1YWw6ICcgKyAoMyA8PCAyMykpOyAKfSAKCgppZiAoNyA8PCAyMyAhPT0gNTg3MjAyNTYpIHsgCiAgJEVSUk9SKCcjNzQwOiA3IDw8IDIzID09PSA1ODcyMDI1Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjMpKTsgCn0gCgoKaWYgKDE1IDw8IDIzICE9PSAxMjU4MjkxMjApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNSA8PCAyMyA9PT0gMTI1ODI5MTIwLiBBY3R1YWw6ICcgKyAoMTUgPDwgMjMpKTsgCn0gCgoKaWYgKDMxIDw8IDIzICE9PSAyNjAwNDY4NDgpIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA8PCAyMyA9PT0gMjYwMDQ2ODQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMjMpKTsgCn0gCgoKaWYgKDYzIDw8IDIzICE9PSA1Mjg0ODIzMDQpIHsgCiAgJEVSUk9SKCcjNzQzOiA2MyA8PCAyMyA9PT0gNTI4NDgyMzA0LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjMpKTsgCn0gCgoKaWYgKDEyNyA8PCAyMyAhPT0gMTA2NTM1MzIxNikgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA8PCAyMyA9PT0gMTA2NTM1MzIxNi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyMykpOyAKfSAKCgppZiAoMjU1IDw8IDIzICE9PSAyMTM5MDk1MDQwKSB7IAogICRFUlJPUignIzc0NTogMjU1IDw8IDIzID09PSAyMTM5MDk1MDQwLiBBY3R1YWw6ICcgKyAoMjU1IDw8IDIzKSk7IAp9IAoKCmlmICg1MTEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0NjogNTExIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDUxMSA8PCAyMykpOyAKfSAKCgppZiAoMTAyMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjMpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc0ODogMjA0NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyMDQ3IDw8IDIzKSk7IAp9IAoKCmlmICg0MDk1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NDk6IDQwOTUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyMykpOyAKfSAKCgppZiAoODE5MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjMpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTE6IDE2MzgzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzUyOiAzMjc2NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgzMjc2NyA8PCAyMykpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjMpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NTogMjYyMTQzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyMykpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NTg6IDIwOTcxNTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyMykpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MDogODM4ODYwNyA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzYxOiAxNjc3NzIxNSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODYzIDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjMgIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA8PCAyMyA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDIzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjMgPDwgMjMgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyMyAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3IDw8IDIzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjMpKTsgCn0gCgoKaWYgKDAgPDwgMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAwIDw8IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNCkpOyAKfSAKCgppZiAoMSA8PCAyNCAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzcwOiAxIDw8IDI0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEgPDwgMjQpKTsgCn0gCgoKaWYgKDMgPDwgMjQgIT09IDUwMzMxNjQ4KSB7IAogICRFUlJPUignIzc3MTogMyA8PCAyNCA9PT0gNTAzMzE2NDguIEFjdHVhbDogJyArICgzIDw8IDI0KSk7IAp9IAoKCmlmICg3IDw8IDI0ICE9PSAxMTc0NDA1MTIpIHsgCiAgJEVSUk9SKCcjNzcyOiA3IDw8IDI0ID09PSAxMTc0NDA1MTIuIEFjdHVhbDogJyArICg3IDw8IDI0KSk7IAp9IAoKCmlmICgxNSA8PCAyNCAhPT0gMjUxNjU4MjQwKSB7IAogICRFUlJPUignIzc3MzogMTUgPDwgMjQgPT09IDI1MTY1ODI0MC4gQWN0dWFsOiAnICsgKDE1IDw8IDI0KSk7IAp9IAoKCmlmICgzMSA8PCAyNCAhPT0gNTIwMDkzNjk2KSB7IAogICRFUlJPUignIzc3NDogMzEgPDwgMjQgPT09IDUyMDA5MzY5Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI0KSk7IAp9IAoKCmlmICg2MyA8PCAyNCAhPT0gMTA1Njk2NDYwOCkgeyAKICAkRVJST1IoJyM3NzU6IDYzIDw8IDI0ID09PSAxMDU2OTY0NjA4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjQpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNCAhPT0gMjEzMDcwNjQzMikgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA8PCAyNCA9PT0gMjEzMDcwNjQzMi4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTAyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc3OTogMTAyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MDogMjA0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAyNCkpOyAKfSAKCgppZiAoNDA5NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MTogNDA5NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyNCkpOyAKfSAKCgppZiAoODE5MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4MjogODE5MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODM6IDE2MzgzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjM4MyA8PCAyNCkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyNCkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3ODU6IDY1NTM1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAyNCkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyNCkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzg4OiA1MjQyODcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MTogNDE5NDMwMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5MjogODM4ODYwNyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1IDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTQ6IDMzNTU0NDMxIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjQgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODYzIDw8IDI0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI0ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTEgPDwgMjQgPT09IC0xNjc3NzIxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzc5OTogMTA3Mzc0MTgyMyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0NyA8PCAyNCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNCkpOyAKfSAKCgppZiAoMCA8PCAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDAgPDwgMjUgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI1KSk7IAp9IAoKCmlmICgxIDw8IDI1ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MDI6IDEgPDwgMjUgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAyNSkpOyAKfSAKCgppZiAoMyA8PCAyNSAhPT0gMTAwNjYzMjk2KSB7IAogICRFUlJPUignIzgwMzogMyA8PCAyNSA9PT0gMTAwNjYzMjk2LiBBY3R1YWw6ICcgKyAoMyA8PCAyNSkpOyAKfSAKCgppZiAoNyA8PCAyNSAhPT0gMjM0ODgxMDI0KSB7IAogICRFUlJPUignIzgwNDogNyA8PCAyNSA9PT0gMjM0ODgxMDI0LiBBY3R1YWw6ICcgKyAoNyA8PCAyNSkpOyAKfSAKCgppZiAoMTUgPDwgMjUgIT09IDUwMzMxNjQ4MCkgeyAKICAkRVJST1IoJyM4MDU6IDE1IDw8IDI1ID09PSA1MDMzMTY0ODAuIEFjdHVhbDogJyArICgxNSA8PCAyNSkpOyAKfSAKCgppZiAoMzEgPDwgMjUgIT09IDEwNDAxODczOTIpIHsgCiAgJEVSUk9SKCcjODA2OiAzMSA8PCAyNSA9PT0gMTA0MDE4NzM5Mi4gQWN0dWFsOiAnICsgKDMxIDw8IDI1KSk7IAp9IAoKCmlmICg2MyA8PCAyNSAhPT0gMjExMzkyOTIxNikgeyAKICAkRVJST1IoJyM4MDc6IDYzIDw8IDI1ID09PSAyMTEzOTI5MjE2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwODogMTI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgwOTogMjU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxMDogNTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTI6IDIwNDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjUpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTM6IDQwOTUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjUpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMjUpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE1OiAxNjM4MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjUpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2NyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjUpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMjUpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxODogMTMxMDcxIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQzIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjUpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MjQyODcgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjE6IDEwNDg1NzUgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTEgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMjUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MjQ6IDgzODg2MDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMjUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDI1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjODI3OiA2NzEwODg2MyA8PCAyNSA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI3IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1IDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMjUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAyNSAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExIDw8IDI1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjMgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjUgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyM4MzI6IDIxNDc0ODM2NDcgPDwgMjUgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMjUpKTsgCn0gCgoKaWYgKDAgPDwgMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAwIDw8IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA8PCAyNikpOyAKfSAKCgppZiAoMSA8PCAyNiAhPT0gNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODM0OiAxIDw8IDI2ID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgMjYpKTsgCn0gCgoKaWYgKDMgPDwgMjYgIT09IDIwMTMyNjU5MikgeyAKICAkRVJST1IoJyM4MzU6IDMgPDwgMjYgPT09IDIwMTMyNjU5Mi4gQWN0dWFsOiAnICsgKDMgPDwgMjYpKTsgCn0gCgoKaWYgKDcgPDwgMjYgIT09IDQ2OTc2MjA0OCkgeyAKICAkRVJST1IoJyM4MzY6IDcgPDwgMjYgPT09IDQ2OTc2MjA0OC4gQWN0dWFsOiAnICsgKDcgPDwgMjYpKTsgCn0gCgoKaWYgKDE1IDw8IDI2ICE9PSAxMDA2NjMyOTYwKSB7IAogICRFUlJPUignIzgzNzogMTUgPDwgMjYgPT09IDEwMDY2MzI5NjAuIEFjdHVhbDogJyArICgxNSA8PCAyNikpOyAKfSAKCgppZiAoMzEgPDwgMjYgIT09IDIwODAzNzQ3ODQpIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA8PCAyNiA9PT0gMjA4MDM3NDc4NC4gQWN0dWFsOiAnICsgKDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzgzOTogNjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDE6IDI1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ0OiAyMDQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI2KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDI2KSk7IAp9IAoKCmlmICg4MTkxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4MTkxIDw8IDI2KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0NzogMTYzODMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0ODogMzI3NjcgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDI2KSk7IAp9IAoKCmlmICg2NTUzNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI2KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTA6IDEzMTA3MSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0MyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDI2KSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI2KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODUzOiAxMDQ4NTc1IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUxIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDI2KSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI2KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODU2OiA4Mzg4NjA3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTUgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyNiAhPT0gLTY3MTA4ODY0KSB7IAogICRFUlJPUignIzg1OTogNjcxMDg4NjMgPDwgMjYgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyNyA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjYgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyM4NjI6IDUzNjg3MDkxMSA8PCAyNiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODYzOiAxMDczNzQxODIzIDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDI2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDI2ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3IDw8IDI2ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI2KSk7IAp9IAoKCmlmICgwIDw8IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NTogMCA8PCAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMjcpKTsgCn0gCgoKaWYgKDEgPDwgMjcgIT09IDEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPDwgMjcgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgMjcpKTsgCn0gCgoKaWYgKDMgPDwgMjcgIT09IDQwMjY1MzE4NCkgeyAKICAkRVJST1IoJyM4Njc6IDMgPDwgMjcgPT09IDQwMjY1MzE4NC4gQWN0dWFsOiAnICsgKDMgPDwgMjcpKTsgCn0gCgoKaWYgKDcgPDwgMjcgIT09IDkzOTUyNDA5NikgeyAKICAkRVJST1IoJyM4Njg6IDcgPDwgMjcgPT09IDkzOTUyNDA5Ni4gQWN0dWFsOiAnICsgKDcgPDwgMjcpKTsgCn0gCgoKaWYgKDE1IDw8IDI3ICE9PSAyMDEzMjY1OTIwKSB7IAogICRFUlJPUignIzg2OTogMTUgPDwgMjcgPT09IDIwMTMyNjU5MjAuIEFjdHVhbDogJyArICgxNSA8PCAyNykpOyAKfSAKCgppZiAoMzEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODcwOiAzMSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDMxIDw8IDI3KSk7IAp9IAoKCmlmICg2MyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzE6IDYzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjcpKTsgCn0gCgoKaWYgKDEyNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzI6IDEyNyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEyNyA8PCAyNykpOyAKfSAKCgppZiAoMjU1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3MzogMjU1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI3KSk7IAp9IAoKCmlmICg1MTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc0OiA1MTEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg1MTEgPDwgMjcpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc1OiAxMDIzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyNykpOyAKfSAKCgppZiAoMjA0NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4NzY6IDIwNDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyMDQ3IDw8IDI3KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg3NzogNDA5NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjcpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc4OiA4MTkxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyNykpOyAKfSAKCgppZiAoMTYzODMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODc5OiAxNjM4MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODA6IDMyNzY3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjcpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MTogNjU1MzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg2NTUzNSA8PCAyNykpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4MjogMTMxMDcxIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODgzOiAyNjIxNDMgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODQ6IDUyNDI4NyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODU6IDEwNDg1NzUgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg4NjogMjA5NzE1MSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODg3OiA0MTk0MzAzIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODg6IDgzODg2MDcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4ODk6IDE2Nzc3MjE1IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5MDogMzM1NTQ0MzEgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkxOiA2NzEwODg2MyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODkyOiAxMzQyMTc3MjcgPDwgMjcgPT09IC0xMzQyMTc3MjguIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyNyAhPT0gLTEzNDIxNzcyOCkgeyAKICAkRVJST1IoJyM4OTM6IDI2ODQzNTQ1NSA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NDogNTM2ODcwOTExIDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI3ICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzg5NTogMTA3Mzc0MTgyMyA8PCAyNyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjcgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3IDw8IDI3ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyNykpOyAKfSAKCgppZiAoMCA8PCAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDAgPDwgMjggPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI4KSk7IAp9IAoKCmlmICgxIDw8IDI4ICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjODk4OiAxIDw8IDI4ID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgxIDw8IDI4KSk7IAp9IAoKCmlmICgzIDw8IDI4ICE9PSA4MDUzMDYzNjgpIHsgCiAgJEVSUk9SKCcjODk5OiAzIDw8IDI4ID09PSA4MDUzMDYzNjguIEFjdHVhbDogJyArICgzIDw8IDI4KSk7IAp9IAoKCmlmICg3IDw8IDI4ICE9PSAxODc5MDQ4MTkyKSB7IAogICRFUlJPUignIzkwMDogNyA8PCAyOCA9PT0gMTg3OTA0ODE5Mi4gQWN0dWFsOiAnICsgKDcgPDwgMjgpKTsgCn0gCgoKaWYgKDE1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwMTogMTUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxNSA8PCAyOCkpOyAKfSAKCgppZiAoMzEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTAyOiAzMSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDMxIDw8IDI4KSk7IAp9IAoKCmlmICg2MyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDM6IDYzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNjMgPDwgMjgpKTsgCn0gCgoKaWYgKDEyNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDQ6IDEyNyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEyNyA8PCAyOCkpOyAKfSAKCgppZiAoMjU1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwNTogMjU1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjU1IDw8IDI4KSk7IAp9IAoKCmlmICg1MTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA2OiA1MTEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MTEgPDwgMjgpKTsgCn0gCgoKaWYgKDEwMjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTA3OiAxMDIzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAyOCkpOyAKfSAKCgppZiAoMjA0NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MDg6IDIwNDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyMDQ3IDw8IDI4KSk7IAp9IAoKCmlmICg0MDk1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkwOTogNDA5NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDQwOTUgPDwgMjgpKTsgCn0gCgoKaWYgKDgxOTEgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTEwOiA4MTkxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAyOCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTExOiAxNjM4MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDE2MzgzIDw8IDI4KSk7IAp9IAoKCmlmICgzMjc2NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTI6IDMyNzY3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMzI3NjcgPDwgMjgpKTsgCn0gCgoKaWYgKDY1NTM1IDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxMzogNjU1MzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg2NTUzNSA8PCAyOCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxNDogMTMxMDcxIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTMxMDcxIDw8IDI4KSk7IAp9IAoKCmlmICgyNjIxNDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE1OiAyNjIxNDMgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjIxNDMgPDwgMjgpKTsgCn0gCgoKaWYgKDUyNDI4NyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTY6IDUyNDI4NyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MTc6IDEwNDg1NzUgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMDQ4NTc1IDw8IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkxODogMjA5NzE1MSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPDwgMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTE5OiA0MTk0MzAzIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAyOCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjA6IDgzODg2MDcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICg4Mzg4NjA3IDw8IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjE6IDE2Nzc3MjE1IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPDwgMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyMjogMzM1NTQ0MzEgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTIzOiA2NzEwODg2MyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODYzIDw8IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI0OiAxMzQyMTc3MjcgPDwgMjggPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPDwgMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA8PCAyOCAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5MjU6IDI2ODQzNTQ1NSA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNjogNTM2ODcwOTExIDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExIDw8IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzIDw8IDI4ICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzkyNzogMTA3Mzc0MTgyMyA8PCAyOCA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPDwgMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPDwgMjggIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTI4OiAyMTQ3NDgzNjQ3IDw8IDI4ID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAyOCkpOyAKfSAKCgppZiAoMCA8PCAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mjk6IDAgPDwgMjkgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDI5KSk7IAp9IAoKCmlmICgxIDw8IDI5ICE9PSA1MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMwOiAxIDw8IDI5ID09PSA1MzY4NzA5MTIuIEFjdHVhbDogJyArICgxIDw8IDI5KSk7IAp9IAoKCmlmICgzIDw8IDI5ICE9PSAxNjEwNjEyNzM2KSB7IAogICRFUlJPUignIzkzMTogMyA8PCAyOSA9PT0gMTYxMDYxMjczNi4gQWN0dWFsOiAnICsgKDMgPDwgMjkpKTsgCn0gCgoKaWYgKDcgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMyOiA3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNyA8PCAyOSkpOyAKfSAKCgppZiAoMTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTMzOiAxNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDE1IDw8IDI5KSk7IAp9IAoKCmlmICgzMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5MzQ6IDMxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMzEgPDwgMjkpKTsgCn0gCgoKaWYgKDYzIDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNTogNjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg2MyA8PCAyOSkpOyAKfSAKCgppZiAoMTI3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzkzNjogMTI3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTI3IDw8IDI5KSk7IAp9IAoKCmlmICgyNTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyNTUgPDwgMjkpKTsgCn0gCgoKaWYgKDUxMSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzg6IDUxMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUxMSA8PCAyOSkpOyAKfSAKCgppZiAoMTAyMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMDIzIDw8IDI5KSk7IAp9IAoKCmlmICgyMDQ3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0MDogMjA0NyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMjkpKTsgCn0gCgoKaWYgKDQwOTUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNDA5NSA8PCAyOSkpOyAKfSAKCgppZiAoODE5MSA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDI6IDgxOTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg4MTkxIDw8IDI5KSk7IAp9IAoKCmlmICgxNjM4MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDM6IDE2MzgzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMjkpKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0NDogMzI3NjcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgzMjc2NyA8PCAyOSkpOyAKfSAKCgppZiAoNjU1MzUgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDY1NTM1IDw8IDI5KSk7IAp9IAoKCmlmICgxMzEwNzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMjkpKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0MyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDI2MjE0MyA8PCAyOSkpOyAKfSAKCgppZiAoNTI0Mjg3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg3IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNTI0Mjg3IDw8IDI5KSk7IAp9IAoKCmlmICgxMDQ4NTc1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMjkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUxIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA8PCAyOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDMgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg0MTk0MzAzIDw8IDI5KSk7IAp9IAoKCmlmICg4Mzg4NjA3IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMjkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTUgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgxNjc3NzIxNSA8PCAyOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMSA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMxIDw8IDI5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODYzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMjkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyNyA8PCAyOSA9PT0gLTUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA8PCAyOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1IDw8IDI5ICE9PSAtNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU1IDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1IDw8IDI5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTEgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMjkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMjkgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODIzIDw8IDI5ID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA8PCAyOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA8PCAyOSAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDcgPDwgMjkgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3IDw8IDI5KSk7IAp9IAoKCmlmICgwIDw8IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMCA8PCAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPDwgMzApKTsgCn0gCgoKaWYgKDEgPDwgMzAgIT09IDEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYyOiAxIDw8IDMwID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAzMCkpOyAKfSAKCgppZiAoMyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTYzOiAzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMgPDwgMzApKTsgCn0gCgoKaWYgKDcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NDogNyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg3IDw8IDMwKSk7IAp9IAoKCmlmICgxNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTY1OiAxNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxNSA8PCAzMCkpOyAKfSAKCgppZiAoMzEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2NjogMzEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzApKTsgCn0gCgoKaWYgKDYzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njc6IDYzIDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDYzIDw8IDMwKSk7IAp9IAoKCmlmICgxMjcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk2ODogMTI3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEyNyA8PCAzMCkpOyAKfSAKCgppZiAoMjU1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyNTUgPDwgMzApKTsgCn0gCgoKaWYgKDUxMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMwKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzE6IDEwMjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTAyMyA8PCAzMCkpOyAKfSAKCgppZiAoMjA0NyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIwNDcgPDwgMzApKTsgCn0gCgoKaWYgKDQwOTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3MzogNDA5NSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg0MDk1IDw8IDMwKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzQ6IDgxOTEgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoODE5MSA8PCAzMCkpOyAKfSAKCgppZiAoMTYzODMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTYzODMgPDwgMzApKTsgCn0gCgoKaWYgKDMyNzY3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc3OiA2NTUzNSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg2NTUzNSA8PCAzMCkpOyAKfSAKCgppZiAoMTMxMDcxIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMzEwNzEgPDwgMzApKTsgCn0gCgoKaWYgKDI2MjE0MyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MDogNTI0Mjg3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDUyNDI4NyA8PCAzMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPDwgMzApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODM6IDQxOTQzMDMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA8PCAzMCkpOyAKfSAKCgppZiAoODM4ODYwNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPDwgMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg2OiAzMzU1NDQzMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgzMzU1NDQzMSA8PCAzMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPDwgMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA8PCAzMCAhPT0gLTEwNzM3NDE4MjQpIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk4OTogMjY4NDM1NDU1IDw8IDMwID09PSAtMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA8PCAzMCkpOyAKfSAKCgppZiAoNTM2ODcwOTExIDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPDwgMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPDwgMzAgIT09IC0xMDczNzQxODI0KSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyMyA8PCAzMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM5OTI6IDIxNDc0ODM2NDcgPDwgMzAgPT09IC0xMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA8PCAzMCkpOyAKfSAKCgppZiAoMCA8PCAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDAgPDwgMzEgPT09IDAuIEFjdHVhbDogJyArICgwIDw8IDMxKSk7IAp9IAoKCmlmICgxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAzMSkpOyAKfSAKCgppZiAoMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk1OiAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMgPDwgMzEpKTsgCn0gCgoKaWYgKDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5NjogNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg3IDw8IDMxKSk7IAp9IAoKCmlmICgxNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNSA8PCAzMSkpOyAKfSAKCgppZiAoMzEgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzk5ODogMzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzEgPDwgMzEpKTsgCn0gCgoKaWYgKDYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM5OTk6IDYzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDYzIDw8IDMxKSk7IAp9IAoKCmlmICgxMjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMjcgPDwgMzEpKTsgCn0gCgoKaWYgKDI1NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDI1NSA8PCAzMSkpOyAKfSAKCgppZiAoNTExIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAyOiA1MTEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNTExIDw8IDMxKSk7IAp9IAoKCmlmICgxMDIzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEwMjMgPDwgMzEpKTsgCn0gCgoKaWYgKDIwNDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjA0NyA8PCAzMSkpOyAKfSAKCgppZiAoNDA5NSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwNTogNDA5NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg0MDk1IDw8IDMxKSk7IAp9IAoKCmlmICg4MTkxIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDgxOTEgPDwgMzEpKTsgCn0gCgoKaWYgKDE2MzgzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxNjM4MyA8PCAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMDg6IDMyNzY3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDMyNzY3IDw8IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjU1MzUgPDwgMzEpKTsgCn0gCgoKaWYgKDEzMTA3MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcxIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEzMTA3MSA8PCAzMSkpOyAKfSAKCgppZiAoMjYyMTQzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDExOiAyNjIxNDMgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjYyMTQzIDw8IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg1MjQyODcgPDwgMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzUgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA8PCAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxNDogMjA5NzE1MSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMDk3MTUxIDw8IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPDwgMzEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA8PCAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMTc6IDE2Nzc3MjE1IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1IDw8IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPDwgMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzIDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2MyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICg2NzEwODg2MyA8PCAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDIwOiAxMzQyMTc3MjcgPDwgMzEgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3IDw8IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPDwgMzEgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPDwgMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTExIDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA8PCAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA8PCAzMSAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTAyMzogMTA3Mzc0MTgyMyA8PCAzMSA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgxMDczNzQxODIzIDw8IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3IDw8IDMxICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMxMDI0OiAyMTQ3NDgzNjQ3IDw8IDMxID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPDwgMzEpKTsgCn0gCgo=","commentary":"Check operator x << y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xIDw8IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA8PCAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPDwgMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPDwgMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xIDw8IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPDwgMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xIDw8IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA8PCAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPDwgMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA8PCAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xIDw8IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xIDw8IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA8PCAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA8PCAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xIDw8IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA8PCAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPDwgMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPDwgMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPDwgMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xIDw8IDApKTsgCn0gCgo=","commentary":"Operator x << y uses ToInt32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw8IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMS9TMTEuNy4xX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PCAtMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxIDw8IC0zMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMSA8PCAtMzEuMSAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAxIDw8IC0zMS4xID09PSAyLiBBY3R1YWw6ICcgKyAoMSA8PCAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMSA8PCAtMzAuMSAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiAxIDw8IC0zMC4xID09PSA0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMzAuMSkpOyAKfSAKCi8vQ0hFQ0sjNAppZiAoMSA8PCAtMjkuMSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiAxIDw8IC0yOS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjkuMSkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoMSA8PCAtMjguMSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNTogMSA8PCAtMjguMSA9PT0gMTYuIEFjdHVhbDogJyArICgxIDw8IC0yOC4xKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgxIDw8IC0yNy4xICE9PSAzMikgeyAKICAkRVJST1IoJyM2OiAxIDw8IC0yNy4xID09PSAzMi4gQWN0dWFsOiAnICsgKDEgPDwgLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDEgPDwgLTI2LjEgIT09IDY0KSB7IAogICRFUlJPUignIzc6IDEgPDwgLTI2LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoMSA8PCAtMjUuMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzg6IDEgPDwgLTI1LjEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTI1LjEpKTsgCn0gCgovL0NIRUNLIzkKaWYgKDEgPDwgLTI0LjEgIT09IDI1NikgeyAKICAkRVJST1IoJyM5OiAxIDw8IC0yNC4xID09PSAyNTYuIEFjdHVhbDogJyArICgxIDw8IC0yNC4xKSk7IAp9IAoKLy9DSEVDSyMxMAppZiAoMSA8PCAtMjMuMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzEwOiAxIDw8IC0yMy4xID09PSA1MTIuIEFjdHVhbDogJyArICgxIDw8IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMSA8PCAtMjIuMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxMTogMSA8PCAtMjIuMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEgPDwgLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgxIDw8IC0yMS4xICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAxIDw8IC0yMS4xID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDEgPDwgLTIwLjEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTM6IDEgPDwgLTIwLjEgPT09IDQwOTYuIEFjdHVhbDogJyArICgxIDw8IC0yMC4xKSk7IAp9IAoKLy9DSEVDSyMxNAppZiAoMSA8PCAtMTkuMSAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDogMSA8PCAtMTkuMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE5LjEpKTsgCn0gCgovL0NIRUNLIzE1CmlmICgxIDw8IC0xOC4xICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNTogMSA8PCAtMTguMSA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxIDw8IC0xOC4xKSk7IAp9IAoKLy9DSEVDSyMxNgppZiAoMSA8PCAtMTcuMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDEgPDwgLTE3LjEgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDEgPDwgLTE2LjEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzE3OiAxIDw8IC0xNi4xID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEgPDwgLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICgxIDw8IC0xNS4xICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IDEgPDwgLTE1LjEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEgPDwgLTE1LjEpKTsgCn0gCgovL0NIRUNLIzE5CmlmICgxIDw8IC0xNC4xICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMTk6IDEgPDwgLTE0LjEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDEgPDwgLTE0LjEpKTsgCn0gCgovL0NIRUNLIzIwCmlmICgxIDw8IC0xMy4xICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDEgPDwgLTEzLjEgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgxIDw8IC0xMi4xICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxIDw8IC0xMi4xID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMSA8PCAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDEgPDwgLTExLjEgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMjI6IDEgPDwgLTExLjEgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxIDw8IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMSA8PCAtMTAuMSAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogMSA8PCAtMTAuMSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEgPDwgLTEwLjEpKTsgCn0gCgovL0NIRUNLIzI0CmlmICgxIDw8IC05LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjQ6IDEgPDwgLTkuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgLTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMjUKaWYgKDEgPDwgLTguMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjU6IDEgPDwgLTguMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IC04LjEpKTsgCn0gCgovL0NIRUNLIzI2CmlmICgxIDw8IC03LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAxIDw8IC03LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoMSA8PCAtNi4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogMSA8PCAtNi4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDEgPDwgLTUuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzI4OiAxIDw8IC01LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgLTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMjkKaWYgKDEgPDwgLTQuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAxIDw8IC00LjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgLTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzAKaWYgKDEgPDwgLTMuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiAxIDw8IC0zLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDEgPDwgLTIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMSA8PCAtMi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMSA8PCAtMS4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogMSA8PCAtMS4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgLTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMzMKaWYgKDEgPDwgMzIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMzogMSA8PCAzMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMSA8PCAzMi4xKSk7IAp9IAoKLy9DSEVDSyMzNAppZiAoMSA8PCAzMy4xICE9PSAyKSB7IAogICRFUlJPUignIzM0OiAxIDw8IDMzLjEgPT09IDIuIEFjdHVhbDogJyArICgxIDw8IDMzLjEpKTsgCn0gCgovL0NIRUNLIzM1CmlmICgxIDw8IDM0LjEgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzU6IDEgPDwgMzQuMSA9PT0gNC4gQWN0dWFsOiAnICsgKDEgPDwgMzQuMSkpOyAKfSAKCi8vQ0hFQ0sjMzYKaWYgKDEgPDwgMzUuMSAhPT0gOCkgeyAKICAkRVJST1IoJyMzNjogMSA8PCAzNS4xID09PSA4LiBBY3R1YWw6ICcgKyAoMSA8PCAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMSA8PCAzNi4xICE9PSAxNikgeyAKICAkRVJST1IoJyMzNzogMSA8PCAzNi4xID09PSAxNi4gQWN0dWFsOiAnICsgKDEgPDwgMzYuMSkpOyAKfSAKCi8vQ0hFQ0sjMzgKaWYgKDEgPDwgMzcuMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMzg6IDEgPDwgMzcuMSA9PT0gMzIuIEFjdHVhbDogJyArICgxIDw8IDM3LjEpKTsgCn0gCgovL0NIRUNLIzM5CmlmICgxIDw8IDM4LjEgIT09IDY0KSB7IAogICRFUlJPUignIzM5OiAxIDw8IDM4LjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMSA8PCAzOC4xKSk7IAp9IAoKLy9DSEVDSyM0MAppZiAoMSA8PCAzOS4xICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA6IDEgPDwgMzkuMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMSA8PCAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMSA8PCA0MC4xICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDE6IDEgPDwgNDAuMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMSA8PCA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoMSA8PCA0MS4xICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDI6IDEgPDwgNDEuMSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMSA8PCA0MS4xKSk7IAp9IAoKLy9DSEVDSyM0MwppZiAoMSA8PCA0Mi4xICE9PSAxMDI0KSB7IAogICRFUlJPUignIzQzOiAxIDw8IDQyLjEgPT09IDEwMjQuIEFjdHVhbDogJyArICgxIDw8IDQyLjEpKTsgCn0gCgovL0NIRUNLIzQ0CmlmICgxIDw8IDQzLjEgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjNDQ6IDEgPDwgNDMuMSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEgPDwgNDMuMSkpOyAKfSAKCi8vQ0hFQ0sjNDUKaWYgKDEgPDwgNDQuMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NTogMSA8PCA0NC4xID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMSA8PCA0NC4xKSk7IAp9IAoKLy9DSEVDSyM0NgppZiAoMSA8PCA0NS4xICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ2OiAxIDw8IDQ1LjEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxIDw8IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgxIDw8IDQ2LjEgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ3OiAxIDw8IDQ2LjEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMSA8PCA0Ni4xKSk7IAp9IAoKLy9DSEVDSyM0OAppZiAoMSA8PCA0Ny4xICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0ODogMSA8PCA0Ny4xID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDEgPDwgNDcuMSkpOyAKfSAKCi8vQ0hFQ0sjNDkKaWYgKDEgPDwgNDguMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDk6IDEgPDwgNDguMSA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxIDw8IDQ4LjEpKTsgCn0gCgovL0NIRUNLIzUwCmlmICgxIDw8IDQ5LjEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MDogMSA8PCA0OS4xID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxIDw8IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgxIDw8IDUwLjEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM1MTogMSA8PCA1MC4xID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxIDw8IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICgxIDw8IDUxLjEgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyM1MjogMSA8PCA1MS4xID09PSA1MjQyODguIEFjdHVhbDogJyArICgxIDw8IDUxLjEpKTsgCn0gCgovL0NIRUNLIzUzCmlmICgxIDw8IDUyLjEgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjNTM6IDEgPDwgNTIuMSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDEgPDwgNTIuMSkpOyAKfSAKCi8vQ0hFQ0sjNTQKaWYgKDEgPDwgNTMuMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NDogMSA8PCA1My4xID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMSA8PCA1My4xKSk7IAp9IAoKLy9DSEVDSyM1NQppZiAoMSA8PCA1NC4xICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzU1OiAxIDw8IDU0LjEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxIDw8IDU0LjEpKTsgCn0gCgovL0NIRUNLIzU2CmlmICgxIDw8IDU1LjEgIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTY6IDEgPDwgNTUuMSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEgPDwgNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDEgPDwgNTYuMSAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjNTc6IDEgPDwgNTYuMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxIDw8IDU2LjEpKTsgCn0gCgovL0NIRUNLIzU4CmlmICgxIDw8IDU3LjEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU4OiAxIDw8IDU3LjEgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMSA8PCA1Ny4xKSk7IAp9IAoKLy9DSEVDSyM1OQppZiAoMSA8PCA1OC4xICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM1OTogMSA8PCA1OC4xID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEgPDwgNTguMSkpOyAKfSAKCi8vQ0hFQ0sjNjAKaWYgKDEgPDwgNTkuMSAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzYwOiAxIDw8IDU5LjEgPT09IDEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKDEgPDwgNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDEgPDwgNjAuMSAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYxOiAxIDw8IDYwLjEgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEgPDwgNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDEgPDwgNjEuMSAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzYyOiAxIDw8IDYxLjEgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDEgPDwgNjEuMSkpOyAKfSAKCi8vQ0hFQ0sjNjMKaWYgKDEgPDwgNjIuMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2MzogMSA8PCA2Mi4xID09PSAxMDczNzQxODI0LiBBY3R1YWw6ICcgKyAoMSA8PCA2Mi4xKSk7IAp9IAoKLy9DSEVDSyM2NAppZiAoMSA8PCA2My4xICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyM2NDogMSA8PCA2My4xID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDEgPDwgNjMuMSkpOyAKfSAKCg==","commentary":"Operator x << y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.1/S11.7.1_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4iIG9yIGJldHdlZW4gIj4+IiBhbmQgQWRkaXRpdmVFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiLTRcdTAwMDk+Plx1MDAwOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyMxOiAtNFxcdTAwMDk+PlxcdTAwMDkxID09PSAtMicpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIi00XHUwMDBCPj5cdTAwMEIxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogLTRcXHUwMDBCPj5cXHUwMDBCMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIi00XHUwMDBDPj5cdTAwMEMxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjMzogLTRcXHUwMDBDPj5cXHUwMDBDMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCItNFx1MDAyMD4+XHUwMDIwMSIpICE9PSAtMikgewogICRFUlJPUignIzQ6IC00XFx1MDAyMD4+XFx1MDAyMDEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiLTRcdTAwQTA+Plx1MDBBMDEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNFxcdTAwQTA+PlxcdTAwQTAxID09PSAtMicpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIi00XHUwMDBBPj5cdTAwMEExIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNjogLTRcXHUwMDBBPj5cXHUwMDBBMSA9PT0gLTInKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIi00XHUwMDBEPj5cdTAwMEQxIikgIT09IC0yKSB7CiAgJEVSUk9SKCcjNzogLTRcXHUwMDBEPj5cXHUwMDBEMSA9PT0gLTInKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCItNFx1MjAyOD4+XHUyMDI4MSIpICE9PSAtMikgewogICRFUlJPUignIzg6IC00XFx1MjAyOD4+XFx1MjAyODEgPT09IC0yJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiLTRcdTIwMjk+Plx1MjAyOTEiKSAhPT0gLTIpIHsKICAkRVJST1IoJyM5OiAtNFxcdTIwMjk+PlxcdTIwMjkxID09PSAtMicpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCItNFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOT4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAtMikgewogICRFUlJPUignIzEwOiAtNFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gLTInKTsKfQoK","commentary":"White Space and Line Terminator between ShiftExpression and \">>\" or between \">>\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgtNCA+PiAxICE9PSAtMikgewogICRFUlJPUignIzE6IC00ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsKaWYgKHggPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IC00OyB4ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+PiB5ICE9PSAtMikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4geSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IC00Owp2YXIgeSA9IDE7CmlmICh4ID4+IHkgIT09IC0yKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAtNDsgdmFyIHkgPSAxOyB4ID4+IHkgPT09IC0yLiBBY3R1YWw6ICcgKyAoeCA+PiB5KSk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IC00OwpvYmplY3R5LnByb3AgPSAxOwppZiAob2JqZWN0eC5wcm9wID4+IG9iamVjdHkucHJvcCAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IC00OyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj4gb2JqZWN0eS5wcm9wID09PSAtMi4gQWN0dWFsOiAnICsgKG9iamVjdHgucHJvcCA+PiBvYmplY3R5LnByb3ApKTsKfQoK","commentary":"Operator x >> y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gMTsKICAkRVJST1IoJyMxLjE6IHggPj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >> y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj4geTsKICAkRVJST1IoJyMxLjE6IDEgPj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PiB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >> y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgIT09IC0yKSB7CiAgJEVSUk9SKCcjMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH19ID4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4gMSAhPT0gLTIpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+IDEgPT09IC0yLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxICE9PSAtMikgewogICAgJEVSUk9SKCcjNC4xOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxID09PSAtMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4gMSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKC00ID4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gLTIpIHsKICAkRVJST1IoJyM1OiAtNCA+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQgPj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAtMikgewogICRFUlJPUignIzY6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICAkRVJST1IoJyM3LjE6IC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC00ID4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x >> y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PiB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PiB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+IHggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPj4geCA9PT0gMC4gQWN0dWFsOiAnICsgKCh4ID0gMSkgPj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+ICh4ID0gMSkgIT09IC0yKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+PiAoeCA9IDEpID09PSAtMi4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj4geSAhPT0gMCkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4geSkpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IHRydWUpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiID4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+PiAieCIgPT09IDEuIEFjdHVhbDogJyArICgiMSIgPj4gIngiKSk7Cn0KCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4gdW5kZWZpbmVkID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG51bGwpKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG51bGwpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDEuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBhbmQgVHlwZSh5KSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiB7fSkpKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gMC4gQWN0dWFsOiAnICsgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PiBmdW5jdGlvbigpe3JldHVybiAxfSkpKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+IHt9KSA9PT0gMC4gQWN0dWFsOiAnICsgKCh7fSA+PiB7fSkpKTsKfQoKCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCJ4IiA+PiAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+PiAieCIpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+IDEgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpID4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArICgxID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+IDEgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+ICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKCIxIiA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+ICIxIikpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgcmV0dXJucyBUb051bWJlcih4KSA+PiBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4yL1MxMS43LjJfQTNfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZSh4KSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKHkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+IG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+PiBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChudWxsID4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >> y returns ToNumber(x) >> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gLTJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKCmlmICgtMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOiAtMSA+PiAwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDApKTsgCn0gCgoKaWYgKC0yID4+IDAgIT09IC0yKSB7IAogICRFUlJPUignIzI6IC0yID4+IDAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIgPj4gMCkpOyAKfSAKCgppZiAoLTQgPj4gMCAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzogLTQgPj4gMCA9PT0gLTQuIEFjdHVhbDogJyArICgtNCA+PiAwKSk7IAp9IAoKCmlmICgtOCA+PiAwICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OiAtOCA+PiAwID09PSAtOC4gQWN0dWFsOiAnICsgKC04ID4+IDApKTsgCn0gCgoKaWYgKC0xNiA+PiAwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTogLTE2ID4+IDAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNiA+PiAwKSk7IAp9IAoKCmlmICgtMzIgPj4gMCAhPT0gLTMyKSB7IAogICRFUlJPUignIzY6IC0zMiA+PiAwID09PSAtMzIuIEFjdHVhbDogJyArICgtMzIgPj4gMCkpOyAKfSAKCgppZiAoLTY0ID4+IDAgIT09IC02NCkgeyAKICAkRVJST1IoJyM3OiAtNjQgPj4gMCA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDApKTsgCn0gCgoKaWYgKC0xMjggPj4gMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4OiAtMTI4ID4+IDAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTI4ID4+IDApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM5OiAtMjU2ID4+IDAgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMjU2ID4+IDApKTsgCn0gCgoKaWYgKC01MTIgPj4gMCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxMDogLTUxMiA+PiAwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAwICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMxMTogLTEwMjQgPj4gMCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMjogLTIwNDggPj4gMCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMjA0OCA+PiAwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAwICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxMzogLTQwOTYgPj4gMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDA5NiA+PiAwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAwICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNDogLTgxOTIgPj4gMCA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtODE5MiA+PiAwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE1OiAtMTYzODQgPj4gMCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDApKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAwICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IC0zMjc2OCA+PiAwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzI3NjggPj4gMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDAgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxNzogLTY1NTM2ID4+IDAgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTg6IC0xMzEwNzIgPj4gMCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAwICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAtMjYyMTQ0ID4+IDAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMCAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMDogLTUyNDI4OCA+PiAwID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTogLTEwNDg1NzYgPj4gMCA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAwICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogLTIwOTcxNTIgPj4gMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAwICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMzogLTQxOTQzMDQgPj4gMCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAwICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNDogLTgzODg2MDggPj4gMCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAtMTY3NzcyMTYgPj4gMCA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAwICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjY6IC0zMzU1NDQzMiA+PiAwID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDAgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMyNzogLTY3MTA4ODY0ID4+IDAgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDAgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IC0xMzQyMTc3MjggPj4gMCA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAwICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzI5OiAtMjY4NDM1NDU2ID4+IDAgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMCAhPT0gLTUzNjg3MDkxMikgeyAKICAkRVJST1IoJyMzMDogLTUzNjg3MDkxMiA+PiAwID09PSAtNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAwICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogLTEwNzM3NDE4MjQgPj4gMCA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAwICE9PSAtMjE0NzQ4MzY0OCkgeyAKICAkRVJST1IoJyMzMjogLTIxNDc0ODM2NDggPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAwKSk7IAp9IAoKCmlmICgtMSA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMzogLTEgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxKSk7IAp9IAoKCmlmICgtMiA+PiAxICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNDogLTIgPj4gMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxKSk7IAp9IAoKCmlmICgtNCA+PiAxICE9PSAtMikgeyAKICAkRVJST1IoJyMzNTogLTQgPj4gMSA9PT0gLTIuIEFjdHVhbDogJyArICgtNCA+PiAxKSk7IAp9IAoKCmlmICgtOCA+PiAxICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjogLTggPj4gMSA9PT0gLTQuIEFjdHVhbDogJyArICgtOCA+PiAxKSk7IAp9IAoKCmlmICgtMTYgPj4gMSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzc6IC0xNiA+PiAxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNiA+PiAxKSk7IAp9IAoKCmlmICgtMzIgPj4gMSAhPT0gLTE2KSB7IAogICRFUlJPUignIzM4OiAtMzIgPj4gMSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTMyID4+IDEpKTsgCn0gCgoKaWYgKC02NCA+PiAxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzk6IC02NCA+PiAxID09PSAtMzIuIEFjdHVhbDogJyArICgtNjQgPj4gMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNDA6IC0xMjggPj4gMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjU2ID4+IDEgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDE6IC0yNTYgPj4gMSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQyOiAtNTEyID4+IDEgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDEgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDM6IC0xMDI0ID4+IDEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM0NDogLTIwNDggPj4gMSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NTogLTQwOTYgPj4gMSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNDA5NiA+PiAxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM0NjogLTgxOTIgPj4gMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODE5MiA+PiAxKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNDc6IC0xNjM4NCA+PiAxID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ4OiAtMzI3NjggPj4gMSA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAxICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IC02NTUzNiA+PiAxID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTA6IC0xMzEwNzIgPj4gMSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNTE6IC0yNjIxNDQgPj4gMSA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiAtNTI0Mjg4ID4+IDEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDEgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjNTM6IC0xMDQ4NTc2ID4+IDEgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM1NDogLTIwOTcxNTIgPj4gMSA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogLTQxOTQzMDQgPj4gMSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyM1NjogLTgzODg2MDggPj4gMSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjNTc6IC0xNjc3NzIxNiA+PiAxID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMSAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAtMzM1NTQ0MzIgPj4gMSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjNTk6IC02NzEwODg2NCA+PiAxID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAxICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjNjA6IC0xMzQyMTc3MjggPj4gMSA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDEgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IC0yNjg0MzU0NTYgPj4gMSA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxICE9PSAtMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzYyOiAtNTM2ODcwOTEyID4+IDEgPT09IC0yNjg0MzU0NTYuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjNjM6IC0xMDczNzQxODI0ID4+IDEgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxICE9PSAtMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogLTIxNDc0ODM2NDggPj4gMSA9PT0gLTEwNzM3NDE4MjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxKSk7IAp9IAoKCmlmICgtMSA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTogLTEgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyKSk7IAp9IAoKCmlmICgtMiA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NjogLTIgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyKSk7IAp9IAoKCmlmICgtNCA+PiAyICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzogLTQgPj4gMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyKSk7IAp9IAoKCmlmICgtOCA+PiAyICE9PSAtMikgeyAKICAkRVJST1IoJyM2ODogLTggPj4gMiA9PT0gLTIuIEFjdHVhbDogJyArICgtOCA+PiAyKSk7IAp9IAoKCmlmICgtMTYgPj4gMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNjk6IC0xNiA+PiAyID09PSAtNC4gQWN0dWFsOiAnICsgKC0xNiA+PiAyKSk7IAp9IAoKCmlmICgtMzIgPj4gMiAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNzA6IC0zMiA+PiAyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMiA+PiAyKSk7IAp9IAoKCmlmICgtNjQgPj4gMiAhPT0gLTE2KSB7IAogICRFUlJPUignIzcxOiAtNjQgPj4gMiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMjggPj4gMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzcyOiAtMTI4ID4+IDIgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNzM6IC0yNTYgPj4gMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTEyID4+IDIgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzQ6IC01MTIgPj4gMiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3NTogLTEwMjQgPj4gMiA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNzY6IC0yMDQ4ID4+IDIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM3NzogLTQwOTYgPj4gMiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM3ODogLTgxOTIgPj4gMiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtODE5MiA+PiAyKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMiAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IC0xNjM4NCA+PiAyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjODA6IC0zMjc2OCA+PiAyID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzgxOiAtNjU1MzYgPj4gMiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMiAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzgyOiAtMTMxMDcyID4+IDIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjODM6IC0yNjIxNDQgPj4gMiA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjODQ6IC01MjQyODggPj4gMiA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMiAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogLTEwNDg1NzYgPj4gMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjODY6IC0yMDk3MTUyID4+IDIgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyM4NzogLTQxOTQzMDQgPj4gMiA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogLTgzODg2MDggPj4gMiA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMiAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjODk6IC0xNjc3NzIxNiA+PiAyID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjOTA6IC0zMzU1NDQzMiA+PiAyID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMiAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiAtNjcxMDg4NjQgPj4gMiA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMiAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzkyOiAtMTM0MjE3NzI4ID4+IDIgPT09IC0zMzU1NDQzMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjOTM6IC0yNjg0MzU0NTYgPj4gMiA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IC01MzY4NzA5MTIgPj4gMiA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMiAhPT0gLTI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM5NTogLTEwNzM3NDE4MjQgPj4gMiA9PT0gLTI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIgIT09IC01MzY4NzA5MTIpIHsgCiAgJEVSUk9SKCcjOTY6IC0yMTQ3NDgzNjQ4ID4+IDIgPT09IC01MzY4NzA5MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyKSk7IAp9IAoKCmlmICgtMSA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzogLTEgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzKSk7IAp9IAoKCmlmICgtMiA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODogLTIgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzKSk7IAp9IAoKCmlmICgtNCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTogLTQgPj4gMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAzKSk7IAp9IAoKCmlmICgtOCA+PiAzICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA6IC04ID4+IDMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMykpOyAKfSAKCgppZiAoLTE2ID4+IDMgIT09IC0yKSB7IAogICRFUlJPUignIzEwMTogLTE2ID4+IDMgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDMpKTsgCn0gCgoKaWYgKC0zMiA+PiAzICE9PSAtNCkgeyAKICAkRVJST1IoJyMxMDI6IC0zMiA+PiAzID09PSAtNC4gQWN0dWFsOiAnICsgKC0zMiA+PiAzKSk7IAp9IAoKCmlmICgtNjQgPj4gMyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTAzOiAtNjQgPj4gMyA9PT0gLTguIEFjdHVhbDogJyArICgtNjQgPj4gMykpOyAKfSAKCgppZiAoLTEyOCA+PiAzICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTA0OiAtMTI4ID4+IDMgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xMjggPj4gMykpOyAKfSAKCgppZiAoLTI1NiA+PiAzICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMTA1OiAtMjU2ID4+IDMgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMykpOyAKfSAKCgppZiAoLTUxMiA+PiAzICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiAtNTEyID4+IDMgPT09IC02NC4gQWN0dWFsOiAnICsgKC01MTIgPj4gMykpOyAKfSAKCgppZiAoLTEwMjQgPj4gMyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxMDc6IC0xMDI0ID4+IDMgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTAyNCA+PiAzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAzICE9PSAtMjU2KSB7IAogICRFUlJPUignIzEwODogLTIwNDggPj4gMyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDMgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiAtNDA5NiA+PiAzID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMykpOyAKfSAKCgppZiAoLTgxOTIgPj4gMyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTEwOiAtODE5MiA+PiAzID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDMpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxMTE6IC0xNjM4NCA+PiAzID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAtMzI3NjggPj4gMyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMykpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMgIT09IC04MTkyKSB7IAogICRFUlJPUignIzExMzogLTY1NTM2ID4+IDMgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDMpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzExNDogLTEzMTA3MiA+PiAzID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMyAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzExNTogLTI2MjE0NCA+PiAzID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMyAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzExNjogLTUyNDI4OCA+PiAzID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDMpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTE3OiAtMTA0ODU3NiA+PiAzID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMyAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IC0yMDk3MTUyID4+IDMgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzExOTogLTQxOTQzMDQgPj4gMyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDMpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzEyMDogLTgzODg2MDggPj4gMyA9PT0gLTEwNDg1NzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMyAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAtMTY3NzcyMTYgPj4gMyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMgIT09IC00MTk0MzA0KSB7IAogICRFUlJPUignIzEyMjogLTMzNTU0NDMyID4+IDMgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDMpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxMjM6IC02NzEwODg2NCA+PiAzID09PSAtODM4ODYwOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IC0xMzQyMTc3MjggPj4gMyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMgIT09IC0zMzU1NDQzMikgeyAKICAkRVJST1IoJyMxMjU6IC0yNjg0MzU0NTYgPj4gMyA9PT0gLTMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAzKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDMgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxMjY6IC01MzY4NzA5MTIgPj4gMyA9PT0gLTY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzICE9PSAtMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogLTEwNzM3NDE4MjQgPj4gMyA9PT0gLTEzNDIxNzcyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDMgIT09IC0yNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjMTI4OiAtMjE0NzQ4MzY0OCA+PiAzID09PSAtMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMykpOyAKfSAKCgppZiAoLTEgPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTI5OiAtMSA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDQpKTsgCn0gCgoKaWYgKC0yID4+IDQgIT09IC0xKSB7IAogICRFUlJPUignIzEzMDogLTIgPj4gNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA0KSk7IAp9IAoKCmlmICgtNCA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzE6IC00ID4+IDQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNCkpOyAKfSAKCgppZiAoLTggPj4gNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTMyOiAtOCA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDQpKTsgCn0gCgoKaWYgKC0xNiA+PiA0ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMzM6IC0xNiA+PiA0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA0KSk7IAp9IAoKCmlmICgtMzIgPj4gNCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMTM0OiAtMzIgPj4gNCA9PT0gLTIuIEFjdHVhbDogJyArICgtMzIgPj4gNCkpOyAKfSAKCgppZiAoLTY0ID4+IDQgIT09IC00KSB7IAogICRFUlJPUignIzEzNTogLTY0ID4+IDQgPT09IC00LiBBY3R1YWw6ICcgKyAoLTY0ID4+IDQpKTsgCn0gCgoKaWYgKC0xMjggPj4gNCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMTM2OiAtMTI4ID4+IDQgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA0KSk7IAp9IAoKCmlmICgtMjU2ID4+IDQgIT09IC0xNikgeyAKICAkRVJST1IoJyMxMzc6IC0yNTYgPj4gNCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA0KSk7IAp9IAoKCmlmICgtNTEyID4+IDQgIT09IC0zMikgeyAKICAkRVJST1IoJyMxMzg6IC01MTIgPj4gNCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiA0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiA0ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAtMTAyNCA+PiA0ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA0KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA0ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzE0MDogLTIwNDggPj4gNCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDQgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMTQxOiAtNDA5NiA+PiA0ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gNCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMxNDI6IC04MTkyID4+IDQgPT09IC01MTIuIEFjdHVhbDogJyArICgtODE5MiA+PiA0KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMTQzOiAtMTYzODQgPj4gNCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDQgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzE0NDogLTMyNzY4ID4+IDQgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDQpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA0ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IC02NTUzNiA+PiA0ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA0KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDQgIT09IC04MTkyKSB7IAogICRFUlJPUignIzE0NjogLTEzMTA3MiA+PiA0ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA0ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMTQ3OiAtMjYyMTQ0ID4+IDQgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA0ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiAtNTI0Mjg4ID4+IDQgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gNCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzE0OTogLTEwNDg1NzYgPj4gNCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gNCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gNCAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMxNTA6IC0yMDk3MTUyID4+IDQgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA0ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogLTQxOTQzMDQgPj4gNCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDQpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDQgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMTUyOiAtODM4ODYwOCA+PiA0ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDQgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzE1MzogLTE2Nzc3MjE2ID4+IDQgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDQpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA0ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IC0zMzU1NDQzMiA+PiA0ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA0KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTU1OiAtNjcxMDg4NjQgPj4gNCA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA0ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMxNTY6IC0xMzQyMTc3MjggPj4gNCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDQpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNCAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogLTI2ODQzNTQ1NiA+PiA0ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDQpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNCAhPT0gLTMzNTU0NDMyKSB7IAogICRFUlJPUignIzE1ODogLTUzNjg3MDkxMiA+PiA0ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDQpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDQgIT09IC02NzEwODg2NCkgeyAKICAkRVJST1IoJyMxNTk6IC0xMDczNzQxODI0ID4+IDQgPT09IC02NzEwODg2NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDQpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDQgIT09IC0xMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAtMjE0NzQ4MzY0OCA+PiA0ID09PSAtMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNCkpOyAKfSAKCgppZiAoLTEgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTYxOiAtMSA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDUpKTsgCn0gCgoKaWYgKC0yID4+IDUgIT09IC0xKSB7IAogICRFUlJPUignIzE2MjogLTIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA1KSk7IAp9IAoKCmlmICgtNCA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjM6IC00ID4+IDUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gNSkpOyAKfSAKCgppZiAoLTggPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY0OiAtOCA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDUpKTsgCn0gCgoKaWYgKC0xNiA+PiA1ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxNjU6IC0xNiA+PiA1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA1KSk7IAp9IAoKCmlmICgtMzIgPj4gNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTY2OiAtMzIgPj4gNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gNSkpOyAKfSAKCgppZiAoLTY0ID4+IDUgIT09IC0yKSB7IAogICRFUlJPUignIzE2NzogLTY0ID4+IDUgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDUpKTsgCn0gCgoKaWYgKC0xMjggPj4gNSAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMTY4OiAtMTI4ID4+IDUgPT09IC00LiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA1KSk7IAp9IAoKCmlmICgtMjU2ID4+IDUgIT09IC04KSB7IAogICRFUlJPUignIzE2OTogLTI1NiA+PiA1ID09PSAtOC4gQWN0dWFsOiAnICsgKC0yNTYgPj4gNSkpOyAKfSAKCgppZiAoLTUxMiA+PiA1ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMTcwOiAtNTEyID4+IDUgPT09IC0xNi4gQWN0dWFsOiAnICsgKC01MTIgPj4gNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gNSAhPT0gLTMyKSB7IAogICRFUlJPUignIzE3MTogLTEwMjQgPj4gNSA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gNSAhPT0gLTY0KSB7IAogICRFUlJPUignIzE3MjogLTIwNDggPj4gNSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gNSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMxNzM6IC00MDk2ID4+IDUgPT09IC0xMjguIEFjdHVhbDogJyArICgtNDA5NiA+PiA1KSk7IAp9IAoKCmlmICgtODE5MiA+PiA1ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzE3NDogLTgxOTIgPj4gNSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC04MTkyID4+IDUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA1ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzE3NTogLTE2Mzg0ID4+IDUgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gNSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDUgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzE3NjogLTMyNzY4ID4+IDUgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDUpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiA1ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMxNzc6IC02NTUzNiA+PiA1ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA1KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDUgIT09IC00MDk2KSB7IAogICRFUlJPUignIzE3ODogLTEzMTA3MiA+PiA1ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gNSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA1ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMxNzk6IC0yNjIxNDQgPj4gNSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDUpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gNSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzE4MDogLTUyNDI4OCA+PiA1ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDUpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDUgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IC0xMDQ4NTc2ID4+IDUgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDUgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMxODI6IC0yMDk3MTUyID4+IDUgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDUpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDUgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMTgzOiAtNDE5NDMwNCA+PiA1ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gNSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IC04Mzg4NjA4ID4+IDUgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA1KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMxODU6IC0xNjc3NzIxNiA+PiA1ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDUpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA1ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMxODY6IC0zMzU1NDQzMiA+PiA1ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiA1KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gNSAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiAtNjcxMDg4NjQgPj4gNSA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gNSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA1ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxODg6IC0xMzQyMTc3MjggPj4gNSA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDUpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gNSAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMTg5OiAtMjY4NDM1NDU2ID4+IDUgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA1KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDUgIT09IC0xNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IC01MzY4NzA5MTIgPj4gNSA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA1KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA1ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTkxOiAtMTA3Mzc0MTgyNCA+PiA1ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA1KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA1ICE9PSAtNjcxMDg4NjQpIHsgCiAgJEVSUk9SKCcjMTkyOiAtMjE0NzQ4MzY0OCA+PiA1ID09PSAtNjcxMDg4NjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA1KSk7IAp9IAoKCmlmICgtMSA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTM6IC0xID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNikpOyAKfSAKCgppZiAoLTIgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk0OiAtMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDYpKTsgCn0gCgoKaWYgKC00ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NTogLTQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA2KSk7IAp9IAoKCmlmICgtOCA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTY6IC04ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNikpOyAKfSAKCgppZiAoLTE2ID4+IDYgIT09IC0xKSB7IAogICRFUlJPUignIzE5NzogLTE2ID4+IDYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDYpKTsgCn0gCgoKaWYgKC0zMiA+PiA2ICE9PSAtMSkgeyAKICAkRVJST1IoJyMxOTg6IC0zMiA+PiA2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA2KSk7IAp9IAoKCmlmICgtNjQgPj4gNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTk5OiAtNjQgPj4gNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNikpOyAKfSAKCgppZiAoLTEyOCA+PiA2ICE9PSAtMikgeyAKICAkRVJST1IoJyMyMDA6IC0xMjggPj4gNiA9PT0gLTIuIEFjdHVhbDogJyArICgtMTI4ID4+IDYpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMjAxOiAtMjU2ID4+IDYgPT09IC00LiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA2KSk7IAp9IAoKCmlmICgtNTEyID4+IDYgIT09IC04KSB7IAogICRFUlJPUignIzIwMjogLTUxMiA+PiA2ID09PSAtOC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNikpOyAKfSAKCgppZiAoLTEwMjQgPj4gNiAhPT0gLTE2KSB7IAogICRFUlJPUignIzIwMzogLTEwMjQgPj4gNiA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gNikpOyAKfSAKCgppZiAoLTIwNDggPj4gNiAhPT0gLTMyKSB7IAogICRFUlJPUignIzIwNDogLTIwNDggPj4gNiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gNiAhPT0gLTY0KSB7IAogICRFUlJPUignIzIwNTogLTQwOTYgPj4gNiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gNikpOyAKfSAKCgppZiAoLTgxOTIgPj4gNiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMyMDY6IC04MTkyID4+IDYgPT09IC0xMjguIEFjdHVhbDogJyArICgtODE5MiA+PiA2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gNiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyMDc6IC0xNjM4NCA+PiA2ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiA2ICE9PSAtNTEyKSB7IAogICRFUlJPUignIzIwODogLTMyNzY4ID4+IDYgPT09IC01MTIuIEFjdHVhbDogJyArICgtMzI3NjggPj4gNikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDYgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzIwOTogLTY1NTM2ID4+IDYgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDYpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNiAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjEwOiAtMTMxMDcyID4+IDYgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA2KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDYgIT09IC00MDk2KSB7IAogICRFUlJPUignIzIxMTogLTI2MjE0NCA+PiA2ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA2ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMyMTI6IC01MjQyODggPj4gNiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDYpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDYgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyMTM6IC0xMDQ4NTc2ID4+IDYgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDYpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDYgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IC0yMDk3MTUyID4+IDYgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDYgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMyMTU6IC00MTk0MzA0ID4+IDYgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDYpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDYgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjE2OiAtODM4ODYwOCA+PiA2ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDYgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAtMTY3NzcyMTYgPj4gNiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiA2KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gNiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMyMTg6IC0zMzU1NDQzMiA+PiA2ID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDYpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA2ICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMyMTk6IC02NzEwODg2NCA+PiA2ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA2KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDYgIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogLTEzNDIxNzcyOCA+PiA2ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA2ICE9PSAtNDE5NDMwNCkgeyAKICAkRVJST1IoJyMyMjE6IC0yNjg0MzU0NTYgPj4gNiA9PT0gLTQxOTQzMDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDYpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNiAhPT0gLTgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjIyOiAtNTM2ODcwOTEyID4+IDYgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA2KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA2ICE9PSAtMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAtMTA3Mzc0MTgyNCA+PiA2ID09PSAtMTY3NzcyMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiA2KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiA2ICE9PSAtMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMjI0OiAtMjE0NzQ4MzY0OCA+PiA2ID09PSAtMzM1NTQ0MzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA2KSk7IAp9IAoKCmlmICgtMSA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjU6IC0xID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gNykpOyAKfSAKCgppZiAoLTIgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjI2OiAtMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDcpKTsgCn0gCgoKaWYgKC00ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyNzogLTQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA3KSk7IAp9IAoKCmlmICgtOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMjg6IC04ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gNykpOyAKfSAKCgppZiAoLTE2ID4+IDcgIT09IC0xKSB7IAogICRFUlJPUignIzIyOTogLTE2ID4+IDcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMiA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzA6IC0zMiA+PiA3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA3KSk7IAp9IAoKCmlmICgtNjQgPj4gNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjMxOiAtNjQgPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gNykpOyAKfSAKCgppZiAoLTEyOCA+PiA3ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyMzI6IC0xMjggPj4gNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDcpKTsgCn0gCgoKaWYgKC0yNTYgPj4gNyAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjMzOiAtMjU2ID4+IDcgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA3KSk7IAp9IAoKCmlmICgtNTEyID4+IDcgIT09IC00KSB7IAogICRFUlJPUignIzIzNDogLTUxMiA+PiA3ID09PSAtNC4gQWN0dWFsOiAnICsgKC01MTIgPj4gNykpOyAKfSAKCgppZiAoLTEwMjQgPj4gNyAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMjM1OiAtMTAyNCA+PiA3ID09PSAtOC4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDcpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDcgIT09IC0xNikgeyAKICAkRVJST1IoJyMyMzY6IC0yMDQ4ID4+IDcgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDcgIT09IC0zMikgeyAKICAkRVJST1IoJyMyMzc6IC00MDk2ID4+IDcgPT09IC0zMi4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDcgIT09IC02NCkgeyAKICAkRVJST1IoJyMyMzg6IC04MTkyID4+IDcgPT09IC02NC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDcpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiA3ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzIzOTogLTE2Mzg0ID4+IDcgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTYzODQgPj4gNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDcgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMjQwOiAtMzI3NjggPj4gNyA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gNyAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNDE6IC02NTUzNiA+PiA3ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDcpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gNyAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjMjQyOiAtMTMxMDcyID4+IDcgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiA3KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDcgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzI0MzogLTI2MjE0NCA+PiA3ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gNykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA3ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IC01MjQyODggPj4gNyA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDcpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDcgIT09IC04MTkyKSB7IAogICRFUlJPUignIzI0NTogLTEwNDg1NzYgPj4gNyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA3KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA3ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjMjQ2OiAtMjA5NzE1MiA+PiA3ID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiA3KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiA3ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiAtNDE5NDMwNCA+PiA3ID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiA3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiA3ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjQ4OiAtODM4ODYwOCA+PiA3ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiA3KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gNyAhPT0gLTEzMTA3MikgeyAKICAkRVJST1IoJyMyNDk6IC0xNjc3NzIxNiA+PiA3ID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA3ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogLTMzNTU0NDMyID4+IDcgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gNykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDcgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjUxOiAtNjcxMDg4NjQgPj4gNyA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA3KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDcgIT09IC0xMDQ4NTc2KSB7IAogICRFUlJPUignIzI1MjogLTEzNDIxNzcyOCA+PiA3ID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gNykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiA3ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IC0yNjg0MzU0NTYgPj4gNyA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDcpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gNyAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjU0OiAtNTM2ODcwOTEyID4+IDcgPT09IC00MTk0MzA0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA3KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA3ICE9PSAtODM4ODYwOCkgeyAKICAkRVJST1IoJyMyNTU6IC0xMDczNzQxODI0ID4+IDcgPT09IC04Mzg4NjA4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gNykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gNyAhPT0gLTE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogLTIxNDc0ODM2NDggPj4gNyA9PT0gLTE2Nzc3MjE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gNykpOyAKfSAKCgppZiAoLTEgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjU3OiAtMSA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDgpKTsgCn0gCgoKaWYgKC0yID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI1ODogLTIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiA4KSk7IAp9IAoKCmlmICgtNCA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNTk6IC00ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gOCkpOyAKfSAKCgppZiAoLTggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYwOiAtOCA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDgpKTsgCn0gCgoKaWYgKC0xNiA+PiA4ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyNjE6IC0xNiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiA4KSk7IAp9IAoKCmlmICgtMzIgPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjYyOiAtMzIgPj4gOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gOCkpOyAKfSAKCgppZiAoLTY0ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2MzogLTY0ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDgpKTsgCn0gCgoKaWYgKC0xMjggPj4gOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjY0OiAtMTI4ID4+IDggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiA4KSk7IAp9IAoKCmlmICgtMjU2ID4+IDggIT09IC0xKSB7IAogICRFUlJPUignIzI2NTogLTI1NiA+PiA4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gOCkpOyAKfSAKCgppZiAoLTUxMiA+PiA4ICE9PSAtMikgeyAKICAkRVJST1IoJyMyNjY6IC01MTIgPj4gOCA9PT0gLTIuIEFjdHVhbDogJyArICgtNTEyID4+IDgpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDggIT09IC00KSB7IAogICRFUlJPUignIzI2NzogLTEwMjQgPj4gOCA9PT0gLTQuIEFjdHVhbDogJyArICgtMTAyNCA+PiA4KSk7IAp9IAoKCmlmICgtMjA0OCA+PiA4ICE9PSAtOCkgeyAKICAkRVJST1IoJyMyNjg6IC0yMDQ4ID4+IDggPT09IC04LiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gOCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gOCAhPT0gLTE2KSB7IAogICRFUlJPUignIzI2OTogLTQwOTYgPj4gOCA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOCAhPT0gLTMyKSB7IAogICRFUlJPUignIzI3MDogLTgxOTIgPj4gOCA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDggIT09IC02NCkgeyAKICAkRVJST1IoJyMyNzE6IC0xNjM4NCA+PiA4ID09PSAtNjQuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDggIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMjcyOiAtMzI3NjggPj4gOCA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiA4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gOCAhPT0gLTI1NikgeyAKICAkRVJST1IoJyMyNzM6IC02NTUzNiA+PiA4ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gOCAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMyNzQ6IC0xMzEwNzIgPj4gOCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gOCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiA4ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMyNzU6IC0yNjIxNDQgPj4gOCA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDgpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gOCAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjMjc2OiAtNTI0Mjg4ID4+IDggPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiA4KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiA4ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IC0xMDQ4NTc2ID4+IDggPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gOCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gOCAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMjc4OiAtMjA5NzE1MiA+PiA4ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDgpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDggIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMyNzk6IC00MTk0MzA0ID4+IDggPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDgpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDggIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IC04Mzg4NjA4ID4+IDggPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA4ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjgxOiAtMTY3NzcyMTYgPj4gOCA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDgpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA4ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzI4MjogLTMzNTU0NDMyID4+IDggPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDggIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiAtNjcxMDg4NjQgPj4gOCA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiA4KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDggIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMjg0OiAtMTM0MjE3NzI4ID4+IDggPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDgpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gOCAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjg1OiAtMjY4NDM1NDU2ID4+IDggPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiA4KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDggIT09IC0yMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogLTUzNjg3MDkxMiA+PiA4ID09PSAtMjA5NzE1Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gOCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gOCAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjg3OiAtMTA3Mzc0MTgyNCA+PiA4ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDgpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDggIT09IC04Mzg4NjA4KSB7IAogICRFUlJPUignIzI4ODogLTIxNDc0ODM2NDggPj4gOCA9PT0gLTgzODg2MDguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiA4KSk7IAp9IAoKCmlmICgtMSA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyODk6IC0xID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gOSkpOyAKfSAKCgppZiAoLTIgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjkwOiAtMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDkpKTsgCn0gCgoKaWYgKC00ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MTogLTQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiA5KSk7IAp9IAoKCmlmICgtOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTI6IC04ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gOSkpOyAKfSAKCgppZiAoLTE2ID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5MzogLTE2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMiA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTQ6IC0zMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiA5KSk7IAp9IAoKCmlmICgtNjQgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk1OiAtNjQgPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gOSkpOyAKfSAKCgppZiAoLTEyOCA+PiA5ICE9PSAtMSkgeyAKICAkRVJST1IoJyMyOTY6IC0xMjggPj4gOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDkpKTsgCn0gCgoKaWYgKC0yNTYgPj4gOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMjk3OiAtMjU2ID4+IDkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiA5KSk7IAp9IAoKCmlmICgtNTEyID4+IDkgIT09IC0xKSB7IAogICRFUlJPUignIzI5ODogLTUxMiA+PiA5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gOSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gOSAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjMjk5OiAtMTAyNCA+PiA5ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDkpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDkgIT09IC00KSB7IAogICRFUlJPUignIzMwMDogLTIwNDggPj4gOSA9PT0gLTQuIEFjdHVhbDogJyArICgtMjA0OCA+PiA5KSk7IAp9IAoKCmlmICgtNDA5NiA+PiA5ICE9PSAtOCkgeyAKICAkRVJST1IoJyMzMDE6IC00MDk2ID4+IDkgPT09IC04LiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gOSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gOSAhPT0gLTE2KSB7IAogICRFUlJPUignIzMwMjogLTgxOTIgPj4gOSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDkgIT09IC0zMikgeyAKICAkRVJST1IoJyMzMDM6IC0xNjM4NCA+PiA5ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDkgIT09IC02NCkgeyAKICAkRVJST1IoJyMzMDQ6IC0zMjc2OCA+PiA5ID09PSAtNjQuIEFjdHVhbDogJyArICgtMzI3NjggPj4gOSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDkgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjMzA1OiAtNjU1MzYgPj4gOSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiA5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDkgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjMzA2OiAtMTMxMDcyID4+IDkgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gOSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyMzMDc6IC0yNjIxNDQgPj4gOSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gOSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiA5ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyMzMDg6IC01MjQyODggPj4gOSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDkpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDkgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzMwOTogLTEwNDg1NzYgPj4gOSA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiA5KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiA5ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IC0yMDk3MTUyID4+IDkgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gOSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gOSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjMzExOiAtNDE5NDMwNCA+PiA5ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDkpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDkgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyMzMTI6IC04Mzg4NjA4ID4+IDkgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDkpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiA5ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAtMTY3NzcyMTYgPj4gOSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiA5ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzE0OiAtMzM1NTQ0MzIgPj4gOSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDkpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiA5ICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzMxNTogLTY3MTA4ODY0ID4+IDkgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiA5ICE9PSAtMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogLTEzNDIxNzcyOCA+PiA5ID09PSAtMjYyMTQ0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiA5KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDkgIT09IC01MjQyODgpIHsgCiAgJEVSUk9SKCcjMzE3OiAtMjY4NDM1NDU2ID4+IDkgPT09IC01MjQyODguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDkpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gOSAhPT0gLTEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMzE4OiAtNTM2ODcwOTEyID4+IDkgPT09IC0xMDQ4NTc2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiA5KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiA5ICE9PSAtMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IC0xMDczNzQxODI0ID4+IDkgPT09IC0yMDk3MTUyLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gOSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gOSAhPT0gLTQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMzIwOiAtMjE0NzQ4MzY0OCA+PiA5ID09PSAtNDE5NDMwNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDkpKTsgCn0gCgoKaWYgKC0xID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjE6IC0xID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEwKSk7IAp9IAoKCmlmICgtMiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzIyOiAtMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMCkpOyAKfSAKCgppZiAoLTQgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyMzogLTQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTApKTsgCn0gCgoKaWYgKC04ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjQ6IC04ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEwKSk7IAp9IAoKCmlmICgtMTYgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMyNTogLTE2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMCkpOyAKfSAKCgppZiAoLTMyID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjY6IC0zMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI3OiAtNjQgPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEwKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEwICE9PSAtMSkgeyAKICAkRVJST1IoJyMzMjg6IC0xMjggPj4gMTAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI1NiA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzI5OiAtMjU2ID4+IDEwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTApKTsgCn0gCgoKaWYgKC01MTIgPj4gMTAgIT09IC0xKSB7IAogICRFUlJPUignIzMzMDogLTUxMiA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEwKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzMxOiAtMTAyNCA+PiAxMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTAgIT09IC0yKSB7IAogICRFUlJPUignIzMzMjogLTIwNDggPj4gMTAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTApKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEwICE9PSAtNCkgeyAKICAkRVJST1IoJyMzMzM6IC00MDk2ID4+IDEwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEwKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjMzM0OiAtODE5MiA+PiAxMCA9PT0gLTguIEFjdHVhbDogJyArICgtODE5MiA+PiAxMCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzM1OiAtMTYzODQgPj4gMTAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDEwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzM2OiAtMzI3NjggPj4gMTAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiAtNjU1MzYgPj4gMTAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzMzg6IC0xMzEwNzIgPj4gMTAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDEwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDEwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzMzOTogLTI2MjE0NCA+PiAxMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMTApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMTAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiAtNTI0Mjg4ID4+IDEwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM0MTogLTEwNDg1NzYgPj4gMTAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTApKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNDI6IC0yMDk3MTUyID4+IDEwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDEwKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxMCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiAtNDE5NDMwNCA+PiAxMCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTAgIT09IC04MTkyKSB7IAogICRFUlJPUignIzM0NDogLTgzODg2MDggPj4gMTAgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTApKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM0NTogLTE2Nzc3MjE2ID4+IDEwID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTApKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM0NjogLTMzNTU0NDMyID4+IDEwID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMCAhPT0gLTY1NTM2KSB7IAogICRFUlJPUignIzM0NzogLTY3MTA4ODY0ID4+IDEwID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTApKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTAgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzQ4OiAtMTM0MjE3NzI4ID4+IDEwID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxMCAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IC0yNjg0MzU0NTYgPj4gMTAgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDEwKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDEwICE9PSAtNTI0Mjg4KSB7IAogICRFUlJPUignIzM1MDogLTUzNjg3MDkxMiA+PiAxMCA9PT0gLTUyNDI4OC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTApKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEwICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzNTE6IC0xMDczNzQxODI0ID4+IDEwID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEwKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMCAhPT0gLTIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAtMjE0NzQ4MzY0OCA+PiAxMCA9PT0gLTIwOTcxNTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxMCkpOyAKfSAKCgppZiAoLTEgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1MzogLTEgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMTEpKTsgCn0gCgoKaWYgKC0yID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTQ6IC0yID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDExKSk7IAp9IAoKCmlmICgtNCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU1OiAtNCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAxMSkpOyAKfSAKCgppZiAoLTggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1NjogLTggPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMTEpKTsgCn0gCgoKaWYgKC0xNiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzU3OiAtMTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDExKSk7IAp9IAoKCmlmICgtMzIgPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM1ODogLTMyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAxMSkpOyAKfSAKCgppZiAoLTY0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNTk6IC02NCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMjggPj4gMTEgIT09IC0xKSB7IAogICRFUlJPUignIzM2MDogLTEyOCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDExKSk7IAp9IAoKCmlmICgtMjU2ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjE6IC0yNTYgPj4gMTEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAtNTEyID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDExICE9PSAtMSkgeyAKICAkRVJST1IoJyMzNjM6IC0xMDI0ID4+IDExID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDExKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAxMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzY0OiAtMjA0OCA+PiAxMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAxMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMTEgIT09IC0yKSB7IAogICRFUlJPUignIzM2NTogLTQwOTYgPj4gMTEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMTEpKTsgCn0gCgoKaWYgKC04MTkyID4+IDExICE9PSAtNCkgeyAKICAkRVJST1IoJyMzNjY6IC04MTkyID4+IDExID09PSAtNC4gQWN0dWFsOiAnICsgKC04MTkyID4+IDExKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMTEgIT09IC04KSB7IAogICRFUlJPUignIzM2NzogLTE2Mzg0ID4+IDExID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAxMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDExICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjMzY4OiAtMzI3NjggPj4gMTEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDExICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjMzY5OiAtNjU1MzYgPj4gMTEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzM3MDogLTEzMTA3MiA+PiAxMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyMzNzE6IC0yNjIxNDQgPj4gMTEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDExKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDExICE9PSAtMjU2KSB7IAogICRFUlJPUignIzM3MjogLTUyNDI4OCA+PiAxMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDExICE9PSAtNTEyKSB7IAogICRFUlJPUignIzM3MzogLTEwNDg1NzYgPj4gMTEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzM3NDogLTIwOTcxNTIgPj4gMTEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTEpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDExICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyMzNzU6IC00MTk0MzA0ID4+IDExID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDExKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxMSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiAtODM4ODYwOCA+PiAxMSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDExICE9PSAtODE5MikgeyAKICAkRVJST1IoJyMzNzc6IC0xNjc3NzIxNiA+PiAxMSA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTEpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxMSAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzM3ODogLTMzNTU0NDMyID4+IDExID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMSAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzM3OTogLTY3MTA4ODY0ID4+IDExID09PSAtMzI3NjguIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTEgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyMzODA6IC0xMzQyMTc3MjggPj4gMTEgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTEpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTEgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzgxOiAtMjY4NDM1NDU2ID4+IDExID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxMSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxMSAhPT0gLTI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IC01MzY4NzA5MTIgPj4gMTEgPT09IC0yNjIxNDQuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDExKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxMSAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyMzODM6IC0xMDczNzQxODI0ID4+IDExID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTEpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDExICE9PSAtMTA0ODU3NikgeyAKICAkRVJST1IoJyMzODQ6IC0yMTQ3NDgzNjQ4ID4+IDExID09PSAtMTA0ODU3Ni4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDExKSk7IAp9IAoKCmlmICgtMSA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg1OiAtMSA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxMikpOyAKfSAKCgppZiAoLTIgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM4NjogLTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTIpKTsgCn0gCgoKaWYgKC00ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODc6IC00ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDEyKSk7IAp9IAoKCmlmICgtOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzg4OiAtOCA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxMikpOyAKfSAKCgppZiAoLTE2ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzODk6IC0xNiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTIpKTsgCn0gCgoKaWYgKC0zMiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkwOiAtMzIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDEyKSk7IAp9IAoKCmlmICgtNjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MTogLTY0ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxMikpOyAKfSAKCgppZiAoLTEyOCA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzkyOiAtMTI4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5MzogLTI1NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDEyKSk7IAp9IAoKCmlmICgtNTEyID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTQ6IC01MTIgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTIgIT09IC0xKSB7IAogICRFUlJPUignIzM5NTogLTEwMjQgPj4gMTIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDEyICE9PSAtMSkgeyAKICAkRVJST1IoJyMzOTY6IC0yMDQ4ID4+IDEyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDEyKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMzk3OiAtNDA5NiA+PiAxMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxMikpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTIgIT09IC0yKSB7IAogICRFUlJPUignIzM5ODogLTgxOTIgPj4gMTIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTIpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjMzk5OiAtMTYzODQgPj4gMTIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDEyKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTIgIT09IC04KSB7IAogICRFUlJPUignIzQwMDogLTMyNzY4ID4+IDEyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxMikpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDEyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDAxOiAtNjU1MzYgPj4gMTIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzQwMjogLTEzMTA3MiA+PiAxMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzQwMzogLTI2MjE0NCA+PiAxMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMikpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0MDQ6IC01MjQyODggPj4gMTIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0MDU6IC0xMDQ4NTc2ID4+IDEyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDEyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQwNjogLTIwOTcxNTIgPj4gMTIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxMikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTIgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQwNzogLTQxOTQzMDQgPj4gMTIgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTIpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDEyICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0MDg6IC04Mzg4NjA4ID4+IDEyID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDEyKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTIgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQwOTogLTE2Nzc3MjE2ID4+IDEyID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxMikpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDEyICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0MTA6IC0zMzU1NDQzMiA+PiAxMiA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTIpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxMiAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQxMTogLTY3MTA4ODY0ID4+IDEyID09PSAtMTYzODQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTIpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTIgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IC0xMzQyMTc3MjggPj4gMTIgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTIpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTIgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0MTM6IC0yNjg0MzU0NTYgPj4gMTIgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTIpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTIgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDE0OiAtNTM2ODcwOTEyID4+IDEyID09PSAtMTMxMDcyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxMikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTIgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAtMTA3Mzc0MTgyNCA+PiAxMiA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDEyKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxMiAhPT0gLTUyNDI4OCkgeyAKICAkRVJST1IoJyM0MTY6IC0yMTQ3NDgzNjQ4ID4+IDEyID09PSAtNTI0Mjg4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTIpKTsgCn0gCgoKaWYgKC0xID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MTc6IC0xID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDEzKSk7IAp9IAoKCmlmICgtMiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDE4OiAtMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxMykpOyAKfSAKCgppZiAoLTQgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQxOTogLTQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTMpKTsgCn0gCgoKaWYgKC04ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjA6IC04ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDEzKSk7IAp9IAoKCmlmICgtMTYgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyMTogLTE2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxMykpOyAKfSAKCgppZiAoLTMyID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjI6IC0zMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTMpKTsgCn0gCgoKaWYgKC02NCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDIzOiAtNjQgPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDEzKSk7IAp9IAoKCmlmICgtMTI4ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0MjQ6IC0xMjggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxMykpOyAKfSAKCgppZiAoLTI1NiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI1OiAtMjU2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyNjogLTUxMiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDEzKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDI3OiAtMTAyNCA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTMgIT09IC0xKSB7IAogICRFUlJPUignIzQyODogLTIwNDggPj4gMTMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTMpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDEzICE9PSAtMSkgeyAKICAkRVJST1IoJyM0Mjk6IC00MDk2ID4+IDEzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDEzKSk7IAp9IAoKCmlmICgtODE5MiA+PiAxMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDMwOiAtODE5MiA+PiAxMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxMykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDEzICE9PSAtMikgeyAKICAkRVJST1IoJyM0MzE6IC0xNjM4NCA+PiAxMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTMpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNDMyOiAtMzI3NjggPj4gMTMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDEzKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTMgIT09IC04KSB7IAogICRFUlJPUignIzQzMzogLTY1NTM2ID4+IDEzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxMykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzQzNDogLTEzMTA3MiA+PiAxMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAxMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAxMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzQzNTogLTI2MjE0NCA+PiAxMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxMykpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzQzNjogLTUyNDI4OCA+PiAxMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxMykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNDM3OiAtMTA0ODU3NiA+PiAxMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDEzKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM0Mzg6IC0yMDk3MTUyID4+IDEzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDEzICE9PSAtNTEyKSB7IAogICRFUlJPUignIzQzOTogLTQxOTQzMDQgPj4gMTMgPT09IC01MTIuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxMykpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTMgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ0MDogLTgzODg2MDggPj4gMTMgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTMpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxMyAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNDQxOiAtMTY3NzcyMTYgPj4gMTMgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDEzKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMTMgIT09IC00MDk2KSB7IAogICRFUlJPUignIzQ0MjogLTMzNTU0NDMyID4+IDEzID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxMykpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDEzICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NDM6IC02NzEwODg2NCA+PiAxMyA9PT0gLTgxOTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTMgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM0NDQ6IC0xMzQyMTc3MjggPj4gMTMgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTMpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTMgIT09IC0zMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IC0yNjg0MzU0NTYgPj4gMTMgPT09IC0zMjc2OC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTMpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTMgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0NDY6IC01MzY4NzA5MTIgPj4gMTMgPT09IC02NTUzNi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTMpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDEzICE9PSAtMTMxMDcyKSB7IAogICRFUlJPUignIzQ0NzogLTEwNzM3NDE4MjQgPj4gMTMgPT09IC0xMzEwNzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxMykpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTMgIT09IC0yNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAtMjE0NzQ4MzY0OCA+PiAxMyA9PT0gLTI2MjE0NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDEzKSk7IAp9IAoKCmlmICgtMSA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDQ5OiAtMSA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNCkpOyAKfSAKCgppZiAoLTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1MDogLTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTE6IC00ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE0KSk7IAp9IAoKCmlmICgtOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDUyOiAtOCA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNCkpOyAKfSAKCgppZiAoLTE2ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTM6IC0xNiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTQpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU0OiAtMzIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE0KSk7IAp9IAoKCmlmICgtNjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NTogLTY0ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDU2OiAtMTI4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTQpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1NzogLTI1NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE0KSk7IAp9IAoKCmlmICgtNTEyID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NTg6IC01MTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ1OTogLTEwMjQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTQpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0NjA6IC0yMDQ4ID4+IDE0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYxOiAtNDA5NiA+PiAxNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTQgIT09IC0xKSB7IAogICRFUlJPUignIzQ2MjogLTgxOTIgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTQpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDYzOiAtMTYzODQgPj4gMTQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE0KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTQgIT09IC0yKSB7IAogICRFUlJPUignIzQ2NDogLTMyNzY4ID4+IDE0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM0NjU6IC02NTUzNiA+PiAxNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTQpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTQgIT09IC04KSB7IAogICRFUlJPUignIzQ2NjogLTEzMTA3MiA+PiAxNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE0KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNDY3OiAtMjYyMTQ0ID4+IDE0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNDY4OiAtNTI0Mjg4ID4+IDE0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAxNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzQ2OTogLTEwNDg1NzYgPj4gMTQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE0KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM0NzA6IC0yMDk3MTUyID4+IDE0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTQpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE0ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzQ3MTogLTQxOTQzMDQgPj4gMTQgPT09IC0yNTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTQgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiAtODM4ODYwOCA+PiAxNCA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE0KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTQgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzQ3MzogLTE2Nzc3MjE2ID4+IDE0ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE0ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM0NzQ6IC0zMzU1NDQzMiA+PiAxNCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTQpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiAtNjcxMDg4NjQgPj4gMTQgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE0KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE0ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM0NzY6IC0xMzQyMTc3MjggPj4gMTQgPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNCAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzQ3NzogLTI2ODQzNTQ1NiA+PiAxNCA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNCAhPT0gLTMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogLTUzNjg3MDkxMiA+PiAxNCA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAxNCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMTQgIT09IC02NTUzNikgeyAKICAkRVJST1IoJyM0Nzk6IC0xMDczNzQxODI0ID4+IDE0ID09PSAtNjU1MzYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxNCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTQgIT09IC0xMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDgwOiAtMjE0NzQ4MzY0OCA+PiAxNCA9PT0gLTEzMTA3Mi4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE0KSk7IAp9IAoKCmlmICgtMSA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDgxOiAtMSA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxNSkpOyAKfSAKCgppZiAoLTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4MjogLTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTUpKTsgCn0gCgoKaWYgKC00ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODM6IC00ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE1KSk7IAp9IAoKCmlmICgtOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg0OiAtOCA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxNSkpOyAKfSAKCgppZiAoLTE2ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0ODU6IC0xNiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTUpKTsgCn0gCgoKaWYgKC0zMiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg2OiAtMzIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE1KSk7IAp9IAoKCmlmICgtNjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4NzogLTY0ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxNSkpOyAKfSAKCgppZiAoLTEyOCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDg4OiAtMTI4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTUpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ4OTogLTI1NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE1KSk7IAp9IAoKCmlmICgtNTEyID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTA6IC01MTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxNSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5MTogLTEwMjQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OTI6IC0yMDQ4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE1KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDkzOiAtNDA5NiA+PiAxNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxNSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NDogLTgxOTIgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNDk1OiAtMTYzODQgPj4gMTUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE1KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTUgIT09IC0xKSB7IAogICRFUlJPUignIzQ5NjogLTMyNzY4ID4+IDE1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxNSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE1ICE9PSAtMikgeyAKICAkRVJST1IoJyM0OTc6IC02NTUzNiA+PiAxNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTUgIT09IC00KSB7IAogICRFUlJPUignIzQ5ODogLTEzMTA3MiA+PiAxNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE1KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM0OTk6IC0yNjIxNDQgPj4gMTUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxNSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzUwMDogLTUyNDI4OCA+PiAxNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTUgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MDE6IC0xMDQ4NTc2ID4+IDE1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTUgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MDI6IC0yMDk3MTUyID4+IDE1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTUgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTAzOiAtNDE5NDMwNCA+PiAxNSA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDE1KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAxNSAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM1MDQ6IC04Mzg4NjA4ID4+IDE1ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNSAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1MDU6IC0xNjc3NzIxNiA+PiAxNSA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE1ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1MDY6IC0zMzU1NDQzMiA+PiAxNSA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMTUpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAxNSAhPT0gLTIwNDgpIHsgCiAgJEVSUk9SKCcjNTA3OiAtNjcxMDg4NjQgPj4gMTUgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE1KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE1ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IC0xMzQyMTc3MjggPj4gMTUgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxNSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxNSAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTA5OiAtMjY4NDM1NDU2ID4+IDE1ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTUpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTUgIT09IC0xNjM4NCkgeyAKICAkRVJST1IoJyM1MTA6IC01MzY4NzA5MTIgPj4gMTUgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTUpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE1ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAtMTA3Mzc0MTgyNCA+PiAxNSA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTUpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE1ICE9PSAtNjU1MzYpIHsgCiAgJEVSUk9SKCcjNTEyOiAtMjE0NzQ4MzY0OCA+PiAxNSA9PT0gLTY1NTM2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTUpKTsgCn0gIAoK","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = -2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKC0xID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTM6IC0xID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE2KSk7IAp9IAoKCmlmICgtMiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE0OiAtMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNikpOyAKfSAKCgppZiAoLTQgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNTogLTQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTYpKTsgCn0gCgoKaWYgKC04ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTY6IC04ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE2KSk7IAp9IAoKCmlmICgtMTYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUxNzogLTE2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNikpOyAKfSAKCgppZiAoLTMyID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MTg6IC0zMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTYpKTsgCn0gCgoKaWYgKC02NCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTE5OiAtNjQgPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE2KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjA6IC0xMjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNikpOyAKfSAKCgppZiAoLTI1NiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIxOiAtMjU2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTYpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyMjogLTUxMiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE2KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTIzOiAtMTAyNCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNikpOyAKfSAKCgppZiAoLTIwNDggPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyNDogLTIwNDggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTYpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1MjU6IC00MDk2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE2KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI2OiAtODE5MiA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Mjc6IC0xNjM4NCA+PiAxNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTI4OiAtMzI3NjggPj4gMTYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE2KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTYgIT09IC0xKSB7IAogICRFUlJPUignIzUyOTogLTY1NTM2ID4+IDE2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTMwOiAtMTMxMDcyID4+IDE2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTYpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTYgIT09IC00KSB7IAogICRFUlJPUignIzUzMTogLTI2MjE0NCA+PiAxNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE2KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM1MzI6IC01MjQyODggPj4gMTYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTYgIT09IC0xNikgeyAKICAkRVJST1IoJyM1MzM6IC0xMDQ4NTc2ID4+IDE2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAxNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMTYgIT09IC0zMikgeyAKICAkRVJST1IoJyM1MzQ6IC0yMDk3MTUyID4+IDE2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxNikpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTYgIT09IC02NCkgeyAKICAkRVJST1IoJyM1MzU6IC00MTk0MzA0ID4+IDE2ID09PSAtNjQuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxNikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTYgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNTM2OiAtODM4ODYwOCA+PiAxNiA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDE2KSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMTYgIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAtMTY3NzcyMTYgPj4gMTYgPT09IC0yNTYuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMTYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAxNiAhPT0gLTUxMikgeyAKICAkRVJST1IoJyM1Mzg6IC0zMzU1NDQzMiA+PiAxNiA9PT0gLTUxMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxNikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE2ICE9PSAtMTAyNCkgeyAKICAkRVJST1IoJyM1Mzk6IC02NzEwODg2NCA+PiAxNiA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTYgIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzU0MDogLTEzNDIxNzcyOCA+PiAxNiA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE2KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE2ICE9PSAtNDA5NikgeyAKICAkRVJST1IoJyM1NDE6IC0yNjg0MzU0NTYgPj4gMTYgPT09IC00MDk2LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNiAhPT0gLTgxOTIpIHsgCiAgJEVSUk9SKCcjNTQyOiAtNTM2ODcwOTEyID4+IDE2ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTYpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE2ICE9PSAtMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAtMTA3Mzc0MTgyNCA+PiAxNiA9PT0gLTE2Mzg0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMTYpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDE2ICE9PSAtMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTQ0OiAtMjE0NzQ4MzY0OCA+PiAxNiA9PT0gLTMyNzY4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTYpKTsgCn0gCgoKaWYgKC0xID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDU6IC0xID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE3KSk7IAp9IAoKCmlmICgtMiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTQ2OiAtMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxNykpOyAKfSAKCgppZiAoLTQgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0NzogLTQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTcpKTsgCn0gCgoKaWYgKC04ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NDg6IC04ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE3KSk7IAp9IAoKCmlmICgtMTYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU0OTogLTE2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxNykpOyAKfSAKCgppZiAoLTMyID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTA6IC0zMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTcpKTsgCn0gCgoKaWYgKC02NCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUxOiAtNjQgPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE3KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTI6IC0xMjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxNykpOyAKfSAKCgppZiAoLTI1NiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTUzOiAtMjU2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTcpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NDogLTUxMiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE3KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU1OiAtMTAyNCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxNykpOyAKfSAKCgppZiAoLTIwNDggPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU1NjogLTIwNDggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTcpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTc6IC00MDk2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE3KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTU4OiAtODE5MiA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxNykpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1NTk6IC0xNjM4NCA+PiAxNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTcpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYwOiAtMzI3NjggPj4gMTcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE3KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTcgIT09IC0xKSB7IAogICRFUlJPUignIzU2MTogLTY1NTM2ID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxNykpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTYyOiAtMTMxMDcyID4+IDE3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTcpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTcgIT09IC0yKSB7IAogICRFUlJPUignIzU2MzogLTI2MjE0NCA+PiAxNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE3KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1NjQ6IC01MjQyODggPj4gMTcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxNykpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTcgIT09IC04KSB7IAogICRFUlJPUignIzU2NTogLTEwNDg1NzYgPj4gMTcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTcpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNTY2OiAtMjA5NzE1MiA+PiAxNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMTcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDE3ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiAtNDE5NDMwNCA+PiAxNyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMTcpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDE3ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNTY4OiAtODM4ODYwOCA+PiAxNyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMTcpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAxNyAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM1Njk6IC0xNjc3NzIxNiA+PiAxNyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxNykpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE3ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzU3MDogLTMzNTU0NDMyID4+IDE3ID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTcgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNTcxOiAtNjcxMDg4NjQgPj4gMTcgPT09IC01MTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTcgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzU3MjogLTEzNDIxNzcyOCA+PiAxNyA9PT0gLTEwMjQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDE3KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDE3ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IC0yNjg0MzU0NTYgPj4gMTcgPT09IC0yMDQ4LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxNykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxNyAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNTc0OiAtNTM2ODcwOTEyID4+IDE3ID09PSAtNDA5Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTcpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE3ICE9PSAtODE5MikgeyAKICAkRVJST1IoJyM1NzU6IC0xMDczNzQxODI0ID4+IDE3ID09PSAtODE5Mi4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE3KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxNyAhPT0gLTE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogLTIxNDc0ODM2NDggPj4gMTcgPT09IC0xNjM4NC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDE3KSk7IAp9IAoKCmlmICgtMSA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTc3OiAtMSA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAxOCkpOyAKfSAKCgppZiAoLTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU3ODogLTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMTgpKTsgCn0gCgoKaWYgKC00ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1Nzk6IC00ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDE4KSk7IAp9IAoKCmlmICgtOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgwOiAtOCA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODE6IC0xNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMTgpKTsgCn0gCgoKaWYgKC0zMiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTgyOiAtMzIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4MzogLTY0ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAxOCkpOyAKfSAKCgppZiAoLTEyOCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg0OiAtMTI4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMTgpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NTogLTI1NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDE4KSk7IAp9IAoKCmlmICgtNTEyID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODY6IC01MTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAxOCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU4NzogLTEwMjQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1ODg6IC0yMDQ4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDE4KSk7IAp9IAoKCmlmICgtNDA5NiA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTg5OiAtNDA5NiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAxOCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MDogLTgxOTIgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMTgpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAxOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNTkxOiAtMTYzODQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDE4KSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5MjogLTMyNzY4ID4+IDE4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAxOCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTM6IC02NTUzNiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMTggIT09IC0xKSB7IAogICRFUlJPUignIzU5NDogLTEzMTA3MiA+PiAxOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDE4KSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDE4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM1OTU6IC0yNjIxNDQgPj4gMTggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAxOCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAxOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjNTk2OiAtNTI0Mjg4ID4+IDE4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMTgpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDE4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM1OTc6IC0xMDQ4NTc2ID4+IDE4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDE4KSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAxOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNTk4OiAtMjA5NzE1MiA+PiAxOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAxOCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMTggIT09IC0xNikgeyAKICAkRVJST1IoJyM1OTk6IC00MTk0MzA0ID4+IDE4ID09PSAtMTYuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTggIT09IC0zMikgeyAKICAkRVJST1IoJyM2MDA6IC04Mzg4NjA4ID4+IDE4ID09PSAtMzIuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE4ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjAxOiAtMTY3NzcyMTYgPj4gMTggPT09IC02NC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE4ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYwMjogLTMzNTU0NDMyID4+IDE4ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDE4KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMTggIT09IC0yNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiAtNjcxMDg4NjQgPj4gMTggPT09IC0yNTYuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMTgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMTggIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjA0OiAtMTM0MjE3NzI4ID4+IDE4ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAxOCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAxOCAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjA1OiAtMjY4NDM1NDU2ID4+IDE4ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMTgpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMTggIT09IC0yMDQ4KSB7IAogICRFUlJPUignIzYwNjogLTUzNjg3MDkxMiA+PiAxOCA9PT0gLTIwNDguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDE4KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAxOCAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjA3OiAtMTA3Mzc0MTgyNCA+PiAxOCA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAxOCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMTggIT09IC04MTkyKSB7IAogICRFUlJPUignIzYwODogLTIxNDc0ODM2NDggPj4gMTggPT09IC04MTkyLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMTgpKTsgCn0gCgoKaWYgKC0xID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MDk6IC0xID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDE5KSk7IAp9IAoKCmlmICgtMiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjEwOiAtMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAxOSkpOyAKfSAKCgppZiAoLTQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMTogLTQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMTkpKTsgCn0gCgoKaWYgKC04ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTI6IC04ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDE5KSk7IAp9IAoKCmlmICgtMTYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxMzogLTE2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMyID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTQ6IC0zMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMTkpKTsgCn0gCgoKaWYgKC02NCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE1OiAtNjQgPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTI4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MTY6IC0xMjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAxOSkpOyAKfSAKCgppZiAoLTI1NiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE3OiAtMjU2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMTkpKTsgCn0gCgoKaWYgKC01MTIgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYxODogLTUxMiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDE5KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjE5OiAtMTAyNCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAxOSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyMDogLTIwNDggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMTkpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjE6IC00MDk2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDE5KSk7IAp9IAoKCmlmICgtODE5MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAtODE5MiA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2MjM6IC0xNjM4NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMTkpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI0OiAtMzI3NjggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDE5KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNTogLTY1NTM2ID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAxOSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAxOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjI2OiAtMTMxMDcyID4+IDE5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMTkgIT09IC0xKSB7IAogICRFUlJPUignIzYyNzogLTI2MjE0NCA+PiAxOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDE5KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDE5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Mjg6IC01MjQyODggPj4gMTkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMTkgIT09IC0yKSB7IAogICRFUlJPUignIzYyOTogLTEwNDg1NzYgPj4gMTkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMTkpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDE5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM2MzA6IC0yMDk3MTUyID4+IDE5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDE5KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAxOSAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjMxOiAtNDE5NDMwNCA+PiAxOSA9PT0gLTguIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAxOSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMTkgIT09IC0xNikgeyAKICAkRVJST1IoJyM2MzI6IC04Mzg4NjA4ID4+IDE5ID09PSAtMTYuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAxOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDE5ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAtMTY3NzcyMTYgPj4gMTkgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAxOSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDE5ICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjM0OiAtMzM1NTQ0MzIgPj4gMTkgPT09IC02NC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAxOSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDE5ICE9PSAtMTI4KSB7IAogICRFUlJPUignIzYzNTogLTY3MTA4ODY0ID4+IDE5ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDE5KSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDE5ICE9PSAtMjU2KSB7IAogICRFUlJPUignIzYzNjogLTEzNDIxNzcyOCA+PiAxOSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMTkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMTkgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjM3OiAtMjY4NDM1NDU2ID4+IDE5ID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAxOSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAxOSAhPT0gLTEwMjQpIHsgCiAgJEVSUk9SKCcjNjM4OiAtNTM2ODcwOTEyID4+IDE5ID09PSAtMTAyNC4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMTkpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDE5ICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IC0xMDczNzQxODI0ID4+IDE5ID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDE5KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAxOSAhPT0gLTQwOTYpIHsgCiAgJEVSUk9SKCcjNjQwOiAtMjE0NzQ4MzY0OCA+PiAxOSA9PT0gLTQwOTYuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAxOSkpOyAKfSAKCgppZiAoLTEgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0MTogLTEgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjApKTsgCn0gCgoKaWYgKC0yID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDI6IC0yID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIwKSk7IAp9IAoKCmlmICgtNCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQzOiAtNCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMCkpOyAKfSAKCgppZiAoLTggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NDogLTggPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjApKTsgCn0gCgoKaWYgKC0xNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjQ1OiAtMTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIwKSk7IAp9IAoKCmlmICgtMzIgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0NjogLTMyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDc6IC02NCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjApKTsgCn0gCgoKaWYgKC0xMjggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY0ODogLTEyOCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NDk6IC0yNTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMCkpOyAKfSAKCgppZiAoLTUxMiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUwOiAtNTEyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjApKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTE6IC0xMDI0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIwKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjUyOiAtMjA0OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMCkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1MzogLTQwOTYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjApKTsgCn0gCgoKaWYgKC04MTkyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTQ6IC04MTkyID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIwKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY1NTogLTE2Mzg0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMCkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTY6IC0zMjc2OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjApKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU3OiAtNjU1MzYgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIwKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIwICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NTg6IC0xMzEwNzIgPj4gMjAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMCkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjU5OiAtMjYyMTQ0ID4+IDIwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjApKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjAgIT09IC0xKSB7IAogICRFUlJPUignIzY2MDogLTUyNDI4OCA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIwKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjYxOiAtMTA0ODU3NiA+PiAyMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMCkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjAgIT09IC0yKSB7IAogICRFUlJPUignIzY2MjogLTIwOTcxNTIgPj4gMjAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjApKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIwICE9PSAtNCkgeyAKICAkRVJST1IoJyM2NjM6IC00MTk0MzA0ID4+IDIwID09PSAtNC4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIwKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjNjY0OiAtODM4ODYwOCA+PiAyMCA9PT0gLTguIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMCkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIwICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjY1OiAtMTY3NzcyMTYgPj4gMjAgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIwICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAtMzM1NTQ0MzIgPj4gMjAgPT09IC0zMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIwICE9PSAtNjQpIHsgCiAgJEVSUk9SKCcjNjY3OiAtNjcxMDg4NjQgPj4gMjAgPT09IC02NC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMCkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM2Njg6IC0xMzQyMTc3MjggPj4gMjAgPT09IC0xMjguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDIwKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDIwICE9PSAtMjU2KSB7IAogICRFUlJPUignIzY2OTogLTI2ODQzNTQ1NiA+PiAyMCA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMjApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMjAgIT09IC01MTIpIHsgCiAgJEVSUk9SKCcjNjcwOiAtNTM2ODcwOTEyID4+IDIwID09PSAtNTEyLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMCkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjAgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzY3MTogLTEwNzM3NDE4MjQgPj4gMjAgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjApKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIwICE9PSAtMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IC0yMTQ3NDgzNjQ4ID4+IDIwID09PSAtMjA0OC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDIwKSk7IAp9IAoKCmlmICgtMSA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjczOiAtMSA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAyMSkpOyAKfSAKCgppZiAoLTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3NDogLTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMjEpKTsgCn0gCgoKaWYgKC00ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2NzU6IC00ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDIxKSk7IAp9IAoKCmlmICgtOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc2OiAtOCA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAyMSkpOyAKfSAKCgppZiAoLTE2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2Nzc6IC0xNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMjEpKTsgCn0gCgoKaWYgKC0zMiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjc4OiAtMzIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDIxKSk7IAp9IAoKCmlmICgtNjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY3OTogLTY0ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEyOCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjgwOiAtMTI4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMjEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MTogLTI1NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTEyID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODI6IC01MTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAyMSkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4MzogLTEwMjQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMjEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODQ6IC0yMDQ4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDIxKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg1OiAtNDA5NiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAyMSkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4NjogLTgxOTIgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjg3OiAtMTYzODQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDIxKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY4ODogLTMyNzY4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAyMSkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2ODk6IC02NTUzNiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMjEgIT09IC0xKSB7IAogICRFUlJPUignIzY5MDogLTEzMTA3MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDIxKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTE6IC0yNjIxNDQgPj4gMjEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAyMSkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjkyOiAtNTI0Mjg4ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDIxICE9PSAtMSkgeyAKICAkRVJST1IoJyM2OTM6IC0xMDQ4NTc2ID4+IDIxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDIxKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAyMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNjk0OiAtMjA5NzE1MiA+PiAyMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAyMSkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMjEgIT09IC0yKSB7IAogICRFUlJPUignIzY5NTogLTQxOTQzMDQgPj4gMjEgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMjEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDIxICE9PSAtNCkgeyAKICAkRVJST1IoJyM2OTY6IC04Mzg4NjA4ID4+IDIxID09PSAtNC4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDIxKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMjEgIT09IC04KSB7IAogICRFUlJPUignIzY5NzogLTE2Nzc3MjE2ID4+IDIxID09PSAtOC4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAyMSkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDIxICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNjk4OiAtMzM1NTQ0MzIgPj4gMjEgPT09IC0xNi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIxICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiAtNjcxMDg4NjQgPj4gMjEgPT09IC0zMi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMSAhPT0gLTY0KSB7IAogICRFUlJPUignIzcwMDogLTEzNDIxNzcyOCA+PiAyMSA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMSkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMSAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MDE6IC0yNjg0MzU0NTYgPj4gMjEgPT09IC0xMjguIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDIxKSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDIxICE9PSAtMjU2KSB7IAogICRFUlJPUignIzcwMjogLTUzNjg3MDkxMiA+PiAyMSA9PT0gLTI1Ni4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjEpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDIxICE9PSAtNTEyKSB7IAogICRFUlJPUignIzcwMzogLTEwNzM3NDE4MjQgPj4gMjEgPT09IC01MTIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyMSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjEgIT09IC0xMDI0KSB7IAogICRFUlJPUignIzcwNDogLTIxNDc0ODM2NDggPj4gMjEgPT09IC0xMDI0LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjEpKTsgCn0gCgoKaWYgKC0xID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDU6IC0xID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDIyKSk7IAp9IAoKCmlmICgtMiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzA2OiAtMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyMikpOyAKfSAKCgppZiAoLTQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwNzogLTQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjIpKTsgCn0gCgoKaWYgKC04ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MDg6IC04ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDIyKSk7IAp9IAoKCmlmICgtMTYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcwOTogLTE2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyMikpOyAKfSAKCgppZiAoLTMyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTA6IC0zMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjIpKTsgCn0gCgoKaWYgKC02NCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzExOiAtNjQgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDIyKSk7IAp9IAoKCmlmICgtMTI4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTI6IC0xMjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI1NiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzEzOiAtMjU2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjIpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNDogLTUxMiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE1OiAtMTAyNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyMikpOyAKfSAKCgppZiAoLTIwNDggPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcxNjogLTIwNDggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjIpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTc6IC00MDk2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDIyKSk7IAp9IAoKCmlmICgtODE5MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzE4OiAtODE5MiA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyMikpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MTk6IC0xNjM4NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjIpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIwOiAtMzI3NjggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDIyKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMTogLTY1NTM2ID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyMikpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzIyOiAtMTMxMDcyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjIpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyMzogLTI2MjE0NCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDIyKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjQ6IC01MjQyODggPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyMikpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjIgIT09IC0xKSB7IAogICRFUlJPUignIzcyNTogLTEwNDg1NzYgPj4gMjIgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDIyICE9PSAtMSkgeyAKICAkRVJST1IoJyM3MjY6IC0yMDk3MTUyID4+IDIyID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDIyKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyMiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzI3OiAtNDE5NDMwNCA+PiAyMiA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyMikpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjIgIT09IC0yKSB7IAogICRFUlJPUignIzcyODogLTgzODg2MDggPj4gMjIgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjIpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyMiAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzI5OiAtMTY3NzcyMTYgPj4gMjIgPT09IC00LiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDIyKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjIgIT09IC04KSB7IAogICRFUlJPUignIzczMDogLTMzNTU0NDMyID4+IDIyID09PSAtOC4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyMikpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDIyICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzMxOiAtNjcxMDg4NjQgPj4gMjIgPT09IC0xNi4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMiAhPT0gLTMyKSB7IAogICRFUlJPUignIzczMjogLTEzNDIxNzcyOCA+PiAyMiA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMikpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMiAhPT0gLTY0KSB7IAogICRFUlJPUignIzczMzogLTI2ODQzNTQ1NiA+PiAyMiA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMikpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMiAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM3MzQ6IC01MzY4NzA5MTIgPj4gMjIgPT09IC0xMjguIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDIyKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyMiAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3MzU6IC0xMDczNzQxODI0ID4+IDIyID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjIpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDIyICE9PSAtNTEyKSB7IAogICRFUlJPUignIzczNjogLTIxNDc0ODM2NDggPj4gMjIgPT09IC01MTIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyMikpOyAKfSAKCgppZiAoLTEgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzczNzogLTEgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjMpKTsgCn0gCgoKaWYgKC0yID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Mzg6IC0yID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDIzKSk7IAp9IAoKCmlmICgtNCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzM5OiAtNCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyMykpOyAKfSAKCgppZiAoLTggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MDogLTggPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjMpKTsgCn0gCgoKaWYgKC0xNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQxOiAtMTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDIzKSk7IAp9IAoKCmlmICgtMzIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0MjogLTMyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyMykpOyAKfSAKCgppZiAoLTY0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDM6IC02NCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0NDogLTEyOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDIzKSk7IAp9IAoKCmlmICgtMjU2ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDU6IC0yNTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUxMiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ2OiAtNTEyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjMpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NDc6IC0xMDI0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzQ4OiAtMjA0OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyMykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc0OTogLTQwOTYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjMpKTsgCn0gCgoKaWYgKC04MTkyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTA6IC04MTkyID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDIzKSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1MTogLTE2Mzg0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyMykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTI6IC0zMjc2OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjMpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzUzOiAtNjU1MzYgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDIzKSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTQ6IC0xMzEwNzIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyMykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU1OiAtMjYyMTQ0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjMpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1NjogLTUyNDI4OCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDIzKSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzU3OiAtMTA0ODU3NiA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyMykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjMgIT09IC0xKSB7IAogICRFUlJPUignIzc1ODogLTIwOTcxNTIgPj4gMjMgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjMpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDIzICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NTk6IC00MTk0MzA0ID4+IDIzID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDIzKSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyMyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzYwOiAtODM4ODYwOCA+PiAyMyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyMykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDIzICE9PSAtMikgeyAKICAkRVJST1IoJyM3NjE6IC0xNjc3NzIxNiA+PiAyMyA9PT0gLTIuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjMpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyMyAhPT0gLTQpIHsgCiAgJEVSUk9SKCcjNzYyOiAtMzM1NTQ0MzIgPj4gMjMgPT09IC00LiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDIzKSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjMgIT09IC04KSB7IAogICRFUlJPUignIzc2MzogLTY3MTA4ODY0ID4+IDIzID09PSAtOC4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyMykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyMyAhPT0gLTE2KSB7IAogICRFUlJPUignIzc2NDogLTEzNDIxNzcyOCA+PiAyMyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAyMykpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAyMyAhPT0gLTMyKSB7IAogICRFUlJPUignIzc2NTogLTI2ODQzNTQ1NiA+PiAyMyA9PT0gLTMyLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyMykpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyMyAhPT0gLTY0KSB7IAogICRFUlJPUignIzc2NjogLTUzNjg3MDkxMiA+PiAyMyA9PT0gLTY0LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyMykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjMgIT09IC0xMjgpIHsgCiAgJEVSUk9SKCcjNzY3OiAtMTA3Mzc0MTgyNCA+PiAyMyA9PT0gLTEyOC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDIzKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyMyAhPT0gLTI1NikgeyAKICAkRVJST1IoJyM3Njg6IC0yMTQ3NDgzNjQ4ID4+IDIzID09PSAtMjU2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjMpKTsgCn0gCgoKaWYgKC0xID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3Njk6IC0xID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI0KSk7IAp9IAoKCmlmICgtMiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzcwOiAtMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNCkpOyAKfSAKCgppZiAoLTQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MTogLTQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjQpKTsgCn0gCgoKaWYgKC04ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzI6IC04ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI0KSk7IAp9IAoKCmlmICgtMTYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3MzogLTE2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNCkpOyAKfSAKCgppZiAoLTMyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzQ6IC0zMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjQpKTsgCn0gCgoKaWYgKC02NCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc1OiAtNjQgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI0KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3NzY6IC0xMjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc3OiAtMjU2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjQpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc3ODogLTUxMiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzc5OiAtMTAyNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4MDogLTIwNDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjQpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODE6IC00MDk2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI0KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzgyOiAtODE5MiA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODM6IC0xNjM4NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjQpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg0OiAtMzI3NjggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI0KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NTogLTY1NTM2ID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzg2OiAtMTMxMDcyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjQpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4NzogLTI2MjE0NCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI0KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3ODg6IC01MjQyODggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc4OTogLTEwNDg1NzYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjQpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI0ICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OTA6IC0yMDk3MTUyID4+IDI0ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI0KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkxOiAtNDE5NDMwNCA+PiAyNCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjQgIT09IC0xKSB7IAogICRFUlJPUignIzc5MjogLTgzODg2MDggPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjNzkzOiAtMTY3NzcyMTYgPj4gMjQgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI0KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjQgIT09IC0yKSB7IAogICRFUlJPUignIzc5NDogLTMzNTU0NDMyID4+IDI0ID09PSAtMi4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI0ICE9PSAtNCkgeyAKICAkRVJST1IoJyM3OTU6IC02NzEwODg2NCA+PiAyNCA9PT0gLTQuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjQpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjQgIT09IC04KSB7IAogICRFUlJPUignIzc5NjogLTEzNDIxNzcyOCA+PiAyNCA9PT0gLTguIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI0KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI0ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjNzk3OiAtMjY4NDM1NDU2ID4+IDI0ID09PSAtMTYuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI0KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI0ICE9PSAtMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiAtNTM2ODcwOTEyID4+IDI0ID09PSAtMzIuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDI0KSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAyNCAhPT0gLTY0KSB7IAogICRFUlJPUignIzc5OTogLTEwNzM3NDE4MjQgPj4gMjQgPT09IC02NC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI0KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyNCAhPT0gLTEyOCkgeyAKICAkRVJST1IoJyM4MDA6IC0yMTQ3NDgzNjQ4ID4+IDI0ID09PSAtMTI4LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjQpKTsgCn0gCgoKaWYgKC0xID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDE6IC0xID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI1KSk7IAp9IAoKCmlmICgtMiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODAyOiAtMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyNSkpOyAKfSAKCgppZiAoLTQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwMzogLTQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjUpKTsgCn0gCgoKaWYgKC04ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDQ6IC04ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI1KSk7IAp9IAoKCmlmICgtMTYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgwNTogLTE2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyNSkpOyAKfSAKCgppZiAoLTMyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDY6IC0zMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjUpKTsgCn0gCgoKaWYgKC02NCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA3OiAtNjQgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI1KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MDg6IC0xMjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyNSkpOyAKfSAKCgppZiAoLTI1NiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODA5OiAtMjU2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjUpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMDogLTUxMiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI1KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODExOiAtMTAyNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxMjogLTIwNDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjUpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTM6IC00MDk2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI1KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE0OiAtODE5MiA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyNSkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MTU6IC0xNjM4NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjUpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE2OiAtMzI3NjggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI1KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxNzogLTY1NTM2ID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyNSkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODE4OiAtMTMxMDcyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjUpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgxOTogLTI2MjE0NCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI1KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjA6IC01MjQyODggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyMTogLTEwNDg1NzYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjUpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI1ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MjI6IC0yMDk3MTUyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI1KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODIzOiAtNDE5NDMwNCA+PiAyNSA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyNSkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNDogLTgzODg2MDggPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjUpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyNSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODI1OiAtMTY3NzcyMTYgPj4gMjUgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI1KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjUgIT09IC0xKSB7IAogICRFUlJPUignIzgyNjogLTMzNTU0NDMyID4+IDI1ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyNSkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI1ICE9PSAtMikgeyAKICAkRVJST1IoJyM4Mjc6IC02NzEwODg2NCA+PiAyNSA9PT0gLTIuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjUpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjUgIT09IC00KSB7IAogICRFUlJPUignIzgyODogLTEzNDIxNzcyOCA+PiAyNSA9PT0gLTQuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI1KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI1ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4Mjk6IC0yNjg0MzU0NTYgPj4gMjUgPT09IC04LiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyNSkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyNSAhPT0gLTE2KSB7IAogICRFUlJPUignIzgzMDogLTUzNjg3MDkxMiA+PiAyNSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjUgIT09IC0zMikgeyAKICAkRVJST1IoJyM4MzE6IC0xMDczNzQxODI0ID4+IDI1ID09PSAtMzIuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNSkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjUgIT09IC02NCkgeyAKICAkRVJST1IoJyM4MzI6IC0yMTQ3NDgzNjQ4ID4+IDI1ID09PSAtNjQuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNSkpOyAKfSAKCgppZiAoLTEgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzMzogLTEgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjYpKTsgCn0gCgoKaWYgKC0yID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4MzQ6IC0yID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI2KSk7IAp9IAoKCmlmICgtNCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM1OiAtNCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNikpOyAKfSAKCgppZiAoLTggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzNjogLTggPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjYpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODM3OiAtMTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI2KSk7IAp9IAoKCmlmICgtMzIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzgzODogLTMyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNikpOyAKfSAKCgppZiAoLTY0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Mzk6IC02NCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0MDogLTEyOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI2KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDE6IC0yNTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNikpOyAKfSAKCgppZiAoLTUxMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQyOiAtNTEyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjYpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDM6IC0xMDI0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI2KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ0OiAtMjA0OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNikpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NTogLTQwOTYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjYpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDY6IC04MTkyID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI2KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg0NzogLTE2Mzg0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNikpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NDg6IC0zMjc2OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjYpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODQ5OiAtNjU1MzYgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI2KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTA6IC0xMzEwNzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNikpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUxOiAtMjYyMTQ0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjYpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1MjogLTUyNDI4OCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI2KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODUzOiAtMTA0ODU3NiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNikpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1NDogLTIwOTcxNTIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjYpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTU6IC00MTk0MzA0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI2KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU2OiAtODM4ODYwOCA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNikpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI2ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NTc6IC0xNjc3NzIxNiA+PiAyNiA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjYpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNiAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODU4OiAtMzM1NTQ0MzIgPj4gMjYgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI2KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjYgIT09IC0xKSB7IAogICRFUlJPUignIzg1OTogLTY3MTA4ODY0ID4+IDI2ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNikpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNiAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjODYwOiAtMTM0MjE3NzI4ID4+IDI2ID09PSAtMi4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjYpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjYgIT09IC00KSB7IAogICRFUlJPUignIzg2MTogLTI2ODQzNTQ1NiA+PiAyNiA9PT0gLTQuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI2KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI2ICE9PSAtOCkgeyAKICAkRVJST1IoJyM4NjI6IC01MzY4NzA5MTIgPj4gMjYgPT09IC04LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNikpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjYgIT09IC0xNikgeyAKICAkRVJST1IoJyM4NjM6IC0xMDczNzQxODI0ID4+IDI2ID09PSAtMTYuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAyNikpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMjYgIT09IC0zMikgeyAKICAkRVJST1IoJyM4NjQ6IC0yMTQ3NDgzNjQ4ID4+IDI2ID09PSAtMzIuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyNikpOyAKfSAKCgppZiAoLTEgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2NTogLTEgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjcpKTsgCn0gCgoKaWYgKC0yID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NjY6IC0yID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI3KSk7IAp9IAoKCmlmICgtNCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY3OiAtNCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyNykpOyAKfSAKCgppZiAoLTggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg2ODogLTggPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjcpKTsgCn0gCgoKaWYgKC0xNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODY5OiAtMTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI3KSk7IAp9IAoKCmlmICgtMzIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MDogLTMyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyNykpOyAKfSAKCgppZiAoLTY0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzE6IC02NCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3MjogLTEyOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI3KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzM6IC0yNTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyNykpOyAKfSAKCgppZiAoLTUxMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc0OiAtNTEyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjcpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4NzU6IC0xMDI0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI3KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODc2OiAtMjA0OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyNykpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3NzogLTQwOTYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjcpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4Nzg6IC04MTkyID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI3KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg3OTogLTE2Mzg0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyNykpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODA6IC0zMjc2OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjcpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgxOiAtNjU1MzYgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI3KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODI6IC0xMzEwNzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyNykpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODgzOiAtMjYyMTQ0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjcpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NDogLTUyNDI4OCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI3KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg1OiAtMTA0ODU3NiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyNykpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg4NjogLTIwOTcxNTIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjcpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODc6IC00MTk0MzA0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI3KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODg4OiAtODM4ODYwOCA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyNykpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI3ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4ODk6IC0xNjc3NzIxNiA+PiAyNyA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjcpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkwOiAtMzM1NTQ0MzIgPj4gMjcgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI3KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjcgIT09IC0xKSB7IAogICRFUlJPUignIzg5MTogLTY3MTA4ODY0ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyNykpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyNyAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODkyOiAtMTM0MjE3NzI4ID4+IDI3ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjcpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjcgIT09IC0yKSB7IAogICRFUlJPUignIzg5MzogLTI2ODQzNTQ1NiA+PiAyNyA9PT0gLTIuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI3KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI3ICE9PSAtNCkgeyAKICAkRVJST1IoJyM4OTQ6IC01MzY4NzA5MTIgPj4gMjcgPT09IC00LiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyNykpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjcgIT09IC04KSB7IAogICRFUlJPUignIzg5NTogLTEwNzM3NDE4MjQgPj4gMjcgPT09IC04LiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjcpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI3ICE9PSAtMTYpIHsgCiAgJEVSUk9SKCcjODk2OiAtMjE0NzQ4MzY0OCA+PiAyNyA9PT0gLTE2LiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMjcpKTsgCn0gCgoKaWYgKC0xID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM4OTc6IC0xID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDI4KSk7IAp9IAoKCmlmICgtMiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjODk4OiAtMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAyOCkpOyAKfSAKCgppZiAoLTQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzg5OTogLTQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMjgpKTsgCn0gCgoKaWYgKC04ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDA6IC04ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDI4KSk7IAp9IAoKCmlmICgtMTYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwMTogLTE2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAyOCkpOyAKfSAKCgppZiAoLTMyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDI6IC0zMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMjgpKTsgCn0gCgoKaWYgKC02NCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTAzOiAtNjQgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDI4KSk7IAp9IAoKCmlmICgtMTI4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDQ6IC0xMjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEyOCA+PiAyOCkpOyAKfSAKCgppZiAoLTI1NiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA1OiAtMjU2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNTYgPj4gMjgpKTsgCn0gCgoKaWYgKC01MTIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwNjogLTUxMiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDI4KSk7IAp9IAoKCmlmICgtMTAyNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTA3OiAtMTAyNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTAyNCA+PiAyOCkpOyAKfSAKCgppZiAoLTIwNDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkwODogLTIwNDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwNDggPj4gMjgpKTsgCn0gCgoKaWYgKC00MDk2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MDk6IC00MDk2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDI4KSk7IAp9IAoKCmlmICgtODE5MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEwOiAtODE5MiA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtODE5MiA+PiAyOCkpOyAKfSAKCgppZiAoLTE2Mzg0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTE6IC0xNjM4NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYzODQgPj4gMjgpKTsgCn0gCgoKaWYgKC0zMjc2OCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTEyOiAtMzI3NjggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDI4KSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxMzogLTY1NTM2ID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NTUzNiA+PiAyOCkpOyAKfSAKCgppZiAoLTEzMTA3MiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE0OiAtMTMxMDcyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzEwNzIgPj4gMjgpKTsgCn0gCgoKaWYgKC0yNjIxNDQgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNTogLTI2MjE0NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDI4KSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTY6IC01MjQyODggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUyNDI4OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEwNDg1NzYgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkxNzogLTEwNDg1NzYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwNDg1NzYgPj4gMjgpKTsgCn0gCgoKaWYgKC0yMDk3MTUyID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MTg6IC0yMDk3MTUyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDI4KSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTE5OiAtNDE5NDMwNCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDE5NDMwNCA+PiAyOCkpOyAKfSAKCgppZiAoLTgzODg2MDggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMDogLTgzODg2MDggPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgzODg2MDggPj4gMjgpKTsgCn0gCgoKaWYgKC0xNjc3NzIxNiA+PiAyOCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTIxOiAtMTY3NzcyMTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDI4KSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyMjogLTMzNTU0NDMyID4+IDI4ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMzU1NDQzMiA+PiAyOCkpOyAKfSAKCgppZiAoLTY3MTA4ODY0ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjM6IC02NzEwODg2NCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjcxMDg4NjQgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMzQyMTc3MjggPj4gMjggIT09IC0xKSB7IAogICRFUlJPUignIzkyNDogLTEzNDIxNzcyOCA+PiAyOCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDI4KSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDI4ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MjU6IC0yNjg0MzU0NTYgPj4gMjggPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2ODQzNTQ1NiA+PiAyOCkpOyAKfSAKCgppZiAoLTUzNjg3MDkxMiA+PiAyOCAhPT0gLTIpIHsgCiAgJEVSUk9SKCcjOTI2OiAtNTM2ODcwOTEyID4+IDI4ID09PSAtMi4gQWN0dWFsOiAnICsgKC01MzY4NzA5MTIgPj4gMjgpKTsgCn0gCgoKaWYgKC0xMDczNzQxODI0ID4+IDI4ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5Mjc6IC0xMDczNzQxODI0ID4+IDI4ID09PSAtNC4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDI4KSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAyOCAhPT0gLTgpIHsgCiAgJEVSUk9SKCcjOTI4OiAtMjE0NzQ4MzY0OCA+PiAyOCA9PT0gLTguIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OCA+PiAyOCkpOyAKfSAKCgppZiAoLTEgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkyOTogLTEgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEgPj4gMjkpKTsgCn0gCgoKaWYgKC0yID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzA6IC0yID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yID4+IDI5KSk7IAp9IAoKCmlmICgtNCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMxOiAtNCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNCA+PiAyOSkpOyAKfSAKCgppZiAoLTggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzMjogLTggPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTggPj4gMjkpKTsgCn0gCgoKaWYgKC0xNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTMzOiAtMTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2ID4+IDI5KSk7IAp9IAoKCmlmICgtMzIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNDogLTMyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMiA+PiAyOSkpOyAKfSAKCgppZiAoLTY0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5MzU6IC02NCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMjggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzkzNjogLTEyOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTI4ID4+IDI5KSk7IAp9IAoKCmlmICgtMjU2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzc6IC0yNTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAyOSkpOyAKfSAKCgppZiAoLTUxMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTM4OiAtNTEyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC01MTIgPj4gMjkpKTsgCn0gCgoKaWYgKC0xMDI0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Mzk6IC0xMDI0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDI0ID4+IDI5KSk7IAp9IAoKCmlmICgtMjA0OCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQwOiAtMjA0OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAyOSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MTogLTQwOTYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQwOTYgPj4gMjkpKTsgCn0gCgoKaWYgKC04MTkyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDI6IC04MTkyID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC04MTkyID4+IDI5KSk7IAp9IAoKCmlmICgtMTYzODQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0MzogLTE2Mzg0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAyOSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDQ6IC0zMjc2OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzI3NjggPj4gMjkpKTsgCn0gCgoKaWYgKC02NTUzNiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ1OiAtNjU1MzYgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY1NTM2ID4+IDI5KSk7IAp9IAoKCmlmICgtMTMxMDcyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NDY6IC0xMzEwNzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAyOSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ3OiAtMjYyMTQ0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjIxNDQgPj4gMjkpKTsgCn0gCgoKaWYgKC01MjQyODggPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk0ODogLTUyNDI4OCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTI0Mjg4ID4+IDI5KSk7IAp9IAoKCmlmICgtMTA0ODU3NiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTQ5OiAtMTA0ODU3NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAyOSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1MDogLTIwOTcxNTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIwOTcxNTIgPj4gMjkpKTsgCn0gCgoKaWYgKC00MTk0MzA0ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTE6IC00MTk0MzA0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC00MTk0MzA0ID4+IDI5KSk7IAp9IAoKCmlmICgtODM4ODYwOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTUyOiAtODM4ODYwOCA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAyOSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTM6IC0xNjc3NzIxNiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTY3NzcyMTYgPj4gMjkpKTsgCn0gCgoKaWYgKC0zMzU1NDQzMiA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU0OiAtMzM1NTQ0MzIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMzNTU0NDMyID4+IDI5KSk7IAp9IAoKCmlmICgtNjcxMDg4NjQgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NTogLTY3MTA4ODY0ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAyOSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAyOSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTU2OiAtMTM0MjE3NzI4ID4+IDI5ID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMzQyMTc3MjggPj4gMjkpKTsgCn0gCgoKaWYgKC0yNjg0MzU0NTYgPj4gMjkgIT09IC0xKSB7IAogICRFUlJPUignIzk1NzogLTI2ODQzNTQ1NiA+PiAyOSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjY4NDM1NDU2ID4+IDI5KSk7IAp9IAoKCmlmICgtNTM2ODcwOTEyID4+IDI5ICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NTg6IC01MzY4NzA5MTIgPj4gMjkgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAyOSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMjkgIT09IC0yKSB7IAogICRFUlJPUignIzk1OTogLTEwNzM3NDE4MjQgPj4gMjkgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTEwNzM3NDE4MjQgPj4gMjkpKTsgCn0gCgoKaWYgKC0yMTQ3NDgzNjQ4ID4+IDI5ICE9PSAtNCkgeyAKICAkRVJST1IoJyM5NjA6IC0yMTQ3NDgzNjQ4ID4+IDI5ID09PSAtNC4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ4ID4+IDI5KSk7IAp9IAoKCmlmICgtMSA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTYxOiAtMSA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMSA+PiAzMCkpOyAKfSAKCgppZiAoLTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2MjogLTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIgPj4gMzApKTsgCn0gCgoKaWYgKC00ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjM6IC00ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC00ID4+IDMwKSk7IAp9IAoKCmlmICgtOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY0OiAtOCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtOCA+PiAzMCkpOyAKfSAKCgppZiAoLTE2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NjU6IC0xNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTYgPj4gMzApKTsgCn0gCgoKaWYgKC0zMiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY2OiAtMzIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyID4+IDMwKSk7IAp9IAoKCmlmICgtNjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2NzogLTY0ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC02NCA+PiAzMCkpOyAKfSAKCgppZiAoLTEyOCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTY4OiAtMTI4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzApKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk2OTogLTI1NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjU2ID4+IDMwKSk7IAp9IAoKCmlmICgtNTEyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzA6IC01MTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUxMiA+PiAzMCkpOyAKfSAKCgppZiAoLTEwMjQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3MTogLTEwMjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzApKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5NzI6IC0yMDQ4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDQ4ID4+IDMwKSk7IAp9IAoKCmlmICgtNDA5NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTczOiAtNDA5NiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNDA5NiA+PiAzMCkpOyAKfSAKCgppZiAoLTgxOTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NDogLTgxOTIgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzApKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTc1OiAtMTYzODQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Mzg0ID4+IDMwKSk7IAp9IAoKCmlmICgtMzI3NjggPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3NjogLTMyNzY4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0zMjc2OCA+PiAzMCkpOyAKfSAKCgppZiAoLTY1NTM2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzc6IC02NTUzNiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzApKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk3ODogLTEzMTA3MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTMxMDcyID4+IDMwKSk7IAp9IAoKCmlmICgtMjYyMTQ0ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5Nzk6IC0yNjIxNDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI2MjE0NCA+PiAzMCkpOyAKfSAKCgppZiAoLTUyNDI4OCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgwOiAtNTI0Mjg4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzApKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODE6IC0xMDQ4NTc2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDQ4NTc2ID4+IDMwKSk7IAp9IAoKCmlmICgtMjA5NzE1MiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTgyOiAtMjA5NzE1MiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA5NzE1MiA+PiAzMCkpOyAKfSAKCgppZiAoLTQxOTQzMDQgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4MzogLTQxOTQzMDQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzApKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODQ6IC04Mzg4NjA4ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC04Mzg4NjA4ID4+IDMwKSk7IAp9IAoKCmlmICgtMTY3NzcyMTYgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk4NTogLTE2Nzc3MjE2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjc3NzIxNiA+PiAzMCkpOyAKfSAKCgppZiAoLTMzNTU0NDMyID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODY6IC0zMzU1NDQzMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzApKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg3OiAtNjcxMDg4NjQgPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY3MTA4ODY0ID4+IDMwKSk7IAp9IAoKCmlmICgtMTM0MjE3NzI4ID4+IDMwICE9PSAtMSkgeyAKICAkRVJST1IoJyM5ODg6IC0xMzQyMTc3MjggPj4gMzAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzNDIxNzcyOCA+PiAzMCkpOyAKfSAKCgppZiAoLTI2ODQzNTQ1NiA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTg5OiAtMjY4NDM1NDU2ID4+IDMwID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzApKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzAgIT09IC0xKSB7IAogICRFUlJPUignIzk5MDogLTUzNjg3MDkxMiA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtNTM2ODcwOTEyID4+IDMwKSk7IAp9IAoKCmlmICgtMTA3Mzc0MTgyNCA+PiAzMCAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTkxOiAtMTA3Mzc0MTgyNCA+PiAzMCA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA3Mzc0MTgyNCA+PiAzMCkpOyAKfSAKCgppZiAoLTIxNDc0ODM2NDggPj4gMzAgIT09IC0yKSB7IAogICRFUlJPUignIzk5MjogLTIxNDc0ODM2NDggPj4gMzAgPT09IC0yLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzApKTsgCn0gCgoKaWYgKC0xID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTM6IC0xID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xID4+IDMxKSk7IAp9IAoKCmlmICgtMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk0OiAtMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMiA+PiAzMSkpOyAKfSAKCgppZiAoLTQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NTogLTQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQgPj4gMzEpKTsgCn0gCgoKaWYgKC04ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTY6IC04ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC04ID4+IDMxKSk7IAp9IAoKCmlmICgtMTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzk5NzogLTE2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNiA+PiAzMSkpOyAKfSAKCgppZiAoLTMyID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyM5OTg6IC0zMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjOTk5OiAtNjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTY0ID4+IDMxKSk7IAp9IAoKCmlmICgtMTI4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDAwOiAtMTI4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMjggPj4gMzEpKTsgCn0gCgoKaWYgKC0yNTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDE6IC0yNTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTI1NiA+PiAzMSkpOyAKfSAKCgppZiAoLTUxMiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMjogLTUxMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNTEyID4+IDMxKSk7IAp9IAoKCmlmICgtMTAyNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwMzogLTEwMjQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEwMjQgPj4gMzEpKTsgCn0gCgoKaWYgKC0yMDQ4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA0OiAtMjA0OCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjA0OCA+PiAzMSkpOyAKfSAKCgppZiAoLTQwOTYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDU6IC00MDk2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC00MDk2ID4+IDMxKSk7IAp9IAoKCmlmICgtODE5MiA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNjogLTgxOTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTgxOTIgPj4gMzEpKTsgCn0gCgoKaWYgKC0xNjM4NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAwNzogLTE2Mzg0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xNjM4NCA+PiAzMSkpOyAKfSAKCgppZiAoLTMyNzY4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDA4OiAtMzI3NjggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTMyNzY4ID4+IDMxKSk7IAp9IAoKCmlmICgtNjU1MzYgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMDk6IC02NTUzNiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtNjU1MzYgPj4gMzEpKTsgCn0gCgoKaWYgKC0xMzEwNzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTA6IC0xMzEwNzIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTEzMTA3MiA+PiAzMSkpOyAKfSAKCgppZiAoLTI2MjE0NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxMTogLTI2MjE0NCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMjYyMTQ0ID4+IDMxKSk7IAp9IAoKCmlmICgtNTI0Mjg4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEyOiAtNTI0Mjg4ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC01MjQyODggPj4gMzEpKTsgCn0gCgoKaWYgKC0xMDQ4NTc2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDEzOiAtMTA0ODU3NiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTA0ODU3NiA+PiAzMSkpOyAKfSAKCgppZiAoLTIwOTcxNTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTQ6IC0yMDk3MTUyID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yMDk3MTUyID4+IDMxKSk7IAp9IAoKCmlmICgtNDE5NDMwNCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxNTogLTQxOTQzMDQgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQxOTQzMDQgPj4gMzEpKTsgCn0gCgoKaWYgKC04Mzg4NjA4ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE2OiAtODM4ODYwOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtODM4ODYwOCA+PiAzMSkpOyAKfSAKCgppZiAoLTE2Nzc3MjE2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDE3OiAtMTY3NzcyMTYgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTE2Nzc3MjE2ID4+IDMxKSk7IAp9IAoKCmlmICgtMzM1NTQ0MzIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMTg6IC0zMzU1NDQzMiA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMzM1NTQ0MzIgPj4gMzEpKTsgCn0gCgoKaWYgKC02NzEwODg2NCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAxOTogLTY3MTA4ODY0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC02NzEwODg2NCA+PiAzMSkpOyAKfSAKCgppZiAoLTEzNDIxNzcyOCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyMDogLTEzNDIxNzcyOCA+PiAzMSA9PT0gLTEuIEFjdHVhbDogJyArICgtMTM0MjE3NzI4ID4+IDMxKSk7IAp9IAoKCmlmICgtMjY4NDM1NDU2ID4+IDMxICE9PSAtMSkgeyAKICAkRVJST1IoJyMxMDIxOiAtMjY4NDM1NDU2ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0yNjg0MzU0NTYgPj4gMzEpKTsgCn0gCgoKaWYgKC01MzY4NzA5MTIgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjI6IC01MzY4NzA5MTIgPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTUzNjg3MDkxMiA+PiAzMSkpOyAKfSAKCgppZiAoLTEwNzM3NDE4MjQgPj4gMzEgIT09IC0xKSB7IAogICRFUlJPUignIzEwMjM6IC0xMDczNzQxODI0ID4+IDMxID09PSAtMS4gQWN0dWFsOiAnICsgKC0xMDczNzQxODI0ID4+IDMxKSk7IAp9IAoKCmlmICgtMjE0NzQ4MzY0OCA+PiAzMSAhPT0gLTEpIHsgCiAgJEVSUk9SKCcjMTAyNDogLTIxNDc0ODM2NDggPj4gMzEgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTIxNDc0ODM2NDggPj4gMzEpKTsgCn0KCg==","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMCA+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzE6IDAgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMCkpOyAKfSAKCgppZiAoMSA+PiAwICE9PSAxKSB7IAogICRFUlJPUignIzI6IDEgPj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4gMCkpOyAKfSAKCgppZiAoMyA+PiAwICE9PSAzKSB7IAogICRFUlJPUignIzM6IDMgPj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4gMCkpOyAKfSAKCgppZiAoNyA+PiAwICE9PSA3KSB7IAogICRFUlJPUignIzQ6IDcgPj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4gMCkpOyAKfSAKCgppZiAoMTUgPj4gMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTogMTUgPj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+PiAwKSk7IAp9IAoKCmlmICgzMSA+PiAwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2OiAzMSA+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+IDApKTsgCn0gCgoKaWYgKDYzID4+IDAgIT09IDYzKSB7IAogICRFUlJPUignIzc6IDYzID4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4gMCkpOyAKfSAKCgppZiAoMTI3ID4+IDAgIT09IDEyNykgeyAKICAkRVJST1IoJyM4OiAxMjcgPj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDApKTsgCn0gCgoKaWYgKDI1NSA+PiAwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjOTogMjU1ID4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+PiAwKSk7IAp9IAoKCmlmICg1MTEgPj4gMCAhPT0gNTExKSB7IAogICRFUlJPUignIzEwOiA1MTEgPj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+IDApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTogMTAyMyA+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTI6IDIwNDcgPj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAwICE9PSA0MDk1KSB7IAogICRFUlJPUignIzEzOiA0MDk1ID4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNDogODE5MSA+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxNTogMTYzODMgPj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAwICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNjogMzI3NjcgPj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiAwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNjU1MzUgPj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4OiAxMzEwNzEgPj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDApKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAwICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTk6IDI2MjE0MyA+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMDogNTI0Mjg3ID4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE6IDEwNDg1NzUgPj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAwICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzIyOiAyMDk3MTUxID4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMzogNDE5NDMwMyA+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDAgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjQ6IDgzODg2MDcgPj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU6IDE2Nzc3MjE1ID4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjY6IDMzNTU0NDMxID4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjc6IDY3MTA4ODYzID4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDAgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMyODogMTM0MjE3NzI3ID4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzI5OiAyNjg0MzU0NTUgPj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAwICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzA6IDUzNjg3MDkxMSA+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAwICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzMxOiAxMDczNzQxODIzID4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMCAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMzMjogMjE0NzQ4MzY0NyA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAwKSk7IAp9IAoKCmlmICgwID4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM6IDAgPj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMSkpOyAKfSAKCgppZiAoMSA+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM0OiAxID4+IDEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEpKTsgCn0gCgoKaWYgKDMgPj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNTogMyA+PiAxID09PSAxLiBBY3R1YWw6ICcgKyAoMyA+PiAxKSk7IAp9IAoKCmlmICg3ID4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY6IDcgPj4gMSA9PT0gMy4gQWN0dWFsOiAnICsgKDcgPj4gMSkpOyAKfSAKCgppZiAoMTUgPj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzNzogMTUgPj4gMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE1ID4+IDEpKTsgCn0gCgoKaWYgKDMxID4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM4OiAzMSA+PiAxID09PSAxNS4gQWN0dWFsOiAnICsgKDMxID4+IDEpKTsgCn0gCgoKaWYgKDYzID4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzM5OiA2MyA+PiAxID09PSAzMS4gQWN0dWFsOiAnICsgKDYzID4+IDEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MDogMTI3ID4+IDEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEpKTsgCn0gCgoKaWYgKDI1NSA+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDE6IDI1NSA+PiAxID09PSAxMjcuIEFjdHVhbDogJyArICgyNTUgPj4gMSkpOyAKfSAKCgppZiAoNTExID4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MjogNTExID4+IDEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUxMSA+PiAxKSk7IAp9IAoKCmlmICgxMDIzID4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MzogMTAyMyA+PiAxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDIzID4+IDEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NDogMjA0NyA+PiAxID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxKSk7IAp9IAoKCmlmICg0MDk1ID4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDU6IDQwOTUgPj4gMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMSkpOyAKfSAKCgppZiAoODE5MSA+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ2OiA4MTkxID4+IDEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4MTkxID4+IDEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDc6IDE2MzgzID4+IDEgPT09IDgxOTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0ODogMzI3NjcgPj4gMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogNjU1MzUgPj4gMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTA6IDEzMTA3MSA+PiAxID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUxOiAyNjIxNDMgPj4gMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTI6IDUyNDI4NyA+PiAxID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTM6IDEwNDg1NzUgPj4gMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTQ6IDIwOTcxNTEgPj4gMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU1OiA0MTk0MzAzID4+IDEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NjogODM4ODYwNyA+PiAxID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU3OiAxNjc3NzIxNSA+PiAxID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTg6IDMzNTU0NDMxID4+IDEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNTk6IDY3MTA4ODYzID4+IDEgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYwOiAxMzQyMTc3MjcgPj4gMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MTogMjY4NDM1NDU1ID4+IDEgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYyOiA1MzY4NzA5MTEgPj4gMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzYzOiAxMDczNzQxODIzID4+IDEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY0OiAyMTQ3NDgzNjQ3ID4+IDEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEpKTsgCn0gCgoKaWYgKDAgPj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTogMCA+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyKSk7IAp9IAoKCmlmICgxID4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY6IDEgPj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMikpOyAKfSAKCgppZiAoMyA+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY3OiAzID4+IDIgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIpKTsgCn0gCgoKaWYgKDcgPj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODogNyA+PiAyID09PSAxLiBBY3R1YWw6ICcgKyAoNyA+PiAyKSk7IAp9IAoKCmlmICgxNSA+PiAyICE9PSAzKSB7IAogICRFUlJPUignIzY5OiAxNSA+PiAyID09PSAzLiBBY3R1YWw6ICcgKyAoMTUgPj4gMikpOyAKfSAKCgppZiAoMzEgPj4gMiAhPT0gNykgeyAKICAkRVJST1IoJyM3MDogMzEgPj4gMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMxID4+IDIpKTsgCn0gCgoKaWYgKDYzID4+IDIgIT09IDE1KSB7IAogICRFUlJPUignIzcxOiA2MyA+PiAyID09PSAxNS4gQWN0dWFsOiAnICsgKDYzID4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+PiAyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MjogMTI3ID4+IDIgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+PiAyICE9PSA2MykgeyAKICAkRVJST1IoJyM3MzogMjU1ID4+IDIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzQ6IDUxMSA+PiAyID09PSAxMjcuIEFjdHVhbDogJyArICg1MTEgPj4gMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzU6IDEwMjMgPj4gMiA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NjogMjA0NyA+PiAyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM3NzogNDA5NSA+PiAyID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+IDIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzg6IDgxOTEgPj4gMiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4gMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM3OTogMTYzODMgPj4gMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjODA6IDMyNzY3ID4+IDIgPT09IDgxOTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM4MTogNjU1MzUgPj4gMiA9PT0gMTYzODMuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjODI6IDEzMTA3MSA+PiAyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMiAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjODM6IDI2MjE0MyA+PiAyID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzg0OiA1MjQyODcgPj4gMiA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzg1OiAxMDQ4NTc1ID4+IDIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjODY6IDIwOTcxNTEgPj4gMiA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjODc6IDQxOTQzMDMgPj4gMiA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzg4OiA4Mzg4NjA3ID4+IDIgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjODk6IDE2Nzc3MjE1ID4+IDIgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzkwOiAzMzU1NDQzMSA+PiAyID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMiAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTE6IDY3MTA4ODYzID4+IDIgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzkyOiAxMzQyMTc3MjcgPj4gMiA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzkzOiAyNjg0MzU0NTUgPj4gMiA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDIgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM5NDogNTM2ODcwOTExID4+IDIgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM5NTogMTA3Mzc0MTgyMyA+PiAyID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMiAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzk2OiAyMTQ3NDgzNjQ3ID4+IDIgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMikpOyAKfSAKCgppZiAoMCA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk3OiAwID4+IDMgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMpKTsgCn0gCgoKaWYgKDEgPj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODogMSA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAzKSk7IAp9IAoKCmlmICgzID4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk6IDMgPj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMykpOyAKfSAKCgppZiAoNyA+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMDogNyA+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzKSk7IAp9IAoKCmlmICgxNSA+PiAzICE9PSAxKSB7IAogICRFUlJPUignIzEwMTogMTUgPj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+IDMpKTsgCn0gCgoKaWYgKDMxID4+IDMgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTAyOiAzMSA+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4gMykpOyAKfSAKCgppZiAoNjMgPj4gMyAhPT0gNykgeyAKICAkRVJST1IoJyMxMDM6IDYzID4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+PiAzKSk7IAp9IAoKCmlmICgxMjcgPj4gMyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTA0OiAxMjcgPj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4gMykpOyAKfSAKCgppZiAoMjU1ID4+IDMgIT09IDMxKSB7IAogICRFUlJPUignIzEwNTogMjU1ID4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDMpKTsgCn0gCgoKaWYgKDUxMSA+PiAzICE9PSA2MykgeyAKICAkRVJST1IoJyMxMDY6IDUxMSA+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+PiAzKSk7IAp9IAoKCmlmICgxMDIzID4+IDMgIT09IDEyNykgeyAKICAkRVJST1IoJyMxMDc6IDEwMjMgPj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDMgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxMDg6IDIwNDcgPj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDMgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxMDk6IDQwOTUgPj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzKSk7IAp9IAoKCmlmICg4MTkxID4+IDMgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTEwOiA4MTkxID4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+IDMpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTExOiAxNjM4MyA+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxMTI6IDMyNzY3ID4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzICE9PSA4MTkxKSB7IAogICRFUlJPUignIzExMzogNjU1MzUgPj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxMTQ6IDEzMTA3MSA+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTE1OiAyNjIxNDMgPj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzExNjogNTI0Mjg3ID4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMyAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzExNzogMTA0ODU3NSA+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMyAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzExODogMjA5NzE1MSA+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMyAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzExOTogNDE5NDMwMyA+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMjA6IDgzODg2MDcgPj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMyAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMjE6IDE2Nzc3MjE1ID4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzEyMjogMzM1NTQ0MzEgPj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTIzOiA2NzEwODg2MyA+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzEyNDogMTM0MjE3NzI3ID4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAzICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxMjU6IDI2ODQzNTQ1NSA+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMyAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTI2OiA1MzY4NzA5MTEgPj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMDczNzQxODIzID4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAzICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMTI4OiAyMTQ3NDgzNjQ3ID4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMykpOyAKfSAKCgppZiAoMCA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEyOTogMCA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA0KSk7IAp9IAoKCmlmICgxID4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMwOiAxID4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDQpKTsgCn0gCgoKaWYgKDMgPj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzE6IDMgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNCkpOyAKfSAKCgppZiAoNyA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMjogNyA+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA0KSk7IAp9IAoKCmlmICgxNSA+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMzogMTUgPj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDQpKTsgCn0gCgoKaWYgKDMxID4+IDQgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTM0OiAzMSA+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4gNCkpOyAKfSAKCgppZiAoNjMgPj4gNCAhPT0gMykgeyAKICAkRVJST1IoJyMxMzU6IDYzID4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+PiA0KSk7IAp9IAoKCmlmICgxMjcgPj4gNCAhPT0gNykgeyAKICAkRVJST1IoJyMxMzY6IDEyNyA+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+IDQpKTsgCn0gCgoKaWYgKDI1NSA+PiA0ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMzc6IDI1NSA+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+PiA0KSk7IAp9IAoKCmlmICg1MTEgPj4gNCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTM4OiA1MTEgPj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4gNCkpOyAKfSAKCgppZiAoMTAyMyA+PiA0ICE9PSA2MykgeyAKICAkRVJST1IoJyMxMzk6IDEwMjMgPj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+IDQpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNCAhPT0gMTI3KSB7IAogICRFUlJPUignIzE0MDogMjA0NyA+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+IDQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNCAhPT0gMjU1KSB7IAogICRFUlJPUignIzE0MTogNDA5NSA+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+IDQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gNCAhPT0gNTExKSB7IAogICRFUlJPUignIzE0MjogODE5MSA+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+IDQpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDQgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTQzOiAxNjM4MyA+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gNCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxNDQ6IDMyNzY3ID4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA0KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA0ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzE0NTogNjU1MzUgPj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA0ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0NjogMTMxMDcxID4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDQgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE0NzogMjYyMTQzID4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA0ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNDg6IDUyNDI4NyA+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDQgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE0OTogMTA0ODU3NSA+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA0ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTUwOiAyMDk3MTUxID4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA0ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTUxOiA0MTk0MzAzID4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiA0ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTUyOiA4Mzg4NjA3ID4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gNCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxNTM6IDE2Nzc3MjE1ID4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA0ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE1NDogMzM1NTQ0MzEgPj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDQgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTU1OiA2NzEwODg2MyA+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDQgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTU2OiAxMzQyMTc3MjcgPj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTU3OiAyNjg0MzU0NTUgPj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDQgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzE1ODogNTM2ODcwOTExID4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNCAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTU5OiAxMDczNzQxODIzID4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDQgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxNjA6IDIxNDc0ODM2NDcgPj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0KSk7IAp9IAoKCmlmICgwID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYxOiAwID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDUpKTsgCn0gCgoKaWYgKDEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjI6IDEgPj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNSkpOyAKfSAKCgppZiAoMyA+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MzogMyA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA1KSk7IAp9IAoKCmlmICg3ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY0OiA3ID4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDUpKTsgCn0gCgoKaWYgKDE1ID4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY1OiAxNSA+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNSkpOyAKfSAKCgppZiAoMzEgPj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDMxID4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA1KSk7IAp9IAoKCmlmICg2MyA+PiA1ICE9PSAxKSB7IAogICRFUlJPUignIzE2NzogNjMgPj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+IDUpKTsgCn0gCgoKaWYgKDEyNyA+PiA1ICE9PSAzKSB7IAogICRFUlJPUignIzE2ODogMTI3ID4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4gNSkpOyAKfSAKCgppZiAoMjU1ID4+IDUgIT09IDcpIHsgCiAgJEVSUk9SKCcjMTY5OiAyNTUgPj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+PiA1KSk7IAp9IAoKCmlmICg1MTEgPj4gNSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMTcwOiA1MTEgPj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4gNSkpOyAKfSAKCgppZiAoMTAyMyA+PiA1ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNzE6IDEwMjMgPj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+IDUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gNSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMTcyOiAyMDQ3ID4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA1KSk7IAp9IAoKCmlmICg0MDk1ID4+IDUgIT09IDEyNykgeyAKICAkRVJST1IoJyMxNzM6IDQwOTUgPj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA1KSk7IAp9IAoKCmlmICg4MTkxID4+IDUgIT09IDI1NSkgeyAKICAkRVJST1IoJyMxNzQ6IDgxOTEgPj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA1ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTc1OiAxNjM4MyA+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+PiA1KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA1ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzE3NjogMzI3NjcgPj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDUpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDUgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMTc3OiA2NTUzNSA+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDUgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTc4OiAxMzEwNzEgPj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMxNzk6IDI2MjE0MyA+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA1ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMxODA6IDUyNDI4NyA+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDUgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE4MTogMTA0ODU3NSA+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA1ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxODI6IDIwOTcxNTEgPj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gNSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzE4MzogNDE5NDMwMyA+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzE4NDogODM4ODYwNyA+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDUgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxODU6IDE2Nzc3MjE1ID4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDUgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMTg2OiAzMzU1NDQzMSA+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gNSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxODc6IDY3MTA4ODYzID4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxODg6IDEzNDIxNzcyNyA+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA1ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzE4OTogMjY4NDM1NDU1ID4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDUgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzE5MDogNTM2ODcwOTExID4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gNSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTkxOiAxMDczNzQxODIzID4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDUgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzE5MjogMjE0NzQ4MzY0NyA+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNSkpOyAKfSAKCgppZiAoMCA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5MzogMCA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA2KSk7IAp9IAoKCmlmICgxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk0OiAxID4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDYpKTsgCn0gCgoKaWYgKDMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTU6IDMgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gNikpOyAKfSAKCgppZiAoNyA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NjogNyA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA2KSk7IAp9IAoKCmlmICgxNSA+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NzogMTUgPj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDYpKTsgCn0gCgoKaWYgKDMxID4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk4OiAzMSA+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gNikpOyAKfSAKCgppZiAoNjMgPj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTk6IDYzID4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA2KSk7IAp9IAoKCmlmICgxMjcgPj4gNiAhPT0gMSkgeyAKICAkRVJST1IoJyMyMDA6IDEyNyA+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDYpKTsgCn0gCgoKaWYgKDI1NSA+PiA2ICE9PSAzKSB7IAogICRFUlJPUignIzIwMTogMjU1ID4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4gNikpOyAKfSAKCgppZiAoNTExID4+IDYgIT09IDcpIHsgCiAgJEVSUk9SKCcjMjAyOiA1MTEgPj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+PiA2KSk7IAp9IAoKCmlmICgxMDIzID4+IDYgIT09IDE1KSB7IAogICRFUlJPUignIzIwMzogMTAyMyA+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNikpOyAKfSAKCgppZiAoMjA0NyA+PiA2ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyMDQ6IDIwNDcgPj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+IDYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjA1OiA0MDk1ID4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA2KSk7IAp9IAoKCmlmICg4MTkxID4+IDYgIT09IDEyNykgeyAKICAkRVJST1IoJyMyMDY6IDgxOTEgPj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+PiA2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiA2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjA3OiAxNjM4MyA+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiA2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMjA4OiAzMjc2NyA+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+PiA2KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIwOTogNjU1MzUgPj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiA2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxMDogMTMxMDcxID4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gNikpOyAKfSAKCgppZiAoMjYyMTQzID4+IDYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjExOiAyNjIxNDMgPj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA2KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMyMTI6IDUyNDI4NyA+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjEzOiAxMDQ4NTc1ID4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzIxNDogMjA5NzE1MSA+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMyMTU6IDQxOTQzMDMgPj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzIxNjogODM4ODYwNyA+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDYgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyMTc6IDE2Nzc3MjE1ID4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDYgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMyMTg6IDMzNTU0NDMxID4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDYgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMjE5OiA2NzEwODg2MyA+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDYgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjIwOiAxMzQyMTc3MjcgPj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gNiAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMyMjE6IDI2ODQzNTQ1NSA+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA2ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzIyMjogNTM2ODcwOTExID4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA2ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyMjM6IDEwNzM3NDE4MjMgPj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNiAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMjI0OiAyMTQ3NDgzNjQ3ID4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2KSk7IAp9IAoKCmlmICgwID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI1OiAwID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDcpKTsgCn0gCgoKaWYgKDEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjY6IDEgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gNykpOyAKfSAKCgppZiAoMyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNzogMyA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA3KSk7IAp9IAoKCmlmICg3ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI4OiA3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDcpKTsgCn0gCgoKaWYgKDE1ID4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI5OiAxNSA+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gNykpOyAKfSAKCgppZiAoMzEgPj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzA6IDMxID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA3KSk7IAp9IAoKCmlmICg2MyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMTogNjMgPj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDcpKTsgCn0gCgoKaWYgKDEyNyA+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzMjogMTI3ID4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gNykpOyAKfSAKCgppZiAoMjU1ID4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjMzOiAyNTUgPj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI1NSA+PiA3KSk7IAp9IAoKCmlmICg1MTEgPj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyMzQ6IDUxMSA+PiA3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTExID4+IDcpKTsgCn0gCgoKaWYgKDEwMjMgPj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyMzU6IDEwMjMgPj4gNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gNykpOyAKfSAKCgppZiAoMjA0NyA+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyMzY6IDIwNDcgPj4gNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDQ3ID4+IDcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjM3OiA0MDk1ID4+IDcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA3KSk7IAp9IAoKCmlmICg4MTkxID4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzIzODogODE5MSA+PiA3ID09PSA2My4gQWN0dWFsOiAnICsgKDgxOTEgPj4gNykpOyAKfSAKCgppZiAoMTYzODMgPj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzIzOTogMTYzODMgPj4gNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0MDogMzI3NjcgPj4gNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0MTogNjU1MzUgPj4gNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gNykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQyOiAxMzEwNzEgPj4gNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNDM6IDI2MjE0MyA+PiA3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI0NDogNTI0Mjg3ID4+IDcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MjQyODcgPj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI0NTogMTA0ODU3NSA+PiA3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI0NjogMjA5NzE1MSA+PiA3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNDc6IDQxOTQzMDMgPj4gNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjQ4OiA4Mzg4NjA3ID4+IDcgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxNjc3NzIxNSA+PiA3ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjUwOiAzMzU1NDQzMSA+PiA3ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjUxOiA2NzEwODg2MyA+PiA3ID09PSA1MjQyODcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTI6IDEzNDIxNzcyNyA+PiA3ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI1MzogMjY4NDM1NDU1ID4+IDcgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjU0OiA1MzY4NzA5MTEgPj4gNyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjU1OiAxMDczNzQxODIzID4+IDcgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjU2OiAyMTQ3NDgzNjQ3ID4+IDcgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA3KSk7IAp9IAoKCmlmICgwID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU3OiAwID4+IDggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDgpKTsgCn0gCgoKaWYgKDEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTg6IDEgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gOCkpOyAKfSAKCgppZiAoMyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1OTogMyA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiA4KSk7IAp9IAoKCmlmICg3ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYwOiA3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYxOiAxNSA+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gOCkpOyAKfSAKCgppZiAoMzEgPj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjI6IDMxID4+IDggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiA4KSk7IAp9IAoKCmlmICg2MyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MzogNjMgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NDogMTI3ID4+IDggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY1OiAyNTUgPj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4gOCAhPT0gMSkgeyAKICAkRVJST1IoJyMyNjY6IDUxMSA+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTExID4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4gOCAhPT0gMykgeyAKICAkRVJST1IoJyMyNjc6IDEwMjMgPj4gOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwMjMgPj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+PiA4ICE9PSA3KSB7IAogICRFUlJPUignIzI2ODogMjA0NyA+PiA4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjA0NyA+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+IDggIT09IDE1KSB7IAogICRFUlJPUignIzI2OTogNDA5NSA+PiA4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gOCkpOyAKfSAKCgppZiAoODE5MSA+PiA4ICE9PSAzMSkgeyAKICAkRVJST1IoJyMyNzA6IDgxOTEgPj4gOCA9PT0gMzEuIEFjdHVhbDogJyArICg4MTkxID4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDggIT09IDYzKSB7IAogICRFUlJPUignIzI3MTogMTYzODMgPj4gOCA9PT0gNjMuIEFjdHVhbDogJyArICgxNjM4MyA+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+PiA4ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjcyOiAzMjc2NyA+PiA4ID09PSAxMjcuIEFjdHVhbDogJyArICgzMjc2NyA+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA4ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjczOiA2NTUzNSA+PiA4ID09PSAyNTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOCAhPT0gNTExKSB7IAogICRFUlJPUignIzI3NDogMTMxMDcxID4+IDggPT09IDUxMS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMyNzU6IDI2MjE0MyA+PiA4ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiA4ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzI3NjogNTI0Mjg3ID4+IDggPT09IDIwNDcuIEFjdHVhbDogJyArICg1MjQyODcgPj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiA4ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI3NzogMTA0ODU3NSA+PiA4ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDggIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMjc4OiAyMDk3MTUxID4+IDggPT09IDgxOTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gOCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMjc5OiA0MTk0MzAzID4+IDggPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDggIT09IDMyNzY3KSB7IAogICRFUlJPUignIzI4MDogODM4ODYwNyA+PiA4ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gOCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjgxOiAxNjc3NzIxNSA+PiA4ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDggIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMyODI6IDMzNTU0NDMxID4+IDggPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDggIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMyODM6IDY3MTA4ODYzID4+IDggPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA4ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjg0OiAxMzQyMTc3MjcgPj4gOCA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA4ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzI4NTogMjY4NDM1NDU1ID4+IDggPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDggIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjg2OiA1MzY4NzA5MTEgPj4gOCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDggIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjg3OiAxMDczNzQxODIzID4+IDggPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gOCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyODg6IDIxNDc0ODM2NDcgPj4gOCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gOCkpOyAKfSAKCgppZiAoMCA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI4OTogMCA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiA5KSk7IAp9IAoKCmlmICgxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkwOiAxID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDkpKTsgCn0gCgoKaWYgKDMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTE6IDMgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gOSkpOyAKfSAKCgppZiAoNyA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MjogNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiA5KSk7IAp9IAoKCmlmICgxNSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MzogMTUgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDkpKTsgCn0gCgoKaWYgKDMxID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk0OiAzMSA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gOSkpOyAKfSAKCgppZiAoNjMgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTU6IDYzID4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiA5KSk7IAp9IAoKCmlmICgxMjcgPj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTY6IDEyNyA+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDkpKTsgCn0gCgoKaWYgKDI1NSA+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NzogMjU1ID4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gOSkpOyAKfSAKCgppZiAoNTExID4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiA1MTEgPj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiA5KSk7IAp9IAoKCmlmICgxMDIzID4+IDkgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjk5OiAxMDIzID4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+IDkpKTsgCn0gCgoKaWYgKDIwNDcgPj4gOSAhPT0gMykgeyAKICAkRVJST1IoJyMzMDA6IDIwNDcgPj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4gOSkpOyAKfSAKCgppZiAoNDA5NSA+PiA5ICE9PSA3KSB7IAogICRFUlJPUignIzMwMTogNDA5NSA+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+PiA5KSk7IAp9IAoKCmlmICg4MTkxID4+IDkgIT09IDE1KSB7IAogICRFUlJPUignIzMwMjogODE5MSA+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMzAzOiAxNjM4MyA+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDkgIT09IDYzKSB7IAogICRFUlJPUignIzMwNDogMzI3NjcgPj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+PiA5KSk7IAp9IAoKCmlmICg2NTUzNSA+PiA5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzA1OiA2NTUzNSA+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzMwNjogMTMxMDcxID4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gOSAhPT0gNTExKSB7IAogICRFUlJPUignIzMwNzogMjYyMTQzID4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiA5KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzMDg6IDUyNDI4NyA+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMzMDk6IDEwNDg1NzUgPj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiA5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzMxMDogMjA5NzE1MSA+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMzExOiA0MTk0MzAzID4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gOSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzEyOiA4Mzg4NjA3ID4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiA5ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMzMTM6IDE2Nzc3MjE1ID4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gOSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMzE0OiAzMzU1NDQzMSA+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDkgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzMTU6IDY3MTA4ODYzID4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiA5ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMzE2OiAxMzQyMTc3MjcgPj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiA5ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMzE3OiAyNjg0MzU0NTUgPj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiA5ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzMxODogNTM2ODcwOTExID4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiA5ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzMxOTogMTA3Mzc0MTgyMyA+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDkgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMzIwOiAyMTQ3NDgzNjQ3ID4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDkpKTsgCn0gCgoKaWYgKDAgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIxOiAwID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMCkpOyAKfSAKCgppZiAoMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjI6IDEgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEwKSk7IAp9IAoKCmlmICgzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMzogMyA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTApKTsgCn0gCgoKaWYgKDcgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI0OiA3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI1OiAxNSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjY6IDMxID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTApKTsgCn0gCgoKaWYgKDYzID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNzogNjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyODogMTI3ID4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI5OiAyNTUgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzA6IDUxMSA+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzE6IDEwMjMgPj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEwICE9PSAxKSB7IAogICRFUlJPUignIzMzMjogMjA0NyA+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzMzOiA0MDk1ID4+IDEwID09PSAzLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+PiAxMCAhPT0gNykgeyAKICAkRVJST1IoJyMzMzQ6IDgxOTEgPj4gMTAgPT09IDcuIEFjdHVhbDogJyArICg4MTkxID4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzM1OiAxNjM4MyA+PiAxMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTAgIT09IDMxKSB7IAogICRFUlJPUignIzMzNjogMzI3NjcgPj4gMTAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDEwICE9PSA2MykgeyAKICAkRVJST1IoJyMzMzc6IDY1NTM1ID4+IDEwID09PSA2My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTAgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMzg6IDEzMTA3MSA+PiAxMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTAgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzMzk6IDI2MjE0MyA+PiAxMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTAgIT09IDUxMSkgeyAKICAkRVJST1IoJyMzNDA6IDUyNDI4NyA+PiAxMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM0MTogMTA0ODU3NSA+PiAxMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzQyOiAyMDk3MTUxID4+IDEwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxMCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNDM6IDQxOTQzMDMgPj4gMTAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzM0NDogODM4ODYwNyA+PiAxMCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEwICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNDU6IDE2Nzc3MjE1ID4+IDEwID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzQ2OiAzMzU1NDQzMSA+PiAxMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzM0NzogNjcxMDg4NjMgPj4gMTAgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM0ODogMTM0MjE3NzI3ID4+IDEwID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMCAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM0OTogMjY4NDM1NDU1ID4+IDEwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzM1MDogNTM2ODcwOTExID4+IDEwID09PSA1MjQyODcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTAgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzUxOiAxMDczNzQxODIzID4+IDEwID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxMCAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzNTI6IDIxNDc0ODM2NDcgPj4gMTAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDEwKSk7IAp9IAoKCmlmICgwID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1MzogMCA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMTEpKTsgCn0gCgoKaWYgKDEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU0OiAxID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAxMSkpOyAKfSAKCgppZiAoMyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTU6IDMgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDExKSk7IAp9IAoKCmlmICg3ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NjogNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMTEpKTsgCn0gCgoKaWYgKDE1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NzogMTUgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAxMSkpOyAKfSAKCgppZiAoMzEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU4OiAzMSA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDExKSk7IAp9IAoKCmlmICg2MyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTk6IDYzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMTEpKTsgCn0gCgoKaWYgKDEyNyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjA6IDEyNyA+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAxMSkpOyAKfSAKCgppZiAoMjU1ID4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MTogMjU1ID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDExKSk7IAp9IAoKCmlmICg1MTEgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYyOiA1MTEgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYzOiAxMDIzID4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAxMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjQ6IDIwNDcgPj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDExKSk7IAp9IAoKCmlmICg0MDk1ID4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM2NTogNDA5NSA+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMTEpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzY2OiA4MTkxID4+IDExID09PSAzLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAxMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzY3OiAxNjM4MyA+PiAxMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDExKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzY4OiAzMjc2NyA+PiAxMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM2OTogNjU1MzUgPj4gMTEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzcwOiAxMzEwNzEgPj4gMTEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzNzE6IDI2MjE0MyA+PiAxMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDExKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzNzI6IDUyNDI4NyA+PiAxMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzczOiAxMDQ4NTc1ID4+IDExID09PSA1MTEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM3NDogMjA5NzE1MSA+PiAxMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzc1OiA0MTk0MzAzID4+IDExID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzNzY6IDgzODg2MDcgPj4gMTEgPT09IDQwOTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNzc6IDE2Nzc3MjE1ID4+IDExID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzNzg6IDMzNTU0NDMxID4+IDExID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzc5OiA2NzEwODg2MyA+PiAxMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzODA6IDEzNDIxNzcyNyA+PiAxMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM4MTogMjY4NDM1NDU1ID4+IDExID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM4MjogNTM2ODcwOTExID4+IDExID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzODM6IDEwNzM3NDE4MjMgPj4gMTEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzg0OiAyMTQ3NDgzNjQ3ID4+IDExID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxMSkpOyAKfSAKCgppZiAoMCA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODU6IDAgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDEyKSk7IAp9IAoKCmlmICgxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NjogMSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTIpKTsgCn0gCgoKaWYgKDMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg3OiAzID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxMikpOyAKfSAKCgppZiAoNyA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODg6IDcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDEyKSk7IAp9IAoKCmlmICgxNSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODk6IDE1ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTIpKTsgCn0gCgoKaWYgKDMxID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MDogMzEgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxMikpOyAKfSAKCgppZiAoNjMgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkxOiA2MyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDEyKSk7IAp9IAoKCmlmICgxMjcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkyOiAxMjcgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTIpKTsgCn0gCgoKaWYgKDI1NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTM6IDI1NSA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxMikpOyAKfSAKCgppZiAoNTExID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NDogNTExID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDEyKSk7IAp9IAoKCmlmICgxMDIzID4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NTogMTAyMyA+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk2OiAyMDQ3ID4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxMikpOyAKfSAKCgppZiAoNDA5NSA+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTc6IDQwOTUgPj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDEyKSk7IAp9IAoKCmlmICg4MTkxID4+IDEyICE9PSAxKSB7IAogICRFUlJPUignIzM5ODogODE5MSA+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTIpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDEyICE9PSAzKSB7IAogICRFUlJPUignIzM5OTogMTYzODMgPj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxMikpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDAwOiAzMjc2NyA+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDAxOiA2NTUzNSA+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDEyICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MDI6IDEzMTA3MSA+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDAzOiAyNjIxNDMgPj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTIgIT09IDEyNykgeyAKICAkRVJST1IoJyM0MDQ6IDUyNDI4NyA+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDA1OiAxMDQ4NTc1ID4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDA2OiAyMDk3MTUxID4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEyICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQwNzogNDE5NDMwMyA+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTIgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDA4OiA4Mzg4NjA3ID4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDA5OiAxNjc3NzIxNSA+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxMiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0MTA6IDMzNTU0NDMxID4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDEyICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0MTE6IDY3MTA4ODYzID4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQxMjogMTM0MjE3NzI3ID4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDEyICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0MTM6IDI2ODQzNTQ1NSA+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxMiAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQxNDogNTM2ODcwOTExID4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0MTU6IDEwNzM3NDE4MjMgPj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTIgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0MTY6IDIxNDc0ODM2NDcgPj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE3OiAwID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxMykpOyAKfSAKCgppZiAoMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTg6IDEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDEzKSk7IAp9IAoKCmlmICgzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxOTogMyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIwOiA3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIxOiAxNSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDEzKSk7IAp9IAoKCmlmICgzMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjI6IDMxID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMzogNjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNDogMTI3ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI1OiAyNTUgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjY6IDUxMSA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjc6IDEwMjMgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyODogMjA0NyA+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI5OiA0MDk1ID4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzA6IDgxOTEgPj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxMyAhPT0gMSkgeyAKICAkRVJST1IoJyM0MzE6IDE2MzgzID4+IDEzID09PSAxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDEzICE9PSAzKSB7IAogICRFUlJPUignIzQzMjogMzI3NjcgPj4gMTMgPT09IDMuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDMzOiA2NTUzNSA+PiAxMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTMgIT09IDE1KSB7IAogICRFUlJPUignIzQzNDogMTMxMDcxID4+IDEzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDEzICE9PSAzMSkgeyAKICAkRVJST1IoJyM0MzU6IDI2MjE0MyA+PiAxMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAxMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDM2OiA1MjQyODcgPj4gMTMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDEzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDM3OiAxMDQ4NTc1ID4+IDEzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDEzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDM4OiAyMDk3MTUxID4+IDEzID09PSAyNTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDEzICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDM5OiA0MTk0MzAzID4+IDEzID09PSA1MTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDEzICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ0MDogODM4ODYwNyA+PiAxMyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDEzICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ0MTogMTY3NzcyMTUgPj4gMTMgPT09IDIwNDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTMgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDQyOiAzMzU1NDQzMSA+PiAxMyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxMyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NDM6IDY3MTA4ODYzID4+IDEzID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxMyAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxMzQyMTc3MjcgPj4gMTMgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTMgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ0NTogMjY4NDM1NDU1ID4+IDEzID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDEzICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0NDY6IDUzNjg3MDkxMSA+PiAxMyA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTMgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NDc6IDEwNzM3NDE4MjMgPj4gMTMgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMTMgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NDg6IDIxNDc0ODM2NDcgPj4gMTMgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQ5OiAwID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNCkpOyAKfSAKCgppZiAoMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTA6IDEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE0KSk7IAp9IAoKCmlmICgzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MTogMyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUyOiA3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUzOiAxNSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE0KSk7IAp9IAoKCmlmICgzMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTQ6IDMxID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NTogNjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NjogMTI3ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU3OiAyNTUgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTg6IDUxMSA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTk6IDEwMjMgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MDogMjA0NyA+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYxOiA0MDk1ID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjI6IDgxOTEgPj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjM6IDE2MzgzID4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE0ICE9PSAxKSB7IAogICRFUlJPUignIzQ2NDogMzI3NjcgPj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDY1OiA2NTUzNSA+PiAxNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDY2OiAxMzEwNzEgPj4gMTQgPT09IDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNDY3OiAyNjIxNDMgPj4gMTQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTQgIT09IDMxKSB7IAogICRFUlJPUignIzQ2ODogNTI0Mjg3ID4+IDE0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNDY5OiAxMDQ4NTc1ID4+IDE0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTQgIT09IDEyNykgeyAKICAkRVJST1IoJyM0NzA6IDIwOTcxNTEgPj4gMTQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTQgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0NzE6IDQxOTQzMDMgPj4gMTQgPT09IDI1NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMTQgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NzI6IDgzODg2MDcgPj4gMTQgPT09IDUxMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE0ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzQ3MzogMTY3NzcyMTUgPj4gMTQgPT09IDEwMjMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTQgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDc0OiAzMzU1NDQzMSA+PiAxNCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0NzU6IDY3MTA4ODYzID4+IDE0ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM0NzY6IDEzNDIxNzcyNyA+PiAxNCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE0ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0Nzc6IDI2ODQzNTQ1NSA+PiAxNCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNCAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDc4OiA1MzY4NzA5MTEgPj4gMTQgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE0ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0Nzk6IDEwNzM3NDE4MjMgPj4gMTQgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNCAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzQ4MDogMjE0NzQ4MzY0NyA+PiAxNCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNCkpOyAKfSAKCgppZiAoMCA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODE6IDAgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE1KSk7IAp9IAoKCmlmICgxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MjogMSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgzOiAzID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNSkpOyAKfSAKCgppZiAoNyA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODQ6IDcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE1KSk7IAp9IAoKCmlmICgxNSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODU6IDE1ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NjogMzEgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg3OiA2MyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg4OiAxMjcgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODk6IDI1NSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MDogNTExID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MTogMTAyMyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkyOiAyMDQ3ID4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTM6IDQwOTUgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NDogODE5MSA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5NTogMTYzODMgPj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAzMjc2NyA+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNSAhPT0gMSkgeyAKICAkRVJST1IoJyM0OTc6IDY1NTM1ID4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNSAhPT0gMykgeyAKICAkRVJST1IoJyM0OTg6IDEzMTA3MSA+PiAxNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE1ICE9PSA3KSB7IAogICRFUlJPUignIzQ5OTogMjYyMTQzID4+IDE1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTUgIT09IDE1KSB7IAogICRFUlJPUignIzUwMDogNTI0Mjg3ID4+IDE1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAxNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTAxOiAxMDQ4NTc1ID4+IDE1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTUgIT09IDYzKSB7IAogICRFUlJPUignIzUwMjogMjA5NzE1MSA+PiAxNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE1ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTAzOiA0MTk0MzAzID4+IDE1ID09PSAxMjcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE1ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTA0OiA4Mzg4NjA3ID4+IDE1ID09PSAyNTUuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNSAhPT0gNTExKSB7IAogICRFUlJPUignIzUwNTogMTY3NzcyMTUgPj4gMTUgPT09IDUxMS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1MDY6IDMzNTU0NDMxID4+IDE1ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDE1ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUwNzogNjcxMDg4NjMgPj4gMTUgPT09IDIwNDcuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE1ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzUwODogMTM0MjE3NzI3ID4+IDE1ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTUgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTA5OiAyNjg0MzU0NTUgPj4gMTUgPT09IDgxOTEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTEwOiA1MzY4NzA5MTEgPj4gMTUgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDE1ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MTE6IDEwNzM3NDE4MjMgPj4gMTUgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxNSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTEyOiAyMTQ3NDgzNjQ3ID4+IDE1ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTUpKTsgCn0gCgo=","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayB4ID4+IHkgb3BlcmF0b3IgaW4gZGlzdGluY3QgcG9pbnRzCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjIvUzExLjcuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gU2hpZnRFeHByZXNzaW9uID0gMl5uIC0gMSwgbiA9IDE2Li4uMzEKICovCgovL0NIRUNLCiAKaWYgKDAgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTEzOiAwID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxNikpOyAKfSAKCgppZiAoMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTQ6IDEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE2KSk7IAp9IAoKCmlmICgzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNTogMyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTYpKTsgCn0gCgoKaWYgKDcgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE2OiA3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxNikpOyAKfSAKCgppZiAoMTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE3OiAxNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTg6IDMxID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTYpKTsgCn0gCgoKaWYgKDYzID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxOTogNjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxNikpOyAKfSAKCgppZiAoMTI3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMDogMTI3ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE2KSk7IAp9IAoKCmlmICgyNTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIxOiAyNTUgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTYpKTsgCn0gCgoKaWYgKDUxMSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjI6IDUxMSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxNikpOyAKfSAKCgppZiAoMTAyMyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjM6IDEwMjMgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE2KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNDogMjA0NyA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTYpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI1OiA0MDk1ID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxNikpOyAKfSAKCgppZiAoODE5MSA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjY6IDgxOTEgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE2KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjc6IDE2MzgzID4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTYpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyODogMzI3NjcgPj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxNikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI5OiA2NTUzNSA+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTYgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTMwOiAxMzEwNzEgPj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxNiAhPT0gMykgeyAKICAkRVJST1IoJyM1MzE6IDI2MjE0MyA+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE2ICE9PSA3KSB7IAogICRFUlJPUignIzUzMjogNTI0Mjg3ID4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MzM6IDEwNDg1NzUgPj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNTM0OiAyMDk3MTUxID4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTYgIT09IDYzKSB7IAogICRFUlJPUignIzUzNTogNDE5NDMwMyA+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE2ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNTM2OiA4Mzg4NjA3ID4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDE2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAxNiAhPT0gMjU1KSB7IAogICRFUlJPUignIzUzNzogMTY3NzcyMTUgPj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxNiAhPT0gNTExKSB7IAogICRFUlJPUignIzUzODogMzM1NTQ0MzEgPj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxNiAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM1Mzk6IDY3MTA4ODYzID4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMTYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAxNiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDA6IDEzNDIxNzcyNyA+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAxNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDE2ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzU0MTogMjY4NDM1NDU1ID4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTYgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTQyOiA1MzY4NzA5MTEgPj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTYgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzU0MzogMTA3Mzc0MTgyMyA+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE2ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1NDQ6IDIxNDc0ODM2NDcgPj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNikpOyAKfSAKCgppZiAoMCA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDAgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE3KSk7IAp9IAoKCmlmICgxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NjogMSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTcpKTsgCn0gCgoKaWYgKDMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ3OiAzID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxNykpOyAKfSAKCgppZiAoNyA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDg6IDcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE3KSk7IAp9IAoKCmlmICgxNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDk6IDE1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTcpKTsgCn0gCgoKaWYgKDMxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MDogMzEgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxNykpOyAKfSAKCgppZiAoNjMgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUxOiA2MyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE3KSk7IAp9IAoKCmlmICgxMjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUyOiAxMjcgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTcpKTsgCn0gCgoKaWYgKDI1NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTM6IDI1NSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxNykpOyAKfSAKCgppZiAoNTExID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NDogNTExID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE3KSk7IAp9IAoKCmlmICgxMDIzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NTogMTAyMyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTcpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU2OiAyMDQ3ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxNykpOyAKfSAKCgppZiAoNDA5NSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTc6IDQwOTUgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE3KSk7IAp9IAoKCmlmICg4MTkxID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1ODogODE5MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTcpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1OTogMTYzODMgPj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxNykpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTYwOiAzMjc2NyA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE3KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjE6IDY1NTM1ID4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTcpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDEzMTA3MSA+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxNykpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MzogMjYyMTQzID4+IDE3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE3KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTY0OiA1MjQyODcgPj4gMTcgPT09IDMuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTcpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTY1OiAxMDQ4NTc1ID4+IDE3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxNykpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTY2OiAyMDk3MTUxID4+IDE3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMTcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU2NzogNDE5NDMwMyA+PiAxNyA9PT0gMzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1Njg6IDgzODg2MDcgPj4gMTcgPT09IDYzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxNykpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1Njk6IDE2Nzc3MjE1ID4+IDE3ID09PSAxMjcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAxNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzA6IDMzNTU0NDMxID4+IDE3ID09PSAyNTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAxNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NzE6IDY3MTA4ODYzID4+IDE3ID09PSA1MTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAxNykpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU3MjogMTM0MjE3NzI3ID4+IDE3ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE3KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTczOiAyNjg0MzU0NTUgPj4gMTcgPT09IDIwNDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTcpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1NzQ6IDUzNjg3MDkxMSA+PiAxNyA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxNykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NzU6IDEwNzM3NDE4MjMgPj4gMTcgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE3KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1NzY6IDIxNDc0ODM2NDcgPj4gMTcgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAxNykpOyAKfSAKCgppZiAoMCA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzc6IDAgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgwID4+IDE4KSk7IAp9IAoKCmlmICgxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3ODogMSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc5OiAzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAxOCkpOyAKfSAKCgppZiAoNyA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODA6IDcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDE4KSk7IAp9IAoKCmlmICgxNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODE6IDE1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MjogMzEgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgzOiA2MyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg0OiAxMjcgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODU6IDI1NSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NjogNTExID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NzogMTAyMyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg4OiAyMDQ3ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODk6IDQwOTUgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MDogODE5MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MTogMTYzODMgPj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkyOiAzMjc2NyA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTM6IDY1NTM1ID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTQ6IDEzMTA3MSA+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NTogMjYyMTQzID4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk2OiA1MjQyODcgPj4gMTggPT09IDEuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMTggIT09IDMpIHsgCiAgJEVSUk9SKCcjNTk3OiAxMDQ4NTc1ID4+IDE4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAxOCAhPT0gNykgeyAKICAkRVJST1IoJyM1OTg6IDIwOTcxNTEgPj4gMTggPT09IDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDE4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OTk6IDQxOTQzMDMgPj4gMTggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAxOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjAwOiA4Mzg4NjA3ID4+IDE4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDE4ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MDE6IDE2Nzc3MjE1ID4+IDE4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAxOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzYwMjogMzM1NTQ0MzEgPj4gMTggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzYwMzogNjcxMDg4NjMgPj4gMTggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTggIT09IDUxMSkgeyAKICAkRVJST1IoJyM2MDQ6IDEzNDIxNzcyNyA+PiAxOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjA1OiAyNjg0MzU0NTUgPj4gMTggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAxOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2MDY6IDUzNjg3MDkxMSA+PiAxOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAxOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2MDc6IDEwNzM3NDE4MjMgPj4gMTggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDE4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzYwODogMjE0NzQ4MzY0NyA+PiAxOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMTgpKTsgCn0gCgoKaWYgKDAgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjA5OiAwID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAxOSkpOyAKfSAKCgppZiAoMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTA6IDEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDE5KSk7IAp9IAoKCmlmICgzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMTogMyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMTkpKTsgCn0gCgoKaWYgKDcgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiA3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAxOSkpOyAKfSAKCgppZiAoMTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjEzOiAxNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDE5KSk7IAp9IAoKCmlmICgzMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTQ6IDMxID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMTkpKTsgCn0gCgoKaWYgKDYzID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNTogNjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAxOSkpOyAKfSAKCgppZiAoMTI3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNjogMTI3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE3OiAyNTUgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMTkpKTsgCn0gCgoKaWYgKDUxMSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTg6IDUxMSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAxOSkpOyAKfSAKCgppZiAoMTAyMyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTk6IDEwMjMgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDE5KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMDogMjA0NyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMTkpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIxOiA0MDk1ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAxOSkpOyAKfSAKCgppZiAoODE5MSA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjI6IDgxOTEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDE5KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjM6IDE2MzgzID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMTkpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNDogMzI3NjcgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAxOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI1OiA2NTUzNSA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDE5KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI2OiAxMzEwNzEgPj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMTkpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjc6IDI2MjE0MyA+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAxOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyODogNTI0Mjg3ID4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDE5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDE5ICE9PSAxKSB7IAogICRFUlJPUignIzYyOTogMTA0ODU3NSA+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMTkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMTkgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjMwOiAyMDk3MTUxID4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAxOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAxOSAhPT0gNykgeyAKICAkRVJST1IoJyM2MzE6IDQxOTQzMDMgPj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDE5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDE5ICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MzI6IDgzODg2MDcgPj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAxOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMTkgIT09IDMxKSB7IAogICRFUlJPUignIzYzMzogMTY3NzcyMTUgPj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMTkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDE5ICE9PSA2MykgeyAKICAkRVJST1IoJyM2MzQ6IDMzNTU0NDMxID4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDE5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAxOSAhPT0gMTI3KSB7IAogICRFUlJPUignIzYzNTogNjcxMDg4NjMgPj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDE5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMTkgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MzY6IDEzNDIxNzcyNyA+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDE5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMTkgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2Mzc6IDI2ODQzNTQ1NSA+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDE5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMTkgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNjM4OiA1MzY4NzA5MTEgPj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMTkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMTkgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjM5OiAxMDczNzQxODIzID4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAxOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAxOSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM2NDA6IDIxNDc0ODM2NDcgPj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDE5KSk7IAp9IAoKCmlmICgwID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogMCA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjApKTsgCn0gCgoKaWYgKDEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQyOiAxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMCkpOyAKfSAKCgppZiAoMyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDM6IDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIwKSk7IAp9IAoKCmlmICg3ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NDogNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NTogMTUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ2OiAzMSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIwKSk7IAp9IAoKCmlmICg2MyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDc6IDYzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDg6IDEyNyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0OTogMjU1ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUwOiA1MTEgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUxOiAxMDIzID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTI6IDIwNDcgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MzogNDA5NSA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU0OiA4MTkxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU1OiAxNjM4MyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTY6IDMyNzY3ID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NzogNjU1MzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1ODogMTMxMDcxID4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU5OiAyNjIxNDMgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjA6IDUyNDI4NyA+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDEwNDg1NzUgPj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MjogMjA5NzE1MSA+PiAyMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjAgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjYzOiA0MTk0MzAzID4+IDIwID09PSAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMCAhPT0gNykgeyAKICAkRVJST1IoJyM2NjQ6IDgzODg2MDcgPj4gMjAgPT09IDcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjY1OiAxNjc3NzIxNSA+PiAyMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjAgIT09IDMxKSB7IAogICRFUlJPUignIzY2NjogMzM1NTQ0MzEgPj4gMjAgPT09IDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDIwICE9PSA2MykgeyAKICAkRVJST1IoJyM2Njc6IDY3MTA4ODYzID4+IDIwID09PSA2My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjAgIT09IDEyNykgeyAKICAkRVJST1IoJyM2Njg6IDEzNDIxNzcyNyA+PiAyMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM2Njk6IDI2ODQzNTQ1NSA+PiAyMCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjAgIT09IDUxMSkgeyAKICAkRVJST1IoJyM2NzA6IDUzNjg3MDkxMSA+PiAyMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzY3MTogMTA3Mzc0MTgyMyA+PiAyMCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjAgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjcyOiAyMTQ3NDgzNjQ3ID4+IDIwID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyMCkpOyAKfSAKCgppZiAoMCA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDAgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDIxKSk7IAp9IAoKCmlmICgxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogMSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMjEpKTsgCn0gCgoKaWYgKDMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc1OiAzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAyMSkpOyAKfSAKCgppZiAoNyA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzY6IDcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDIxKSk7IAp9IAoKCmlmICgxNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDE1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMjEpKTsgCn0gCgoKaWYgKDMxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3ODogMzEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjMgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc5OiA2MyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDIxKSk7IAp9IAoKCmlmICgxMjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiAxMjcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMjEpKTsgCn0gCgoKaWYgKDI1NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODE6IDI1NSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAyMSkpOyAKfSAKCgppZiAoNTExID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MjogNTExID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDIzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MzogMTAyMyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMjEpKTsgCn0gCgoKaWYgKDIwNDcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg0OiAyMDQ3ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAyMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODU6IDQwOTUgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDIxKSk7IAp9IAoKCmlmICg4MTkxID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NjogODE5MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMjEpKTsgCn0gCgoKaWYgKDE2MzgzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NzogMTYzODMgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAyMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg4OiAzMjc2NyA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDIxKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODk6IDY1NTM1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMjEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTA6IDEzMTA3MSA+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAyMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MTogMjYyMTQzID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDIxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkyOiA1MjQyODcgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMjEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkzOiAxMDQ4NTc1ID4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAyMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDIwOTcxNTEgPj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDIxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NTogNDE5NDMwMyA+PiAyMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMjEpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNjk2OiA4Mzg4NjA3ID4+IDIxID09PSAzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAyMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjk3OiAxNjc3NzIxNSA+PiAyMSA9PT0gNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDIxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjk4OiAzMzU1NDQzMSA+PiAyMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzY5OTogNjcxMDg4NjMgPj4gMjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzAwOiAxMzQyMTc3MjcgPj4gMjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDIxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MDE6IDI2ODQzNTQ1NSA+PiAyMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MDI6IDUzNjg3MDkxMSA+PiAyMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzAzOiAxMDczNzQxODIzID4+IDIxID09PSA1MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcwNDogMjE0NzQ4MzY0NyA+PiAyMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjEpKTsgCn0gCgoKaWYgKDAgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAwID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyMikpOyAKfSAKCgppZiAoMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDIyKSk7IAp9IAoKCmlmICgzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogMyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjIpKTsgCn0gCgoKaWYgKDcgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA4OiA3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyMikpOyAKfSAKCgppZiAoMTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAxNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDIyKSk7IAp9IAoKCmlmICgzMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDMxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjIpKTsgCn0gCgoKaWYgKDYzID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMTogNjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTI3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMTI3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDIyKSk7IAp9IAoKCmlmICgyNTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiAyNTUgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjIpKTsgCn0gCgoKaWYgKDUxMSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTQ6IDUxMSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyMikpOyAKfSAKCgppZiAoMTAyMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDEwMjMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDIyKSk7IAp9IAoKCmlmICgyMDQ3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNjogMjA0NyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjIpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE3OiA0MDk1ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyMikpOyAKfSAKCgppZiAoODE5MSA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTg6IDgxOTEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDIyKSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTk6IDE2MzgzID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMDogMzI3NjcgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyMikpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIxOiA2NTUzNSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDIyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIyOiAxMzEwNzEgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjIpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjM6IDI2MjE0MyA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNDogNTI0Mjg3ID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDIyKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyNTogMTA0ODU3NSA+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjIpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI2OiAyMDk3MTUxID4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDQxOTQzMDMgPj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDIyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyODogODM4ODYwNyA+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDIyICE9PSAzKSB7IAogICRFUlJPUignIzcyOTogMTY3NzcyMTUgPj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzMwOiAzMzU1NDQzMSA+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDIyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyMiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzMxOiA2NzEwODg2MyA+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAyMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDIyICE9PSAzMSkgeyAKICAkRVJST1IoJyM3MzI6IDEzNDIxNzcyNyA+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzMzOiAyNjg0MzU0NTUgPj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDIyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjIgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MzQ6IDUzNjg3MDkxMSA+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIyICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzM1OiAxMDczNzQxODIzID4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzM2OiAyMTQ3NDgzNjQ3ID4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIyKSk7IAp9IAoKCmlmICgwID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMCA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyMykpOyAKfSAKCgppZiAoMyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDIzKSk7IAp9IAoKCmlmICg3ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDIzKSk7IAp9IAoKCmlmICg2MyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDYzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEyNyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjU1ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MTEgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDIzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwNDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDA5NSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUwOiA4MTkxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjM4MyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTI6IDMyNzY3ID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MzogNjU1MzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NDogMTMxMDcxID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU1OiAyNjIxNDMgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTY6IDUyNDI4NyA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTc6IDEwNDg1NzUgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1ODogMjA5NzE1MSA+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU5OiA0MTk0MzAzID4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDgzODg2MDcgPj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyMyAhPT0gMSkgeyAKICAkRVJST1IoJyM3NjE6IDE2Nzc3MjE1ID4+IDIzID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDIzICE9PSAzKSB7IAogICRFUlJPUignIzc2MjogMzM1NTQ0MzEgPj4gMjMgPT09IDMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjMgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzYzOiA2NzEwODg2MyA+PiAyMyA9PT0gNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjMgIT09IDE1KSB7IAogICRFUlJPUignIzc2NDogMTM0MjE3NzI3ID4+IDIzID09PSAxNS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDIzICE9PSAzMSkgeyAKICAkRVJST1IoJyM3NjU6IDI2ODQzNTQ1NSA+PiAyMyA9PT0gMzEuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAyMyAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzY2OiA1MzY4NzA5MTEgPj4gMjMgPT09IDYzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDIzICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNzY3OiAxMDczNzQxODIzID4+IDIzID09PSAxMjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDIzICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNzY4OiAyMTQ3NDgzNjQ3ID4+IDIzID09PSAyNTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDIzKSk7IAp9IAoKCmlmICgwID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogMCA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcwOiAxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNCkpOyAKfSAKCgppZiAoMyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzE6IDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI0KSk7IAp9IAoKCmlmICg3ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MjogNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogMTUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc0OiAzMSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI0KSk7IAp9IAoKCmlmICg2MyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzU6IDYzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDEyNyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NzogMjU1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc4OiA1MTEgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiAxMDIzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODA6IDIwNDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MTogNDA5NSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgyOiA4MTkxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiAxNjM4MyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODQ6IDMyNzY3ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NTogNjU1MzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NjogMTMxMDcxID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg3OiAyNjIxNDMgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODg6IDUyNDI4NyA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODk6IDEwNDg1NzUgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MDogMjA5NzE1MSA+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkxOiA0MTk0MzAzID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTI6IDgzODg2MDcgPj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDE2Nzc3MjE1ID4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5NDogMzM1NTQ0MzEgPj4gMjQgPT09IDEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjQgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzk1OiA2NzEwODg2MyA+PiAyNCA9PT0gMy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjQgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzk2OiAxMzQyMTc3MjcgPj4gMjQgPT09IDcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzk3OiAyNjg0MzU0NTUgPj4gMjQgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjQgIT09IDMxKSB7IAogICRFUlJPUignIzc5ODogNTM2ODcwOTExID4+IDI0ID09PSAzMS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzk5OiAxMDczNzQxODIzID4+IDI0ID09PSA2My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjQgIT09IDEyNykgeyAKICAkRVJST1IoJyM4MDA6IDIxNDc0ODM2NDcgPj4gMjQgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAxOiAwID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNSkpOyAKfSAKCgppZiAoMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDI6IDEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI1KSk7IAp9IAoKCmlmICgzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiA3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA1OiAxNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI1KSk7IAp9IAoKCmlmICgzMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDY6IDMxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogNjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwODogMTI3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA5OiAyNTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDUxMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTE6IDEwMjMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMjogMjA0NyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiA0MDk1ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDgxOTEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTU6IDE2MzgzID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNjogMzI3NjcgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiA2NTUzNSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE4OiAxMzEwNzEgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTk6IDI2MjE0MyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMDogNTI0Mjg3ID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMTogMTA0ODU3NSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIyOiAyMDk3MTUxID4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjM6IDQxOTQzMDMgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNDogODM4ODYwNyA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNTogMTY3NzcyMTUgPj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI2OiAzMzU1NDQzMSA+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4Mjc6IDY3MTA4ODYzID4+IDI1ID09PSAxLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNSAhPT0gMykgeyAKICAkRVJST1IoJyM4Mjg6IDEzNDIxNzcyNyA+PiAyNSA9PT0gMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI1ICE9PSA3KSB7IAogICRFUlJPUignIzgyOTogMjY4NDM1NDU1ID4+IDI1ID09PSA3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjUgIT09IDE1KSB7IAogICRFUlJPUignIzgzMDogNTM2ODcwOTExID4+IDI1ID09PSAxNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAyNSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODMxOiAxMDczNzQxODIzID4+IDI1ID09PSAzMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjUgIT09IDYzKSB7IAogICRFUlJPUignIzgzMjogMjE0NzQ4MzY0NyA+PiAyNSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI1KSk7IAp9IAoKCmlmICgwID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzMzogMCA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM0OiAxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyNikpOyAKfSAKCgppZiAoMyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzU6IDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI2KSk7IAp9IAoKCmlmICg3ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNjogNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNzogMTUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM4OiAzMSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI2KSk7IAp9IAoKCmlmICg2MyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzk6IDYzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDA6IDEyNyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MTogMjU1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQyOiA1MTEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQzOiAxMDIzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDQ6IDIwNDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NTogNDA5NSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ2OiA4MTkxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ3OiAxNjM4MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDg6IDMyNzY3ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0OTogNjU1MzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MDogMTMxMDcxID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUxOiAyNjIxNDMgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTI6IDUyNDI4NyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTM6IDEwNDg1NzUgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NDogMjA5NzE1MSA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU1OiA0MTk0MzAzID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTY6IDgzODg2MDcgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTc6IDE2Nzc3MjE1ID4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1ODogMzM1NTQ0MzEgPj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU5OiA2NzEwODg2MyA+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjYgIT09IDEpIHsgCiAgJEVSUk9SKCcjODYwOiAxMzQyMTc3MjcgPj4gMjYgPT09IDEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyNiAhPT0gMykgeyAKICAkRVJST1IoJyM4NjE6IDI2ODQzNTQ1NSA+PiAyNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI2ICE9PSA3KSB7IAogICRFUlJPUignIzg2MjogNTM2ODcwOTExID4+IDI2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI2ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NjM6IDEwNzM3NDE4MjMgPj4gMjYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjODY0OiAyMTQ3NDgzNjQ3ID4+IDI2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjYpKTsgCn0gCgoKaWYgKDAgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiAwID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyNykpOyAKfSAKCgppZiAoMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjY6IDEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI3KSk7IAp9IAoKCmlmICgzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NzogMyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjcpKTsgCn0gCgoKaWYgKDcgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY4OiA3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyNykpOyAKfSAKCgppZiAoMTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY5OiAxNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI3KSk7IAp9IAoKCmlmICgzMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzA6IDMxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjcpKTsgCn0gCgoKaWYgKDYzID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MTogNjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyNykpOyAKfSAKCgppZiAoMTI3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogMTI3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI3KSk7IAp9IAoKCmlmICgyNTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODczOiAyNTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjcpKTsgCn0gCgoKaWYgKDUxMSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzQ6IDUxMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyNykpOyAKfSAKCgppZiAoMTAyMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDEwMjMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI3KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NjogMjA0NyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjcpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc3OiA0MDk1ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyNykpOyAKfSAKCgppZiAoODE5MSA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzg6IDgxOTEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI3KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzk6IDE2MzgzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjcpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MDogMzI3NjcgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyNykpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgxOiA2NTUzNSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiAxMzEwNzEgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODM6IDI2MjE0MyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NDogNTI0Mjg3ID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogMTA0ODU3NSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg2OiAyMDk3MTUxID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODc6IDQxOTQzMDMgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI3KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4ODogODM4ODYwNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4OTogMTY3NzcyMTUgPj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyNykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODkwOiAzMzU1NDQzMSA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTE6IDY3MTA4ODYzID4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDEzNDIxNzcyNyA+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MzogMjY4NDM1NDU1ID4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjcgIT09IDMpIHsgCiAgJEVSUk9SKCcjODk0OiA1MzY4NzA5MTEgPj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjcgIT09IDcpIHsgCiAgJEVSUk9SKCcjODk1OiAxMDczNzQxODIzID4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODk2OiAyMTQ3NDgzNjQ3ID4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMjcpKTsgCn0gCgoKaWYgKDAgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk3OiAwID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAyOCkpOyAKfSAKCgppZiAoMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTg6IDEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxID4+IDI4KSk7IAp9IAoKCmlmICgzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5OTogMyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMjgpKTsgCn0gCgoKaWYgKDcgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAwOiA3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAyOCkpOyAKfSAKCgppZiAoMTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAxOiAxNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDI4KSk7IAp9IAoKCmlmICgzMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDI6IDMxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMjgpKTsgCn0gCgoKaWYgKDYzID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMzogNjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAyOCkpOyAKfSAKCgppZiAoMTI3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNDogMTI3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+IDI4KSk7IAp9IAoKCmlmICgyNTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA1OiAyNTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4gMjgpKTsgCn0gCgoKaWYgKDUxMSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDY6IDUxMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAyOCkpOyAKfSAKCgppZiAoMTAyMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDc6IDEwMjMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+IDI4KSk7IAp9IAoKCmlmICgyMDQ3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwODogMjA0NyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4gMjgpKTsgCn0gCgoKaWYgKDQwOTUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA5OiA0MDk1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAyOCkpOyAKfSAKCgppZiAoODE5MSA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTA6IDgxOTEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+IDI4KSk7IAp9IAoKCmlmICgxNjM4MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTE6IDE2MzgzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4gMjgpKTsgCn0gCgoKaWYgKDMyNzY3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMjogMzI3NjcgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAyOCkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEzOiA2NTUzNSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+IDI4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE0OiAxMzEwNzEgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4gMjgpKTsgCn0gCgoKaWYgKDI2MjE0MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTU6IDI2MjE0MyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAyOCkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNjogNTI0Mjg3ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+IDI4KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNzogMTA0ODU3NSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4gMjgpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE4OiAyMDk3MTUxID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAyOCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTk6IDQxOTQzMDMgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+IDI4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMDogODM4ODYwNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4gMjgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMTogMTY3NzcyMTUgPj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAyOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIyOiAzMzU1NDQzMSA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+IDI4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjM6IDY3MTA4ODYzID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4gMjgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjQ6IDEzNDIxNzcyNyA+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAyOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNTogMjY4NDM1NDU1ID4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+IDI4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI2OiA1MzY4NzA5MTEgPj4gMjggPT09IDEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4gMjgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTI3OiAxMDczNzQxODIzID4+IDI4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAyOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5Mjg6IDIxNDc0ODM2NDcgPj4gMjggPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDI4KSk7IAp9IAoKCmlmICgwID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkyOTogMCA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMwOiAxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+PiAyOSkpOyAKfSAKCgppZiAoMyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzE6IDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzID4+IDI5KSk7IAp9IAoKCmlmICg3ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMzogMTUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNSA+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM0OiAzMSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+IDI5KSk7IAp9IAoKCmlmICg2MyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDYzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzY6IDEyNyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNzogMjU1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM4OiA1MTEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM5OiAxMDIzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDA6IDIwNDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MTogNDA5NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiA4MTkxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQzOiAxNjM4MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDQ6IDMyNzY3ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogNjU1MzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NjogMTMxMDcxID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ3OiAyNjIxNDMgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDg6IDUyNDI4NyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDk6IDEwNDg1NzUgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MDogMjA5NzE1MSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUxOiA0MTk0MzAzID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDgzODg2MDcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTM6IDE2Nzc3MjE1ID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NDogMzM1NTQ0MzEgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU1OiA2NzEwODg2MyA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU2OiAxMzQyMTc3MjcgPj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTc6IDI2ODQzNTQ1NSA+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1ODogNTM2ODcwOTExID4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+IDI5ICE9PSAxKSB7IAogICRFUlJPUignIzk1OTogMTA3Mzc0MTgyMyA+PiAyOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4gMjkgIT09IDMpIHsgCiAgJEVSUk9SKCcjOTYwOiAyMTQ3NDgzNjQ3ID4+IDI5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAyOSkpOyAKfSAKCgppZiAoMCA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDAgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgwID4+IDMwKSk7IAp9IAoKCmlmICgxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MjogMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4gMzApKTsgCn0gCgoKaWYgKDMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYzOiAzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+PiAzMCkpOyAKfSAKCgppZiAoNyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjQ6IDcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+IDMwKSk7IAp9IAoKCmlmICgxNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjU6IDE1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4gMzApKTsgCn0gCgoKaWYgKDMxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NjogMzEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+PiAzMCkpOyAKfSAKCgppZiAoNjMgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY3OiA2MyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+IDMwKSk7IAp9IAoKCmlmICgxMjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY4OiAxMjcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4gMzApKTsgCn0gCgoKaWYgKDI1NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njk6IDI1NSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMCkpOyAKfSAKCgppZiAoNTExID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MDogNTExID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogMTAyMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4gMzApKTsgCn0gCgoKaWYgKDIwNDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcyOiAyMDQ3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMCkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzM6IDQwOTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NDogODE5MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4gMzApKTsgCn0gCgoKaWYgKDE2MzgzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NTogMTYzODMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc2OiAzMjc2NyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzc6IDY1NTM1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4gMzApKTsgCn0gCgoKaWYgKDEzMTA3MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzg6IDEzMTA3MSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMCkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3OTogMjYyMTQzID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgwOiA1MjQyODcgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4gMzApKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiAxMDQ4NTc1ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODI6IDIwOTcxNTEgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MzogNDE5NDMwMyA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4gMzApKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg0OiA4Mzg4NjA3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg1OiAxNjc3NzIxNSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODY6IDMzNTU0NDMxID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4gMzApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NzogNjcxMDg4NjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4ODogMTM0MjE3NzI3ID4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg5OiAyNjg0MzU0NTUgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4gMzApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTA6IDUzNjg3MDkxMSA+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDEwNzM3NDE4MjMgPj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MjogMjE0NzQ4MzY0NyA+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzApKTsgCn0gCgoKaWYgKDAgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAwID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+PiAzMSkpOyAKfSAKCgppZiAoMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxID4+IDMxKSk7IAp9IAoKCmlmICgzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NTogMyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4gMzEpKTsgCn0gCgoKaWYgKDcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk2OiA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+PiAzMSkpOyAKfSAKCgppZiAoMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiAxNSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+IDMxKSk7IAp9IAoKCmlmICgzMSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTg6IDMxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4gMzEpKTsgCn0gCgoKaWYgKDYzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5OTogNjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDEyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDE6IDI1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDI6IDUxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTAyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiAxMDIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+PiAzMSkpOyAKfSAKCgppZiAoMjA0NyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiAyMDQ3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+PiAzMSkpOyAKfSAKCgppZiAoNDA5NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA1OiA0MDk1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+PiAzMSkpOyAKfSAKCgppZiAoODE5MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA2OiA4MTkxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+PiAzMSkpOyAKfSAKCgppZiAoMTYzODMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogMTYzODMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+PiAzMSkpOyAKfSAKCgppZiAoMzI3NjcgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwODogMzI3NjcgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+PiAzMSkpOyAKfSAKCgppZiAoNjU1MzUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOTogNjU1MzUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+PiAzMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDEzMTA3MSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+PiAzMSkpOyAKfSAKCgppZiAoMjYyMTQzID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTE6IDI2MjE0MyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+PiAzMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTI6IDUyNDI4NyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+PiAzMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiAxMDQ4NTc1ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+PiAzMSkpOyAKfSAKCgppZiAoMjA5NzE1MSA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiAyMDk3MTUxID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+PiAzMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE1OiA0MTk0MzAzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+PiAzMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE2OiA4Mzg4NjA3ID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+PiAzMSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogMTY3NzcyMTUgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+PiAzMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxODogMzM1NTQ0MzEgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+PiAzMSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxOTogNjcxMDg4NjMgPj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2MyA+PiAzMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDEzNDIxNzcyNyA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+PiAzMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjE6IDI2ODQzNTQ1NSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+PiAzMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjI6IDUzNjg3MDkxMSA+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+PiAzMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIzOiAxMDczNzQxODIzID4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+PiAzMSkpOyAKfSAKCg==","commentary":"Check x >> y operator in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb0ludDMyKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJvdW5kYXJ5IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0OC4xID4+IDAgIT09IC0yMTQ3NDgzNjQ4KSB7IAogICRFUlJPUignIzE6IDIxNDc0ODM2NDguMSA+PiAwID09PSAtMjE0NzQ4MzY0OC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDguMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4gMCAhPT0gMCkgeyAKICAkRVJST1IoJyMyOiA0Mjk0OTY3Mjk2LjEgPj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTYuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+IDAgPT09IC0yMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM0OiA0Mjk0OTY3Mjk1LjEgPj4gMCA9PT0gLTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNQppZiAoNjQ0MjQ1MDk0My4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICg2NDQyNDUwOTQzLjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoLTIxNDc0ODM2NDkuMSA+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4gMCA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKC0yMTQ3NDgzNjQ5LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjNwppZiAoLTQyOTQ5NjcyOTcuMSA+PiAwICE9PSAtMSkgeyAKICAkRVJST1IoJyM3OiAtNDI5NDk2NzI5Ny4xID4+IDAgPT09IC0xLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTcuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjODogLTY0NDI0NTA5NDUuMSA+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoLTY0NDI0NTA5NDUuMSA+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTogLTQyOTQ5NjcyOTYuMSA+PiAwID09PSAwIC4gQWN0dWFsOiAnICsgKC00Mjk0OTY3Mjk2LjEgPj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4gMCAhPT0gLTIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4gMCA9PT0gLTIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+IDApKTsgCn0gCgo=","commentary":"Operator x >> y uses ToInt32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+IHkgdXNlcyBUb1VpbnQzMihBZGRpdGl2ZUV4cHJlc3Npb24pICYgMzEKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMi9TMTEuNy4yX0E1LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRpc3RpbmN0IHBvaW50cwogKi8KCi8vQ0hFQ0sjMQppZiAoMjE0NzQ4MzY0NyA+PiAtMzIuMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyMxOiAyMTQ3NDgzNjQ3ID4+IC0zMi4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMgppZiAoMjE0NzQ4MzY0NyA+PiAtMzEuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMyOiAyMTQ3NDgzNjQ3ID4+IC0zMS4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMzEuMSkpOyAKfSAKCi8vQ0hFQ0sjMwppZiAoMjE0NzQ4MzY0NyA+PiAtMzAuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM6IDIxNDc0ODM2NDcgPj4gLTMwLjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDIxNDc0ODM2NDcgPj4gLTI5LjEgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyM0OiAyMTQ3NDgzNjQ3ID4+IC0yOS4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICgyMTQ3NDgzNjQ3ID4+IC0yOC4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjNTogMjE0NzQ4MzY0NyA+PiAtMjguMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoMjE0NzQ4MzY0NyA+PiAtMjcuMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjNjogMjE0NzQ4MzY0NyA+PiAtMjcuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yNy4xKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgyMTQ3NDgzNjQ3ID4+IC0yNi4xICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM3OiAyMTQ3NDgzNjQ3ID4+IC0yNi4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTI2LjEpKTsgCn0gCgovL0NIRUNLIzgKaWYgKDIxNDc0ODM2NDcgPj4gLTI1LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzg6IDIxNDc0ODM2NDcgPj4gLTI1LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjUuMSkpOyAKfSAKCi8vQ0hFQ0sjOQppZiAoMjE0NzQ4MzY0NyA+PiAtMjQuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5OiAyMTQ3NDgzNjQ3ID4+IC0yNC4xID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjQuMSkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKDIxNDc0ODM2NDcgPj4gLTIzLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTA6IDIxNDc0ODM2NDcgPj4gLTIzLjEgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0yMy4xKSk7IAp9IAoKLy9DSEVDSyMxMQppZiAoMjE0NzQ4MzY0NyA+PiAtMjIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMxMTogMjE0NzQ4MzY0NyA+PiAtMjIuMSA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTIyLjEpKTsgCn0gCgovL0NIRUNLIzEyCmlmICgyMTQ3NDgzNjQ3ID4+IC0yMS4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyOiAyMTQ3NDgzNjQ3ID4+IC0yMS4xID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjEuMSkpOyAKfSAKCi8vQ0hFQ0sjMTMKaWYgKDIxNDc0ODM2NDcgPj4gLTIwLjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxMzogMjE0NzQ4MzY0NyA+PiAtMjAuMSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDIxNDc0ODM2NDcgPj4gLTE5LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNDogMjE0NzQ4MzY0NyA+PiAtMTkuMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDIxNDc0ODM2NDcgPj4gLTE4LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTogMjE0NzQ4MzY0NyA+PiAtMTguMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDIxNDc0ODM2NDcgPj4gLTE3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE2OiAyMTQ3NDgzNjQ3ID4+IC0xNy4xID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTE3LjEpKTsgCn0gCgovL0NIRUNLIzE3CmlmICgyMTQ3NDgzNjQ3ID4+IC0xNi4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxNzogMjE0NzQ4MzY0NyA+PiAtMTYuMSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNi4xKSk7IAp9IAoKLy9DSEVDSyMxOAppZiAoMjE0NzQ4MzY0NyA+PiAtMTUuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTg6IDIxNDc0ODM2NDcgPj4gLTE1LjEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTUuMSkpOyAKfSAKCi8vQ0hFQ0sjMTkKaWYgKDIxNDc0ODM2NDcgPj4gLTE0LjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTk6IDIxNDc0ODM2NDcgPj4gLTE0LjEgPT09IDgxOTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xNC4xKSk7IAp9IAoKLy9DSEVDSyMyMAppZiAoMjE0NzQ4MzY0NyA+PiAtMTMuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMDogMjE0NzQ4MzY0NyA+PiAtMTMuMSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTEzLjEpKTsgCn0gCgovL0NIRUNLIzIxCmlmICgyMTQ3NDgzNjQ3ID4+IC0xMi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzIxOiAyMTQ3NDgzNjQ3ID4+IC0xMi4xID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMjIKaWYgKDIxNDc0ODM2NDcgPj4gLTExLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjI6IDIxNDc0ODM2NDcgPj4gLTExLjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMS4xKSk7IAp9IAoKLy9DSEVDSyMyMwppZiAoMjE0NzQ4MzY0NyA+PiAtMTAuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzIzOiAyMTQ3NDgzNjQ3ID4+IC0xMC4xID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoMjE0NzQ4MzY0NyA+PiAtOS4xICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMjQ6IDIxNDc0ODM2NDcgPj4gLTkuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoMjE0NzQ4MzY0NyA+PiAtOC4xICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMjU6IDIxNDc0ODM2NDcgPj4gLTguMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoMjE0NzQ4MzY0NyA+PiAtNy4xICE9PSA2MykgeyAKICAkRVJST1IoJyMyNjogMjE0NzQ4MzY0NyA+PiAtNy4xID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMjcKaWYgKDIxNDc0ODM2NDcgPj4gLTYuMSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc6IDIxNDc0ODM2NDcgPj4gLTYuMSA9PT0gMzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC02LjEpKTsgCn0gCgovL0NIRUNLIzI4CmlmICgyMTQ3NDgzNjQ3ID4+IC01LjEgIT09IDE1KSB7IAogICRFUlJPUignIzI4OiAyMTQ3NDgzNjQ3ID4+IC01LjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtNS4xKSk7IAp9IAoKLy9DSEVDSyMyOQppZiAoMjE0NzQ4MzY0NyA+PiAtNC4xICE9PSA3KSB7IAogICRFUlJPUignIzI5OiAyMTQ3NDgzNjQ3ID4+IC00LjEgPT09IDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC00LjEpKTsgCn0gCgovL0NIRUNLIzMwCmlmICgyMTQ3NDgzNjQ3ID4+IC0zLjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzA6IDIxNDc0ODM2NDcgPj4gLTMuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gLTMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzEKaWYgKDIxNDc0ODM2NDcgPj4gLTIuMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMTogMjE0NzQ4MzY0NyA+PiAtMi4xID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAtMi4xKSk7IAp9IAoKLy9DSEVDSyMzMgppZiAoMjE0NzQ4MzY0NyA+PiAtMS4xICE9PSAwKSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+IC0xLjEgPT09IDAuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IC0xLjEpKTsgCn0gCgovL0NIRUNLIzMzCmlmICgyMTQ3NDgzNjQ3ID4+IDMyLjEgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjMzM6IDIxNDc0ODM2NDcgPj4gMzIuMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzQKaWYgKDIxNDc0ODM2NDcgPj4gMzMuMSAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyMzNDogMjE0NzQ4MzY0NyA+PiAzMy4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzMy4xKSk7IAp9IAoKLy9DSEVDSyMzNQppZiAoMjE0NzQ4MzY0NyA+PiAzNC4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjMzU6IDIxNDc0ODM2NDcgPj4gMzQuMSA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoMjE0NzQ4MzY0NyA+PiAzNS4xICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMzY6IDIxNDc0ODM2NDcgPj4gMzUuMSA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoMjE0NzQ4MzY0NyA+PiAzNi4xICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjMzc6IDIxNDc0ODM2NDcgPj4gMzYuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoMjE0NzQ4MzY0NyA+PiAzNy4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMzODogMjE0NzQ4MzY0NyA+PiAzNy4xID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gMzcuMSkpOyAKfSAKCi8vQ0hFQ0sjMzkKaWYgKDIxNDc0ODM2NDcgPj4gMzguMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMzk6IDIxNDc0ODM2NDcgPj4gMzguMSA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDM4LjEpKTsgCn0gCgovL0NIRUNLIzQwCmlmICgyMTQ3NDgzNjQ3ID4+IDM5LjEgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzQwOiAyMTQ3NDgzNjQ3ID4+IDM5LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiAzOS4xKSk7IAp9IAoKLy9DSEVDSyM0MQppZiAoMjE0NzQ4MzY0NyA+PiA0MC4xICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzQxOiAyMTQ3NDgzNjQ3ID4+IDQwLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQwLjEpKTsgCn0gCgovL0NIRUNLIzQyCmlmICgyMTQ3NDgzNjQ3ID4+IDQxLjEgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjNDI6IDIxNDc0ODM2NDcgPj4gNDEuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDEuMSkpOyAKfSAKCi8vQ0hFQ0sjNDMKaWYgKDIxNDc0ODM2NDcgPj4gNDIuMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM0MzogMjE0NzQ4MzY0NyA+PiA0Mi4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Mi4xKSk7IAp9IAoKLy9DSEVDSyM0NAppZiAoMjE0NzQ4MzY0NyA+PiA0My4xICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzQ0OiAyMTQ3NDgzNjQ3ID4+IDQzLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQzLjEpKTsgCn0gCgovL0NIRUNLIzQ1CmlmICgyMTQ3NDgzNjQ3ID4+IDQ0LjEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyM0NTogMjE0NzQ4MzY0NyA+PiA0NC4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICgyMTQ3NDgzNjQ3ID4+IDQ1LjEgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0NjogMjE0NzQ4MzY0NyA+PiA0NS4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICgyMTQ3NDgzNjQ3ID4+IDQ2LjEgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0NzogMjE0NzQ4MzY0NyA+PiA0Ni4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICgyMTQ3NDgzNjQ3ID4+IDQ3LjEgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQ4OiAyMTQ3NDgzNjQ3ID4+IDQ3LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA0Ny4xKSk7IAp9IAoKLy9DSEVDSyM0OQppZiAoMjE0NzQ4MzY0NyA+PiA0OC4xICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0OTogMjE0NzQ4MzY0NyA+PiA0OC4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNDguMSkpOyAKfSAKCi8vQ0hFQ0sjNTAKaWYgKDIxNDc0ODM2NDcgPj4gNDkuMSAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTA6IDIxNDc0ODM2NDcgPj4gNDkuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDQ5LjEpKTsgCn0gCgovL0NIRUNLIzUxCmlmICgyMTQ3NDgzNjQ3ID4+IDUwLjEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNTE6IDIxNDc0ODM2NDcgPj4gNTAuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTAuMSkpOyAKfSAKCi8vQ0hFQ0sjNTIKaWYgKDIxNDc0ODM2NDcgPj4gNTEuMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjogMjE0NzQ4MzY0NyA+PiA1MS4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1MS4xKSk7IAp9IAoKLy9DSEVDSyM1MwppZiAoMjE0NzQ4MzY0NyA+PiA1Mi4xICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzUzOiAyMTQ3NDgzNjQ3ID4+IDUyLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDUyLjEpKTsgCn0gCgovL0NIRUNLIzU0CmlmICgyMTQ3NDgzNjQ3ID4+IDUzLjEgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTQ6IDIxNDc0ODM2NDcgPj4gNTMuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTMuMSkpOyAKfSAKCi8vQ0hFQ0sjNTUKaWYgKDIxNDc0ODM2NDcgPj4gNTQuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzU1OiAyMTQ3NDgzNjQ3ID4+IDU0LjEgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDIxNDc0ODM2NDcgPj4gNTUuMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzU2OiAyMTQ3NDgzNjQ3ID4+IDU1LjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDIxNDc0ODM2NDcgPj4gNTYuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzU3OiAyMTQ3NDgzNjQ3ID4+IDU2LjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDIxNDc0ODM2NDcgPj4gNTcuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTg6IDIxNDc0ODM2NDcgPj4gNTcuMSA9PT0gNjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDU3LjEpKTsgCn0gCgovL0NIRUNLIzU5CmlmICgyMTQ3NDgzNjQ3ID4+IDU4LjEgIT09IDMxKSB7IAogICRFUlJPUignIzU5OiAyMTQ3NDgzNjQ3ID4+IDU4LjEgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA1OC4xKSk7IAp9IAoKLy9DSEVDSyM2MAppZiAoMjE0NzQ4MzY0NyA+PiA1OS4xICE9PSAxNSkgeyAKICAkRVJST1IoJyM2MDogMjE0NzQ4MzY0NyA+PiA1OS4xID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNTkuMSkpOyAKfSAKCi8vQ0hFQ0sjNjEKaWYgKDIxNDc0ODM2NDcgPj4gNjAuMSAhPT0gNykgeyAKICAkRVJST1IoJyM2MTogMjE0NzQ4MzY0NyA+PiA2MC4xID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2MC4xKSk7IAp9IAoKLy9DSEVDSyM2MgppZiAoMjE0NzQ4MzY0NyA+PiA2MS4xICE9PSAzKSB7IAogICRFUlJPUignIzYyOiAyMTQ3NDgzNjQ3ID4+IDYxLjEgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+IDYxLjEpKTsgCn0gCgovL0NIRUNLIzYzCmlmICgyMTQ3NDgzNjQ3ID4+IDYyLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjM6IDIxNDc0ODM2NDcgPj4gNjIuMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4gNjIuMSkpOyAKfSAKCi8vQ0hFQ0sjNjQKaWYgKDIxNDc0ODM2NDcgPj4gNjMuMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0NyA+PiA2My4xID09PSAwLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+PiA2My4xKSk7IAp9IAoK","commentary":"Operator x >> y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.2/S11.7.2_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gU2hpZnRFeHByZXNzaW9uIGFuZCAiPj4+IiBvciBiZXR3ZWVuICI+Pj4iIGFuZCBBZGRpdGl2ZUV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCItNFx1MDAwOT4+Plx1MDAwOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IC00XFx1MDAwOT4+PlxcdTAwMDkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiLTRcdTAwMEI+Pj5cdTAwMEIxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMyOiAtNFxcdTAwMEI+Pj5cXHUwMDBCMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiLTRcdTAwMEM+Pj5cdTAwMEMxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiAtNFxcdTAwMEM+Pj5cXHUwMDBDMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIi00XHUwMDIwPj4+XHUwMDIwMSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNDogLTRcXHUwMDIwPj4+XFx1MDAyMDEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCItNFx1MDBBMD4+Plx1MDBBMDEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IC00XFx1MDBBMD4+PlxcdTAwQTAxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiLTRcdTAwMEE+Pj5cdTAwMEExIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM2OiAtNFxcdTAwMEE+Pj5cXHUwMDBBMSA9PT0gMjE0NzQ4MzY0NicpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiLTRcdTAwMEQ+Pj5cdTAwMEQxIikgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyM3OiAtNFxcdTAwMEQ+Pj5cXHUwMDBEMSA9PT0gMjE0NzQ4MzY0NicpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIi00XHUyMDI4Pj4+XHUyMDI4MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjODogLTRcXHUyMDI4Pj4+XFx1MjAyODEgPT09IDIxNDc0ODM2NDYnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCItNFx1MjAyOT4+Plx1MjAyOTEiKSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzk6IC00XFx1MjAyOT4+PlxcdTIwMjkxID09PSAyMTQ3NDgzNjQ2Jyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIi00XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj4+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMTA6IC00XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5Pj4+XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSA9PT0gMjE0NzQ4MzY0NicpOwp9Cgo=","commentary":"White Space and Line Terminator between ShiftExpression and \">>>\" or between \">>>\" and AdditiveExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoLTQgPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMxOiAtNCA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IC00OwppZiAoeCA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHZhciB4ID0gLTQ7IHggPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh4ID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgtNCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzM6IHZhciB5ID0gMTsgLTQgPj4+IHkgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICgtNCA+Pj4geSkpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAtNDsKdmFyIHkgPSAxOwppZiAoeCA+Pj4geSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzQ6IHZhciB4ID0gLTQ7IHZhciB5ID0gMTsgeCA+Pj4geSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+IHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gLTQ7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj4+IG9iamVjdHkucHJvcCAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gLTQ7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+Pj4gb2JqZWN0eS5wcm9wID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wID4+PiBvYmplY3R5LnByb3ApKTsKfQoK","commentary":"Operator x >>> y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID4+PiAxOwogICRFUlJPUignIzEuMTogeCA+Pj4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj4+IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPj4+IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x >>> y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID4+PiB5OwogICRFUlJPUignIzEuMTogMSA+Pj4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj4+IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPj4+IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x >>> y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgW1tEZWZhdWx0IFZhbHVlXV0KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzIKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NikgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4+PiAxID09PSAyMTQ3NDgzNjQ2LiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+Pj4gMSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICBpZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgIT09IDIxNDc0ODM2NDYpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgPT09IDIxNDc0ODM2NDYuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIC00fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+Pj4gMSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gLTR9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4+PiAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAtNH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPj4+IDEgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgtNCA+Pj4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNTogLTQgPj4+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM2CmlmICgtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjNjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CiAgJEVSUk9SKCcjNy4xOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogLTQgPj4+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IC00ID4+PiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAtNCA+Pj4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator x >>> y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+Pj4geTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCA+Pj4geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj4+IHkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4+PiB4ICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID4+PiB4ID09PSAwLiBBY3R1YWw6ICcgKyAoKHggPSAxKSA+Pj4geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAtNDsgCmlmICh4ID4+PiAoeCA9IDEpICE9PSAyMTQ3NDgzNjQ2KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAtNDsgeCA+Pj4gKHggPSAxKSA9PT0gMjE0NzQ4MzY0Ni4gQWN0dWFsOiAnICsgKHggPj4+ICh4ID0gMSkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj4+IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPj4+IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPj4+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4+PiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS43LzExLjcuMy9TMTEuNy4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj4+ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID4+PiAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA+Pj4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+Pj4gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoeSA9IDEpID4+PiB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+Pj4geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgPj4+IHkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj4+IG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgc3RyaW5nIGFuZCBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzU6ICJ4IiA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoIngiID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPj4+ICJ4IiAhPT0gMSkgewogICRFUlJPUignIzY6ICIxIiA+Pj4gIngiID09PSAxLiBBY3R1YWw6ICcgKyAoIjEiID4+PiAieCIpKTsKfQoK","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKG51bGwgPj4+IHVuZGVmaW5lZCAhPT0gMCkgewogICRFUlJPUignIzE6IG51bGwgPj4+IHVuZGVmaW5lZCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gbnVsbCAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCA+Pj4gdW5kZWZpbmVkICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4+PiB1bmRlZmluZWQgPT09IDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBudWxsID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbnVsbCkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMS41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGFuZCBUeXBlKHkpIHZhcnkgYmV0d2VlbiBPYmplY3Qgb2JqZWN0IGFuZCBGdW5jdGlvbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCh7fSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKHt9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzIKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IHt9KSkpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+Pj4gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID4+PiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IDAuIEFjdHVhbDogJyArICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj4+IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSkpOwp9CgovL0NIRUNLIzQKaWYgKCh7fSA+Pj4ge30pICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogKHt9ID4+PiB7fSkgPT09IDAuIEFjdHVhbDogJyArICgoe30gPj4+IHt9KSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoMSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gMSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICh0cnVlID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj4+IHRydWUgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IE51bWJlcigxKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IE51bWJlcigxKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFN0cmluZyAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiAiMSIpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpID4+PiBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyM5OiAieCIgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgieCIgPj4+IDEpKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+Pj4gIngiICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj4+ICJ4IiA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+ICJ4IikpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+IDEgIT09IDApIHsKICAkRVJST1IoJyMyOiBudWxsID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj4+IG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIEJvb2xlYW4gKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+Pj4gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiAiMSIgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgiMSIgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID4+PiB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpID4+PiB0cnVlKSk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4+PiBuZXcgU3RyaW5nKCIxIikgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgPj4+IG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMxOiAiMSIgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4+PiAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAodW5kZWZpbmVkID4+PiBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIFN0cmluZyAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKCIxIiA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPj4+ICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG51bGwgPj4+ICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+ICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSA+Pj4gbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj4+IHVuZGVmaW5lZCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgPj4+IHVuZGVmaW5lZCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCA+Pj4gdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4+PiB1bmRlZmluZWQgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+Pj4gdW5kZWZpbmVkID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkID4+PiBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHJldHVybnMgVG9OdW1iZXIoeCkgPj4+IFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BM19UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4+PiBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+Pj4gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKHRydWUgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4+PiB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+Pj4gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgPj4+IHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+Pj4gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4+PiBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgPj4+IG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4+PiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG51bGwgPj4+IG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobnVsbCA+Pj4gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x >>> y returns ToNumber(x) >>> ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiwgbiA9IDAuLi4xNQogKi8KCi8vQ0hFQ0sKIAppZiAoMSA+Pj4gMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxOiAxID4+PiAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMCkpOyAKfSAKCgppZiAoMiA+Pj4gMCAhPT0gMikgeyAKICAkRVJST1IoJyMyOiAyID4+PiAwID09PSAyLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMCkpOyAKfSAKCgppZiAoNCA+Pj4gMCAhPT0gNCkgeyAKICAkRVJST1IoJyMzOiA0ID4+PiAwID09PSA0LiBBY3R1YWw6ICcgKyAoNCA+Pj4gMCkpOyAKfSAKCgppZiAoOCA+Pj4gMCAhPT0gOCkgeyAKICAkRVJST1IoJyM0OiA4ID4+PiAwID09PSA4LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTYgPj4+IDAgIT09IDE2KSB7IAogICRFUlJPUignIzU6IDE2ID4+PiAwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2ID4+PiAwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjogMzIgPj4+IDAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDApKTsgCn0gCgoKaWYgKDY0ID4+PiAwICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OiA2NCA+Pj4gMCA9PT0gNjQuIEFjdHVhbDogJyArICg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjODogMTI4ID4+PiAwID09PSAxMjguIEFjdHVhbDogJyArICgxMjggPj4+IDApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzk6IDI1NiA+Pj4gMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAwKSk7IAp9IAoKCmlmICg1MTIgPj4+IDAgIT09IDUxMikgeyAKICAkRVJST1IoJyMxMDogNTEyID4+PiAwID09PSA1MTIuIEFjdHVhbDogJyArICg1MTIgPj4+IDApKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMTE6IDEwMjQgPj4+IDAgPT09IDEwMjQuIEFjdHVhbDogJyArICgxMDI0ID4+PiAwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzEyOiAyMDQ4ID4+PiAwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxMzogNDA5NiA+Pj4gMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDApKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDAgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTQ6IDgxOTIgPj4+IDAgPT09IDgxOTIuIEFjdHVhbDogJyArICg4MTkyID4+PiAwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTU6IDE2Mzg0ID4+PiAwID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAwKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTY6IDMyNzY4ID4+PiAwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTc6IDY1NTM2ID4+PiAwID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODogMTMxMDcyID4+PiAwID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE5OiAyNjIxNDQgPj4+IDAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAwICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjA6IDUyNDI4OCA+Pj4gMCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOiAxMDQ4NTc2ID4+PiAwID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyMjogMjA5NzE1MiA+Pj4gMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDApKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDAgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjM6IDQxOTQzMDQgPj4+IDAgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAwICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI0OiA4Mzg4NjA4ID4+PiAwID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDAgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1OiAxNjc3NzIxNiA+Pj4gMCA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDAgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzI2OiAzMzU1NDQzMiA+Pj4gMCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDAgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzI3OiA2NzEwODg2NCA+Pj4gMCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAwICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMjg6IDEzNDIxNzcyOCA+Pj4gMCA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDAgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyMyOTogMjY4NDM1NDU2ID4+PiAwID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMCAhPT0gNTM2ODcwOTEyKSB7IAogICRFUlJPUignIzMwOiA1MzY4NzA5MTIgPj4+IDAgPT09IDUzNjg3MDkxMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMCAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyMzMTogMTA3Mzc0MTgyNCA+Pj4gMCA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzI6IDIxNDc0ODM2NDggPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAwKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzMzOiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMiA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDogMiA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIgPj4+IDEpKTsgCn0gCgoKaWYgKDQgPj4+IDEgIT09IDIpIHsgCiAgJEVSUk9SKCcjMzU6IDQgPj4+IDEgPT09IDIuIEFjdHVhbDogJyArICg0ID4+PiAxKSk7IAp9IAoKCmlmICg4ID4+PiAxICE9PSA0KSB7IAogICRFUlJPUignIzM2OiA4ID4+PiAxID09PSA0LiBBY3R1YWw6ICcgKyAoOCA+Pj4gMSkpOyAKfSAKCgppZiAoMTYgPj4+IDEgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzc6IDE2ID4+PiAxID09PSA4LiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEpKTsgCn0gCgoKaWYgKDMyID4+PiAxICE9PSAxNikgeyAKICAkRVJST1IoJyMzODogMzIgPj4+IDEgPT09IDE2LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDEpKTsgCn0gCgoKaWYgKDY0ID4+PiAxICE9PSAzMikgeyAKICAkRVJST1IoJyMzOTogNjQgPj4+IDEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNDA6IDEyOCA+Pj4gMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMjggPj4+IDEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzQxOiAyNTYgPj4+IDEgPT09IDEyOC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMSkpOyAKfSAKCgppZiAoNTEyID4+PiAxICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDI6IDUxMiA+Pj4gMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDM6IDEwMjQgPj4+IDEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNDQ6IDIwNDggPj4+IDEgPT09IDEwMjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ1OiA0MDk2ID4+PiAxID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM0NjogODE5MiA+Pj4gMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxICE9PSA4MTkyKSB7IAogICRFUlJPUignIzQ3OiAxNjM4NCA+Pj4gMSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDg6IDMyNzY4ID4+PiAxID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNDk6IDY1NTM2ID4+PiAxID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUwOiAxMzEwNzIgPj4+IDEgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM1MTogMjYyMTQ0ID4+PiAxID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzUyOiA1MjQyODggPj4+IDEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzUzOiAxMDQ4NTc2ID4+PiAxID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAxKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzU0OiAyMDk3MTUyID4+PiAxID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM1NTogNDE5NDMwNCA+Pj4gMSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjNTY6IDgzODg2MDggPj4+IDEgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM1NzogMTY3NzcyMTYgPj4+IDEgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzU4OiAzMzU1NDQzMiA+Pj4gMSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzU5OiA2NzEwODg2NCA+Pj4gMSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM2MDogMTM0MjE3NzI4ID4+PiAxID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjNjE6IDI2ODQzNTQ1NiA+Pj4gMSA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDEgIT09IDI2ODQzNTQ1NikgeyAKICAkRVJST1IoJyM2MjogNTM2ODcwOTEyID4+PiAxID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM2MzogMTA3Mzc0MTgyNCA+Pj4gMSA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMSAhPT0gMTA3Mzc0MTgyNCkgeyAKICAkRVJST1IoJyM2NDogMjE0NzQ4MzY0OCA+Pj4gMSA9PT0gMTA3Mzc0MTgyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEpKTsgCn0gCgoKaWYgKDEgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU6IDEgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyKSk7IAp9IAoKCmlmICgyID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY2OiAyID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMikpOyAKfSAKCgppZiAoNCA+Pj4gMiAhPT0gMSkgeyAKICAkRVJST1IoJyM2NzogNCA+Pj4gMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQgPj4+IDIpKTsgCn0gCgoKaWYgKDggPj4+IDIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjg6IDggPj4+IDIgPT09IDIuIEFjdHVhbDogJyArICg4ID4+PiAyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMiAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTogMTYgPj4+IDIgPT09IDQuIEFjdHVhbDogJyArICgxNiA+Pj4gMikpOyAKfSAKCgppZiAoMzIgPj4+IDIgIT09IDgpIHsgCiAgJEVSUk9SKCcjNzA6IDMyID4+PiAyID09PSA4LiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIpKTsgCn0gCgoKaWYgKDY0ID4+PiAyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MTogNjQgPj4+IDIgPT09IDE2LiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzI6IDEyOCA+Pj4gMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMjggPj4+IDIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNzM6IDI1NiA+Pj4gMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNTYgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzc0OiA1MTIgPj4+IDIgPT09IDEyOC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMikpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzc1OiAxMDI0ID4+PiAyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNzY6IDIwNDggPj4+IDIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzc6IDQwOTYgPj4+IDIgPT09IDEwMjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzc4OiA4MTkyID4+PiAyID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNzk6IDE2Mzg0ID4+PiAyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyICE9PSA4MTkyKSB7IAogICRFUlJPUignIzgwOiAzMjc2OCA+Pj4gMiA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjODE6IDY1NTM2ID4+PiAyID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzgyOiAxMzEwNzIgPj4+IDIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzgzOiAyNjIxNDQgPj4+IDIgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM4NDogNTI0Mjg4ID4+PiAyID09PSAxMzEwNzIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyM4NTogMTA0ODU3NiA+Pj4gMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMiAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzg2OiAyMDk3MTUyID4+PiAyID09PSA1MjQyODguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzg3OiA0MTk0MzA0ID4+PiAyID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMiAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyM4ODogODM4ODYwOCA+Pj4gMiA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzg5OiAxNjc3NzIxNiA+Pj4gMiA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyM5MDogMzM1NTQ0MzIgPj4+IDIgPT09IDgzODg2MDguIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzkxOiA2NzEwODg2NCA+Pj4gMiA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyM5MjogMTM0MjE3NzI4ID4+PiAyID09PSAzMzU1NDQzMi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyM5MzogMjY4NDM1NDU2ID4+PiAyID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjOTQ6IDUzNjg3MDkxMiA+Pj4gMiA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyICE9PSAyNjg0MzU0NTYpIHsgCiAgJEVSUk9SKCcjOTU6IDEwNzM3NDE4MjQgPj4+IDIgPT09IDI2ODQzNTQ1Ni4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDIgIT09IDUzNjg3MDkxMikgeyAKICAkRVJST1IoJyM5NjogMjE0NzQ4MzY0OCA+Pj4gMiA9PT0gNTM2ODcwOTEyLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMikpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzogMSA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMpKTsgCn0gCgoKaWYgKDIgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg6IDIgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzKSk7IAp9IAoKCmlmICg0ID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzk5OiA0ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMykpOyAKfSAKCgppZiAoOCA+Pj4gMyAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDA6IDggPj4+IDMgPT09IDEuIEFjdHVhbDogJyArICg4ID4+PiAzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMyAhPT0gMikgeyAKICAkRVJST1IoJyMxMDE6IDE2ID4+PiAzID09PSAyLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMpKTsgCn0gCgoKaWYgKDMyID4+PiAzICE9PSA0KSB7IAogICRFUlJPUignIzEwMjogMzIgPj4+IDMgPT09IDQuIEFjdHVhbDogJyArICgzMiA+Pj4gMykpOyAKfSAKCgppZiAoNjQgPj4+IDMgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTAzOiA2NCA+Pj4gMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzKSk7IAp9IAoKCmlmICgxMjggPj4+IDMgIT09IDE2KSB7IAogICRFUlJPUignIzEwNDogMTI4ID4+PiAzID09PSAxNi4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMykpOyAKfSAKCgppZiAoMjU2ID4+PiAzICE9PSAzMikgeyAKICAkRVJST1IoJyMxMDU6IDI1NiA+Pj4gMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNTYgPj4+IDMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMyAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTA2OiA1MTIgPj4+IDMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAzICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTA3OiAxMDI0ID4+PiAzID09PSAxMjguIEFjdHVhbDogJyArICgxMDI0ID4+PiAzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTA4OiAyMDQ4ID4+PiAzID09PSAyNTYuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAzKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAzICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMTA5OiA0MDk2ID4+PiAzID09PSA1MTIuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAzICE9PSAxMDI0KSB7IAogICRFUlJPUignIzExMDogODE5MiA+Pj4gMyA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzExMTogMTYzODQgPj4+IDMgPT09IDIwNDguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDMgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMTEyOiAzMjc2OCA+Pj4gMyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxMTM6IDY1NTM2ID4+PiAzID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMyAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTE0OiAxMzEwNzIgPj4+IDMgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAzKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDMgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzExNTogMjYyMTQ0ID4+PiAzID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxMTY6IDUyNDI4OCA+Pj4gMyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxMTc6IDEwNDg1NzYgPj4+IDMgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDMpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxMTg6IDIwOTcxNTIgPj4+IDMgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDMpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMxMTk6IDQxOTQzMDQgPj4+IDMgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTIwOiA4Mzg4NjA4ID4+PiAzID09PSAxMDQ4NTc2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDMgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTIxOiAxNjc3NzIxNiA+Pj4gMyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMyAhPT0gNDE5NDMwNCkgeyAKICAkRVJST1IoJyMxMjI6IDMzNTU0NDMyID4+PiAzID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzEyMzogNjcxMDg4NjQgPj4+IDMgPT09IDgzODg2MDguIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAzICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxMjQ6IDEzNDIxNzcyOCA+Pj4gMyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMyAhPT0gMzM1NTQ0MzIpIHsgCiAgJEVSUk9SKCcjMTI1OiAyNjg0MzU0NTYgPj4+IDMgPT09IDMzNTU0NDMyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzEyNjogNTM2ODcwOTEyID4+PiAzID09PSA2NzEwODg2NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMyAhPT0gMTM0MjE3NzI4KSB7IAogICRFUlJPUignIzEyNzogMTA3Mzc0MTgyNCA+Pj4gMyA9PT0gMTM0MjE3NzI4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMyAhPT0gMjY4NDM1NDU2KSB7IAogICRFUlJPUignIzEyODogMjE0NzQ4MzY0OCA+Pj4gMyA9PT0gMjY4NDM1NDU2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMjk6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgyID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzMDogMiA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDQpKTsgCn0gCgoKaWYgKDQgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMxOiA0ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNCkpOyAKfSAKCgppZiAoOCA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzI6IDggPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA0KSk7IAp9IAoKCmlmICgxNiA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzM6IDE2ID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDQpKTsgCn0gCgoKaWYgKDMyID4+PiA0ICE9PSAyKSB7IAogICRFUlJPUignIzEzNDogMzIgPj4+IDQgPT09IDIuIEFjdHVhbDogJyArICgzMiA+Pj4gNCkpOyAKfSAKCgppZiAoNjQgPj4+IDQgIT09IDQpIHsgCiAgJEVSUk9SKCcjMTM1OiA2NCA+Pj4gNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY0ID4+PiA0KSk7IAp9IAoKCmlmICgxMjggPj4+IDQgIT09IDgpIHsgCiAgJEVSUk9SKCcjMTM2OiAxMjggPj4+IDQgPT09IDguIEFjdHVhbDogJyArICgxMjggPj4+IDQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNCAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMTM3OiAyNTYgPj4+IDQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA0KSk7IAp9IAoKCmlmICg1MTIgPj4+IDQgIT09IDMyKSB7IAogICRFUlJPUignIzEzODogNTEyID4+PiA0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMTM5OiAxMDI0ID4+PiA0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDQgIT09IDEyOCkgeyAKICAkRVJST1IoJyMxNDA6IDIwNDggPj4+IDQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDQgIT09IDI1NikgeyAKICAkRVJST1IoJyMxNDE6IDQwOTYgPj4+IDQgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDQpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDQgIT09IDUxMikgeyAKICAkRVJST1IoJyMxNDI6IDgxOTIgPj4+IDQgPT09IDUxMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA0ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzE0MzogMTYzODQgPj4+IDQgPT09IDEwMjQuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDQgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMTQ0OiAzMjc2OCA+Pj4gNCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMxNDU6IDY1NTM2ID4+PiA0ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMxNDY6IDEzMTA3MiA+Pj4gNCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA0ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMxNDc6IDI2MjE0NCA+Pj4gNCA9PT0gMTYzODQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDQpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNCAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMTQ4OiA1MjQyODggPj4+IDQgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA0KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA0ICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMxNDk6IDEwNDg1NzYgPj4+IDQgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNCAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzE1MDogMjA5NzE1MiA+Pj4gNCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNCAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzE1MTogNDE5NDMwNCA+Pj4gNCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gNCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gNCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzE1MjogODM4ODYwOCA+Pj4gNCA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDQgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMTUzOiAxNjc3NzIxNiA+Pj4gNCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNCAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMxNTQ6IDMzNTU0NDMyID4+PiA0ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA0ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzE1NTogNjcxMDg4NjQgPj4+IDQgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA0ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzE1NjogMTM0MjE3NzI4ID4+PiA0ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDQgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzE1NzogMjY4NDM1NDU2ID4+PiA0ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA0ICE9PSAzMzU1NDQzMikgeyAKICAkRVJST1IoJyMxNTg6IDUzNjg3MDkxMiA+Pj4gNCA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDQgIT09IDY3MTA4ODY0KSB7IAogICRFUlJPUignIzE1OTogMTA3Mzc0MTgyNCA+Pj4gNCA9PT0gNjcxMDg4NjQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA0ICE9PSAxMzQyMTc3MjgpIHsgCiAgJEVSUk9SKCcjMTYwOiAyMTQ3NDgzNjQ4ID4+PiA0ID09PSAxMzQyMTc3MjguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA0KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2MTogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDIgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTYyOiAyID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNSkpOyAKfSAKCgppZiAoNCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjM6IDQgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA1KSk7IAp9IAoKCmlmICg4ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NDogOCA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2ID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NTogMTYgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNSkpOyAKfSAKCgppZiAoMzIgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTY2OiAzMiA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMyID4+PiA1KSk7IAp9IAoKCmlmICg2NCA+Pj4gNSAhPT0gMikgeyAKICAkRVJST1IoJyMxNjc6IDY0ID4+PiA1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNSAhPT0gNCkgeyAKICAkRVJST1IoJyMxNjg6IDEyOCA+Pj4gNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNSkpOyAKfSAKCgppZiAoMjU2ID4+PiA1ICE9PSA4KSB7IAogICRFUlJPUignIzE2OTogMjU2ID4+PiA1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDUgIT09IDE2KSB7IAogICRFUlJPUignIzE3MDogNTEyID4+PiA1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gNSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gNSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMTcxOiAxMDI0ID4+PiA1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDUgIT09IDY0KSB7IAogICRFUlJPUignIzE3MjogMjA0OCA+Pj4gNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMDQ4ID4+PiA1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA1ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMTczOiA0MDk2ID4+PiA1ID09PSAxMjguIEFjdHVhbDogJyArICg0MDk2ID4+PiA1KSk7IAp9IAoKCmlmICg4MTkyID4+PiA1ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMTc0OiA4MTkyID4+PiA1ID09PSAyNTYuIEFjdHVhbDogJyArICg4MTkyID4+PiA1KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNSAhPT0gNTEyKSB7IAogICRFUlJPUignIzE3NTogMTYzODQgPj4+IDUgPT09IDUxMi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMxNzY6IDMyNzY4ID4+PiA1ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiA1ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzE3NzogNjU1MzYgPj4+IDUgPT09IDIwNDguIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA1ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzE3ODogMTMxMDcyID4+PiA1ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDUgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMTc5OiAyNjIxNDQgPj4+IDUgPT09IDgxOTIuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMTgwOiA1MjQyODggPj4+IDUgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiA1KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiA1ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMxODE6IDEwNDg1NzYgPj4+IDUgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gNSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gNSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMTgyOiAyMDk3MTUyID4+PiA1ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDUgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMxODM6IDQxOTQzMDQgPj4+IDUgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDUpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDUgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMxODQ6IDgzODg2MDggPj4+IDUgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA1ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMTg1OiAxNjc3NzIxNiA+Pj4gNSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA1ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzE4NjogMzM1NTQ0MzIgPj4+IDUgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDUgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMTg3OiA2NzEwODg2NCA+Pj4gNSA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDUgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMTg4OiAxMzQyMTc3MjggPj4+IDUgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNSAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMxODk6IDI2ODQzNTQ1NiA+Pj4gNSA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA1ICE9PSAxNjc3NzIxNikgeyAKICAkRVJST1IoJyMxOTA6IDUzNjg3MDkxMiA+Pj4gNSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDUgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzE5MTogMTA3Mzc0MTgyNCA+Pj4gNSA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA1ICE9PSA2NzEwODg2NCkgeyAKICAkRVJST1IoJyMxOTI6IDIxNDc0ODM2NDggPj4+IDUgPT09IDY3MTA4ODY0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gNSkpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTM6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5NDogMiA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDYpKTsgCn0gCgoKaWYgKDQgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk1OiA0ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gNikpOyAKfSAKCgppZiAoOCA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTY6IDggPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA2KSk7IAp9IAoKCmlmICgxNiA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMxOTc6IDE2ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMyID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzE5ODogMzIgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gNikpOyAKfSAKCgppZiAoNjQgPj4+IDYgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTk5OiA2NCA+Pj4gNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY0ID4+PiA2KSk7IAp9IAoKCmlmICgxMjggPj4+IDYgIT09IDIpIHsgCiAgJEVSUk9SKCcjMjAwOiAxMjggPj4+IDYgPT09IDIuIEFjdHVhbDogJyArICgxMjggPj4+IDYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gNiAhPT0gNCkgeyAKICAkRVJST1IoJyMyMDE6IDI1NiA+Pj4gNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gNikpOyAKfSAKCgppZiAoNTEyID4+PiA2ICE9PSA4KSB7IAogICRFUlJPUignIzIwMjogNTEyID4+PiA2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTEyID4+PiA2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA2ICE9PSAxNikgeyAKICAkRVJST1IoJyMyMDM6IDEwMjQgPj4+IDYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjA0OiAyMDQ4ID4+PiA2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDYpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDYgIT09IDY0KSB7IAogICRFUlJPUignIzIwNTogNDA5NiA+Pj4gNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MDk2ID4+PiA2KSk7IAp9IAoKCmlmICg4MTkyID4+PiA2ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMjA2OiA4MTkyID4+PiA2ID09PSAxMjguIEFjdHVhbDogJyArICg4MTkyID4+PiA2KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gNiAhPT0gMjU2KSB7IAogICRFUlJPUignIzIwNzogMTYzODQgPj4+IDYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gNiAhPT0gNTEyKSB7IAogICRFUlJPUignIzIwODogMzI3NjggPj4+IDYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gNiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMyMDk6IDY1NTM2ID4+PiA2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gNiAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyMTA6IDEzMTA3MiA+Pj4gNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiA2ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzIxMTogMjYyMTQ0ID4+PiA2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDYgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMjEyOiA1MjQyODggPj4+IDYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDYgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzIxMzogMTA0ODU3NiA+Pj4gNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA2KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA2ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyMTQ6IDIwOTcxNTIgPj4+IDYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNikpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMjE1OiA0MTk0MzA0ID4+PiA2ID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDYgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMyMTY6IDgzODg2MDggPj4+IDYgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDYpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiA2ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjE3OiAxNjc3NzIxNiA+Pj4gNiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDYpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA2ICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMjE4OiAzMzU1NDQzMiA+Pj4gNiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA2ICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzIxOTogNjcxMDg4NjQgPj4+IDYgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiA2ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzIyMDogMTM0MjE3NzI4ID4+PiA2ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiA2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDYgIT09IDQxOTQzMDQpIHsgCiAgJEVSUk9SKCcjMjIxOiAyNjg0MzU0NTYgPj4+IDYgPT09IDQxOTQzMDQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gNiAhPT0gODM4ODYwOCkgeyAKICAkRVJST1IoJyMyMjI6IDUzNjg3MDkxMiA+Pj4gNiA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gNiAhPT0gMTY3NzcyMTYpIHsgCiAgJEVSUk9SKCcjMjIzOiAxMDczNzQxODI0ID4+PiA2ID09PSAxNjc3NzIxNi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDYgIT09IDMzNTU0NDMyKSB7IAogICRFUlJPUignIzIyNDogMjE0NzQ4MzY0OCA+Pj4gNiA9PT0gMzM1NTQ0MzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA2KSk7IAp9IAoKCmlmICgxID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyNTogMSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDcpKTsgCn0gCgoKaWYgKDIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjI2OiAyID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gNykpOyAKfSAKCgppZiAoNCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMjc6IDQgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA3KSk7IAp9IAoKCmlmICg4ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyODogOCA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDcpKTsgCn0gCgoKaWYgKDE2ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIyOTogMTYgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gNykpOyAKfSAKCgppZiAoMzIgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMwOiAzMiA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NCA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzE6IDY0ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gNyAhPT0gMSkgeyAKICAkRVJST1IoJyMyMzI6IDEyOCA+Pj4gNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gNykpOyAKfSAKCgppZiAoMjU2ID4+PiA3ICE9PSAyKSB7IAogICRFUlJPUignIzIzMzogMjU2ID4+PiA3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDcgIT09IDQpIHsgCiAgJEVSUk9SKCcjMjM0OiA1MTIgPj4+IDcgPT09IDQuIEFjdHVhbDogJyArICg1MTIgPj4+IDcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDcgIT09IDgpIHsgCiAgJEVSUk9SKCcjMjM1OiAxMDI0ID4+PiA3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gNyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjMjM2OiAyMDQ4ID4+PiA3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDcgIT09IDMyKSB7IAogICRFUlJPUignIzIzNzogNDA5NiA+Pj4gNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MDk2ID4+PiA3KSk7IAp9IAoKCmlmICg4MTkyID4+PiA3ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyMzg6IDgxOTIgPj4+IDcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDcgIT09IDEyOCkgeyAKICAkRVJST1IoJyMyMzk6IDE2Mzg0ID4+PiA3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gNykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDcgIT09IDI1NikgeyAKICAkRVJST1IoJyMyNDA6IDMyNzY4ID4+PiA3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDcgIT09IDUxMikgeyAKICAkRVJST1IoJyMyNDE6IDY1NTM2ID4+PiA3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiA3ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzI0MjogMTMxMDcyID4+PiA3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDcgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMjQzOiAyNjIxNDQgPj4+IDcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gNyAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNDQ6IDUyNDI4OCA+Pj4gNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gNyAhPT0gODE5MikgeyAKICAkRVJST1IoJyMyNDU6IDEwNDg1NzYgPj4+IDcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA3ICE9PSAxNjM4NCkgeyAKICAkRVJST1IoJyMyNDY6IDIwOTcxNTIgPj4+IDcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gNykpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gNyAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMjQ3OiA0MTk0MzA0ID4+PiA3ID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDcpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDcgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI0ODogODM4ODYwOCA+Pj4gNyA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gNyAhPT0gMTMxMDcyKSB7IAogICRFUlJPUignIzI0OTogMTY3NzcyMTYgPj4+IDcgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiA3KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gNyAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzI1MDogMzM1NTQ0MzIgPj4+IDcgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiA3KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gNyAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI1MTogNjcxMDg4NjQgPj4+IDcgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiA3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDcgIT09IDEwNDg1NzYpIHsgCiAgJEVSUk9SKCcjMjUyOiAxMzQyMTc3MjggPj4+IDcgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gNyAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMyNTM6IDI2ODQzNTQ1NiA+Pj4gNyA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA3ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI1NDogNTM2ODcwOTEyID4+PiA3ID09PSA0MTk0MzA0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA3ICE9PSA4Mzg4NjA4KSB7IAogICRFUlJPUignIzI1NTogMTA3Mzc0MTgyNCA+Pj4gNyA9PT0gODM4ODYwOC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDcgIT09IDE2Nzc3MjE2KSB7IAogICRFUlJPUignIzI1NjogMjE0NzQ4MzY0OCA+Pj4gNyA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiA3KSk7IAp9IAoKCmlmICgxID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI1NzogMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDgpKTsgCn0gCgoKaWYgKDIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjU4OiAyID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gOCkpOyAKfSAKCgppZiAoNCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNTk6IDQgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiA4KSk7IAp9IAoKCmlmICg4ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MDogOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDgpKTsgCn0gCgoKaWYgKDE2ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2MTogMTYgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gOCkpOyAKfSAKCgppZiAoMzIgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjYyOiAzMiA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiA4KSk7IAp9IAoKCmlmICg2NCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjM6IDY0ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjQ6IDEyOCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gOCkpOyAKfSAKCgppZiAoMjU2ID4+PiA4ICE9PSAxKSB7IAogICRFUlJPUignIzI2NTogMjU2ID4+PiA4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiA4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDggIT09IDIpIHsgCiAgJEVSUk9SKCcjMjY2OiA1MTIgPj4+IDggPT09IDIuIEFjdHVhbDogJyArICg1MTIgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDggIT09IDQpIHsgCiAgJEVSUk9SKCcjMjY3OiAxMDI0ID4+PiA4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gOCAhPT0gOCkgeyAKICAkRVJST1IoJyMyNjg6IDIwNDggPj4+IDggPT09IDguIEFjdHVhbDogJyArICgyMDQ4ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiA4ICE9PSAxNikgeyAKICAkRVJST1IoJyMyNjk6IDQwOTYgPj4+IDggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gOCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjMjcwOiA4MTkyID4+PiA4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDgpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiA4ICE9PSA2NCkgeyAKICAkRVJST1IoJyMyNzE6IDE2Mzg0ID4+PiA4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gOCAhPT0gMTI4KSB7IAogICRFUlJPUignIzI3MjogMzI3NjggPj4+IDggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOCAhPT0gMjU2KSB7IAogICRFUlJPUignIzI3MzogNjU1MzYgPj4+IDggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDggIT09IDUxMikgeyAKICAkRVJST1IoJyMyNzQ6IDEzMTA3MiA+Pj4gOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDggIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMjc1OiAyNjIxNDQgPj4+IDggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gOCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyMyNzY6IDUyNDI4OCA+Pj4gOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gOCAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMyNzc6IDEwNDg1NzYgPj4+IDggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiA4ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzI3ODogMjA5NzE1MiA+Pj4gOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDggIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzI3OTogNDE5NDMwNCA+Pj4gOCA9PT0gMTYzODQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiA4ICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyMyODA6IDgzODg2MDggPj4+IDggPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDggIT09IDY1NTM2KSB7IAogICRFUlJPUignIzI4MTogMTY3NzcyMTYgPj4+IDggPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiA4ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMjgyOiAzMzU1NDQzMiA+Pj4gOCA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA4ICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjMjgzOiA2NzEwODg2NCA+Pj4gOCA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOCAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzI4NDogMTM0MjE3NzI4ID4+PiA4ID09PSA1MjQyODguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOCAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMyODU6IDI2ODQzNTQ1NiA+Pj4gOCA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiA4ICE9PSAyMDk3MTUyKSB7IAogICRFUlJPUignIzI4NjogNTM2ODcwOTEyID4+PiA4ID09PSAyMDk3MTUyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiA4ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzI4NzogMTA3Mzc0MTgyNCA+Pj4gOCA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDggIT09IDgzODg2MDgpIHsgCiAgJEVSUk9SKCcjMjg4OiAyMTQ3NDgzNjQ4ID4+PiA4ID09PSA4Mzg4NjA4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gOCkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyODk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5MDogMiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDkpKTsgCn0gCgoKaWYgKDQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjkxOiA0ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gOSkpOyAKfSAKCgppZiAoOCA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTI6IDggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiA5KSk7IAp9IAoKCmlmICgxNiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTM6IDE2ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDkpKTsgCn0gCgoKaWYgKDMyID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzI5NDogMzIgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gOSkpOyAKfSAKCgppZiAoNjQgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk1OiA2NCA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiA5KSk7IAp9IAoKCmlmICgxMjggPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk2OiAxMjggPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTc6IDI1NiA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gOSkpOyAKfSAKCgppZiAoNTEyID4+PiA5ICE9PSAxKSB7IAogICRFUlJPUignIzI5ODogNTEyID4+PiA5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTEyID4+PiA5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiA5ICE9PSAyKSB7IAogICRFUlJPUignIzI5OTogMTAyNCA+Pj4gOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDkgIT09IDQpIHsgCiAgJEVSUk9SKCcjMzAwOiAyMDQ4ID4+PiA5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gOSAhPT0gOCkgeyAKICAkRVJST1IoJyMzMDE6IDQwOTYgPj4+IDkgPT09IDguIEFjdHVhbDogJyArICg0MDk2ID4+PiA5KSk7IAp9IAoKCmlmICg4MTkyID4+PiA5ICE9PSAxNikgeyAKICAkRVJST1IoJyMzMDI6IDgxOTIgPj4+IDkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDkgIT09IDMyKSB7IAogICRFUlJPUignIzMwMzogMTYzODQgPj4+IDkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDkpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiA5ICE9PSA2NCkgeyAKICAkRVJST1IoJyMzMDQ6IDMyNzY4ID4+PiA5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiA5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gOSAhPT0gMTI4KSB7IAogICRFUlJPUignIzMwNTogNjU1MzYgPj4+IDkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiA5KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDkgIT09IDI1NikgeyAKICAkRVJST1IoJyMzMDY6IDEzMTA3MiA+Pj4gOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiA5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDkgIT09IDUxMikgeyAKICAkRVJST1IoJyMzMDc6IDI2MjE0NCA+Pj4gOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiA5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDkgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjMzA4OiA1MjQyODggPj4+IDkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDkgIT09IDIwNDgpIHsgCiAgJEVSUk9SKCcjMzA5OiAxMDQ4NTc2ID4+PiA5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gOSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyMzMTA6IDIwOTcxNTIgPj4+IDkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiA5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiA5ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzMxMTogNDE5NDMwNCA+Pj4gOSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDkgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzMxMjogODM4ODYwOCA+Pj4gOSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiA5KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gOSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjMzEzOiAxNjc3NzIxNiA+Pj4gOSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gOSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDkgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzMxNDogMzM1NTQ0MzIgPj4+IDkgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiA5ICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjMzE1OiA2NzEwODg2NCA+Pj4gOSA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDkpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gOSAhPT0gMjYyMTQ0KSB7IAogICRFUlJPUignIzMxNjogMTM0MjE3NzI4ID4+PiA5ID09PSAyNjIxNDQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gOSAhPT0gNTI0Mjg4KSB7IAogICRFUlJPUignIzMxNzogMjY4NDM1NDU2ID4+PiA5ID09PSA1MjQyODguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gOSAhPT0gMTA0ODU3NikgeyAKICAkRVJST1IoJyMzMTg6IDUzNjg3MDkxMiA+Pj4gOSA9PT0gMTA0ODU3Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gOSAhPT0gMjA5NzE1MikgeyAKICAkRVJST1IoJyMzMTk6IDEwNzM3NDE4MjQgPj4+IDkgPT09IDIwOTcxNTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiA5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiA5ICE9PSA0MTk0MzA0KSB7IAogICRFUlJPUignIzMyMDogMjE0NzQ4MzY0OCA+Pj4gOSA9PT0gNDE5NDMwNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDkpKTsgCn0gCgoKaWYgKDEgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyMTogMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMCkpOyAKfSAKCgppZiAoMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzIyOiAyID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEwKSk7IAp9IAoKCmlmICg0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjM6IDQgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTApKTsgCn0gCgoKaWYgKDggPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNDogOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMCkpOyAKfSAKCgppZiAoMTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyNTogMTYgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzI2OiAzMiA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDY0ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjc6IDY0ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMjg6IDEyOCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMyOTogMjU2ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMwOiA1MTIgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzMxOiAxMDI0ID4+PiAxMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMCAhPT0gMikgeyAKICAkRVJST1IoJyMzMzI6IDIwNDggPj4+IDEwID09PSAyLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEwICE9PSA0KSB7IAogICRFUlJPUignIzMzMzogNDA5NiA+Pj4gMTAgPT09IDQuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTAgIT09IDgpIHsgCiAgJEVSUk9SKCcjMzM0OiA4MTkyID4+PiAxMCA9PT0gOC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTAgIT09IDE2KSB7IAogICRFUlJPUignIzMzNTogMTYzODQgPj4+IDEwID09PSAxNi4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEwICE9PSAzMikgeyAKICAkRVJST1IoJyMzMzY6IDMyNzY4ID4+PiAxMCA9PT0gMzIuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxMCAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjMzM3OiA2NTUzNiA+Pj4gMTAgPT09IDY0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEwICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzM4OiAxMzEwNzIgPj4+IDEwID09PSAxMjguIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDEwICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzM5OiAyNjIxNDQgPj4+IDEwID09PSAyNTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEwICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjMzQwOiA1MjQyODggPj4+IDEwID09PSA1MTIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNDE6IDEwNDg1NzYgPj4+IDEwID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDEwICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM0MjogMjA5NzE1MiA+Pj4gMTAgPT09IDIwNDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTAgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzQzOiA0MTk0MzA0ID4+PiAxMCA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMCAhPT0gODE5MikgeyAKICAkRVJST1IoJyMzNDQ6IDgzODg2MDggPj4+IDEwID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzQ1OiAxNjc3NzIxNiA+Pj4gMTAgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTAgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM0NjogMzM1NTQ0MzIgPj4+IDEwID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDEwICE9PSA2NTUzNikgeyAKICAkRVJST1IoJyMzNDc6IDY3MTA4ODY0ID4+PiAxMCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTAgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzNDg6IDEzNDIxNzcyOCA+Pj4gMTAgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTAgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzNDk6IDI2ODQzNTQ1NiA+Pj4gMTAgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTAgIT09IDUyNDI4OCkgeyAKICAkRVJST1IoJyMzNTA6IDUzNjg3MDkxMiA+Pj4gMTAgPT09IDUyNDI4OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEwICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM1MTogMTA3Mzc0MTgyNCA+Pj4gMTAgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTAgIT09IDIwOTcxNTIpIHsgCiAgJEVSUk9SKCcjMzUyOiAyMTQ3NDgzNjQ4ID4+PiAxMCA9PT0gMjA5NzE1Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDEwKSk7IAp9IAoKCmlmICgxID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTM6IDEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1NDogMiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxMSkpOyAKfSAKCgppZiAoNCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU1OiA0ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDExKSk7IAp9IAoKCmlmICg4ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTY6IDggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNTc6IDE2ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxMSkpOyAKfSAKCgppZiAoMzIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM1ODogMzIgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzU5OiA2NCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzYwOiAxMjggPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxMSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjE6IDI1NiA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDExKSk7IAp9IAoKCmlmICg1MTIgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MjogNTEyID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2MzogMTAyNCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxMSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzY0OiAyMDQ4ID4+PiAxMSA9PT0gMS4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDExKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxMSAhPT0gMikgeyAKICAkRVJST1IoJyMzNjU6IDQwOTYgPj4+IDExID09PSAyLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDExICE9PSA0KSB7IAogICRFUlJPUignIzM2NjogODE5MiA+Pj4gMTEgPT09IDQuIEFjdHVhbDogJyArICg4MTkyID4+PiAxMSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDExICE9PSA4KSB7IAogICRFUlJPUignIzM2NzogMTYzODQgPj4+IDExID09PSA4LiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDExKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTEgIT09IDE2KSB7IAogICRFUlJPUignIzM2ODogMzI3NjggPj4+IDExID09PSAxNi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDExICE9PSAzMikgeyAKICAkRVJST1IoJyMzNjk6IDY1NTM2ID4+PiAxMSA9PT0gMzIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTEgIT09IDY0KSB7IAogICRFUlJPUignIzM3MDogMTMxMDcyID4+PiAxMSA9PT0gNjQuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDExKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDExICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjMzcxOiAyNjIxNDQgPj4+IDExID09PSAxMjguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDExKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDExICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjMzcyOiA1MjQyODggPj4+IDExID09PSAyNTYuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDExKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMSAhPT0gNTEyKSB7IAogICRFUlJPUignIzM3MzogMTA0ODU3NiA+Pj4gMTEgPT09IDUxMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDExKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyMzNzQ6IDIwOTcxNTIgPj4+IDExID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDExICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzM3NTogNDE5NDMwNCA+Pj4gMTEgPT09IDIwNDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxMSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTEgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjMzc2OiA4Mzg4NjA4ID4+PiAxMSA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDExKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTEgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjMzc3OiAxNjc3NzIxNiA+Pj4gMTEgPT09IDgxOTIuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxMSAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjMzc4OiAzMzU1NDQzMiA+Pj4gMTEgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDExKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTEgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzM3OTogNjcxMDg4NjQgPj4+IDExID09PSAzMjc2OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxMSAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjMzgwOiAxMzQyMTc3MjggPj4+IDExID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTEgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyMzODE6IDI2ODQzNTQ1NiA+Pj4gMTEgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTEgIT09IDI2MjE0NCkgeyAKICAkRVJST1IoJyMzODI6IDUzNjg3MDkxMiA+Pj4gMTEgPT09IDI2MjE0NC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDExICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjMzgzOiAxMDczNzQxODI0ID4+PiAxMSA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDExICE9PSAxMDQ4NTc2KSB7IAogICRFUlJPUignIzM4NDogMjE0NzQ4MzY0OCA+Pj4gMTEgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg1OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzODY6IDIgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM4NzogNCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxMikpOyAKfSAKCgppZiAoOCA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg4OiA4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDEyKSk7IAp9IAoKCmlmICgxNiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzg5OiAxNiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTA6IDMyID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxMikpOyAKfSAKCgppZiAoNjQgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MTogNjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMjggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5MjogMTI4ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzkzOiAyNTYgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxMikpOyAKfSAKCgppZiAoNTEyID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTQ6IDUxMiA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTU6IDEwMjQgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NjogMjA0OCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxMikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzk3OiA0MDk2ID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDEyKSk7IAp9IAoKCmlmICg4MTkyID4+PiAxMiAhPT0gMikgeyAKICAkRVJST1IoJyMzOTg6IDgxOTIgPj4+IDEyID09PSAyLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxMiAhPT0gNCkgeyAKICAkRVJST1IoJyMzOTk6IDE2Mzg0ID4+PiAxMiA9PT0gNC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxMikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDEyICE9PSA4KSB7IAogICRFUlJPUignIzQwMDogMzI3NjggPj4+IDEyID09PSA4LiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDEyKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTIgIT09IDE2KSB7IAogICRFUlJPUignIzQwMTogNjU1MzYgPj4+IDEyID09PSAxNi4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxMiAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDAyOiAxMzEwNzIgPj4+IDEyID09PSAzMi4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTIgIT09IDY0KSB7IAogICRFUlJPUignIzQwMzogMjYyMTQ0ID4+PiAxMiA9PT0gNjQuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDEyKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDEyICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDA0OiA1MjQyODggPj4+IDEyID09PSAxMjguIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEyKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMiAhPT0gMjU2KSB7IAogICRFUlJPUignIzQwNTogMTA0ODU3NiA+Pj4gMTIgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMiAhPT0gNTEyKSB7IAogICRFUlJPUignIzQwNjogMjA5NzE1MiA+Pj4gMTIgPT09IDUxMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEyKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMiAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0MDc6IDQxOTQzMDQgPj4+IDEyID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDEyICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQwODogODM4ODYwOCA+Pj4gMTIgPT09IDIwNDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxMikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDEyICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQwOTogMTY3NzcyMTYgPj4+IDEyID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDEyKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTIgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDEwOiAzMzU1NDQzMiA+Pj4gMTIgPT09IDgxOTIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxMiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDExOiA2NzEwODg2NCA+Pj4gMTIgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDEyKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDEyICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0MTI6IDEzNDIxNzcyOCA+Pj4gMTIgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxMikpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxMiAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDEzOiAyNjg0MzU0NTYgPj4+IDEyID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTIgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0MTQ6IDUzNjg3MDkxMiA+Pj4gMTIgPT09IDEzMTA3Mi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEyICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDE1OiAxMDczNzQxODI0ID4+PiAxMiA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEyICE9PSA1MjQyODgpIHsgCiAgJEVSUk9SKCcjNDE2OiAyMTQ3NDgzNjQ4ID4+PiAxMiA9PT0gNTI0Mjg4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQxNzogMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxMykpOyAKfSAKCgppZiAoMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDE4OiAyID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDEzKSk7IAp9IAoKCmlmICg0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MTk6IDQgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDggPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMDogOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxMykpOyAKfSAKCgppZiAoMTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyMTogMTYgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDEzKSk7IAp9IAoKCmlmICgzMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDIyOiAzMiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDY0ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjM6IDY0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxMykpOyAKfSAKCgppZiAoMTI4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MjQ6IDEyOCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyNTogMjU2ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI2OiA1MTIgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxMykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDI3OiAxMDI0ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mjg6IDIwNDggPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQyOTogNDA5NiA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDMwOiA4MTkyID4+PiAxMyA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTMgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDMxOiAxNjM4NCA+Pj4gMTMgPT09IDIuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxMyAhPT0gNCkgeyAKICAkRVJST1IoJyM0MzI6IDMyNzY4ID4+PiAxMyA9PT0gNC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDEzICE9PSA4KSB7IAogICRFUlJPUignIzQzMzogNjU1MzYgPj4+IDEzID09PSA4LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDEzICE9PSAxNikgeyAKICAkRVJST1IoJyM0MzQ6IDEzMTA3MiA+Pj4gMTMgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxMyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNDM1OiAyNjIxNDQgPj4+IDEzID09PSAzMi4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTMgIT09IDY0KSB7IAogICRFUlJPUignIzQzNjogNTI0Mjg4ID4+PiAxMyA9PT0gNjQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxMyAhPT0gMTI4KSB7IAogICRFUlJPUignIzQzNzogMTA0ODU3NiA+Pj4gMTMgPT09IDEyOC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxMyAhPT0gMjU2KSB7IAogICRFUlJPUignIzQzODogMjA5NzE1MiA+Pj4gMTMgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxMyAhPT0gNTEyKSB7IAogICRFUlJPUignIzQzOTogNDE5NDMwNCA+Pj4gMTMgPT09IDUxMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxMyAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NDA6IDgzODg2MDggPj4+IDEzID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxMyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM0NDE6IDE2Nzc3MjE2ID4+PiAxMyA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDEzICE9PSA0MDk2KSB7IAogICRFUlJPUignIzQ0MjogMzM1NTQ0MzIgPj4+IDEzID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTMgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDQzOiA2NzEwODg2NCA+Pj4gMTMgPT09IDgxOTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTMgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzQ0NDogMTM0MjE3NzI4ID4+PiAxMyA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDEzICE9PSAzMjc2OCkgeyAKICAkRVJST1IoJyM0NDU6IDI2ODQzNTQ1NiA+Pj4gMTMgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxMyAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDQ2OiA1MzY4NzA5MTIgPj4+IDEzID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDEzICE9PSAxMzEwNzIpIHsgCiAgJEVSUk9SKCcjNDQ3OiAxMDczNzQxODI0ID4+PiAxMyA9PT0gMTMxMDcyLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDEzICE9PSAyNjIxNDQpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyMTQ3NDgzNjQ4ID4+PiAxMyA9PT0gMjYyMTQ0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ0OTogMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNCkpOyAKfSAKCgppZiAoMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDUwOiAyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE0KSk7IAp9IAoKCmlmICg0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTE6IDQgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDggPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MjogOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1MzogMTYgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE0KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU0OiAzMiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTU6IDY0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NTY6IDEyOCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE0KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ1NzogMjU2ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU4OiA1MTIgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDU5OiAxMDI0ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjA6IDIwNDggPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MTogNDA5NiA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDYyOiA4MTkyID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTQgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDYzOiAxNjM4NCA+Pj4gMTQgPT09IDEuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNCAhPT0gMikgeyAKICAkRVJST1IoJyM0NjQ6IDMyNzY4ID4+PiAxNCA9PT0gMi4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE0ICE9PSA0KSB7IAogICRFUlJPUignIzQ2NTogNjU1MzYgPj4+IDE0ID09PSA0LiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE0ICE9PSA4KSB7IAogICRFUlJPUignIzQ2NjogMTMxMDcyID4+PiAxNCA9PT0gOC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTQgIT09IDE2KSB7IAogICRFUlJPUignIzQ2NzogMjYyMTQ0ID4+PiAxNCA9PT0gMTYuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE0ICE9PSAzMikgeyAKICAkRVJST1IoJyM0Njg6IDUyNDI4OCA+Pj4gMTQgPT09IDMyLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTQgIT09IDY0KSB7IAogICRFUlJPUignIzQ2OTogMTA0ODU3NiA+Pj4gMTQgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE0ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNDcwOiAyMDk3MTUyID4+PiAxNCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE0ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNDcxOiA0MTk0MzA0ID4+PiAxNCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE0ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNDcyOiA4Mzg4NjA4ID4+PiAxNCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM0NzM6IDE2Nzc3MjE2ID4+PiAxNCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE0ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzQ3NDogMzM1NTQ0MzIgPj4+IDE0ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMTQgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNDc1OiA2NzEwODg2NCA+Pj4gMTQgPT09IDQwOTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTQgIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNDc2OiAxMzQyMTc3MjggPj4+IDE0ID09PSA4MTkyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNCAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNDc3OiAyNjg0MzU0NTYgPj4+IDE0ID09PSAxNjM4NC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTQgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzQ3ODogNTM2ODcwOTEyID4+PiAxNCA9PT0gMzI3NjguIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNCAhPT0gNjU1MzYpIHsgCiAgJEVSUk9SKCcjNDc5OiAxMDczNzQxODI0ID4+PiAxNCA9PT0gNjU1MzYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTQgIT09IDEzMTA3MikgeyAKICAkRVJST1IoJyM0ODA6IDIxNDc0ODM2NDggPj4+IDE0ID09PSAxMzEwNzIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDgxOiAxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE1KSk7IAp9IAoKCmlmICgyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODI6IDIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4MzogNCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAxNSkpOyAKfSAKCgppZiAoOCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg0OiA4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg1OiAxNiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0ODY6IDMyID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAxNSkpOyAKfSAKCgppZiAoNjQgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4NzogNjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ4ODogMTI4ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDg5OiAyNTYgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAxNSkpOyAKfSAKCgppZiAoNTEyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTA6IDUxMiA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTE6IDEwMjQgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5MjogMjA0OCA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDkzOiA0MDk2ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkyID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTQ6IDgxOTIgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTU6IDE2Mzg0ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDE1ICE9PSAxKSB7IAogICRFUlJPUignIzQ5NjogMzI3NjggPj4+IDE1ID09PSAxLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMTUgIT09IDIpIHsgCiAgJEVSUk9SKCcjNDk3OiA2NTUzNiA+Pj4gMTUgPT09IDIuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMTUgIT09IDQpIHsgCiAgJEVSUk9SKCcjNDk4OiAxMzEwNzIgPj4+IDE1ID09PSA0LiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAxNSAhPT0gOCkgeyAKICAkRVJST1IoJyM0OTk6IDI2MjE0NCA+Pj4gMTUgPT09IDguIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDE1ICE9PSAxNikgeyAKICAkRVJST1IoJyM1MDA6IDUyNDI4OCA+Pj4gMTUgPT09IDE2LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTUgIT09IDMyKSB7IAogICRFUlJPUignIzUwMTogMTA0ODU3NiA+Pj4gMTUgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE1ICE9PSA2NCkgeyAKICAkRVJST1IoJyM1MDI6IDIwOTcxNTIgPj4+IDE1ID09PSA2NC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNSAhPT0gMTI4KSB7IAogICRFUlJPUignIzUwMzogNDE5NDMwNCA+Pj4gMTUgPT09IDEyOC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAxNSAhPT0gMjU2KSB7IAogICRFUlJPUignIzUwNDogODM4ODYwOCA+Pj4gMTUgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTUgIT09IDUxMikgeyAKICAkRVJST1IoJyM1MDU6IDE2Nzc3MjE2ID4+PiAxNSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTUgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTA2OiAzMzU1NDQzMiA+Pj4gMTUgPT09IDEwMjQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1MDc6IDY3MTA4ODY0ID4+PiAxNSA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxNSAhPT0gNDA5NikgeyAKICAkRVJST1IoJyM1MDg6IDEzNDIxNzcyOCA+Pj4gMTUgPT09IDQwOTYuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDE1ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzUwOTogMjY4NDM1NDU2ID4+PiAxNSA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMTUgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzUxMDogNTM2ODcwOTEyID4+PiAxNSA9PT0gMTYzODQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNSAhPT0gMzI3NjgpIHsgCiAgJEVSUk9SKCcjNTExOiAxMDczNzQxODI0ID4+PiAxNSA9PT0gMzI3NjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTUgIT09IDY1NTM2KSB7IAogICRFUlJPUignIzUxMjogMjE0NzQ4MzY0OCA+Pj4gMTUgPT09IDY1NTM2LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTUpKTsgCn0gIAoK","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n, n = 0...15","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgxID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTM6IDEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxNDogMiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxNikpOyAKfSAKCgppZiAoNCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE1OiA0ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE2KSk7IAp9IAoKCmlmICg4ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTY6IDggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTc6IDE2ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUxODogMzIgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE2KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTE5OiA2NCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTIwOiAxMjggPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxNikpOyAKfSAKCgppZiAoMjU2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjE6IDI1NiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMjogNTEyID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyMzogMTAyNCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI0OiAyMDQ4ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MjU6IDQwOTYgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNjogODE5MiA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUyNzogMTYzODQgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTI4OiAzMjc2OCA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1Mjk6IDY1NTM2ID4+PiAxNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxNiAhPT0gMikgeyAKICAkRVJST1IoJyM1MzA6IDEzMTA3MiA+Pj4gMTYgPT09IDIuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE2ICE9PSA0KSB7IAogICRFUlJPUignIzUzMTogMjYyMTQ0ID4+PiAxNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTYgIT09IDgpIHsgCiAgJEVSUk9SKCcjNTMyOiA1MjQyODggPj4+IDE2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTYgIT09IDE2KSB7IAogICRFUlJPUignIzUzMzogMTA0ODU3NiA+Pj4gMTYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE2ICE9PSAzMikgeyAKICAkRVJST1IoJyM1MzQ6IDIwOTcxNTIgPj4+IDE2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNiAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjNTM1OiA0MTk0MzA0ID4+PiAxNiA9PT0gNjQuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTYgIT09IDEyOCkgeyAKICAkRVJST1IoJyM1MzY6IDgzODg2MDggPj4+IDE2ID09PSAxMjguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDE2ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNTM3OiAxNjc3NzIxNiA+Pj4gMTYgPT09IDI1Ni4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE2ICE9PSA1MTIpIHsgCiAgJEVSUk9SKCcjNTM4OiAzMzU1NDQzMiA+Pj4gMTYgPT09IDUxMi4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE2ICE9PSAxMDI0KSB7IAogICRFUlJPUignIzUzOTogNjcxMDg4NjQgPj4+IDE2ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDE2ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzU0MDogMTM0MjE3NzI4ID4+PiAxNiA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMTYgIT09IDQwOTYpIHsgCiAgJEVSUk9SKCcjNTQxOiAyNjg0MzU0NTYgPj4+IDE2ID09PSA0MDk2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxNiAhPT0gODE5MikgeyAKICAkRVJST1IoJyM1NDI6IDUzNjg3MDkxMiA+Pj4gMTYgPT09IDgxOTIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxNiAhPT0gMTYzODQpIHsgCiAgJEVSUk9SKCcjNTQzOiAxMDczNzQxODI0ID4+PiAxNiA9PT0gMTYzODQuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTYgIT09IDMyNzY4KSB7IAogICRFUlJPUignIzU0NDogMjE0NzQ4MzY0OCA+Pj4gMTYgPT09IDMyNzY4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0NTogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ2OiAyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE3KSk7IAp9IAoKCmlmICg0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDc6IDQgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDggPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0ODogOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxNykpOyAKfSAKCgppZiAoMTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU0OTogMTYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE3KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTUwOiAzMiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY0ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTE6IDY0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxNykpOyAKfSAKCgppZiAoMTI4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTI6IDEyOCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE3KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1MzogMjU2ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU0OiA1MTIgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxNykpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU1OiAxMDI0ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NTY6IDIwNDggPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU1NzogNDA5NiA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxNykpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU4OiA4MTkyID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTU5OiAxNjM4NCA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjA6IDMyNzY4ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxNykpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MTogNjU1MzYgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU2MjogMTMxMDcyID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTcgIT09IDIpIHsgCiAgJEVSUk9SKCcjNTYzOiAyNjIxNDQgPj4+IDE3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxNykpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxNyAhPT0gNCkgeyAKICAkRVJST1IoJyM1NjQ6IDUyNDI4OCA+Pj4gMTcgPT09IDQuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE3KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxNyAhPT0gOCkgeyAKICAkRVJST1IoJyM1NjU6IDEwNDg1NzYgPj4+IDE3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE3ICE9PSAxNikgeyAKICAkRVJST1IoJyM1NjY6IDIwOTcxNTIgPj4+IDE3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDE3KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAxNyAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNTY3OiA0MTk0MzA0ID4+PiAxNyA9PT0gMzIuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTcgIT09IDY0KSB7IAogICRFUlJPUignIzU2ODogODM4ODYwOCA+Pj4gMTcgPT09IDY0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxNyAhPT0gMTI4KSB7IAogICRFUlJPUignIzU2OTogMTY3NzcyMTYgPj4+IDE3ID09PSAxMjguIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAxNyAhPT0gMjU2KSB7IAogICRFUlJPUignIzU3MDogMzM1NTQ0MzIgPj4+IDE3ID09PSAyNTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAxNyAhPT0gNTEyKSB7IAogICRFUlJPUignIzU3MTogNjcxMDg4NjQgPj4+IDE3ID09PSA1MTIuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMTcgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNTcyOiAxMzQyMTc3MjggPj4+IDE3ID09PSAxMDI0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxNykpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxNyAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM1NzM6IDI2ODQzNTQ1NiA+Pj4gMTcgPT09IDIwNDguIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE3ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzU3NDogNTM2ODcwOTEyID4+PiAxNyA9PT0gNDA5Ni4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE3ICE9PSA4MTkyKSB7IAogICRFUlJPUignIzU3NTogMTA3Mzc0MTgyNCA+Pj4gMTcgPT09IDgxOTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTcgIT09IDE2Mzg0KSB7IAogICRFUlJPUignIzU3NjogMjE0NzQ4MzY0OCA+Pj4gMTcgPT09IDE2Mzg0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU3NzogMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOCkpOyAKfSAKCgppZiAoMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTc4OiAyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDE4KSk7IAp9IAoKCmlmICg0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDQgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDggPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MDogOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAxOCkpOyAKfSAKCgppZiAoMTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4MTogMTYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDE4KSk7IAp9IAoKCmlmICgzMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTgyOiAzMiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDY0ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODM6IDY0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTI4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODQ6IDEyOCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDE4KSk7IAp9IAoKCmlmICgyNTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4NTogMjU2ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg2OiA1MTIgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAxOCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTg3OiAxMDI0ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDE4KSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1ODg6IDIwNDggPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU4OTogNDA5NiA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAxOCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkwOiA4MTkyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDE4KSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTkxOiAxNjM4NCA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTI6IDMyNzY4ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAxOCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5MzogNjU1MzYgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NDogMTMxMDcyID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMTggIT09IDEpIHsgCiAgJEVSUk9SKCcjNTk1OiAyNjIxNDQgPj4+IDE4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAxOCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAxOCAhPT0gMikgeyAKICAkRVJST1IoJyM1OTY6IDUyNDI4OCA+Pj4gMTggPT09IDIuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDE4KSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAxOCAhPT0gNCkgeyAKICAkRVJST1IoJyM1OTc6IDEwNDg1NzYgPj4+IDE4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDE4ICE9PSA4KSB7IAogICRFUlJPUignIzU5ODogMjA5NzE1MiA+Pj4gMTggPT09IDguIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAxOCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMTggIT09IDE2KSB7IAogICRFUlJPUignIzU5OTogNDE5NDMwNCA+Pj4gMTggPT09IDE2LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMTgpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDE4ICE9PSAzMikgeyAKICAkRVJST1IoJyM2MDA6IDgzODg2MDggPj4+IDE4ID09PSAzMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDE4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMTggIT09IDY0KSB7IAogICRFUlJPUignIzYwMTogMTY3NzcyMTYgPj4+IDE4ID09PSA2NC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAxOCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDE4ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjAyOiAzMzU1NDQzMiA+Pj4gMTggPT09IDEyOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE4ICE9PSAyNTYpIHsgCiAgJEVSUk9SKCcjNjAzOiA2NzEwODg2NCA+Pj4gMTggPT09IDI1Ni4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOCAhPT0gNTEyKSB7IAogICRFUlJPUignIzYwNDogMTM0MjE3NzI4ID4+PiAxOCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOCAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2MDU6IDI2ODQzNTQ1NiA+Pj4gMTggPT09IDEwMjQuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDE4KSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDE4ICE9PSAyMDQ4KSB7IAogICRFUlJPUignIzYwNjogNTM2ODcwOTEyID4+PiAxOCA9PT0gMjA0OC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDE4ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzYwNzogMTA3Mzc0MTgyNCA+Pj4gMTggPT09IDQwOTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAxOCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMTggIT09IDgxOTIpIHsgCiAgJEVSUk9SKCcjNjA4OiAyMTQ3NDgzNjQ4ID4+PiAxOCA9PT0gODE5Mi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAxOSkpOyAKfSAKCgppZiAoNCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDE5KSk7IAp9IAoKCmlmICg4ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTI6IDggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDE2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAxOSkpOyAKfSAKCgppZiAoMzIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxNDogMzIgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDE5KSk7IAp9IAoKCmlmICg2NCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE1OiA2NCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjE2OiAxMjggPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTc6IDI1NiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxODogNTEyID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYxOTogMTAyNCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjIwOiAyMDQ4ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjE6IDQwOTYgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMjogODE5MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyMzogMTYzODQgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjI0OiAzMjc2OCA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjU6IDY1NTM2ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MjY6IDEzMTA3MiA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyNzogMjYyMTQ0ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjI4OiA1MjQyODggPj4+IDE5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMTkgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjI5OiAxMDQ4NTc2ID4+PiAxOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAxOSAhPT0gNCkgeyAKICAkRVJST1IoJyM2MzA6IDIwOTcxNTIgPj4+IDE5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDE5ICE9PSA4KSB7IAogICRFUlJPUignIzYzMTogNDE5NDMwNCA+Pj4gMTkgPT09IDguIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMTkgIT09IDE2KSB7IAogICRFUlJPUignIzYzMjogODM4ODYwOCA+Pj4gMTkgPT09IDE2LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAxOSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjMzOiAxNjc3NzIxNiA+Pj4gMTkgPT09IDMyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMTkgIT09IDY0KSB7IAogICRFUlJPUignIzYzNDogMzM1NTQ0MzIgPj4+IDE5ID09PSA2NC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDE5ICE9PSAxMjgpIHsgCiAgJEVSUk9SKCcjNjM1OiA2NzEwODg2NCA+Pj4gMTkgPT09IDEyOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAxOSAhPT0gMjU2KSB7IAogICRFUlJPUignIzYzNjogMTM0MjE3NzI4ID4+PiAxOSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAxOSAhPT0gNTEyKSB7IAogICRFUlJPUignIzYzNzogMjY4NDM1NDU2ID4+PiAxOSA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAxOSAhPT0gMTAyNCkgeyAKICAkRVJST1IoJyM2Mzg6IDUzNjg3MDkxMiA+Pj4gMTkgPT09IDEwMjQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAxOSAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2Mzk6IDEwNzM3NDE4MjQgPj4+IDE5ID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDE5ICE9PSA0MDk2KSB7IAogICRFUlJPUignIzY0MDogMjE0NzQ4MzY0OCA+Pj4gMTkgPT09IDQwOTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAxOSkpOyAKfSAKCgppZiAoMSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQxOiAxID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIwKSk7IAp9IAoKCmlmICgyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDI6IDIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjApKTsgCn0gCgoKaWYgKDQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0MzogNCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMCkpOyAKfSAKCgppZiAoOCA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ0OiA4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIwKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ1OiAxNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDY6IDMyID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMCkpOyAKfSAKCgppZiAoNjQgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0NzogNjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIwKSk7IAp9IAoKCmlmICgxMjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY0ODogMTI4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjApKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ5OiAyNTYgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTEyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTA6IDUxMiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTE6IDEwMjQgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1MjogMjA0OCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjUzOiA0MDk2ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIwKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTQ6IDgxOTIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjApKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTU6IDE2Mzg0ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY1NjogMzI3NjggPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIwKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU3OiA2NTUzNiA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjU4OiAxMzEwNzIgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NTk6IDI2MjE0NCA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIwKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MDogNTI0Mjg4ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIwICE9PSAxKSB7IAogICRFUlJPUignIzY2MTogMTA0ODU3NiA+Pj4gMjAgPT09IDEuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjAgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjYyOiAyMDk3MTUyID4+PiAyMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIwKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMCAhPT0gNCkgeyAKICAkRVJST1IoJyM2NjM6IDQxOTQzMDQgPj4+IDIwID09PSA0LiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjApKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIwICE9PSA4KSB7IAogICRFUlJPUignIzY2NDogODM4ODYwOCA+Pj4gMjAgPT09IDguIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIwICE9PSAxNikgeyAKICAkRVJST1IoJyM2NjU6IDE2Nzc3MjE2ID4+PiAyMCA9PT0gMTYuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjApKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjY2OiAzMzU1NDQzMiA+Pj4gMjAgPT09IDMyLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDIwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMjAgIT09IDY0KSB7IAogICRFUlJPUignIzY2NzogNjcxMDg4NjQgPj4+IDIwID09PSA2NC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMCAhPT0gMTI4KSB7IAogICRFUlJPUignIzY2ODogMTM0MjE3NzI4ID4+PiAyMCA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMCAhPT0gMjU2KSB7IAogICRFUlJPUignIzY2OTogMjY4NDM1NDU2ID4+PiAyMCA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMCAhPT0gNTEyKSB7IAogICRFUlJPUignIzY3MDogNTM2ODcwOTEyID4+PiAyMCA9PT0gNTEyLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjAgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNjcxOiAxMDczNzQxODI0ID4+PiAyMCA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDIwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyMCAhPT0gMjA0OCkgeyAKICAkRVJST1IoJyM2NzI6IDIxNDc0ODM2NDggPj4+IDIwID09PSAyMDQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3MzogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc0OiAyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDIxKSk7IAp9IAoKCmlmICg0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzU6IDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDggPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NjogOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAyMSkpOyAKfSAKCgppZiAoMTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY3NzogMTYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDIxKSk7IAp9IAoKCmlmICgzMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc4OiAzMiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY0ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzk6IDY0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAyMSkpOyAKfSAKCgppZiAoMTI4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODA6IDEyOCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDIxKSk7IAp9IAoKCmlmICgyNTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4MTogMjU2ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgyOiA1MTIgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgzOiAxMDI0ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODQ6IDIwNDggPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4NTogNDA5NiA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAyMSkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg2OiA4MTkyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjg3OiAxNjM4NCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2ODg6IDMyNzY4ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAyMSkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY4OTogNjU1MzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5MDogMTMxMDcyID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjkxOiAyNjIxNDQgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAyMSkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTI6IDUyNDI4OCA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDIxKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTM6IDEwNDg1NzYgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzY5NDogMjA5NzE1MiA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAyMSkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMjEgIT09IDIpIHsgCiAgJEVSUk9SKCcjNjk1OiA0MTk0MzA0ID4+PiAyMSA9PT0gMi4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDIxKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAyMSAhPT0gNCkgeyAKICAkRVJST1IoJyM2OTY6IDgzODg2MDggPj4+IDIxID09PSA0LiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAyMSAhPT0gOCkgeyAKICAkRVJST1IoJyM2OTc6IDE2Nzc3MjE2ID4+PiAyMSA9PT0gOC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAyMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDIxICE9PSAxNikgeyAKICAkRVJST1IoJyM2OTg6IDMzNTU0NDMyID4+PiAyMSA9PT0gMTYuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMSAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNjk5OiA2NzEwODg2NCA+Pj4gMjEgPT09IDMyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDIxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDIxICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MDA6IDEzNDIxNzcyOCA+Pj4gMjEgPT09IDY0LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAyMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAyMSAhPT0gMTI4KSB7IAogICRFUlJPUignIzcwMTogMjY4NDM1NDU2ID4+PiAyMSA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMSAhPT0gMjU2KSB7IAogICRFUlJPUignIzcwMjogNTM2ODcwOTEyID4+PiAyMSA9PT0gMjU2LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjEgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MDM6IDEwNzM3NDE4MjQgPj4+IDIxID09PSA1MTIuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjEgIT09IDEwMjQpIHsgCiAgJEVSUk9SKCcjNzA0OiAyMTQ3NDgzNjQ4ID4+PiAyMSA9PT0gMTAyNC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDIxKSk7IAp9IAoKCmlmICgxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDU6IDEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcwNjogMiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyMikpOyAKfSAKCgppZiAoNCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA3OiA0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDIyKSk7IAp9IAoKCmlmICg4ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDg6IDggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDk6IDE2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyMikpOyAKfSAKCgppZiAoMzIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxMDogMzIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDIyKSk7IAp9IAoKCmlmICg2NCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzExOiA2NCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEyOiAxMjggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyMikpOyAKfSAKCgppZiAoMjU2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTM6IDI1NiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNDogNTEyID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxNTogMTAyNCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE2OiAyMDQ4ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTc6IDQwOTYgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxODogODE5MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcxOTogMTYzODQgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzIwOiAzMjc2OCA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjE6IDY1NTM2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjI6IDEzMTA3MiA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyMzogMjYyMTQ0ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI0OiA1MjQyODggPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI1OiAxMDQ4NTc2ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MjY6IDIwOTcxNTIgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDIyICE9PSAxKSB7IAogICRFUlJPUignIzcyNzogNDE5NDMwNCA+Pj4gMjIgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjIgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzI4OiA4Mzg4NjA4ID4+PiAyMiA9PT0gMi4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjIgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzI5OiAxNjc3NzIxNiA+Pj4gMjIgPT09IDQuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyMiAhPT0gOCkgeyAKICAkRVJST1IoJyM3MzA6IDMzNTU0NDMyID4+PiAyMiA9PT0gOC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDIyICE9PSAxNikgeyAKICAkRVJST1IoJyM3MzE6IDY3MTA4ODY0ID4+PiAyMiA9PT0gMTYuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMjIgIT09IDMyKSB7IAogICRFUlJPUignIzczMjogMTM0MjE3NzI4ID4+PiAyMiA9PT0gMzIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDIyICE9PSA2NCkgeyAKICAkRVJST1IoJyM3MzM6IDI2ODQzNTQ1NiA+Pj4gMjIgPT09IDY0LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyMiAhPT0gMTI4KSB7IAogICRFUlJPUignIzczNDogNTM2ODcwOTEyID4+PiAyMiA9PT0gMTI4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjIgIT09IDI1NikgeyAKICAkRVJST1IoJyM3MzU6IDEwNzM3NDE4MjQgPj4+IDIyID09PSAyNTYuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjIgIT09IDUxMikgeyAKICAkRVJST1IoJyM3MzY6IDIxNDc0ODM2NDggPj4+IDIyID09PSA1MTIuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMikpOyAKfSAKCgppZiAoMSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM3OiAxID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDIzKSk7IAp9IAoKCmlmICgyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzg6IDIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzczOTogNCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyMykpOyAKfSAKCgppZiAoOCA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQwOiA4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDIzKSk7IAp9IAoKCmlmICgxNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQxOiAxNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDI6IDMyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyMykpOyAKfSAKCgppZiAoNjQgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0MzogNjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDIzKSk7IAp9IAoKCmlmICgxMjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0NDogMTI4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ1OiAyNTYgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyMykpOyAKfSAKCgppZiAoNTEyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDY6IDUxMiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDc6IDEwMjQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc0ODogMjA0OCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyMykpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ5OiA0MDk2ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDIzKSk7IAp9IAoKCmlmICg4MTkyID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTA6IDgxOTIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTE6IDE2Mzg0ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyMykpOyAKfSAKCgppZiAoMzI3NjggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1MjogMzI3NjggPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDIzKSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzUzOiA2NTUzNiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU0OiAxMzEwNzIgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyMykpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTU6IDI2MjE0NCA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDIzKSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NjogNTI0Mjg4ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc1NzogMTA0ODU3NiA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyMykpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzU4OiAyMDk3MTUyID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDIzKSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NTk6IDQxOTQzMDQgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDIzICE9PSAxKSB7IAogICRFUlJPUignIzc2MDogODM4ODYwOCA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyMykpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDIzICE9PSAyKSB7IAogICRFUlJPUignIzc2MTogMTY3NzcyMTYgPj4+IDIzID09PSAyLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDIzKSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjMgIT09IDQpIHsgCiAgJEVSUk9SKCcjNzYyOiAzMzU1NDQzMiA+Pj4gMjMgPT09IDQuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyMyAhPT0gOCkgeyAKICAkRVJST1IoJyM3NjM6IDY3MTA4ODY0ID4+PiAyMyA9PT0gOC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyMykpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyMyAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjNzY0OiAxMzQyMTc3MjggPj4+IDIzID09PSAxNi4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjMgIT09IDMyKSB7IAogICRFUlJPUignIzc2NTogMjY4NDM1NDU2ID4+PiAyMyA9PT0gMzIuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDIzKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDIzICE9PSA2NCkgeyAKICAkRVJST1IoJyM3NjY6IDUzNjg3MDkxMiA+Pj4gMjMgPT09IDY0LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyMykpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjMgIT09IDEyOCkgeyAKICAkRVJST1IoJyM3Njc6IDEwNzM3NDE4MjQgPj4+IDIzID09PSAxMjguIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAyMykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMjMgIT09IDI1NikgeyAKICAkRVJST1IoJyM3Njg6IDIxNDc0ODM2NDggPj4+IDIzID09PSAyNTYuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyMykpOyAKfSAKCgppZiAoMSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY5OiAxID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI0KSk7IAp9IAoKCmlmICgyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzA6IDIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3MTogNCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNCkpOyAKfSAKCgppZiAoOCA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcyOiA4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI0KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzczOiAxNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzQ6IDMyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNCkpOyAKfSAKCgppZiAoNjQgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NTogNjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI0KSk7IAp9IAoKCmlmICgxMjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc3NjogMTI4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc3OiAyNTYgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTEyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzg6IDUxMiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI0KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzk6IDEwMjQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4MDogMjA0OCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNCkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgxOiA0MDk2ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI0KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODI6IDgxOTIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODM6IDE2Mzg0ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNCkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4NDogMzI3NjggPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI0KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg1OiA2NTUzNiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzg2OiAxMzEwNzIgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNCkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODc6IDI2MjE0NCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI0KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4ODogNTI0Mjg4ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc4OTogMTA0ODU3NiA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNCkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzkwOiAyMDk3MTUyID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI0KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTE6IDQxOTQzMDQgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5MjogODM4ODYwOCA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNCkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI0ICE9PSAxKSB7IAogICRFUlJPUignIzc5MzogMTY3NzcyMTYgPj4+IDI0ID09PSAxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI0KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjQgIT09IDIpIHsgCiAgJEVSUk9SKCcjNzk0OiAzMzU1NDQzMiA+Pj4gMjQgPT09IDIuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNCAhPT0gNCkgeyAKICAkRVJST1IoJyM3OTU6IDY3MTA4ODY0ID4+PiAyNCA9PT0gNC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNCkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNCAhPT0gOCkgeyAKICAkRVJST1IoJyM3OTY6IDEzNDIxNzcyOCA+Pj4gMjQgPT09IDguIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI0KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI0ICE9PSAxNikgeyAKICAkRVJST1IoJyM3OTc6IDI2ODQzNTQ1NiA+Pj4gMjQgPT09IDE2LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNCAhPT0gMzIpIHsgCiAgJEVSUk9SKCcjNzk4OiA1MzY4NzA5MTIgPj4+IDI0ID09PSAzMi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI0ICE9PSA2NCkgeyAKICAkRVJST1IoJyM3OTk6IDEwNzM3NDE4MjQgPj4+IDI0ID09PSA2NC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI0KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNCAhPT0gMTI4KSB7IAogICRFUlJPUignIzgwMDogMjE0NzQ4MzY0OCA+Pj4gMjQgPT09IDEyOC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI0KSk7IAp9IAoKCmlmICgxID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogMiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNSkpOyAKfSAKCgppZiAoNCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODAzOiA0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI1KSk7IAp9IAoKCmlmICg4ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDQ6IDggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDE2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNSkpOyAKfSAKCgppZiAoMzIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogMzIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI1KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA3OiA2NCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAxMjggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNSkpOyAKfSAKCgppZiAoMjU2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDI1NiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI1KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMDogNTEyID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMTAyNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNSkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiAyMDQ4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI1KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTM6IDQwOTYgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNDogODE5MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNSkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogMTYzODQgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI1KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiAzMjc2OCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTc6IDY1NTM2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNSkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTg6IDEzMTA3MiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI1KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgxOTogMjYyMTQ0ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIwOiA1MjQyODggPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNSkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODIxOiAxMDQ4NTc2ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MjI6IDIwOTcxNTIgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyMzogNDE5NDMwNCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNSkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI0OiA4Mzg4NjA4ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI1KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI1OiAxNjc3NzIxNiA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNSAhPT0gMSkgeyAKICAkRVJST1IoJyM4MjY6IDMzNTU0NDMyID4+PiAyNSA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNSkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI1ICE9PSAyKSB7IAogICRFUlJPUignIzgyNzogNjcxMDg4NjQgPj4+IDI1ID09PSAyLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI1ICE9PSA0KSB7IAogICRFUlJPUignIzgyODogMTM0MjE3NzI4ID4+PiAyNSA9PT0gNC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjUgIT09IDgpIHsgCiAgJEVSUk9SKCcjODI5OiAyNjg0MzU0NTYgPj4+IDI1ID09PSA4LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNSkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNSAhPT0gMTYpIHsgCiAgJEVSUk9SKCcjODMwOiA1MzY4NzA5MTIgPj4+IDI1ID09PSAxNi4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDI1ICE9PSAzMikgeyAKICAkRVJST1IoJyM4MzE6IDEwNzM3NDE4MjQgPj4+IDI1ID09PSAzMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI1KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyNSAhPT0gNjQpIHsgCiAgJEVSUk9SKCcjODMyOiAyMTQ3NDgzNjQ4ID4+PiAyNSA9PT0gNjQuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODMzOiAxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI2KSk7IAp9IAoKCmlmICgyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzQ6IDIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzNTogNCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyNikpOyAKfSAKCgppZiAoOCA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiA4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI2KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODM3OiAxNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzg6IDMyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyNikpOyAKfSAKCgppZiAoNjQgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzgzOTogNjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI2KSk7IAp9IAoKCmlmICgxMjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0MDogMTI4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQxOiAyNTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyNikpOyAKfSAKCgppZiAoNTEyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDI6IDUxMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDM6IDEwMjQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0NDogMjA0OCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyNikpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ1OiA0MDk2ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI2KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDgxOTIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDc6IDE2Mzg0ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyNikpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg0ODogMzI3NjggPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI2KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ5OiA2NTUzNiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODUwOiAxMzEwNzIgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyNikpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTE6IDI2MjE0NCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI2KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MjogNTI0Mjg4ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1MzogMTA0ODU3NiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyNikpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU0OiAyMDk3MTUyID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI2KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTU6IDQxOTQzMDQgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NjogODM4ODYwOCA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyNikpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg1NzogMTY3NzcyMTYgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI2KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODU4OiAzMzU1NDQzMiA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyNiAhPT0gMSkgeyAKICAkRVJST1IoJyM4NTk6IDY3MTA4ODY0ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyNikpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyNiAhPT0gMikgeyAKICAkRVJST1IoJyM4NjA6IDEzNDIxNzcyOCA+Pj4gMjYgPT09IDIuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI2KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI2ICE9PSA0KSB7IAogICRFUlJPUignIzg2MTogMjY4NDM1NDU2ID4+PiAyNiA9PT0gNC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjYgIT09IDgpIHsgCiAgJEVSUk9SKCcjODYyOiA1MzY4NzA5MTIgPj4+IDI2ID09PSA4LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyNikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjYgIT09IDE2KSB7IAogICRFUlJPUignIzg2MzogMTA3Mzc0MTgyNCA+Pj4gMjYgPT09IDE2LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI2ICE9PSAzMikgeyAKICAkRVJST1IoJyM4NjQ6IDIxNDc0ODM2NDggPj4+IDI2ID09PSAzMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI2KSk7IAp9IAoKCmlmICgxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjU6IDEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg2NjogMiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyNykpOyAKfSAKCgppZiAoNCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODY3OiA0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI3KSk7IAp9IAoKCmlmICg4ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njg6IDggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njk6IDE2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyNykpOyAKfSAKCgppZiAoMzIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3MDogMzIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI3KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcxOiA2NCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODcyOiAxMjggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyNykpOyAKfSAKCgppZiAoMjU2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzM6IDI1NiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NDogNTEyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3NTogMTAyNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyNykpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODc2OiAyMDQ4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4Nzc6IDQwOTYgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3ODogODE5MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg3OTogMTYzODQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODgwOiAzMjc2OCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODE6IDY1NTM2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODI6IDEzMTA3MiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4MzogMjYyMTQ0ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg0OiA1MjQyODggPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg1OiAxMDQ4NTc2ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODY6IDIwOTcxNTIgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg4NzogNDE5NDMwNCA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg4OiA4Mzg4NjA4ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODg5OiAxNjc3NzIxNiA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTA6IDMzNTU0NDMyID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MTogNjcxMDg4NjQgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI3ICE9PSAxKSB7IAogICRFUlJPUignIzg5MjogMTM0MjE3NzI4ID4+PiAyNyA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjcgIT09IDIpIHsgCiAgJEVSUk9SKCcjODkzOiAyNjg0MzU0NTYgPj4+IDI3ID09PSAyLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyNyAhPT0gNCkgeyAKICAkRVJST1IoJyM4OTQ6IDUzNjg3MDkxMiA+Pj4gMjcgPT09IDQuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyNyAhPT0gOCkgeyAKICAkRVJST1IoJyM4OTU6IDEwNzM3NDE4MjQgPj4+IDI3ID09PSA4LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI3ICE9PSAxNikgeyAKICAkRVJST1IoJyM4OTY6IDIxNDc0ODM2NDggPj4+IDI3ID09PSAxNi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDI3KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTc6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzg5ODogMiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAyOCkpOyAKfSAKCgppZiAoNCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiA0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDI4KSk7IAp9IAoKCmlmICg4ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDE6IDE2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAyOCkpOyAKfSAKCgppZiAoMzIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMzIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDI4KSk7IAp9IAoKCmlmICg2NCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiA2NCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA0OiAxMjggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI4ID4+PiAyOCkpOyAKfSAKCgppZiAoMjU2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDU6IDI1NiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNTYgPj4+IDI4KSk7IAp9IAoKCmlmICg1MTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogNTEyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkwNzogMTAyNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDI0ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA0OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTA4OiAyMDQ4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDggPj4+IDI4KSk7IAp9IAoKCmlmICg0MDk2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDQwOTYgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogODE5MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4MTkyID4+PiAyOCkpOyAKfSAKCgppZiAoMTYzODQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxMTogMTYzODQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODQgPj4+IDI4KSk7IAp9IAoKCmlmICgzMjc2OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAzMjc2OCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDY1NTM2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM2ID4+PiAyOCkpOyAKfSAKCgppZiAoMTMxMDcyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTQ6IDEzMTA3MiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzIgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjIxNDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxNTogMjYyMTQ0ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiA1MjQyODggPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg4ID4+PiAyOCkpOyAKfSAKCgppZiAoMTA0ODU3NiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTE3OiAxMDQ4NTc2ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzYgPj4+IDI4KSk7IAp9IAoKCmlmICgyMDk3MTUyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTg6IDIwOTcxNTIgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogNDE5NDMwNCA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzA0ID4+PiAyOCkpOyAKfSAKCgppZiAoODM4ODYwOCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIwOiA4Mzg4NjA4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDggPj4+IDI4KSk7IAp9IAoKCmlmICgxNjc3NzIxNiA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTIxOiAxNjc3NzIxNiA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjI6IDMzNTU0NDMyID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMyID4+PiAyOCkpOyAKfSAKCgppZiAoNjcxMDg4NjQgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyMzogNjcxMDg4NjQgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjQgPj4+IDI4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjggPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNDogMTM0MjE3NzI4ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTI1OiAyNjg0MzU0NTYgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU2ID4+PiAyOCkpOyAKfSAKCgppZiAoNTM2ODcwOTEyID4+PiAyOCAhPT0gMikgeyAKICAkRVJST1IoJyM5MjY6IDUzNjg3MDkxMiA+Pj4gMjggPT09IDIuIEFjdHVhbDogJyArICg1MzY4NzA5MTIgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDczNzQxODI0ID4+PiAyOCAhPT0gNCkgeyAKICAkRVJST1IoJyM5Mjc6IDEwNzM3NDE4MjQgPj4+IDI4ID09PSA0LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDI4ICE9PSA4KSB7IAogICRFUlJPUignIzkyODogMjE0NzQ4MzY0OCA+Pj4gMjggPT09IDguIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ4ID4+PiAyOCkpOyAKfSAKCgppZiAoMSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI5KSk7IAp9IAoKCmlmICgyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0ID4+PiAyOSkpOyAKfSAKCgppZiAoOCA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMyOiA4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDggPj4+IDI5KSk7IAp9IAoKCmlmICgxNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAxNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDMyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyID4+PiAyOSkpOyAKfSAKCgppZiAoNjQgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNTogNjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjQgPj4+IDI5KSk7IAp9IAoKCmlmICgxMjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMTI4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiAyNTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU2ID4+PiAyOSkpOyAKfSAKCgppZiAoNTEyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDUxMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MTIgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDI0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDEwMjQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMjA0OCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyMDQ4ID4+PiAyOSkpOyAKfSAKCgppZiAoNDA5NiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA0MDk2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTYgPj4+IDI5KSk7IAp9IAoKCmlmICg4MTkyID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDI6IDgxOTIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDE2Mzg0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Mzg0ID4+PiAyOSkpOyAKfSAKCgppZiAoMzI3NjggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogMzI3NjggPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjggPj4+IDI5KSk7IAp9IAoKCmlmICg2NTUzNiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ1OiA2NTUzNiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAxMzEwNzIgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcyID4+PiAyOSkpOyAKfSAKCgppZiAoMjYyMTQ0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDI2MjE0NCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDQgPj4+IDI5KSk7IAp9IAoKCmlmICg1MjQyODggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogNTI0Mjg4ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTA0ODU3NiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc2ID4+PiAyOSkpOyAKfSAKCgppZiAoMjA5NzE1MiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAyMDk3MTUyID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTIgPj4+IDI5KSk7IAp9IAoKCmlmICg0MTk0MzA0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDQxOTQzMDQgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MjogODM4ODYwOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA4ID4+PiAyOSkpOyAKfSAKCgppZiAoMTY3NzcyMTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMTY3NzcyMTYgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTYgPj4+IDI5KSk7IAp9IAoKCmlmICgzMzU1NDQzMiA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTU0OiAzMzU1NDQzMiA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTU6IDY3MTA4ODY0ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODY0ID4+PiAyOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI4ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTY6IDEzNDIxNzcyOCA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjggPj4+IDI5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTYgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1NzogMjY4NDM1NDU2ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMjkgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU4OiA1MzY4NzA5MTIgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTEyID4+PiAyOSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyNCA+Pj4gMjkgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTU5OiAxMDczNzQxODI0ID4+PiAyOSA9PT0gMi4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjQgPj4+IDI5KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ4ID4+PiAyOSAhPT0gNCkgeyAKICAkRVJST1IoJyM5NjA6IDIxNDc0ODM2NDggPj4+IDI5ID09PSA0LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2MTogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYyOiAyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIgPj4+IDMwKSk7IAp9IAoKCmlmICg0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjM6IDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNCA+Pj4gMzApKTsgCn0gCgoKaWYgKDggPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NDogOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg4ID4+PiAzMCkpOyAKfSAKCgppZiAoMTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2NTogMTYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYgPj4+IDMwKSk7IAp9IAoKCmlmICgzMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY2OiAzMiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgzMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDY0ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njc6IDY0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY0ID4+PiAzMCkpOyAKfSAKCgppZiAoMTI4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Njg6IDEyOCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMjggPj4+IDMwKSk7IAp9IAoKCmlmICgyNTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk2OTogMjU2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcwOiA1MTIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNTEyID4+PiAzMCkpOyAKfSAKCgppZiAoMTAyNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTcxOiAxMDI0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjQgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzI6IDIwNDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzApKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3MzogNDA5NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg0MDk2ID4+PiAzMCkpOyAKfSAKCgppZiAoODE5MiA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc0OiA4MTkyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTIgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc1OiAxNjM4NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzY6IDMyNzY4ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY4ID4+PiAzMCkpOyAKfSAKCgppZiAoNjU1MzYgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3NzogNjU1MzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzYgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk3ODogMTMxMDcyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzApKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc5OiAyNjIxNDQgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQ0ID4+PiAzMCkpOyAKfSAKCgppZiAoNTI0Mjg4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODA6IDUyNDI4OCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODggPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODE6IDEwNDg1NzYgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzApKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4MjogMjA5NzE1MiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUyID4+PiAzMCkpOyAKfSAKCgppZiAoNDE5NDMwNCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgzOiA0MTk0MzA0ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDQgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA4ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODQ6IDgzODg2MDggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzApKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODU6IDE2Nzc3MjE2ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE2ID4+PiAzMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk4NjogMzM1NTQ0MzIgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzIgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2NCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg3OiA2NzEwODg2NCA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg4OiAxMzQyMTc3MjggPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI4ID4+PiAzMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU2ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODk6IDI2ODQzNTQ1NiA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTYgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTIgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MDogNTM2ODcwOTEyID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMwICE9PSAxKSB7IAogICRFUlJPUignIzk5MTogMTA3Mzc0MTgyNCA+Pj4gMzAgPT09IDEuIEFjdHVhbDogJyArICgxMDczNzQxODI0ID4+PiAzMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0OCA+Pj4gMzAgIT09IDIpIHsgCiAgJEVSUk9SKCcjOTkyOiAyMTQ3NDgzNjQ4ID4+PiAzMCA9PT0gMi4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDggPj4+IDMwKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTM6IDEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5NDogMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyID4+PiAzMSkpOyAKfSAKCgppZiAoNCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk1OiA0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQgPj4+IDMxKSk7IAp9IAoKCmlmICg4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTY6IDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTc6IDE2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2ID4+PiAzMSkpOyAKfSAKCgppZiAoMzIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzk5ODogMzIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzIgPj4+IDMxKSk7IAp9IAoKCmlmICg2NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk5OiA2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMDogMTI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMTogMjU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwMjogNTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwMjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDM6IDEwMjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwNDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDQ6IDIwNDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQwOTYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDU6IDQwOTYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgxOTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMDY6IDgxOTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Mzg0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA3OiAxNjM4NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjM4NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMyNzY4ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA4OiAzMjc2OCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY1NTM2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA5OiA2NTUzNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NTUzNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzMTA3MiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMDogMTMxMDcyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2MjE0NCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMTogMjYyMTQ0ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUyNDI4OCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxMjogNTI0Mjg4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4OCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNDg1NzYgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTM6IDEwNDg1NzYgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIwOTcxNTIgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTQ6IDIwOTcxNTIgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDQxOTQzMDQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTU6IDQxOTQzMDQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDgzODg2MDggPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMTY6IDgzODg2MDggPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE2ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE3OiAxNjc3NzIxNiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDMzNTU0NDMyID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE4OiAzMzU1NDQzMiA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDY3MTA4ODY0ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE5OiA2NzEwODg2NCA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg2NzEwODg2NCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEzNDIxNzcyOCA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMDogMTM0MjE3NzI4ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyOCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMTogMjY4NDM1NDU2ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMiA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyMjogNTM2ODcwOTEyID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMiA+Pj4gMzEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjQgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMjM6IDEwNzM3NDE4MjQgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyNCA+Pj4gMzEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDggPj4+IDMxICE9PSAxKSB7IAogICRFUlJPUignIzEwMjQ6IDIxNDc0ODM2NDggPj4+IDMxID09PSAxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OCA+Pj4gMzEpKTsgCn0KCg==","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAwLi4uMTUKICovCgovL0NIRUNLCiAKaWYgKDAgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTogMCA+Pj4gMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDApKTsgCn0gCgoKaWYgKDEgPj4+IDAgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjogMSA+Pj4gMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgPj4+IDApKTsgCn0gCgoKaWYgKDMgPj4+IDAgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzogMyA+Pj4gMCA9PT0gMy4gQWN0dWFsOiAnICsgKDMgPj4+IDApKTsgCn0gCgoKaWYgKDcgPj4+IDAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNDogNyA+Pj4gMCA9PT0gNy4gQWN0dWFsOiAnICsgKDcgPj4+IDApKTsgCn0gCgoKaWYgKDE1ID4+PiAwICE9PSAxNSkgeyAKICAkRVJST1IoJyM1OiAxNSA+Pj4gMCA9PT0gMTUuIEFjdHVhbDogJyArICgxNSA+Pj4gMCkpOyAKfSAKCgppZiAoMzEgPj4+IDAgIT09IDMxKSB7IAogICRFUlJPUignIzY6IDMxID4+PiAwID09PSAzMS4gQWN0dWFsOiAnICsgKDMxID4+PiAwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzogNjMgPj4+IDAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMCAhPT0gMTI3KSB7IAogICRFUlJPUignIzg6IDEyNyA+Pj4gMCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDAgIT09IDI1NSkgeyAKICAkRVJST1IoJyM5OiAyNTUgPj4+IDAgPT09IDI1NS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMCkpOyAKfSAKCgppZiAoNTExID4+PiAwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTA6IDUxMSA+Pj4gMCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNTExID4+PiAwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAwICE9PSAxMDIzKSB7IAogICRFUlJPUignIzExOiAxMDIzID4+PiAwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMjogMjA0NyA+Pj4gMCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTM6IDQwOTUgPj4+IDAgPT09IDQwOTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiAwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAwICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE0OiA4MTkxID4+PiAwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDAgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE1OiAxNjM4MyA+Pj4gMCA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE2OiAzMjc2NyA+Pj4gMCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDAgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE3OiA2NTUzNSA+Pj4gMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAwICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg6IDEzMTA3MSA+Pj4gMCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxOTogMjYyMTQzID4+PiAwID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIwOiA1MjQyODcgPj4+IDAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMTogMTA0ODU3NSA+Pj4gMCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMjI6IDIwOTcxNTEgPj4+IDAgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAwICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIzOiA0MTk0MzAzID4+PiAwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMyNDogODM4ODYwNyA+Pj4gMCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAwICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMyNTogMTY3NzcyMTUgPj4+IDAgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDApKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAwICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyNjogMzM1NTQ0MzEgPj4+IDAgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAwICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMyNzogNjcxMDg4NjMgPj4+IDAgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzI4OiAxMzQyMTc3MjcgPj4+IDAgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAwICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjMjk6IDI2ODQzNTQ1NSA+Pj4gMCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDAgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMzMDogNTM2ODcwOTExID4+PiAwID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDAgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzE6IDEwNzM3NDE4MjMgPj4+IDAgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzMyOiAyMTQ3NDgzNjQ3ID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMCAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMCA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDApKTsgCn0gCgoKaWYgKDAgPj4+IDEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQ6IDAgPj4+IDEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxKSk7IAp9IAoKCmlmICgxID4+PiAxICE9PSAwKSB7IAogICRFUlJPUignIzM1OiAxID4+PiAxID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMSkpOyAKfSAKCgppZiAoMyA+Pj4gMSAhPT0gMSkgeyAKICAkRVJST1IoJyMzNjogMyA+Pj4gMSA9PT0gMS4gQWN0dWFsOiAnICsgKDMgPj4+IDEpKTsgCn0gCgoKaWYgKDcgPj4+IDEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc6IDcgPj4+IDEgPT09IDMuIEFjdHVhbDogJyArICg3ID4+PiAxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMSAhPT0gNykgeyAKICAkRVJST1IoJyMzODogMTUgPj4+IDEgPT09IDcuIEFjdHVhbDogJyArICgxNSA+Pj4gMSkpOyAKfSAKCgppZiAoMzEgPj4+IDEgIT09IDE1KSB7IAogICRFUlJPUignIzM5OiAzMSA+Pj4gMSA9PT0gMTUuIEFjdHVhbDogJyArICgzMSA+Pj4gMSkpOyAKfSAKCgppZiAoNjMgPj4+IDEgIT09IDMxKSB7IAogICRFUlJPUignIzQwOiA2MyA+Pj4gMSA9PT0gMzEuIEFjdHVhbDogJyArICg2MyA+Pj4gMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTogMTI3ID4+PiAxID09PSA2My4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDI6IDI1NSA+Pj4gMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MzogNTExID4+PiAxID09PSAyNTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0NDogMTAyMyA+Pj4gMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTogMjA0NyA+Pj4gMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNDY6IDQwOTUgPj4+IDEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAxICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ3OiA4MTkxID4+PiAxID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDEgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDg6IDE2MzgzID4+PiAxID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM0OTogMzI3NjcgPj4+IDEgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM1MDogNjU1MzUgPj4+IDEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMSAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNTE6IDEzMTA3MSA+Pj4gMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzUyOiAyNjIxNDMgPj4+IDEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNTM6IDUyNDI4NyA+Pj4gMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNTQ6IDEwNDg1NzUgPj4+IDEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjNTU6IDIwOTcxNTEgPj4+IDEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzU2OiA0MTk0MzAzID4+PiAxID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyM1NzogODM4ODYwNyA+Pj4gMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzU4OiAxNjc3NzIxNSA+Pj4gMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjNTk6IDMzNTU0NDMxID4+PiAxID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMSAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjNjA6IDY3MTA4ODYzID4+PiAxID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDEgIT09IDY3MTA4ODYzKSB7IAogICRFUlJPUignIzYxOiAxMzQyMTc3MjcgPj4+IDEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2MjogMjY4NDM1NDU1ID4+PiAxID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzYzOiA1MzY4NzA5MTEgPj4+IDEgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzY0OiAxMDczNzQxODIzID4+PiAxID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzY1OiAyMTQ3NDgzNjQ3ID4+PiAxID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMSAhPT0gMjE0NzQ4MzY0NykgeyAKICAkRVJST1IoJyM2NjogNDI5NDk2NzI5NSA+Pj4gMSA9PT0gMjE0NzQ4MzY0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDEpKTsgCn0gCgoKaWYgKDAgPj4+IDIgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc6IDAgPj4+IDIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyKSk7IAp9IAoKCmlmICgxID4+PiAyICE9PSAwKSB7IAogICRFUlJPUignIzY4OiAxID4+PiAyID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMikpOyAKfSAKCgppZiAoMyA+Pj4gMiAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTogMyA+Pj4gMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIpKTsgCn0gCgoKaWYgKDcgPj4+IDIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzA6IDcgPj4+IDIgPT09IDEuIEFjdHVhbDogJyArICg3ID4+PiAyKSk7IAp9IAoKCmlmICgxNSA+Pj4gMiAhPT0gMykgeyAKICAkRVJST1IoJyM3MTogMTUgPj4+IDIgPT09IDMuIEFjdHVhbDogJyArICgxNSA+Pj4gMikpOyAKfSAKCgppZiAoMzEgPj4+IDIgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzI6IDMxID4+PiAyID09PSA3LiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIpKTsgCn0gCgoKaWYgKDYzID4+PiAyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3MzogNjMgPj4+IDIgPT09IDE1LiBBY3R1YWw6ICcgKyAoNjMgPj4+IDIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMiAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzQ6IDEyNyA+Pj4gMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMjcgPj4+IDIpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzU6IDI1NSA+Pj4gMiA9PT0gNjMuIEFjdHVhbDogJyArICgyNTUgPj4+IDIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc2OiA1MTEgPj4+IDIgPT09IDEyNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMiAhPT0gMjU1KSB7IAogICRFUlJPUignIzc3OiAxMDIzID4+PiAyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDIzID4+PiAyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzg6IDIwNDcgPj4+IDIgPT09IDUxMS4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzk6IDQwOTUgPj4+IDIgPT09IDEwMjMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyKSk7IAp9IAoKCmlmICg4MTkxID4+PiAyICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzgwOiA4MTkxID4+PiAyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjODE6IDE2MzgzID4+PiAyID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzgyOiAzMjc2NyA+Pj4gMiA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjODM6IDY1NTM1ID4+PiAyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDIgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzg0OiAxMzEwNzEgPj4+IDIgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzg1OiAyNjIxNDMgPj4+IDIgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDIgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM4NjogNTI0Mjg3ID4+PiAyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDIpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDIgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM4NzogMTA0ODU3NSA+Pj4gMiA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzg4OiAyMDk3MTUxID4+PiAyID09PSA1MjQyODcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzg5OiA0MTk0MzAzID4+PiAyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyM5MDogODM4ODYwNyA+Pj4gMiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzkxOiAxNjc3NzIxNSA+Pj4gMiA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMiAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM5MjogMzM1NTQ0MzEgPj4+IDIgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzkzOiA2NzEwODg2MyA+Pj4gMiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyM5NDogMTM0MjE3NzI3ID4+PiAyID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM5NTogMjY4NDM1NDU1ID4+PiAyID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyICE9PSAxMzQyMTc3MjcpIHsgCiAgJEVSUk9SKCcjOTY6IDUzNjg3MDkxMSA+Pj4gMiA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyICE9PSAyNjg0MzU0NTUpIHsgCiAgJEVSUk9SKCcjOTc6IDEwNzM3NDE4MjMgPj4+IDIgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyM5ODogMjE0NzQ4MzY0NyA+Pj4gMiA9PT0gNTM2ODcwOTExLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMiAhPT0gMTA3Mzc0MTgyMykgeyAKICAkRVJST1IoJyM5OTogNDI5NDk2NzI5NSA+Pj4gMiA9PT0gMTA3Mzc0MTgyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIpKTsgCn0gCgoKaWYgKDAgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwOiAwID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMykpOyAKfSAKCgppZiAoMSA+Pj4gMyAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE6IDEgPj4+IDMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzKSk7IAp9IAoKCmlmICgzID4+PiAzICE9PSAwKSB7IAogICRFUlJPUignIzEwMjogMyA+Pj4gMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMpKTsgCn0gCgoKaWYgKDcgPj4+IDMgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOiA3ID4+PiAzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMykpOyAKfSAKCgppZiAoMTUgPj4+IDMgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTA0OiAxNSA+Pj4gMyA9PT0gMS4gQWN0dWFsOiAnICsgKDE1ID4+PiAzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMyAhPT0gMykgeyAKICAkRVJST1IoJyMxMDU6IDMxID4+PiAzID09PSAzLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMpKTsgCn0gCgoKaWYgKDYzID4+PiAzICE9PSA3KSB7IAogICRFUlJPUignIzEwNjogNjMgPj4+IDMgPT09IDcuIEFjdHVhbDogJyArICg2MyA+Pj4gMykpOyAKfSAKCgppZiAoMTI3ID4+PiAzICE9PSAxNSkgeyAKICAkRVJST1IoJyMxMDc6IDEyNyA+Pj4gMyA9PT0gMTUuIEFjdHVhbDogJyArICgxMjcgPj4+IDMpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMTA4OiAyNTUgPj4+IDMgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMgIT09IDYzKSB7IAogICRFUlJPUignIzEwOTogNTExID4+PiAzID09PSA2My4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzExMDogMTAyMyA+Pj4gMyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzExMTogMjA0NyA+Pj4gMyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMyAhPT0gNTExKSB7IAogICRFUlJPUignIzExMjogNDA5NSA+Pj4gMyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxMTM6IDgxOTEgPj4+IDMgPT09IDEwMjMuIEFjdHVhbDogJyArICg4MTkxID4+PiAzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxMTQ6IDE2MzgzID4+PiAzID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzExNTogMzI3NjcgPj4+IDMgPT09IDQwOTUuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTE2OiA2NTUzNSA+Pj4gMyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzExNzogMTMxMDcxID4+PiAzID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMxMTg6IDI2MjE0MyA+Pj4gMyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTE5OiA1MjQyODcgPj4+IDMgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTIwOiAxMDQ4NTc1ID4+PiAzID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTIxOiAyMDk3MTUxID4+PiAzID09PSAyNjIxNDMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTIyOiA0MTk0MzAzID4+PiAzID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzEyMzogODM4ODYwNyA+Pj4gMyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAzICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzEyNDogMTY3NzcyMTUgPj4+IDMgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDMgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMTI1OiAzMzU1NDQzMSA+Pj4gMyA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMyAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMjY6IDY3MTA4ODYzID4+PiAzID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTI3OiAxMzQyMTc3MjcgPj4+IDMgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzEyODogMjY4NDM1NDU1ID4+PiAzID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAzICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxMjk6IDUzNjg3MDkxMSA+Pj4gMyA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDMgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxMzA6IDEwNzM3NDE4MjMgPj4+IDMgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDMgIT09IDI2ODQzNTQ1NSkgeyAKICAkRVJST1IoJyMxMzE6IDIxNDc0ODM2NDcgPj4+IDMgPT09IDI2ODQzNTQ1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDMgIT09IDUzNjg3MDkxMSkgeyAKICAkRVJST1IoJyMxMzI6IDQyOTQ5NjcyOTUgPj4+IDMgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMpKTsgCn0gCgoKaWYgKDAgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTMzOiAwID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNCkpOyAKfSAKCgppZiAoMSA+Pj4gNCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMzQ6IDEgPj4+IDQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA0KSk7IAp9IAoKCmlmICgzID4+PiA0ICE9PSAwKSB7IAogICRFUlJPUignIzEzNTogMyA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDQpKTsgCn0gCgoKaWYgKDcgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM2OiA3ID4+PiA0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNCkpOyAKfSAKCgppZiAoMTUgPj4+IDQgIT09IDApIHsgCiAgJEVSUk9SKCcjMTM3OiAxNSA+Pj4gNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA0KSk7IAp9IAoKCmlmICgzMSA+Pj4gNCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMzg6IDMxID4+PiA0ID09PSAxLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDQpKTsgCn0gCgoKaWYgKDYzID4+PiA0ICE9PSAzKSB7IAogICRFUlJPUignIzEzOTogNjMgPj4+IDQgPT09IDMuIEFjdHVhbDogJyArICg2MyA+Pj4gNCkpOyAKfSAKCgppZiAoMTI3ID4+PiA0ICE9PSA3KSB7IAogICRFUlJPUignIzE0MDogMTI3ID4+PiA0ID09PSA3LiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDQgIT09IDE1KSB7IAogICRFUlJPUignIzE0MTogMjU1ID4+PiA0ID09PSAxNS4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNCkpOyAKfSAKCgppZiAoNTExID4+PiA0ICE9PSAzMSkgeyAKICAkRVJST1IoJyMxNDI6IDUxMSA+Pj4gNCA9PT0gMzEuIEFjdHVhbDogJyArICg1MTEgPj4+IDQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDQgIT09IDYzKSB7IAogICRFUlJPUignIzE0MzogMTAyMyA+Pj4gNCA9PT0gNjMuIEFjdHVhbDogJyArICgxMDIzID4+PiA0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMTQ0OiAyMDQ3ID4+PiA0ID09PSAxMjcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMTQ1OiA0MDk1ID4+PiA0ID09PSAyNTUuIEFjdHVhbDogJyArICg0MDk1ID4+PiA0KSk7IAp9IAoKCmlmICg4MTkxID4+PiA0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMTQ2OiA4MTkxID4+PiA0ID09PSA1MTEuIEFjdHVhbDogJyArICg4MTkxID4+PiA0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMxNDc6IDE2MzgzID4+PiA0ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiA0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzE0ODogMzI3NjcgPj4+IDQgPT09IDIwNDcuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMTQ5OiA2NTUzNSA+Pj4gNCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjMTUwOiAxMzEwNzEgPj4+IDQgPT09IDgxOTEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMTUxOiAyNjIxNDMgPj4+IDQgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzE1MjogNTI0Mjg3ID4+PiA0ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMTUzOiAxMDQ4NTc1ID4+PiA0ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMxNTQ6IDIwOTcxNTEgPj4+IDQgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMxNTU6IDQxOTQzMDMgPj4+IDQgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDQgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMxNTY6IDgzODg2MDcgPj4+IDQgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA0ICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzE1NzogMTY3NzcyMTUgPj4+IDQgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDQgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTU4OiAzMzU1NDQzMSA+Pj4gNCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMxNTk6IDY3MTA4ODYzID4+PiA0ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNCAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxNjA6IDEzNDIxNzcyNyA+Pj4gNCA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA0ICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyMxNjE6IDI2ODQzNTQ1NSA+Pj4gNCA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNCAhPT0gMzM1NTQ0MzEpIHsgCiAgJEVSUk9SKCcjMTYyOiA1MzY4NzA5MTEgPj4+IDQgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA0ICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyMxNjM6IDEwNzM3NDE4MjMgPj4+IDQgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNCAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzE2NDogMjE0NzQ4MzY0NyA+Pj4gNCA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNCAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzE2NTogNDI5NDk2NzI5NSA+Pj4gNCA9PT0gMjY4NDM1NDU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNCkpOyAKfSAKCgppZiAoMCA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjY6IDAgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiA1KSk7IAp9IAoKCmlmICgxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE2NzogMSA+Pj4gNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDUpKTsgCn0gCgoKaWYgKDMgPj4+IDUgIT09IDApIHsgCiAgJEVSUk9SKCcjMTY4OiAzID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gNSkpOyAKfSAKCgppZiAoNyA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNjk6IDcgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiA1KSk7IAp9IAoKCmlmICgxNSA+Pj4gNSAhPT0gMCkgeyAKICAkRVJST1IoJyMxNzA6IDE1ID4+PiA1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDUpKTsgCn0gCgoKaWYgKDMxID4+PiA1ICE9PSAwKSB7IAogICRFUlJPUignIzE3MTogMzEgPj4+IDUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gNSkpOyAKfSAKCgppZiAoNjMgPj4+IDUgIT09IDEpIHsgCiAgJEVSUk9SKCcjMTcyOiA2MyA+Pj4gNSA9PT0gMS4gQWN0dWFsOiAnICsgKDYzID4+PiA1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDUgIT09IDMpIHsgCiAgJEVSUk9SKCcjMTczOiAxMjcgPj4+IDUgPT09IDMuIEFjdHVhbDogJyArICgxMjcgPj4+IDUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gNSAhPT0gNykgeyAKICAkRVJST1IoJyMxNzQ6IDI1NSA+Pj4gNSA9PT0gNy4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gNSkpOyAKfSAKCgppZiAoNTExID4+PiA1ICE9PSAxNSkgeyAKICAkRVJST1IoJyMxNzU6IDUxMSA+Pj4gNSA9PT0gMTUuIEFjdHVhbDogJyArICg1MTEgPj4+IDUpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDUgIT09IDMxKSB7IAogICRFUlJPUignIzE3NjogMTAyMyA+Pj4gNSA9PT0gMzEuIEFjdHVhbDogJyArICgxMDIzID4+PiA1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA1ICE9PSA2MykgeyAKICAkRVJST1IoJyMxNzc6IDIwNDcgPj4+IDUgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzE3ODogNDA5NSA+Pj4gNSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzE3OTogODE5MSA+Pj4gNSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDUgIT09IDUxMSkgeyAKICAkRVJST1IoJyMxODA6IDE2MzgzID4+PiA1ID09PSA1MTEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMTgxOiAzMjc2NyA+Pj4gNSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMxODI6IDY1NTM1ID4+PiA1ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMxODM6IDEzMTA3MSA+Pj4gNSA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzE4NDogMjYyMTQzID4+PiA1ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiA1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE4NTogNTI0Mjg3ID4+PiA1ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg2OiAxMDQ4NTc1ID4+PiA1ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzE4NzogMjA5NzE1MSA+Pj4gNSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTg4OiA0MTk0MzAzID4+PiA1ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA1ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTg5OiA4Mzg4NjA3ID4+PiA1ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNSAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzE5MDogMTY3NzcyMTUgPj4+IDUgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxOTE6IDMzNTU0NDMxID4+PiA1ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA1ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzE5MjogNjcxMDg4NjMgPj4+IDUgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiA1ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzE5MzogMTM0MjE3NzI3ID4+PiA1ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDUgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMTk0OiAyNjg0MzU0NTUgPj4+IDUgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gNSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMTk1OiA1MzY4NzA5MTEgPj4+IDUgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA1ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMxOTY6IDEwNzM3NDE4MjMgPj4+IDUgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMTk3OiAyMTQ3NDgzNjQ3ID4+PiA1ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDUgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyMxOTg6IDQyOTQ5NjcyOTUgPj4+IDUgPT09IDEzNDIxNzcyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUpKTsgCn0gCgoKaWYgKDAgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMTk5OiAwID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNikpOyAKfSAKCgppZiAoMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDA6IDEgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA2KSk7IAp9IAoKCmlmICgzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwMTogMyA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDYpKTsgCn0gCgoKaWYgKDcgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAyOiA3ID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNikpOyAKfSAKCgppZiAoMTUgPj4+IDYgIT09IDApIHsgCiAgJEVSUk9SKCcjMjAzOiAxNSA+Pj4gNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMSA+Pj4gNiAhPT0gMCkgeyAKICAkRVJST1IoJyMyMDQ6IDMxID4+PiA2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDYpKTsgCn0gCgoKaWYgKDYzID4+PiA2ICE9PSAwKSB7IAogICRFUlJPUignIzIwNTogNjMgPj4+IDYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNikpOyAKfSAKCgppZiAoMTI3ID4+PiA2ICE9PSAxKSB7IAogICRFUlJPUignIzIwNjogMTI3ID4+PiA2ID09PSAxLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA2KSk7IAp9IAoKCmlmICgyNTUgPj4+IDYgIT09IDMpIHsgCiAgJEVSUk9SKCcjMjA3OiAyNTUgPj4+IDYgPT09IDMuIEFjdHVhbDogJyArICgyNTUgPj4+IDYpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNiAhPT0gNykgeyAKICAkRVJST1IoJyMyMDg6IDUxMSA+Pj4gNiA9PT0gNy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMjA5OiAxMDIzID4+PiA2ID09PSAxNS4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDYpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDYgIT09IDMxKSB7IAogICRFUlJPUignIzIxMDogMjA0NyA+Pj4gNiA9PT0gMzEuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA2ICE9PSA2MykgeyAKICAkRVJST1IoJyMyMTE6IDQwOTUgPj4+IDYgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gNikpOyAKfSAKCgppZiAoODE5MSA+Pj4gNiAhPT0gMTI3KSB7IAogICRFUlJPUignIzIxMjogODE5MSA+Pj4gNiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDYgIT09IDI1NSkgeyAKICAkRVJST1IoJyMyMTM6IDE2MzgzID4+PiA2ID09PSAyNTUuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gNikpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDYgIT09IDUxMSkgeyAKICAkRVJST1IoJyMyMTQ6IDMyNzY3ID4+PiA2ID09PSA1MTEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gNikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDYgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjE1OiA2NTUzNSA+Pj4gNiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA2KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDYgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMjE2OiAxMzEwNzEgPj4+IDYgPT09IDIwNDcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDYpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyMTc6IDI2MjE0MyA+Pj4gNiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA2ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIxODogNTI0Mjg3ID4+PiA2ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA2KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA2ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMyMTk6IDEwNDg1NzUgPj4+IDYgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gNikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gNiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMjIwOiAyMDk3MTUxID4+PiA2ID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDYgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzIyMTogNDE5NDMwMyA+Pj4gNiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA2KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA2ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjIyOiA4Mzg4NjA3ID4+PiA2ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiA2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gNiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzIyMzogMTY3NzcyMTUgPj4+IDYgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiA2KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gNiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzIyNDogMzM1NTQ0MzEgPj4+IDYgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA2KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gNiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyMjU6IDY3MTA4ODYzID4+PiA2ID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDYpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNiAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMyMjY6IDEzNDIxNzcyNyA+Pj4gNiA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNikpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA2ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzIyNzogMjY4NDM1NDU1ID4+PiA2ID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA2KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDYgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjI4OiA1MzY4NzA5MTEgPj4+IDYgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDYpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDYgIT09IDE2Nzc3MjE1KSB7IAogICRFUlJPUignIzIyOTogMTA3Mzc0MTgyMyA+Pj4gNiA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiA2KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiA2ICE9PSAzMzU1NDQzMSkgeyAKICAkRVJST1IoJyMyMzA6IDIxNDc0ODM2NDcgPj4+IDYgPT09IDMzNTU0NDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gNikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gNiAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMjMxOiA0Mjk0OTY3Mjk1ID4+PiA2ID09PSA2NzEwODg2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYpKTsgCn0gCgoKaWYgKDAgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjMyOiAwID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gNykpOyAKfSAKCgppZiAoMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzM6IDEgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA3KSk7IAp9IAoKCmlmICgzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzNDogMyA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDcpKTsgCn0gCgoKaWYgKDcgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM1OiA3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gNykpOyAKfSAKCgppZiAoMTUgPj4+IDcgIT09IDApIHsgCiAgJEVSUk9SKCcjMjM2OiAxNSA+Pj4gNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA3KSk7IAp9IAoKCmlmICgzMSA+Pj4gNyAhPT0gMCkgeyAKICAkRVJST1IoJyMyMzc6IDMxID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDcpKTsgCn0gCgoKaWYgKDYzID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzODogNjMgPj4+IDcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gNykpOyAKfSAKCgppZiAoMTI3ID4+PiA3ICE9PSAwKSB7IAogICRFUlJPUignIzIzOTogMTI3ID4+PiA3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA3KSk7IAp9IAoKCmlmICgyNTUgPj4+IDcgIT09IDEpIHsgCiAgJEVSUk9SKCcjMjQwOiAyNTUgPj4+IDcgPT09IDEuIEFjdHVhbDogJyArICgyNTUgPj4+IDcpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gNyAhPT0gMykgeyAKICAkRVJST1IoJyMyNDE6IDUxMSA+Pj4gNyA9PT0gMy4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gNykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gNyAhPT0gNykgeyAKICAkRVJST1IoJyMyNDI6IDEwMjMgPj4+IDcgPT09IDcuIEFjdHVhbDogJyArICgxMDIzID4+PiA3KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA3ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNDM6IDIwNDcgPj4+IDcgPT09IDE1LiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gNykpOyAKfSAKCgppZiAoNDA5NSA+Pj4gNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjQ0OiA0MDk1ID4+PiA3ID09PSAzMS4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDcgIT09IDYzKSB7IAogICRFUlJPUignIzI0NTogODE5MSA+Pj4gNyA9PT0gNjMuIEFjdHVhbDogJyArICg4MTkxID4+PiA3KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gNyAhPT0gMTI3KSB7IAogICRFUlJPUignIzI0NjogMTYzODMgPj4+IDcgPT09IDEyNy4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gNyAhPT0gMjU1KSB7IAogICRFUlJPUignIzI0NzogMzI3NjcgPj4+IDcgPT09IDI1NS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA3KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gNyAhPT0gNTExKSB7IAogICRFUlJPUignIzI0ODogNjU1MzUgPj4+IDcgPT09IDUxMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA3KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDcgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjQ5OiAxMzEwNzEgPj4+IDcgPT09IDEwMjMuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDcpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gNyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyNTA6IDI2MjE0MyA+Pj4gNyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gNykpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA3ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzI1MTogNTI0Mjg3ID4+PiA3ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA3KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA3ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI1MjogMTA0ODU3NSA+Pj4gNyA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDcpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDcgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI1MzogMjA5NzE1MSA+Pj4gNyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiA3KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiA3ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyNTQ6IDQxOTQzMDMgPj4+IDcgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gNyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjMjU1OiA4Mzg4NjA3ID4+PiA3ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDcpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiA3ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjU2OiAxNjc3NzIxNSA+Pj4gNyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA3ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjU3OiAzMzU1NDQzMSA+Pj4gNyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDcpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA3ICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMjU4OiA2NzEwODg2MyA+Pj4gNyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDcpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gNyAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyNTk6IDEzNDIxNzcyNyA+Pj4gNyA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gNykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiA3ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI2MDogMjY4NDM1NDU1ID4+PiA3ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA3KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDcgIT09IDQxOTQzMDMpIHsgCiAgJEVSUk9SKCcjMjYxOiA1MzY4NzA5MTEgPj4+IDcgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDcpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDcgIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjYyOiAxMDczNzQxODIzID4+PiA3ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gNykpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gNyAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjYzOiAyMTQ3NDgzNjQ3ID4+PiA3ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDcpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDcgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzI2NDogNDI5NDk2NzI5NSA+Pj4gNyA9PT0gMzM1NTQ0MzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA3KSk7IAp9IAoKCmlmICgwID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2NTogMCA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDgpKTsgCn0gCgoKaWYgKDEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjY2OiAxID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gOCkpOyAKfSAKCgppZiAoMyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNjc6IDMgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiA4KSk7IAp9IAoKCmlmICg3ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2ODogNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDgpKTsgCn0gCgoKaWYgKDE1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI2OTogMTUgPj4+IDggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gOCkpOyAKfSAKCgppZiAoMzEgPj4+IDggIT09IDApIHsgCiAgJEVSUk9SKCcjMjcwOiAzMSA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiA4KSk7IAp9IAoKCmlmICg2MyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzE6IDYzID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gOCAhPT0gMCkgeyAKICAkRVJST1IoJyMyNzI6IDEyNyA+Pj4gOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gOCkpOyAKfSAKCgppZiAoMjU1ID4+PiA4ICE9PSAwKSB7IAogICRFUlJPUignIzI3MzogMjU1ID4+PiA4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiA4KSk7IAp9IAoKCmlmICg1MTEgPj4+IDggIT09IDEpIHsgCiAgJEVSUk9SKCcjMjc0OiA1MTEgPj4+IDggPT09IDEuIEFjdHVhbDogJyArICg1MTEgPj4+IDgpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDggIT09IDMpIHsgCiAgJEVSUk9SKCcjMjc1OiAxMDIzID4+PiA4ID09PSAzLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gOCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gOCAhPT0gNykgeyAKICAkRVJST1IoJyMyNzY6IDIwNDcgPj4+IDggPT09IDcuIEFjdHVhbDogJyArICgyMDQ3ID4+PiA4KSk7IAp9IAoKCmlmICg0MDk1ID4+PiA4ICE9PSAxNSkgeyAKICAkRVJST1IoJyMyNzc6IDQwOTUgPj4+IDggPT09IDE1LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOCAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjMjc4OiA4MTkxID4+PiA4ID09PSAzMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA4ICE9PSA2MykgeyAKICAkRVJST1IoJyMyNzk6IDE2MzgzID4+PiA4ID09PSA2My4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA4KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOCAhPT0gMTI3KSB7IAogICRFUlJPUignIzI4MDogMzI3NjcgPj4+IDggPT09IDEyNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiA4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gOCAhPT0gMjU1KSB7IAogICRFUlJPUignIzI4MTogNjU1MzUgPj4+IDggPT09IDI1NS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiA4KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDggIT09IDUxMSkgeyAKICAkRVJST1IoJyMyODI6IDEzMTA3MSA+Pj4gOCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiA4KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDggIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjMjgzOiAyNjIxNDMgPj4+IDggPT09IDEwMjMuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDgpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gOCAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyODQ6IDUyNDI4NyA+Pj4gOCA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gOCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gOCAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMyODU6IDEwNDg1NzUgPj4+IDggPT09IDQwOTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiA4KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiA4ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzI4NjogMjA5NzE1MSA+Pj4gOCA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDgpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDggIT09IDE2MzgzKSB7IAogICRFUlJPUignIzI4NzogNDE5NDMwMyA+Pj4gOCA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA4KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA4ICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyMyODg6IDgzODg2MDcgPj4+IDggPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDggIT09IDY1NTM1KSB7IAogICRFUlJPUignIzI4OTogMTY3NzcyMTUgPj4+IDggPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDgpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA4ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMjkwOiAzMzU1NDQzMSA+Pj4gOCA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiA4ICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMjkxOiA2NzEwODg2MyA+Pj4gOCA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDgpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gOCAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzI5MjogMTM0MjE3NzI3ID4+PiA4ID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDgpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gOCAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMyOTM6IDI2ODQzNTQ1NSA+Pj4gOCA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gOCkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiA4ICE9PSAyMDk3MTUxKSB7IAogICRFUlJPUignIzI5NDogNTM2ODcwOTExID4+PiA4ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiA4KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiA4ICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzI5NTogMTA3Mzc0MTgyMyA+Pj4gOCA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDgpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDggIT09IDgzODg2MDcpIHsgCiAgJEVSUk9SKCcjMjk2OiAyMTQ3NDgzNjQ3ID4+PiA4ID09PSA4Mzg4NjA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gOCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gOCAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjMjk3OiA0Mjk0OTY3Mjk1ID4+PiA4ID09PSAxNjc3NzIxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDgpKTsgCn0gCgoKaWYgKDAgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMjk4OiAwID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gOSkpOyAKfSAKCgppZiAoMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMyOTk6IDEgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiA5KSk7IAp9IAoKCmlmICgzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwMDogMyA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDkpKTsgCn0gCgoKaWYgKDcgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAxOiA3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzAyOiAxNSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiA5KSk7IAp9IAoKCmlmICgzMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDM6IDMxID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDkpKTsgCn0gCgoKaWYgKDYzID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNDogNjMgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gOSkpOyAKfSAKCgppZiAoMTI3ID4+PiA5ICE9PSAwKSB7IAogICRFUlJPUignIzMwNTogMTI3ID4+PiA5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNTUgPj4+IDkgIT09IDApIHsgCiAgJEVSUk9SKCcjMzA2OiAyNTUgPj4+IDkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDkpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gOSAhPT0gMCkgeyAKICAkRVJST1IoJyMzMDc6IDUxMSA+Pj4gOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gOSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gOSAhPT0gMSkgeyAKICAkRVJST1IoJyMzMDg6IDEwMjMgPj4+IDkgPT09IDEuIEFjdHVhbDogJyArICgxMDIzID4+PiA5KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiA5ICE9PSAzKSB7IAogICRFUlJPUignIzMwOTogMjA0NyA+Pj4gOSA9PT0gMy4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDkpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDkgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzEwOiA0MDk1ID4+PiA5ID09PSA3LiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gOSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gOSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzExOiA4MTkxID4+PiA5ID09PSAxNS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDkpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiA5ICE9PSAzMSkgeyAKICAkRVJST1IoJyMzMTI6IDE2MzgzID4+PiA5ID09PSAzMS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiA5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gOSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzEzOiAzMjc2NyA+Pj4gOSA9PT0gNjMuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gOSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDkgIT09IDEyNykgeyAKICAkRVJST1IoJyMzMTQ6IDY1NTM1ID4+PiA5ID09PSAxMjcuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiA5ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzE1OiAxMzEwNzEgPj4+IDkgPT09IDI1NS4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gOSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiA5ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzE2OiAyNjIxNDMgPj4+IDkgPT09IDUxMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gOSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiA5ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzMxNzogNTI0Mjg3ID4+PiA5ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiA5KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiA5ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzMxODogMTA0ODU3NSA+Pj4gOSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDkpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDkgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzE5OiAyMDk3MTUxID4+PiA5ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gOSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gOSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzMjA6IDQxOTQzMDMgPj4+IDkgPT09IDgxOTEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiA5KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiA5ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzMjE6IDgzODg2MDcgPj4+IDkgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gOSkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDkgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzMyMjogMTY3NzcyMTUgPj4+IDkgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiA5ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzMjM6IDMzNTU0NDMxID4+PiA5ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiA5KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gOSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzMyNDogNjcxMDg4NjMgPj4+IDkgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiA5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDkgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzMjU6IDEzNDIxNzcyNyA+Pj4gOSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiA5KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDkgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzMjY6IDI2ODQzNTQ1NSA+Pj4gOSA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiA5KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDkgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzI3OiA1MzY4NzA5MTEgPj4+IDkgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDkpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDkgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzI4OiAxMDczNzQxODIzID4+PiA5ID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gOSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gOSAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzMjk6IDIxNDc0ODM2NDcgPj4+IDkgPT09IDQxOTQzMDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiA5KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiA5ICE9PSA4Mzg4NjA3KSB7IAogICRFUlJPUignIzMzMDogNDI5NDk2NzI5NSA+Pj4gOSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDkpKTsgCn0gCgoKaWYgKDAgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzMTogMCA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMCkpOyAKfSAKCgppZiAoMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzMyOiAxID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEwKSk7IAp9IAoKCmlmICgzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzM6IDMgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTApKTsgCn0gCgoKaWYgKDcgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNDogNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMCkpOyAKfSAKCgppZiAoMTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzNTogMTUgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzM2OiAzMSA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDYzID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzc6IDYzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMCAhPT0gMCkgeyAKICAkRVJST1IoJyMzMzg6IDEyNyA+Pj4gMTAgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEwKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEwICE9PSAwKSB7IAogICRFUlJPUignIzMzOTogMjU1ID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQwOiA1MTEgPj4+IDEwID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTAgIT09IDApIHsgCiAgJEVSUk9SKCcjMzQxOiAxMDIzID4+PiAxMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMCAhPT0gMSkgeyAKICAkRVJST1IoJyMzNDI6IDIwNDcgPj4+IDEwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEwICE9PSAzKSB7IAogICRFUlJPUignIzM0MzogNDA5NSA+Pj4gMTAgPT09IDMuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTAgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzQ0OiA4MTkxID4+PiAxMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTAgIT09IDE1KSB7IAogICRFUlJPUignIzM0NTogMTYzODMgPj4+IDEwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxMCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDEwICE9PSAzMSkgeyAKICAkRVJST1IoJyMzNDY6IDMyNzY3ID4+PiAxMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzQ3OiA2NTUzNSA+Pj4gMTAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjMzQ4OiAxMzEwNzEgPj4+IDEwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjMzQ5OiAyNjIxNDMgPj4+IDEwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDEwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDEwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzUwOiA1MjQyODcgPj4+IDEwID09PSA1MTEuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyMzNTE6IDEwNDg1NzUgPj4+IDEwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDEwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzM1MjogMjA5NzE1MSA+Pj4gMTAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMCkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMzUzOiA0MTk0MzAzID4+PiAxMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzNTQ6IDgzODg2MDcgPj4+IDEwID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjMzU1OiAxNjc3NzIxNSA+Pj4gMTAgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDEwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTAgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzM1NjogMzM1NTQ0MzEgPj4+IDEwID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxMCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDEwICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzNTc6IDY3MTA4ODYzID4+PiAxMCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTApKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTAgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyMzNTg6IDEzNDIxNzcyNyA+Pj4gMTAgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTApKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTAgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyMzNTk6IDI2ODQzNTQ1NSA+Pj4gMTAgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTAgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzNjA6IDUzNjg3MDkxMSA+Pj4gMTAgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTApKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEwICE9PSAxMDQ4NTc1KSB7IAogICRFUlJPUignIzM2MTogMTA3Mzc0MTgyMyA+Pj4gMTAgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTAgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMzYyOiAyMTQ3NDgzNjQ3ID4+PiAxMCA9PT0gMjA5NzE1MS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMCAhPT0gNDE5NDMwMykgeyAKICAkRVJST1IoJyMzNjM6IDQyOTQ5NjcyOTUgPj4+IDEwID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTApKTsgCn0gCgoKaWYgKDAgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NDogMCA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMSkpOyAKfSAKCgppZiAoMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY1OiAxID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDExKSk7IAp9IAoKCmlmICgzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNjY6IDMgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDcgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2NzogNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMSkpOyAKfSAKCgppZiAoMTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM2ODogMTUgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDExKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzY5OiAzMSA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDYzID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzA6IDYzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMSkpOyAKfSAKCgppZiAoMTI3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzE6IDEyNyA+Pj4gMTEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDExKSk7IAp9IAoKCmlmICgyNTUgPj4+IDExICE9PSAwKSB7IAogICRFUlJPUignIzM3MjogMjU1ID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzczOiA1MTEgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTEgIT09IDApIHsgCiAgJEVSUk9SKCcjMzc0OiAxMDIzID4+PiAxMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDExKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMSAhPT0gMCkgeyAKICAkRVJST1IoJyMzNzU6IDIwNDcgPj4+IDExID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDExICE9PSAxKSB7IAogICRFUlJPUignIzM3NjogNDA5NSA+Pj4gMTEgPT09IDEuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTEgIT09IDMpIHsgCiAgJEVSUk9SKCcjMzc3OiA4MTkxID4+PiAxMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDExKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTEgIT09IDcpIHsgCiAgJEVSUk9SKCcjMzc4OiAxNjM4MyA+Pj4gMTEgPT09IDcuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjMzc5OiAzMjc2NyA+Pj4gMTEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDExKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTEgIT09IDMxKSB7IAogICRFUlJPUignIzM4MDogNjU1MzUgPj4+IDExID09PSAzMS4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMzgxOiAxMzEwNzEgPj4+IDExID09PSA2My4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTEgIT09IDEyNykgeyAKICAkRVJST1IoJyMzODI6IDI2MjE0MyA+Pj4gMTEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTEgIT09IDI1NSkgeyAKICAkRVJST1IoJyMzODM6IDUyNDI4NyA+Pj4gMTEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDExICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjMzg0OiAxMDQ4NTc1ID4+PiAxMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDExICE9PSAxMDIzKSB7IAogICRFUlJPUignIzM4NTogMjA5NzE1MSA+Pj4gMTEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjMzg2OiA0MTk0MzAzID4+PiAxMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDExKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyMzODc6IDgzODg2MDcgPj4+IDExID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTEpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMSAhPT0gODE5MSkgeyAKICAkRVJST1IoJyMzODg6IDE2Nzc3MjE1ID4+PiAxMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDExICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyMzODk6IDMzNTU0NDMxID4+PiAxMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMzkwOiA2NzEwODg2MyA+Pj4gMTEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDExKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDExICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMzOTE6IDEzNDIxNzcyNyA+Pj4gMTEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxMSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxMSAhPT0gMTMxMDcxKSB7IAogICRFUlJPUignIzM5MjogMjY4NDM1NDU1ID4+PiAxMSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMSAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzM5MzogNTM2ODcwOTExID4+PiAxMSA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxMSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTEgIT09IDUyNDI4NykgeyAKICAkRVJST1IoJyMzOTQ6IDEwNzM3NDE4MjMgPj4+IDExID09PSA1MjQyODcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxMSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTEgIT09IDEwNDg1NzUpIHsgCiAgJEVSUk9SKCcjMzk1OiAyMTQ3NDgzNjQ3ID4+PiAxMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDExKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMSAhPT0gMjA5NzE1MSkgeyAKICAkRVJST1IoJyMzOTY6IDQyOTQ5NjcyOTUgPj4+IDExID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTEpKTsgCn0gCgoKaWYgKDAgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzM5NzogMCA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMikpOyAKfSAKCgppZiAoMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjMzk4OiAxID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEyKSk7IAp9IAoKCmlmICgzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyMzOTk6IDMgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDcgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMDogNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwMTogMTUgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEyKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDAyOiAzMSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDYzID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDM6IDYzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMikpOyAKfSAKCgppZiAoMTI3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDQ6IDEyNyA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEyKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwNTogMjU1ID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA2OiA1MTEgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMikpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTIgIT09IDApIHsgCiAgJEVSUk9SKCcjNDA3OiAxMDIzID4+PiAxMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMiAhPT0gMCkgeyAKICAkRVJST1IoJyM0MDg6IDIwNDcgPj4+IDEyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEyICE9PSAwKSB7IAogICRFUlJPUignIzQwOTogNDA5NSA+Pj4gMTIgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMikpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDEwOiA4MTkxID4+PiAxMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNDExOiAxNjM4MyA+Pj4gMTIgPT09IDMuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMiAhPT0gNykgeyAKICAkRVJST1IoJyM0MTI6IDMyNzY3ID4+PiAxMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMikpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEyICE9PSAxNSkgeyAKICAkRVJST1IoJyM0MTM6IDY1NTM1ID4+PiAxMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTIgIT09IDMxKSB7IAogICRFUlJPUignIzQxNDogMTMxMDcxID4+PiAxMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDEyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDEyICE9PSA2MykgeyAKICAkRVJST1IoJyM0MTU6IDI2MjE0MyA+Pj4gMTIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAxMikpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAxMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzQxNjogNTI0Mjg3ID4+PiAxMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM0MTc6IDEwNDg1NzUgPj4+IDEyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxMikpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM0MTg6IDIwOTcxNTEgPj4+IDEyID09PSA1MTEuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxMikpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNDE5OiA0MTk0MzAzID4+PiAxMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEyKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMiAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0MjA6IDgzODg2MDcgPj4+IDEyID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMiAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM0MjE6IDE2Nzc3MjE1ID4+PiAxMiA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEyICE9PSA4MTkxKSB7IAogICRFUlJPUignIzQyMjogMzM1NTQ0MzEgPj4+IDEyID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEyKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTIgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQyMzogNjcxMDg4NjMgPj4+IDEyID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxMikpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxMiAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNDI0OiAxMzQyMTc3MjcgPj4+IDEyID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTIpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTIgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzQyNTogMjY4NDM1NDU1ID4+PiAxMiA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDEyKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDEyICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDI2OiA1MzY4NzA5MTEgPj4+IDEyID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDEyKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxMiAhPT0gMjYyMTQzKSB7IAogICRFUlJPUignIzQyNzogMTA3Mzc0MTgyMyA+Pj4gMTIgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDEyKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxMiAhPT0gNTI0Mjg3KSB7IAogICRFUlJPUignIzQyODogMjE0NzQ4MzY0NyA+Pj4gMTIgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDEyKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxMiAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0Mjk6IDQyOTQ5NjcyOTUgPj4+IDEyID09PSAxMDQ4NTc1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTIpKTsgCn0gCgoKaWYgKDAgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMDogMCA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxMykpOyAKfSAKCgppZiAoMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDMxOiAxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDEzKSk7IAp9IAoKCmlmICgzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzI6IDMgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDcgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzMzogNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxMykpOyAKfSAKCgppZiAoMTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzNDogMTUgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDEzKSk7IAp9IAoKCmlmICgzMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM1OiAzMSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDYzID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0MzY6IDYzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxMykpOyAKfSAKCgppZiAoMTI3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0Mzc6IDEyNyA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQzODogMjU1ID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDM5OiA1MTEgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxMykpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQwOiAxMDIzID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxMyAhPT0gMCkgeyAKICAkRVJST1IoJyM0NDE6IDIwNDcgPj4+IDEzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDEzICE9PSAwKSB7IAogICRFUlJPUignIzQ0MjogNDA5NSA+Pj4gMTMgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxMykpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTMgIT09IDApIHsgCiAgJEVSUk9SKCcjNDQzOiA4MTkxID4+PiAxMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDEzKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNDQ0OiAxNjM4MyA+Pj4gMTMgPT09IDEuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxMyAhPT0gMykgeyAKICAkRVJST1IoJyM0NDU6IDMyNzY3ID4+PiAxMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxMykpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDEzICE9PSA3KSB7IAogICRFUlJPUignIzQ0NjogNjU1MzUgPj4+IDEzID09PSA3LiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDEzKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDEzICE9PSAxNSkgeyAKICAkRVJST1IoJyM0NDc6IDEzMTA3MSA+Pj4gMTMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxMykpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNDQ4OiAyNjIxNDMgPj4+IDEzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTMgIT09IDYzKSB7IAogICRFUlJPUignIzQ0OTogNTI0Mjg3ID4+PiAxMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDEzKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAxMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzQ1MDogMTA0ODU3NSA+Pj4gMTMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDEzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzQ1MTogMjA5NzE1MSA+Pj4gMTMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDEzKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxMyAhPT0gNTExKSB7IAogICRFUlJPUignIzQ1MjogNDE5NDMwMyA+Pj4gMTMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDEzKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxMyAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0NTM6IDgzODg2MDcgPj4+IDEzID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxMyAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM0NTQ6IDE2Nzc3MjE1ID4+PiAxMyA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxMykpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDEzICE9PSA0MDk1KSB7IAogICRFUlJPUignIzQ1NTogMzM1NTQ0MzEgPj4+IDEzID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDEzKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTMgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDU2OiA2NzEwODg2MyA+Pj4gMTMgPT09IDgxOTEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTMgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzQ1NzogMTM0MjE3NzI3ID4+PiAxMyA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDEzKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDEzICE9PSAzMjc2NykgeyAKICAkRVJST1IoJyM0NTg6IDI2ODQzNTQ1NSA+Pj4gMTMgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxMykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxMyAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDU5OiA1MzY4NzA5MTEgPj4+IDEzID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDEzICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDYwOiAxMDczNzQxODIzID4+PiAxMyA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDEzICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDYxOiAyMTQ3NDgzNjQ3ID4+PiAxMyA9PT0gMjYyMTQzLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTMpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDEzICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDYyOiA0Mjk0OTY3Mjk1ID4+PiAxMyA9PT0gNTI0Mjg3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTMpKTsgCn0gCgoKaWYgKDAgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2MzogMCA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAxNCkpOyAKfSAKCgppZiAoMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY0OiAxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDE0KSk7IAp9IAoKCmlmICgzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NjU6IDMgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDcgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NjogNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ2NzogMTUgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDE0KSk7IAp9IAoKCmlmICgzMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDY4OiAzMSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDYzID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0Njk6IDYzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAxNCkpOyAKfSAKCgppZiAoMTI3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzA6IDEyNyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDE0KSk7IAp9IAoKCmlmICgyNTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3MTogMjU1ID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDcyOiA1MTEgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAxNCkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDczOiAxMDIzID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDE0KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAxNCAhPT0gMCkgeyAKICAkRVJST1IoJyM0NzQ6IDIwNDcgPj4+IDE0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDE0ICE9PSAwKSB7IAogICRFUlJPUignIzQ3NTogNDA5NSA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAxNCkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc2OiA4MTkxID4+PiAxNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMTQgIT09IDApIHsgCiAgJEVSUk9SKCcjNDc3OiAxNjM4MyA+Pj4gMTQgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAxNCAhPT0gMSkgeyAKICAkRVJST1IoJyM0Nzg6IDMyNzY3ID4+PiAxNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAxNCkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDE0ICE9PSAzKSB7IAogICRFUlJPUignIzQ3OTogNjU1MzUgPj4+IDE0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDE0KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDE0ICE9PSA3KSB7IAogICRFUlJPUignIzQ4MDogMTMxMDcxID4+PiAxNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMTQgIT09IDE1KSB7IAogICRFUlJPUignIzQ4MTogMjYyMTQzID4+PiAxNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE0KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM0ODI6IDUyNDI4NyA+Pj4gMTQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTQgIT09IDYzKSB7IAogICRFUlJPUignIzQ4MzogMTA0ODU3NSA+Pj4gMTQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNDg0OiAyMDk3MTUxID4+PiAxNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNDg1OiA0MTk0MzAzID4+PiAxNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE0ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNDg2OiA4Mzg4NjA3ID4+PiAxNCA9PT0gNTExLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxNCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM0ODc6IDE2Nzc3MjE1ID4+PiAxNCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE0ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzQ4ODogMzM1NTQ0MzEgPj4+IDE0ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE0KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTQgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNDg5OiA2NzEwODg2MyA+Pj4gMTQgPT09IDQwOTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMTQpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMTQgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNDkwOiAxMzQyMTc3MjcgPj4+IDE0ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxNCkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxNCAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNDkxOiAyNjg0MzU0NTUgPj4+IDE0ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTQpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTQgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzQ5MjogNTM2ODcwOTExID4+PiAxNCA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE0KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNCAhPT0gNjU1MzUpIHsgCiAgJEVSUk9SKCcjNDkzOiAxMDczNzQxODIzID4+PiAxNCA9PT0gNjU1MzUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNCkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTQgIT09IDEzMTA3MSkgeyAKICAkRVJST1IoJyM0OTQ6IDIxNDc0ODM2NDcgPj4+IDE0ID09PSAxMzEwNzEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxNCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTQgIT09IDI2MjE0MykgeyAKICAkRVJST1IoJyM0OTU6IDQyOTQ5NjcyOTUgPj4+IDE0ID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNCkpOyAKfSAKCgppZiAoMCA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk2OiAwID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE1KSk7IAp9IAoKCmlmICgxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM0OTc6IDEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzQ5ODogMyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxNSkpOyAKfSAKCgppZiAoNyA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNDk5OiA3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTAwOiAxNSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDMxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDE6IDMxID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxNSkpOyAKfSAKCgppZiAoNjMgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMjogNjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE1KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwMzogMTI3ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA0OiAyNTUgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxNSkpOyAKfSAKCgppZiAoNTExID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDU6IDUxMSA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDY6IDEwMjMgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUwNzogMjA0NyA+Pj4gMTUgPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxNSkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTUgIT09IDApIHsgCiAgJEVSUk9SKCcjNTA4OiA0MDk1ID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE1KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MDk6IDgxOTEgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxNSAhPT0gMCkgeyAKICAkRVJST1IoJyM1MTA6IDE2MzgzID4+PiAxNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxNSkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE1ICE9PSAwKSB7IAogICRFUlJPUignIzUxMTogMzI3NjcgPj4+IDE1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE1KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTUgIT09IDEpIHsgCiAgJEVSUk9SKCcjNTEyOiA2NTUzNSA+Pj4gMTUgPT09IDEuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTUgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTEzOiAxMzEwNzEgPj4+IDE1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxNSkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxNSAhPT0gNykgeyAKICAkRVJST1IoJyM1MTQ6IDI2MjE0MyA+Pj4gMTUgPT09IDcuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE1KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM1MTU6IDUyNDI4NyA+Pj4gMTUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTUgIT09IDMxKSB7IAogICRFUlJPUignIzUxNjogMTA0ODU3NSA+Pj4gMTUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE1ICE9PSA2MykgeyAKICAkRVJST1IoJyM1MTc6IDIwOTcxNTEgPj4+IDE1ID09PSA2My4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE1KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzUxODogNDE5NDMwMyA+Pj4gMTUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDE1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAxNSAhPT0gMjU1KSB7IAogICRFUlJPUignIzUxOTogODM4ODYwNyA+Pj4gMTUgPT09IDI1NS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE1KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTUgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1MjA6IDE2Nzc3MjE1ID4+PiAxNSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE1KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTUgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNTIxOiAzMzU1NDQzMSA+Pj4gMTUgPT09IDEwMjMuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAxNSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1MjI6IDY3MTA4ODYzID4+PiAxNSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxNSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxNSAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1MjM6IDEzNDIxNzcyNyA+Pj4gMTUgPT09IDQwOTUuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE1KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE1ICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyNDogMjY4NDM1NDU1ID4+PiAxNSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTUpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTUgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUyNTogNTM2ODcwOTExID4+PiAxNSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE1KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTI2OiAxMDczNzQxODIzID4+PiAxNSA9PT0gMzI3NjcuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNSkpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTUgIT09IDY1NTM1KSB7IAogICRFUlJPUignIzUyNzogMjE0NzQ4MzY0NyA+Pj4gMTUgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTUpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE1ICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNTI4OiA0Mjk0OTY3Mjk1ID4+PiAxNSA9PT0gMTMxMDcxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMTUpKTsgCn0gCgo=","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 0...15","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBvcGVyYXRvciB4ID4+PiB5IGluIGRpc3RpbmN0IHBvaW50cwogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFNoaWZ0RXhwcmVzc2lvbiA9IDJebiAtIDEsIG4gPSAxNi4uLjMxCiAqLwoKLy9DSEVDSwogCmlmICgwID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mjk6IDAgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzMDogMSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNikpOyAKfSAKCgppZiAoMyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTMxOiAzID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE2KSk7IAp9IAoKCmlmICg3ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzI6IDcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1MzM6IDE1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzNDogMzEgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM1OiA2MyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTM2OiAxMjcgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNikpOyAKfSAKCgppZiAoMjU1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1Mzc6IDI1NSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzODogNTExID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzUzOTogMTAyMyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQwOiAyMDQ3ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDE6IDQwOTUgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MjogODE5MSA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE2ICE9PSAwKSB7IAogICRFUlJPUignIzU0MzogMTYzODMgPj4+IDE2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTYgIT09IDApIHsgCiAgJEVSUk9SKCcjNTQ0OiAzMjc2NyA+Pj4gMTYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNiAhPT0gMCkgeyAKICAkRVJST1IoJyM1NDU6IDY1NTM1ID4+PiAxNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNiAhPT0gMSkgeyAKICAkRVJST1IoJyM1NDY6IDEzMTA3MSA+Pj4gMTYgPT09IDEuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE2ICE9PSAzKSB7IAogICRFUlJPUignIzU0NzogMjYyMTQzID4+PiAxNiA9PT0gMy4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTYgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTQ4OiA1MjQyODcgPj4+IDE2ID09PSA3LiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTYgIT09IDE1KSB7IAogICRFUlJPUignIzU0OTogMTA0ODU3NSA+Pj4gMTYgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMTYpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDE2ICE9PSAzMSkgeyAKICAkRVJST1IoJyM1NTA6IDIwOTcxNTEgPj4+IDE2ID09PSAzMS4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE2KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxNiAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNTUxOiA0MTk0MzAzID4+PiAxNiA9PT0gNjMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTYgIT09IDEyNykgeyAKICAkRVJST1IoJyM1NTI6IDgzODg2MDcgPj4+IDE2ID09PSAxMjcuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAxNikpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDE2ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNTUzOiAxNjc3NzIxNSA+Pj4gMTYgPT09IDI1NS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAxNikpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDE2ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNTU0OiAzMzU1NDQzMSA+Pj4gMTYgPT09IDUxMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE2ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1NTogNjcxMDg4NjMgPj4+IDE2ID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE2ICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzU1NjogMTM0MjE3NzI3ID4+PiAxNiA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTYgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTU3OiAyNjg0MzU0NTUgPj4+IDE2ID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNiAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1NTg6IDUzNjg3MDkxMSA+Pj4gMTYgPT09IDgxOTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNiAhPT0gMTYzODMpIHsgCiAgJEVSUk9SKCcjNTU5OiAxMDczNzQxODIzID4+PiAxNiA9PT0gMTYzODMuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAxNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMTYgIT09IDMyNzY3KSB7IAogICRFUlJPUignIzU2MDogMjE0NzQ4MzY0NyA+Pj4gMTYgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE2ICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM1NjE6IDQyOTQ5NjcyOTUgPj4+IDE2ID09PSA2NTUzNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE2KSk7IAp9IAoKCmlmICgwID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjI6IDAgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2MzogMSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxNykpOyAKfSAKCgppZiAoMyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY0OiAzID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE3KSk7IAp9IAoKCmlmICg3ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjU6IDcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDE1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NjY6IDE1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxNykpOyAKfSAKCgppZiAoMzEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU2NzogMzEgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY4OiA2MyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTY5OiAxMjcgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxNykpOyAKfSAKCgppZiAoMjU1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzA6IDI1NSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MTogNTExID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3MjogMTAyMyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTczOiAyMDQ3ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1NzQ6IDQwOTUgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NTogODE5MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE3ICE9PSAwKSB7IAogICRFUlJPUignIzU3NjogMTYzODMgPj4+IDE3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTcgIT09IDApIHsgCiAgJEVSUk9SKCcjNTc3OiAzMjc2NyA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzg6IDY1NTM1ID4+PiAxNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxNyAhPT0gMCkgeyAKICAkRVJST1IoJyM1Nzk6IDEzMTA3MSA+Pj4gMTcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE3ICE9PSAxKSB7IAogICRFUlJPUignIzU4MDogMjYyMTQzID4+PiAxNyA9PT0gMS4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTcgIT09IDMpIHsgCiAgJEVSUk9SKCcjNTgxOiA1MjQyODcgPj4+IDE3ID09PSAzLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTcgIT09IDcpIHsgCiAgJEVSUk9SKCcjNTgyOiAxMDQ4NTc1ID4+PiAxNyA9PT0gNy4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxNyAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNTgzOiAyMDk3MTUxID4+PiAxNyA9PT0gMTUuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAxNykpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMTcgIT09IDMxKSB7IAogICRFUlJPUignIzU4NDogNDE5NDMwMyA+Pj4gMTcgPT09IDMxLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDE3ICE9PSA2MykgeyAKICAkRVJST1IoJyM1ODU6IDgzODg2MDcgPj4+IDE3ID09PSA2My4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDE3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMTcgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODY6IDE2Nzc3MjE1ID4+PiAxNyA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE3KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTcgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1ODc6IDMzNTU0NDMxID4+PiAxNyA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE3KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTcgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1ODg6IDY3MTA4ODYzID4+PiAxNyA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE3ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU4OTogMTM0MjE3NzI3ID4+PiAxNyA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMTcgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNTkwOiAyNjg0MzU0NTUgPj4+IDE3ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxNyAhPT0gNDA5NSkgeyAKICAkRVJST1IoJyM1OTE6IDUzNjg3MDkxMSA+Pj4gMTcgPT09IDQwOTUuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxNyAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM1OTI6IDEwNzM3NDE4MjMgPj4+IDE3ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE3ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM1OTM6IDIxNDc0ODM2NDcgPj4+IDE3ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDE3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAxNyAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTk0OiA0Mjk0OTY3Mjk1ID4+PiAxNyA9PT0gMzI3NjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAxNykpOyAKfSAKCgppZiAoMCA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk1OiAwID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDE4KSk7IAp9IAoKCmlmICgxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM1OTY6IDEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzU5NzogMyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAxOCkpOyAKfSAKCgppZiAoNyA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk4OiA3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDE4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNTk5OiAxNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDMxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDA6IDMxID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAxOCkpOyAKfSAKCgppZiAoNjMgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMTogNjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwMjogMTI3ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjAzOiAyNTUgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAxOCkpOyAKfSAKCgppZiAoNTExID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDQ6IDUxMSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDE4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDU6IDEwMjMgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYwNjogMjA0NyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAxOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjA3OiA0MDk1ID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDE4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDg6IDgxOTEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MDk6IDE2MzgzID4+PiAxOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAxOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDE4ICE9PSAwKSB7IAogICRFUlJPUignIzYxMDogMzI3NjcgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDE4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjExOiA2NTUzNSA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMTggIT09IDApIHsgCiAgJEVSUk9SKCcjNjEyOiAxMzEwNzEgPj4+IDE4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAxOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAxOCAhPT0gMCkgeyAKICAkRVJST1IoJyM2MTM6IDI2MjE0MyA+Pj4gMTggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDE4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDE4ICE9PSAxKSB7IAogICRFUlJPUignIzYxNDogNTI0Mjg3ID4+PiAxOCA9PT0gMS4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDE4ICE9PSAzKSB7IAogICRFUlJPUignIzYxNTogMTA0ODU3NSA+Pj4gMTggPT09IDMuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAxOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMTggIT09IDcpIHsgCiAgJEVSUk9SKCcjNjE2OiAyMDk3MTUxID4+PiAxOCA9PT0gNy4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDE4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAxOCAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE3OiA0MTk0MzAzID4+PiAxOCA9PT0gMTUuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTggIT09IDMxKSB7IAogICRFUlJPUignIzYxODogODM4ODYwNyA+Pj4gMTggPT09IDMxLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjE5OiAxNjc3NzIxNSA+Pj4gMTggPT09IDYzLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTggIT09IDEyNykgeyAKICAkRVJST1IoJyM2MjA6IDMzNTU0NDMxID4+PiAxOCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDE4KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMTggIT09IDI1NSkgeyAKICAkRVJST1IoJyM2MjE6IDY3MTA4ODYzID4+PiAxOCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDE4KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDE4ICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjIyOiAxMzQyMTc3MjcgPj4+IDE4ID09PSA1MTEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDE4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDE4ICE9PSAxMDIzKSB7IAogICRFUlJPUignIzYyMzogMjY4NDM1NDU1ID4+PiAxOCA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMTgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMTggIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNjI0OiA1MzY4NzA5MTEgPj4+IDE4ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAxOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMTggIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjI1OiAxMDczNzQxODIzID4+PiAxOCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDE4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAxOCAhPT0gODE5MSkgeyAKICAkRVJST1IoJyM2MjY6IDIxNDc0ODM2NDcgPj4+IDE4ID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMTgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDE4ICE9PSAxNjM4MykgeyAKICAkRVJST1IoJyM2Mjc6IDQyOTQ5NjcyOTUgPj4+IDE4ID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE4KSk7IAp9IAoKCmlmICgwID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2Mjg6IDAgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYyOTogMSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAxOSkpOyAKfSAKCgppZiAoMyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjMwOiAzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDE5KSk7IAp9IAoKCmlmICg3ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzE6IDcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzI6IDE1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAxOSkpOyAKfSAKCgppZiAoMzEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzMzogMzEgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDE5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM0OiA2MyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM1OiAxMjcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2MzY6IDI1NSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDE5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzNzogNTExID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzYzODogMTAyMyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAxOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjM5OiAyMDQ3ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDE5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDA6IDQwOTUgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MTogODE5MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAxOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0MjogMTYzODMgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDE5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQzOiAzMjc2NyA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDQ6IDY1NTM1ID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAxOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAxOSAhPT0gMCkgeyAKICAkRVJST1IoJyM2NDU6IDEzMTA3MSA+Pj4gMTkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDE5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDE5ICE9PSAwKSB7IAogICRFUlJPUignIzY0NjogMjYyMTQzID4+PiAxOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMTkgIT09IDApIHsgCiAgJEVSUk9SKCcjNjQ3OiA1MjQyODcgPj4+IDE5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAxOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMTkgIT09IDEpIHsgCiAgJEVSUk9SKCcjNjQ4OiAxMDQ4NTc1ID4+PiAxOSA9PT0gMS4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDE5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAxOSAhPT0gMykgeyAKICAkRVJST1IoJyM2NDk6IDIwOTcxNTEgPj4+IDE5ID09PSAzLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMTkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDE5ICE9PSA3KSB7IAogICRFUlJPUignIzY1MDogNDE5NDMwMyA+Pj4gMTkgPT09IDcuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAxOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMTkgIT09IDE1KSB7IAogICRFUlJPUignIzY1MTogODM4ODYwNyA+Pj4gMTkgPT09IDE1LiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAxOSAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNjUyOiAxNjc3NzIxNSA+Pj4gMTkgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDE5KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMTkgIT09IDYzKSB7IAogICRFUlJPUignIzY1MzogMzM1NTQ0MzEgPj4+IDE5ID09PSA2My4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAxOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDE5ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjU0OiA2NzEwODg2MyA+Pj4gMTkgPT09IDEyNy4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAxOSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAxOSAhPT0gMjU1KSB7IAogICRFUlJPUignIzY1NTogMTM0MjE3NzI3ID4+PiAxOSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAxOSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAxOSAhPT0gNTExKSB7IAogICRFUlJPUignIzY1NjogMjY4NDM1NDU1ID4+PiAxOSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAxOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAxOSAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2NTc6IDUzNjg3MDkxMSA+Pj4gMTkgPT09IDEwMjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDE5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAxOSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM2NTg6IDEwNzM3NDE4MjMgPj4+IDE5ID09PSAyMDQ3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMTkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDE5ICE9PSA0MDk1KSB7IAogICRFUlJPUignIzY1OTogMjE0NzQ4MzY0NyA+Pj4gMTkgPT09IDQwOTUuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAxOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMTkgIT09IDgxOTEpIHsgCiAgJEVSUk9SKCcjNjYwOiA0Mjk0OTY3Mjk1ID4+PiAxOSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDE5KSk7IAp9IAoKCmlmICgwID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjE6IDAgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjApKTsgCn0gCgoKaWYgKDEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2MjogMSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMCkpOyAKfSAKCgppZiAoMyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjYzOiAzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIwKSk7IAp9IAoKCmlmICg3ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjQ6IDcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjApKTsgCn0gCgoKaWYgKDE1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NjU6IDE1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY2NjogMzEgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY3OiA2MyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjY4OiAxMjcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Njk6IDI1NSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MDogNTExID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3MTogMTAyMyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjcyOiAyMDQ3ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2NzM6IDQwOTUgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjApKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NDogODE5MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3NTogMTYzODMgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjc2OiAzMjc2NyA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjApKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzc6IDY1NTM1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMCAhPT0gMCkgeyAKICAkRVJST1IoJyM2Nzg6IDEzMTA3MSA+Pj4gMjAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIwICE9PSAwKSB7IAogICRFUlJPUignIzY3OTogMjYyMTQzID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjApKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgwOiA1MjQyODcgPj4+IDIwID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjAgIT09IDApIHsgCiAgJEVSUk9SKCcjNjgxOiAxMDQ4NTc1ID4+PiAyMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMCAhPT0gMSkgeyAKICAkRVJST1IoJyM2ODI6IDIwOTcxNTEgPj4+IDIwID09PSAxLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjApKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIwICE9PSAzKSB7IAogICRFUlJPUignIzY4MzogNDE5NDMwMyA+Pj4gMjAgPT09IDMuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjAgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjg0OiA4Mzg4NjA3ID4+PiAyMCA9PT0gNy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjAgIT09IDE1KSB7IAogICRFUlJPUignIzY4NTogMTY3NzcyMTUgPj4+IDIwID09PSAxNS4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyMCkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDIwICE9PSAzMSkgeyAKICAkRVJST1IoJyM2ODY6IDMzNTU0NDMxID4+PiAyMCA9PT0gMzEuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjApKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyMCAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNjg3OiA2NzEwODg2MyA+Pj4gMjAgPT09IDYzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIwICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjNjg4OiAxMzQyMTc3MjcgPj4+IDIwID09PSAxMjcuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIwICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjNjg5OiAyNjg0MzU0NTUgPj4+IDIwID09PSAyNTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDIwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDIwICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNjkwOiA1MzY4NzA5MTEgPj4+IDIwID09PSA1MTEuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMCAhPT0gMTAyMykgeyAKICAkRVJST1IoJyM2OTE6IDEwNzM3NDE4MjMgPj4+IDIwID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjApKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIwICE9PSAyMDQ3KSB7IAogICRFUlJPUignIzY5MjogMjE0NzQ4MzY0NyA+Pj4gMjAgPT09IDIwNDcuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMCkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjAgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNjkzOiA0Mjk0OTY3Mjk1ID4+PiAyMCA9PT0gNDA5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIwKSk7IAp9IAoKCmlmICgwID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTQ6IDAgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5NTogMSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMSkpOyAKfSAKCgppZiAoMyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNjk2OiAzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIxKSk7IAp9IAoKCmlmICg3ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTc6IDcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM2OTg6IDE1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMSkpOyAKfSAKCgppZiAoMzEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzY5OTogMzEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAwOiA2MyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzAxOiAxMjcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDI6IDI1NSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwMzogNTExID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNDogMTAyMyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA1OiAyMDQ3ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MDY6IDQwOTUgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwNzogODE5MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcwODogMTYzODMgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzA5OiAzMjc2NyA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTA6IDY1NTM1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTE6IDEzMTA3MSA+Pj4gMjEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIxICE9PSAwKSB7IAogICRFUlJPUignIzcxMjogMjYyMTQzID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzEzOiA1MjQyODcgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjEgIT09IDApIHsgCiAgJEVSUk9SKCcjNzE0OiAxMDQ4NTc1ID4+PiAyMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMSAhPT0gMCkgeyAKICAkRVJST1IoJyM3MTU6IDIwOTcxNTEgPj4+IDIxID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIxICE9PSAxKSB7IAogICRFUlJPUignIzcxNjogNDE5NDMwMyA+Pj4gMjEgPT09IDEuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjEgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzE3OiA4Mzg4NjA3ID4+PiAyMSA9PT0gMy4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNzE4OiAxNjc3NzIxNSA+Pj4gMjEgPT09IDcuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNzE5OiAzMzU1NDQzMSA+Pj4gMjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDIxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjEgIT09IDMxKSB7IAogICRFUlJPUignIzcyMDogNjcxMDg4NjMgPj4+IDIxID09PSAzMS4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyMSkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjNzIxOiAxMzQyMTc3MjcgPj4+IDIxID09PSA2My4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM3MjI6IDI2ODQzNTQ1NSA+Pj4gMjEgPT09IDEyNy4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3MjM6IDUzNjg3MDkxMSA+Pj4gMjEgPT09IDI1NS4gQWN0dWFsOiAnICsgKDUzNjg3MDkxMSA+Pj4gMjEpKTsgCn0gCgoKaWYgKDEwNzM3NDE4MjMgPj4+IDIxICE9PSA1MTEpIHsgCiAgJEVSUk9SKCcjNzI0OiAxMDczNzQxODIzID4+PiAyMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjEpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDIxICE9PSAxMDIzKSB7IAogICRFUlJPUignIzcyNTogMjE0NzQ4MzY0NyA+Pj4gMjEgPT09IDEwMjMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjEgIT09IDIwNDcpIHsgCiAgJEVSUk9SKCcjNzI2OiA0Mjk0OTY3Mjk1ID4+PiAyMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIxKSk7IAp9IAoKCmlmICgwID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mjc6IDAgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzcyODogMSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMikpOyAKfSAKCgppZiAoMyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzI5OiAzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIyKSk7IAp9IAoKCmlmICg3ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzA6IDcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzE6IDE1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMikpOyAKfSAKCgppZiAoMzEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczMjogMzEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIyKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzMzOiA2MyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM0OiAxMjcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMikpOyAKfSAKCgppZiAoMjU1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3MzU6IDI1NSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIyKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNjogNTExID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzczNzogMTAyMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzM4OiAyMDQ3ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIyKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3Mzk6IDQwOTUgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MDogODE5MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0MTogMTYzODMgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIyKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQyOiAzMjc2NyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDM6IDY1NTM1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDQ6IDEzMTA3MSA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0NTogMjYyMTQzID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ2OiA1MjQyODcgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjIgIT09IDApIHsgCiAgJEVSUk9SKCcjNzQ3OiAxMDQ4NTc1ID4+PiAyMiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIyKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMiAhPT0gMCkgeyAKICAkRVJST1IoJyM3NDg6IDIwOTcxNTEgPj4+IDIyID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIyICE9PSAwKSB7IAogICRFUlJPUignIzc0OTogNDE5NDMwMyA+Pj4gMjIgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjIgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzUwOiA4Mzg4NjA3ID4+PiAyMiA9PT0gMS4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIyKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjIgIT09IDMpIHsgCiAgJEVSUk9SKCcjNzUxOiAxNjc3NzIxNSA+Pj4gMjIgPT09IDMuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjIpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMiAhPT0gNykgeyAKICAkRVJST1IoJyM3NTI6IDMzNTU0NDMxID4+PiAyMiA9PT0gNy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIyICE9PSAxNSkgeyAKICAkRVJST1IoJyM3NTM6IDY3MTA4ODYzID4+PiAyMiA9PT0gMTUuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjIpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjIgIT09IDMxKSB7IAogICRFUlJPUignIzc1NDogMTM0MjE3NzI3ID4+PiAyMiA9PT0gMzEuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDIyKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDIyICE9PSA2MykgeyAKICAkRVJST1IoJyM3NTU6IDI2ODQzNTQ1NSA+Pj4gMjIgPT09IDYzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyMikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyMiAhPT0gMTI3KSB7IAogICRFUlJPUignIzc1NjogNTM2ODcwOTExID4+PiAyMiA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyMikpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjIgIT09IDI1NSkgeyAKICAkRVJST1IoJyM3NTc6IDEwNzM3NDE4MjMgPj4+IDIyID09PSAyNTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyMikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjIgIT09IDUxMSkgeyAKICAkRVJST1IoJyM3NTg6IDIxNDc0ODM2NDcgPj4+IDIyID09PSA1MTEuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyMikpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjIgIT09IDEwMjMpIHsgCiAgJEVSUk9SKCcjNzU5OiA0Mjk0OTY3Mjk1ID4+PiAyMiA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIyKSk7IAp9IAoKCmlmICgwID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjA6IDAgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2MTogMSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyMykpOyAKfSAKCgppZiAoMyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzYyOiAzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDIzKSk7IAp9IAoKCmlmICg3ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjM6IDcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDE1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NjQ6IDE1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyMykpOyAKfSAKCgppZiAoMzEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2NTogMzEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDIzKSk7IAp9IAoKCmlmICg2MyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY2OiA2MyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzY3OiAxMjcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjU1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Njg6IDI1NSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDIzKSk7IAp9IAoKCmlmICg1MTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc2OTogNTExID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MDogMTAyMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyMykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzcxOiAyMDQ3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzI6IDQwOTUgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3MzogODE5MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyMykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3NDogMTYzODMgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDIzKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc1OiAzMjc2NyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3NzY6IDY1NTM1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyMykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3Nzc6IDEzMTA3MSA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDIzKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc3ODogMjYyMTQzID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzc5OiA1MjQyODcgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyMykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgwOiAxMDQ4NTc1ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDIzKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyMyAhPT0gMCkgeyAKICAkRVJST1IoJyM3ODE6IDIwOTcxNTEgPj4+IDIzID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDIzICE9PSAwKSB7IAogICRFUlJPUignIzc4MjogNDE5NDMwMyA+Pj4gMjMgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyMykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjMgIT09IDApIHsgCiAgJEVSUk9SKCcjNzgzOiA4Mzg4NjA3ID4+PiAyMyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDIzKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjMgIT09IDEpIHsgCiAgJEVSUk9SKCcjNzg0OiAxNjc3NzIxNSA+Pj4gMjMgPT09IDEuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyMyAhPT0gMykgeyAKICAkRVJST1IoJyM3ODU6IDMzNTU0NDMxID4+PiAyMyA9PT0gMy4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyMykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDIzICE9PSA3KSB7IAogICRFUlJPUignIzc4NjogNjcxMDg4NjMgPj4+IDIzID09PSA3LiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDIzKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDIzICE9PSAxNSkgeyAKICAkRVJST1IoJyM3ODc6IDEzNDIxNzcyNyA+Pj4gMjMgPT09IDE1LiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyMykpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyMyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjNzg4OiAyNjg0MzU0NTUgPj4+IDIzID09PSAzMS4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjMpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjMgIT09IDYzKSB7IAogICRFUlJPUignIzc4OTogNTM2ODcwOTExID4+PiAyMyA9PT0gNjMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDIzKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyMyAhPT0gMTI3KSB7IAogICRFUlJPUignIzc5MDogMTA3Mzc0MTgyMyA+Pj4gMjMgPT09IDEyNy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDIzKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyMyAhPT0gMjU1KSB7IAogICRFUlJPUignIzc5MTogMjE0NzQ4MzY0NyA+Pj4gMjMgPT09IDI1NS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDIzKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyMyAhPT0gNTExKSB7IAogICRFUlJPUignIzc5MjogNDI5NDk2NzI5NSA+Pj4gMjMgPT09IDUxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDIzKSk7IAp9IAoKCmlmICgwID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTM6IDAgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5NDogMSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNCkpOyAKfSAKCgppZiAoMyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk1OiAzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI0KSk7IAp9IAoKCmlmICg3ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTY6IDcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM3OTc6IDE1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNCkpOyAKfSAKCgppZiAoMzEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzc5ODogMzEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI0KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjNzk5OiA2MyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODAwOiAxMjcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNCkpOyAKfSAKCgppZiAoMjU1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDE6IDI1NSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMjogNTExID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwMzogMTAyMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNCkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA0OiAyMDQ3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI0KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDU6IDQwOTUgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNjogODE5MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNCkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgwNzogMTYzODMgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI0KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODA4OiAzMjc2NyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MDk6IDY1NTM1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNCkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTA6IDEzMTA3MSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI0KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxMTogMjYyMTQzID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEyOiA1MjQyODcgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNCkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODEzOiAxMDQ4NTc1ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI0KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNCAhPT0gMCkgeyAKICAkRVJST1IoJyM4MTQ6IDIwOTcxNTEgPj4+IDI0ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI0ICE9PSAwKSB7IAogICRFUlJPUignIzgxNTogNDE5NDMwMyA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNCkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE2OiA4Mzg4NjA3ID4+PiAyNCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI0KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjQgIT09IDApIHsgCiAgJEVSUk9SKCcjODE3OiAxNjc3NzIxNSA+Pj4gMjQgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNCAhPT0gMSkgeyAKICAkRVJST1IoJyM4MTg6IDMzNTU0NDMxID4+PiAyNCA9PT0gMS4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNCkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI0ICE9PSAzKSB7IAogICRFUlJPUignIzgxOTogNjcxMDg4NjMgPj4+IDI0ID09PSAzLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI0KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI0ICE9PSA3KSB7IAogICRFUlJPUignIzgyMDogMTM0MjE3NzI3ID4+PiAyNCA9PT0gNy4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjQgIT09IDE1KSB7IAogICRFUlJPUignIzgyMTogMjY4NDM1NDU1ID4+PiAyNCA9PT0gMTUuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI0KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI0ICE9PSAzMSkgeyAKICAkRVJST1IoJyM4MjI6IDUzNjg3MDkxMSA+Pj4gMjQgPT09IDMxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjQgIT09IDYzKSB7IAogICRFUlJPUignIzgyMzogMTA3Mzc0MTgyMyA+Pj4gMjQgPT09IDYzLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI0ICE9PSAxMjcpIHsgCiAgJEVSUk9SKCcjODI0OiAyMTQ3NDgzNjQ3ID4+PiAyNCA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjQpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI0ICE9PSAyNTUpIHsgCiAgJEVSUk9SKCcjODI1OiA0Mjk0OTY3Mjk1ID4+PiAyNCA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMjQpKTsgCn0gCgoKaWYgKDAgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyNjogMCA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgwID4+PiAyNSkpOyAKfSAKCgppZiAoMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODI3OiAxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDI1KSk7IAp9IAoKCmlmICgzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mjg6IDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDcgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgyOTogNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg3ID4+PiAyNSkpOyAKfSAKCgppZiAoMTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzMDogMTUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDI1KSk7IAp9IAoKCmlmICgzMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODMxOiAzMSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgzMSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDYzID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzI6IDYzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDYzID4+PiAyNSkpOyAKfSAKCgppZiAoMTI3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4MzM6IDEyNyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDI1KSk7IAp9IAoKCmlmICgyNTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzNDogMjU1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDI1NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDUxMSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM1OiA1MTEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTAyMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM2OiAxMDIzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDI1KSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4Mzc6IDIwNDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA0NyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDQwOTUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzgzODogNDA5NSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg0MDk1ID4+PiAyNSkpOyAKfSAKCgppZiAoODE5MSA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODM5OiA4MTkxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDI1KSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQwOiAxNjM4MyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgxNjM4MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDMyNzY3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDE6IDMyNzY3ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDMyNzY3ID4+PiAyNSkpOyAKfSAKCgppZiAoNjU1MzUgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MjogNjU1MzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDI1KSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0MzogMTMxMDcxID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzMTA3MSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDI2MjE0MyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ0OiAyNjIxNDMgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMjYyMTQzID4+PiAyNSkpOyAKfSAKCgppZiAoNTI0Mjg3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDU6IDUyNDI4NyA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDI1KSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDY6IDEwNDg1NzUgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMTA0ODU3NSA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIwOTcxNTEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg0NzogMjA5NzE1MSA+Pj4gMjUgPT09IDAuIEFjdHVhbDogJyArICgyMDk3MTUxID4+PiAyNSkpOyAKfSAKCgppZiAoNDE5NDMwMyA+Pj4gMjUgIT09IDApIHsgCiAgJEVSUk9SKCcjODQ4OiA0MTk0MzAzID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDI1KSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NDk6IDgzODg2MDcgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoODM4ODYwNyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDE2Nzc3MjE1ID4+PiAyNSAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTA6IDE2Nzc3MjE1ID4+PiAyNSA9PT0gMC4gQWN0dWFsOiAnICsgKDE2Nzc3MjE1ID4+PiAyNSkpOyAKfSAKCgppZiAoMzM1NTQ0MzEgPj4+IDI1ICE9PSAwKSB7IAogICRFUlJPUignIzg1MTogMzM1NTQ0MzEgPj4+IDI1ID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDI1KSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMjUgIT09IDEpIHsgCiAgJEVSUk9SKCcjODUyOiA2NzEwODg2MyA+Pj4gMjUgPT09IDEuIEFjdHVhbDogJyArICg2NzEwODg2MyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDEzNDIxNzcyNyA+Pj4gMjUgIT09IDMpIHsgCiAgJEVSUk9SKCcjODUzOiAxMzQyMTc3MjcgPj4+IDI1ID09PSAzLiBBY3R1YWw6ICcgKyAoMTM0MjE3NzI3ID4+PiAyNSkpOyAKfSAKCgppZiAoMjY4NDM1NDU1ID4+PiAyNSAhPT0gNykgeyAKICAkRVJST1IoJyM4NTQ6IDI2ODQzNTQ1NSA+Pj4gMjUgPT09IDcuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDI1KSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDI1ICE9PSAxNSkgeyAKICAkRVJST1IoJyM4NTU6IDUzNjg3MDkxMSA+Pj4gMjUgPT09IDE1LiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyNSkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjUgIT09IDMxKSB7IAogICRFUlJPUignIzg1NjogMTA3Mzc0MTgyMyA+Pj4gMjUgPT09IDMxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjUpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI1ICE9PSA2MykgeyAKICAkRVJST1IoJyM4NTc6IDIxNDc0ODM2NDcgPj4+IDI1ID09PSA2My4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI1KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNSAhPT0gMTI3KSB7IAogICRFUlJPUignIzg1ODogNDI5NDk2NzI5NSA+Pj4gMjUgPT09IDEyNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI1KSk7IAp9IAoKCmlmICgwID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NTk6IDAgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2MDogMSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNikpOyAKfSAKCgppZiAoMyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODYxOiAzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI2KSk7IAp9IAoKCmlmICg3ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjI6IDcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NjM6IDE1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNikpOyAKfSAKCgppZiAoMzEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2NDogMzEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI2KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY1OiA2MyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODY2OiAxMjcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNikpOyAKfSAKCgppZiAoMjU1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4Njc6IDI1NSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI2KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2ODogNTExID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg2OTogMTAyMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNikpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODcwOiAyMDQ3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI2KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzE6IDQwOTUgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MjogODE5MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNikpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3MzogMTYzODMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI2KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc0OiAzMjc2NyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzU6IDY1NTM1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNikpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4NzY6IDEzMTA3MSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI2KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg3NzogMjYyMTQzID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc4OiA1MjQyODcgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNikpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODc5OiAxMDQ4NTc1ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI2KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODA6IDIwOTcxNTEgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4MTogNDE5NDMwMyA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNikpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgyOiA4Mzg4NjA3ID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI2KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjYgIT09IDApIHsgCiAgJEVSUk9SKCcjODgzOiAxNjc3NzIxNSA+Pj4gMjYgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjYpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNiAhPT0gMCkgeyAKICAkRVJST1IoJyM4ODQ6IDMzNTU0NDMxID4+PiAyNiA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNikpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI2ICE9PSAwKSB7IAogICRFUlJPUignIzg4NTogNjcxMDg4NjMgPj4+IDI2ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI2KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI2ICE9PSAxKSB7IAogICRFUlJPUignIzg4NjogMTM0MjE3NzI3ID4+PiAyNiA9PT0gMS4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjYgIT09IDMpIHsgCiAgJEVSUk9SKCcjODg3OiAyNjg0MzU0NTUgPj4+IDI2ID09PSAzLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNikpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNiAhPT0gNykgeyAKICAkRVJST1IoJyM4ODg6IDUzNjg3MDkxMSA+Pj4gMjYgPT09IDcuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI2KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNiAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjODg5OiAxMDczNzQxODIzID4+PiAyNiA9PT0gMTUuIEFjdHVhbDogJyArICgxMDczNzQxODIzID4+PiAyNikpOyAKfSAKCgppZiAoMjE0NzQ4MzY0NyA+Pj4gMjYgIT09IDMxKSB7IAogICRFUlJPUignIzg5MDogMjE0NzQ4MzY0NyA+Pj4gMjYgPT09IDMxLiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjYpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI2ICE9PSA2MykgeyAKICAkRVJST1IoJyM4OTE6IDQyOTQ5NjcyOTUgPj4+IDI2ID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI2KSk7IAp9IAoKCmlmICgwID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTI6IDAgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5MzogMSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyNykpOyAKfSAKCgppZiAoMyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk0OiAzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI3KSk7IAp9IAoKCmlmICg3ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTU6IDcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDE1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM4OTY6IDE1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyNykpOyAKfSAKCgppZiAoMzEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzg5NzogMzEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI3KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk4OiA2MyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjODk5OiAxMjcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyNykpOyAKfSAKCgppZiAoMjU1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDA6IDI1NSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI3KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMTogNTExID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwMjogMTAyMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyNykpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTAzOiAyMDQ3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDQ6IDQwOTUgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNTogODE5MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyNykpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkwNjogMTYzODMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI3KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTA3OiAzMjc2NyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDg6IDY1NTM1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyNykpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MDk6IDEzMTA3MSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI3KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxMDogMjYyMTQzID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTExOiA1MjQyODcgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyNykpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTEyOiAxMDQ4NTc1ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI3KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTM6IDIwOTcxNTEgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxNDogNDE5NDMwMyA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyNykpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE1OiA4Mzg4NjA3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI3KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjcgIT09IDApIHsgCiAgJEVSUk9SKCcjOTE2OiAxNjc3NzIxNSA+Pj4gMjcgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjcpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyNyAhPT0gMCkgeyAKICAkRVJST1IoJyM5MTc6IDMzNTU0NDMxID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyNykpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxODogNjcxMDg4NjMgPj4+IDI3ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI3KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI3ICE9PSAwKSB7IAogICRFUlJPUignIzkxOTogMTM0MjE3NzI3ID4+PiAyNyA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjcgIT09IDEpIHsgCiAgJEVSUk9SKCcjOTIwOiAyNjg0MzU0NTUgPj4+IDI3ID09PSAxLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyNykpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyNyAhPT0gMykgeyAKICAkRVJST1IoJyM5MjE6IDUzNjg3MDkxMSA+Pj4gMjcgPT09IDMuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI3KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyNyAhPT0gNykgeyAKICAkRVJST1IoJyM5MjI6IDEwNzM3NDE4MjMgPj4+IDI3ID09PSA3LiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjcpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI3ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5MjM6IDIxNDc0ODM2NDcgPj4+IDI3ID09PSAxNS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDI3KSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAyNyAhPT0gMzEpIHsgCiAgJEVSUk9SKCcjOTI0OiA0Mjk0OTY3Mjk1ID4+PiAyNyA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAyNykpOyAKfSAKCgppZiAoMCA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI1OiAwID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDI4KSk7IAp9IAoKCmlmICgxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MjY6IDEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkyNzogMyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzID4+PiAyOCkpOyAKfSAKCgppZiAoNyA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI4OiA3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDI4KSk7IAp9IAoKCmlmICgxNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTI5OiAxNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDMxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzA6IDMxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDMxID4+PiAyOCkpOyAKfSAKCgppZiAoNjMgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMTogNjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDI4KSk7IAp9IAoKCmlmICgxMjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzMjogMTI3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDEyNyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDI1NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTMzOiAyNTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMjU1ID4+PiAyOCkpOyAKfSAKCgppZiAoNTExID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzQ6IDUxMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDI4KSk7IAp9IAoKCmlmICgxMDIzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5MzU6IDEwMjMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTAyMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDIwNDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzkzNjogMjA0NyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyMDQ3ID4+PiAyOCkpOyAKfSAKCgppZiAoNDA5NSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTM3OiA0MDk1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDI4KSk7IAp9IAoKCmlmICg4MTkxID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzg6IDgxOTEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoODE5MSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDE2MzgzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5Mzk6IDE2MzgzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDE2MzgzID4+PiAyOCkpOyAKfSAKCgppZiAoMzI3NjcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0MDogMzI3NjcgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDI4KSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQxOiA2NTUzNSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg2NTUzNSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEzMTA3MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQyOiAxMzEwNzEgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTMxMDcxID4+PiAyOCkpOyAKfSAKCgppZiAoMjYyMTQzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDM6IDI2MjE0MyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDI4KSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NDogNTI0Mjg3ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDUyNDI4NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDEwNDg1NzUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0NTogMTA0ODU3NSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMDQ4NTc1ID4+PiAyOCkpOyAKfSAKCgppZiAoMjA5NzE1MSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTQ2OiAyMDk3MTUxID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDI4KSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NDc6IDQxOTQzMDMgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoNDE5NDMwMyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDgzODg2MDcgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0ODogODM4ODYwNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICg4Mzg4NjA3ID4+PiAyOCkpOyAKfSAKCgppZiAoMTY3NzcyMTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk0OTogMTY3NzcyMTUgPj4+IDI4ID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDI4KSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMjggIT09IDApIHsgCiAgJEVSUk9SKCcjOTUwOiAzMzU1NDQzMSA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgzMzU1NDQzMSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDY3MTA4ODYzID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTE6IDY3MTA4ODYzID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDY3MTA4ODYzID4+PiAyOCkpOyAKfSAKCgppZiAoMTM0MjE3NzI3ID4+PiAyOCAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTI6IDEzNDIxNzcyNyA+Pj4gMjggPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDI4KSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDI4ICE9PSAwKSB7IAogICRFUlJPUignIzk1MzogMjY4NDM1NDU1ID4+PiAyOCA9PT0gMC4gQWN0dWFsOiAnICsgKDI2ODQzNTQ1NSA+Pj4gMjgpKTsgCn0gCgoKaWYgKDUzNjg3MDkxMSA+Pj4gMjggIT09IDEpIHsgCiAgJEVSUk9SKCcjOTU0OiA1MzY4NzA5MTEgPj4+IDI4ID09PSAxLiBBY3R1YWw6ICcgKyAoNTM2ODcwOTExID4+PiAyOCkpOyAKfSAKCgppZiAoMTA3Mzc0MTgyMyA+Pj4gMjggIT09IDMpIHsgCiAgJEVSUk9SKCcjOTU1OiAxMDczNzQxODIzID4+PiAyOCA9PT0gMy4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDI4KSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAyOCAhPT0gNykgeyAKICAkRVJST1IoJyM5NTY6IDIxNDc0ODM2NDcgPj4+IDI4ID09PSA3LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0NyA+Pj4gMjgpKTsgCn0gCgoKaWYgKDQyOTQ5NjcyOTUgPj4+IDI4ICE9PSAxNSkgeyAKICAkRVJST1IoJyM5NTc6IDQyOTQ5NjcyOTUgPj4+IDI4ID09PSAxNS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI4KSk7IAp9IAoKCmlmICgwID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NTg6IDAgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk1OTogMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAyOSkpOyAKfSAKCgppZiAoMyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTYwOiAzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDI5KSk7IAp9IAoKCmlmICg3ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjE6IDcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDE1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjI6IDE1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAyOSkpOyAKfSAKCgppZiAoMzEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2MzogMzEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDI5KSk7IAp9IAoKCmlmICg2MyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY0OiA2MyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY1OiAxMjcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAyOSkpOyAKfSAKCgppZiAoMjU1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NjY6IDI1NSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDI5KSk7IAp9IAoKCmlmICg1MTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2NzogNTExID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDUxMSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDEwMjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk2ODogMTAyMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMDIzID4+PiAyOSkpOyAKfSAKCgppZiAoMjA0NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTY5OiAyMDQ3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDI5KSk7IAp9IAoKCmlmICg0MDk1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzA6IDQwOTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNDA5NSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDgxOTEgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MTogODE5MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg4MTkxID4+PiAyOSkpOyAKfSAKCgppZiAoMTYzODMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3MjogMTYzODMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDI5KSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTczOiAzMjc2NyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgzMjc2NyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDY1NTM1ID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzQ6IDY1NTM1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDY1NTM1ID4+PiAyOSkpOyAKfSAKCgppZiAoMTMxMDcxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5NzU6IDEzMTA3MSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDI5KSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk3NjogMjYyMTQzID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDI2MjE0MyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDUyNDI4NyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc3OiA1MjQyODcgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNTI0Mjg3ID4+PiAyOSkpOyAKfSAKCgppZiAoMTA0ODU3NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTc4OiAxMDQ4NTc1ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDI5KSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5Nzk6IDIwOTcxNTEgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjA5NzE1MSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDQxOTQzMDMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4MDogNDE5NDMwMyA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg0MTk0MzAzID4+PiAyOSkpOyAKfSAKCgppZiAoODM4ODYwNyA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgxOiA4Mzg4NjA3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDI5KSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTgyOiAxNjc3NzIxNSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICgxNjc3NzIxNSA+Pj4gMjkpKTsgCn0gCgoKaWYgKDMzNTU0NDMxID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODM6IDMzNTU0NDMxID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDMzNTU0NDMxID4+PiAyOSkpOyAKfSAKCgppZiAoNjcxMDg4NjMgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NDogNjcxMDg4NjMgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDI5KSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDI5ICE9PSAwKSB7IAogICRFUlJPUignIzk4NTogMTM0MjE3NzI3ID4+PiAyOSA9PT0gMC4gQWN0dWFsOiAnICsgKDEzNDIxNzcyNyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDI2ODQzNTQ1NSA+Pj4gMjkgIT09IDApIHsgCiAgJEVSUk9SKCcjOTg2OiAyNjg0MzU0NTUgPj4+IDI5ID09PSAwLiBBY3R1YWw6ICcgKyAoMjY4NDM1NDU1ID4+PiAyOSkpOyAKfSAKCgppZiAoNTM2ODcwOTExID4+PiAyOSAhPT0gMCkgeyAKICAkRVJST1IoJyM5ODc6IDUzNjg3MDkxMSA+Pj4gMjkgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDI5KSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAyOSAhPT0gMSkgeyAKICAkRVJST1IoJyM5ODg6IDEwNzM3NDE4MjMgPj4+IDI5ID09PSAxLiBBY3R1YWw6ICcgKyAoMTA3Mzc0MTgyMyA+Pj4gMjkpKTsgCn0gCgoKaWYgKDIxNDc0ODM2NDcgPj4+IDI5ICE9PSAzKSB7IAogICRFUlJPUignIzk4OTogMjE0NzQ4MzY0NyA+Pj4gMjkgPT09IDMuIEFjdHVhbDogJyArICgyMTQ3NDgzNjQ3ID4+PiAyOSkpOyAKfSAKCgppZiAoNDI5NDk2NzI5NSA+Pj4gMjkgIT09IDcpIHsgCiAgJEVSUk9SKCcjOTkwOiA0Mjk0OTY3Mjk1ID4+PiAyOSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDI5KSk7IAp9IAoKCmlmICgwID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTE6IDAgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMCA+Pj4gMzApKTsgCn0gCgoKaWYgKDEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5MjogMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxID4+PiAzMCkpOyAKfSAKCgppZiAoMyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTkzOiAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMwKSk7IAp9IAoKCmlmICg3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTQ6IDcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNyA+Pj4gMzApKTsgCn0gCgoKaWYgKDE1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTU6IDE1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDE1ID4+PiAzMCkpOyAKfSAKCgppZiAoMzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzk5NjogMzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk3OiA2MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg2MyA+Pj4gMzApKTsgCn0gCgoKaWYgKDEyNyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjOTk4OiAxMjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTI3ID4+PiAzMCkpOyAKfSAKCgppZiAoMjU1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyM5OTk6IDI1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDA6IDUxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAxOiAxMDIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAyOiAyMDQ3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDAzOiA0MDk1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMwKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDA0OiA4MTkxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNTogMTYzODMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMwKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNjogMzI3NjcgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMwKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAwNzogNjU1MzUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDg6IDEzMTA3MSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMDk6IDI2MjE0MyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMwKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTA6IDUyNDI4NyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDExOiAxMDQ4NTc1ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMwKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEyOiAyMDk3MTUxID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMwKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDEzOiA0MTk0MzAzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMwKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDE0OiA4Mzg4NjA3ID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMwKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNTogMTY3NzcyMTUgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMwKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNjogMzM1NTQ0MzEgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMwKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzAgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAxNzogNjcxMDg4NjMgPj4+IDMwID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMwKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTg6IDEzNDIxNzcyNyA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMwKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMTk6IDI2ODQzNTQ1NSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMwKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMwICE9PSAwKSB7IAogICRFUlJPUignIzEwMjA6IDUzNjg3MDkxMSA+Pj4gMzAgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMwKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMCAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDIxOiAxMDczNzQxODIzID4+PiAzMCA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMwKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMCAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDIyOiAyMTQ3NDgzNjQ3ID4+PiAzMCA9PT0gMS4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMwKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMCAhPT0gMykgeyAKICAkRVJST1IoJyMxMDIzOiA0Mjk0OTY3Mjk1ID4+PiAzMCA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMwKSk7IAp9IAoKCmlmICgwID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI0OiAwID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDAgPj4+IDMxKSk7IAp9IAoKCmlmICgxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI1OiAxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgPj4+IDMxKSk7IAp9IAoKCmlmICgzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI2OiAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDMgPj4+IDMxKSk7IAp9IAoKCmlmICg3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDI3OiA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyODogMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAyOTogMzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzMDogNjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzE6IDEyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzI6IDI1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwMzM6IDUxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM0OiAxMDIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwMjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM1OiAyMDQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwNDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0MDk1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM2OiA0MDk1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQwOTUgPj4+IDMxKSk7IAp9IAoKCmlmICg4MTkxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDM3OiA4MTkxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgxOTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjM4MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzODogMTYzODMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTYzODMgPj4+IDMxKSk7IAp9IAoKCmlmICgzMjc2NyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTAzOTogMzI3NjcgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzI3NjcgPj4+IDMxKSk7IAp9IAoKCmlmICg2NTUzNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0MDogNjU1MzUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjU1MzUgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzEwNzEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDE6IDEzMTA3MSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzEwNzEgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjIxNDMgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDI6IDI2MjE0MyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjIxNDMgPj4+IDMxKSk7IAp9IAoKCmlmICg1MjQyODcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNDM6IDUyNDI4NyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MjQyODcgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDQ4NTc1ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ0OiAxMDQ4NTc1ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNDg1NzUgPj4+IDMxKSk7IAp9IAoKCmlmICgyMDk3MTUxID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ1OiAyMDk3MTUxID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIwOTcxNTEgPj4+IDMxKSk7IAp9IAoKCmlmICg0MTk0MzAzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ2OiA0MTk0MzAzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDQxOTQzMDMgPj4+IDMxKSk7IAp9IAoKCmlmICg4Mzg4NjA3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDQ3OiA4Mzg4NjA3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDgzODg2MDcgPj4+IDMxKSk7IAp9IAoKCmlmICgxNjc3NzIxNSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0ODogMTY3NzcyMTUgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMTY3NzcyMTUgPj4+IDMxKSk7IAp9IAoKCmlmICgzMzU1NDQzMSA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA0OTogMzM1NTQ0MzEgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoMzM1NTQ0MzEgPj4+IDMxKSk7IAp9IAoKCmlmICg2NzEwODg2MyA+Pj4gMzEgIT09IDApIHsgCiAgJEVSUk9SKCcjMTA1MDogNjcxMDg4NjMgPj4+IDMxID09PSAwLiBBY3R1YWw6ICcgKyAoNjcxMDg4NjMgPj4+IDMxKSk7IAp9IAoKCmlmICgxMzQyMTc3MjcgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTE6IDEzNDIxNzcyNyA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgxMzQyMTc3MjcgPj4+IDMxKSk7IAp9IAoKCmlmICgyNjg0MzU0NTUgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTI6IDI2ODQzNTQ1NSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICgyNjg0MzU0NTUgPj4+IDMxKSk7IAp9IAoKCmlmICg1MzY4NzA5MTEgPj4+IDMxICE9PSAwKSB7IAogICRFUlJPUignIzEwNTM6IDUzNjg3MDkxMSA+Pj4gMzEgPT09IDAuIEFjdHVhbDogJyArICg1MzY4NzA5MTEgPj4+IDMxKSk7IAp9IAoKCmlmICgxMDczNzQxODIzID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU0OiAxMDczNzQxODIzID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDEwNzM3NDE4MjMgPj4+IDMxKSk7IAp9IAoKCmlmICgyMTQ3NDgzNjQ3ID4+PiAzMSAhPT0gMCkgeyAKICAkRVJST1IoJyMxMDU1OiAyMTQ3NDgzNjQ3ID4+PiAzMSA9PT0gMC4gQWN0dWFsOiAnICsgKDIxNDc0ODM2NDcgPj4+IDMxKSk7IAp9IAoKCmlmICg0Mjk0OTY3Mjk1ID4+PiAzMSAhPT0gMSkgeyAKICAkRVJST1IoJyMxMDU2OiA0Mjk0OTY3Mjk1ID4+PiAzMSA9PT0gMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMxKSk7IAp9IAoK","commentary":"Check operator x >>> y in distinct points","description":"ShiftExpression = 2^n - 1, n = 16...31","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoU2hpZnRFeHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjcvMTEuNy4zL1MxMS43LjNfQTUuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYm91bmRhcnkgcG9pbnRzCiAqLwoKLy9DSEVDSyMxCmlmICgyMTQ3NDgzNjQ4LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTogMjE0NzQ4MzY0OC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoMjE0NzQ4MzY0OC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMyCmlmICg0Mjk0OTY3Mjk2LjEgPj4+IDAgIT09IDApIHsgCiAgJEVSUk9SKCcjMjogNDI5NDk2NzI5Ni4xID4+PiAwID09PSAwLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5Ni4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyMzCmlmICg2NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMzogNjQ0MjQ1MDk0NC4xID4+PiAwID09PSAyMTQ3NDgzNjQ4LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM0CmlmICg0Mjk0OTY3Mjk1LjEgPj4+IDAgIT09IDQyOTQ5NjcyOTUpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NS4xID4+PiAwID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg2NDQyNDUwOTQzLjEgPj4+IDAgIT09IDIxNDc0ODM2NDcpIHsgCiAgJEVSUk9SKCcjNTogNjQ0MjQ1MDk0My4xID4+PiAwID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNjQ0MjQ1MDk0My4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM2CmlmICgtMjE0NzQ4MzY0OS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzY6IC0yMTQ3NDgzNjQ5LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtMjE0NzQ4MzY0OS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM3CmlmICgtNDI5NDk2NzI5Ny4xID4+PiAwICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzc6IC00Mjk0OTY3Mjk3LjEgPj4+IDAgPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICgtNDI5NDk2NzI5Ny4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM4CmlmICgtNjQ0MjQ1MDk0NS4xID4+PiAwICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzg6IC02NDQyNDUwOTQ1LjEgPj4+IDAgPT09IDIxNDc0ODM2NDcuIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NS4xID4+PiAwKSk7IAp9IAoKLy9DSEVDSyM5CmlmICgtNDI5NDk2NzI5Ni4xID4+PiAwICE9PSAwKSB7IAogICRFUlJPUignIzk6IC00Mjk0OTY3Mjk2LjEgPj4+IDAgPT09IDAgLiBBY3R1YWw6ICcgKyAoLTQyOTQ5NjcyOTYuMSA+Pj4gMCkpOyAKfSAKCi8vQ0hFQ0sjMTAKaWYgKC02NDQyNDUwOTQ0LjEgPj4+IDAgIT09IDIxNDc0ODM2NDgpIHsgCiAgJEVSUk9SKCcjMTA6IC02NDQyNDUwOTQ0LjEgPj4+IDAgPT09IDIxNDc0ODM2NDguIEFjdHVhbDogJyArICgtNjQ0MjQ1MDk0NC4xID4+PiAwKSk7IAp9IAoK","commentary":"Operator x >>> y uses ToUint32(ShiftExpression)","description":"Checking boundary points","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4+PiB5IHVzZXMgVG9VaW50MzIoQWRkaXRpdmVFeHByZXNzaW9uKSAmIDMxCiAqCiAqIEBwYXRoIGNoMTEvMTEuNy8xMS43LjMvUzExLjcuM19BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXN0aW5jdCBwb2ludHMKICovCgovL0NIRUNLIzEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMi4xICE9PSA0Mjk0OTY3Mjk1KSB7IAogICRFUlJPUignIzE6IDQyOTQ5NjcyOTUgPj4+IC0zMi4xID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMyLjEpKTsgCn0gCgovL0NIRUNLIzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMS4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzI6IDQyOTQ5NjcyOTUgPj4+IC0zMS4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMxLjEpKTsgCn0gCgovL0NIRUNLIzMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0zMC4xICE9PSAxMDczNzQxODIzKSB7IAogICRFUlJPUignIzM6IDQyOTQ5NjcyOTUgPj4+IC0zMC4xID09PSAxMDczNzQxODIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTMwLjEpKTsgCn0gCgovL0NIRUNLIzQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xICE9PSA1MzY4NzA5MTEpIHsgCiAgJEVSUk9SKCcjNDogNDI5NDk2NzI5NSA+Pj4gLTI5LjEgPT09IDUzNjg3MDkxMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yOS4xKSk7IAp9IAoKLy9DSEVDSyM1CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzU6IDQyOTQ5NjcyOTUgPj4+IC0yOC4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjguMSkpOyAKfSAKCi8vQ0hFQ0sjNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEgIT09IDEzNDIxNzcyNykgeyAKICAkRVJST1IoJyM2OiA0Mjk0OTY3Mjk1ID4+PiAtMjcuMSA9PT0gMTM0MjE3NzI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI3LjEpKTsgCn0gCgovL0NIRUNLIzcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yNi4xICE9PSA2NzEwODg2MykgeyAKICAkRVJST1IoJyM3OiA0Mjk0OTY3Mjk1ID4+PiAtMjYuMSA9PT0gNjcxMDg4NjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjYuMSkpOyAKfSAKCi8vQ0hFQ0sjOAppZiAoNDI5NDk2NzI5NSA+Pj4gLTI1LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzg6IDQyOTQ5NjcyOTUgPj4+IC0yNS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yNS4xKSk7IAp9IAoKLy9DSEVDSyM5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjQuMSAhPT0gMTY3NzcyMTUpIHsgCiAgJEVSUk9SKCcjOTogNDI5NDk2NzI5NSA+Pj4gLTI0LjEgPT09IDE2Nzc3MjE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTI0LjEpKTsgCn0gCgovL0NIRUNLIzEwCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyMxMDogNDI5NDk2NzI5NSA+Pj4gLTIzLjEgPT09IDgzODg2MDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjMuMSkpOyAKfSAKCi8vQ0hFQ0sjMTEKaWYgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzExOiA0Mjk0OTY3Mjk1ID4+PiAtMjIuMSA9PT0gNDE5NDMwMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0yMi4xKSk7IAp9IAoKLy9DSEVDSyMxMgppZiAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjMTI6IDQyOTQ5NjcyOTUgPj4+IC0yMS4xID09PSAyMDk3MTUxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIxLjEpKTsgCn0gCgovL0NIRUNLIzEzCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyMxMzogNDI5NDk2NzI5NSA+Pj4gLTIwLjEgPT09IDEwNDg1NzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMjAuMSkpOyAKfSAKCi8vQ0hFQ0sjMTQKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjMTQ6IDQyOTQ5NjcyOTUgPj4+IC0xOS4xID09PSA1MjQyODcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTkuMSkpOyAKfSAKCi8vQ0hFQ0sjMTUKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xOC4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjMTU6IDQyOTQ5NjcyOTUgPj4+IC0xOC4xID09PSAyNjIxNDMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTguMSkpOyAKfSAKCi8vQ0hFQ0sjMTYKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNy4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjMTY6IDQyOTQ5NjcyOTUgPj4+IC0xNy4xID09PSAxMzEwNzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTcuMSkpOyAKfSAKCi8vQ0hFQ0sjMTcKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xNi4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyMxNzogNDI5NDk2NzI5NSA+Pj4gLTE2LjEgPT09IDY1NTM1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTE2LjEpKTsgCn0gCgovL0NIRUNLIzE4CmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTUuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjMTg6IDQyOTQ5NjcyOTUgPj4+IC0xNS4xID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xNS4xKSk7IAp9IAoKLy9DSEVDSyMxOQppZiAoNDI5NDk2NzI5NSA+Pj4gLTE0LjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzE5OiA0Mjk0OTY3Mjk1ID4+PiAtMTQuMSA9PT0gMTYzODMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTQuMSkpOyAKfSAKCi8vQ0hFQ0sjMjAKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzIwOiA0Mjk0OTY3Mjk1ID4+PiAtMTMuMSA9PT0gODE5MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMy4xKSk7IAp9IAoKLy9DSEVDSyMyMQppZiAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjMjE6IDQyOTQ5NjcyOTUgPj4+IC0xMi4xID09PSA0MDk1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTEyLjEpKTsgCn0gCgovL0NIRUNLIzIyCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyMyMjogNDI5NDk2NzI5NSA+Pj4gLTExLjEgPT09IDIwNDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMTEuMSkpOyAKfSAKCi8vQ0hFQ0sjMjMKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzIzOiA0Mjk0OTY3Mjk1ID4+PiAtMTAuMSA9PT0gMTAyMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0xMC4xKSk7IAp9IAoKLy9DSEVDSyMyNAppZiAoNDI5NDk2NzI5NSA+Pj4gLTkuMSAhPT0gNTExKSB7IAogICRFUlJPUignIzI0OiA0Mjk0OTY3Mjk1ID4+PiAtOS4xID09PSA1MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOS4xKSk7IAp9IAoKLy9DSEVDSyMyNQppZiAoNDI5NDk2NzI5NSA+Pj4gLTguMSAhPT0gMjU1KSB7IAogICRFUlJPUignIzI1OiA0Mjk0OTY3Mjk1ID4+PiAtOC4xID09PSAyNTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtOC4xKSk7IAp9IAoKLy9DSEVDSyMyNgppZiAoNDI5NDk2NzI5NSA+Pj4gLTcuMSAhPT0gMTI3KSB7IAogICRFUlJPUignIzI2OiA0Mjk0OTY3Mjk1ID4+PiAtNy4xID09PSAxMjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNy4xKSk7IAp9IAoKLy9DSEVDSyMyNwppZiAoNDI5NDk2NzI5NSA+Pj4gLTYuMSAhPT0gNjMpIHsgCiAgJEVSUk9SKCcjMjc6IDQyOTQ5NjcyOTUgPj4+IC02LjEgPT09IDYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTYuMSkpOyAKfSAKCi8vQ0hFQ0sjMjgKaWYgKDQyOTQ5NjcyOTUgPj4+IC01LjEgIT09IDMxKSB7IAogICRFUlJPUignIzI4OiA0Mjk0OTY3Mjk1ID4+PiAtNS4xID09PSAzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC01LjEpKTsgCn0gCgovL0NIRUNLIzI5CmlmICg0Mjk0OTY3Mjk1ID4+PiAtNC4xICE9PSAxNSkgeyAKICAkRVJST1IoJyMyOTogNDI5NDk2NzI5NSA+Pj4gLTQuMSA9PT0gMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtNC4xKSk7IAp9IAoKLy9DSEVDSyMzMAppZiAoNDI5NDk2NzI5NSA+Pj4gLTMuMSAhPT0gNykgeyAKICAkRVJST1IoJyMzMDogNDI5NDk2NzI5NSA+Pj4gLTMuMSA9PT0gNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IC0zLjEpKTsgCn0gCgovL0NIRUNLIzMxCmlmICg0Mjk0OTY3Mjk1ID4+PiAtMi4xICE9PSAzKSB7IAogICRFUlJPUignIzMxOiA0Mjk0OTY3Mjk1ID4+PiAtMi4xID09PSAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gLTIuMSkpOyAKfSAKCi8vQ0hFQ0sjMzIKaWYgKDQyOTQ5NjcyOTUgPj4+IC0xLjEgIT09IDEpIHsgCiAgJEVSUk9SKCcjMzI6IDQyOTQ5NjcyOTUgPj4+IC0xLjEgPT09IDEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAtMS4xKSk7IAp9IAoKLy9DSEVDSyMzMwppZiAoNDI5NDk2NzI5NSA+Pj4gMzIuMSAhPT0gNDI5NDk2NzI5NSkgeyAKICAkRVJST1IoJyMzMzogNDI5NDk2NzI5NSA+Pj4gMzIuMSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDMyLjEpKTsgCn0gCgovL0NIRUNLIzM0CmlmICg0Mjk0OTY3Mjk1ID4+PiAzMy4xICE9PSAyMTQ3NDgzNjQ3KSB7IAogICRFUlJPUignIzM0OiA0Mjk0OTY3Mjk1ID4+PiAzMy4xID09PSAyMTQ3NDgzNjQ3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzMuMSkpOyAKfSAKCi8vQ0hFQ0sjMzUKaWYgKDQyOTQ5NjcyOTUgPj4+IDM0LjEgIT09IDEwNzM3NDE4MjMpIHsgCiAgJEVSUk9SKCcjMzU6IDQyOTQ5NjcyOTUgPj4+IDM0LjEgPT09IDEwNzM3NDE4MjMuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNC4xKSk7IAp9IAoKLy9DSEVDSyMzNgppZiAoNDI5NDk2NzI5NSA+Pj4gMzUuMSAhPT0gNTM2ODcwOTExKSB7IAogICRFUlJPUignIzM2OiA0Mjk0OTY3Mjk1ID4+PiAzNS4xID09PSA1MzY4NzA5MTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNS4xKSk7IAp9IAoKLy9DSEVDSyMzNwppZiAoNDI5NDk2NzI5NSA+Pj4gMzYuMSAhPT0gMjY4NDM1NDU1KSB7IAogICRFUlJPUignIzM3OiA0Mjk0OTY3Mjk1ID4+PiAzNi4xID09PSAyNjg0MzU0NTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNi4xKSk7IAp9IAoKLy9DSEVDSyMzOAppZiAoNDI5NDk2NzI5NSA+Pj4gMzcuMSAhPT0gMTM0MjE3NzI3KSB7IAogICRFUlJPUignIzM4OiA0Mjk0OTY3Mjk1ID4+PiAzNy4xID09PSAxMzQyMTc3MjcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiAzNy4xKSk7IAp9IAoKLy9DSEVDSyMzOQppZiAoNDI5NDk2NzI5NSA+Pj4gMzguMSAhPT0gNjcxMDg4NjMpIHsgCiAgJEVSUk9SKCcjMzk6IDQyOTQ5NjcyOTUgPj4+IDM4LjEgPT09IDY3MTA4ODYzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gMzguMSkpOyAKfSAKCi8vQ0hFQ0sjNDAKaWYgKDQyOTQ5NjcyOTUgPj4+IDM5LjEgIT09IDMzNTU0NDMxKSB7IAogICRFUlJPUignIzQwOiA0Mjk0OTY3Mjk1ID4+PiAzOS4xID09PSAzMzU1NDQzMS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDM5LjEpKTsgCn0gCgovL0NIRUNLIzQxCmlmICg0Mjk0OTY3Mjk1ID4+PiA0MC4xICE9PSAxNjc3NzIxNSkgeyAKICAkRVJST1IoJyM0MTogNDI5NDk2NzI5NSA+Pj4gNDAuMSA9PT0gMTY3NzcyMTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0MC4xKSk7IAp9IAoKLy9DSEVDSyM0MgppZiAoNDI5NDk2NzI5NSA+Pj4gNDEuMSAhPT0gODM4ODYwNykgeyAKICAkRVJST1IoJyM0MjogNDI5NDk2NzI5NSA+Pj4gNDEuMSA9PT0gODM4ODYwNy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQxLjEpKTsgCn0gCgovL0NIRUNLIzQzCmlmICg0Mjk0OTY3Mjk1ID4+PiA0Mi4xICE9PSA0MTk0MzAzKSB7IAogICRFUlJPUignIzQzOiA0Mjk0OTY3Mjk1ID4+PiA0Mi4xID09PSA0MTk0MzAzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDIuMSkpOyAKfSAKCi8vQ0hFQ0sjNDQKaWYgKDQyOTQ5NjcyOTUgPj4+IDQzLjEgIT09IDIwOTcxNTEpIHsgCiAgJEVSUk9SKCcjNDQ6IDQyOTQ5NjcyOTUgPj4+IDQzLjEgPT09IDIwOTcxNTEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0My4xKSk7IAp9IAoKLy9DSEVDSyM0NQppZiAoNDI5NDk2NzI5NSA+Pj4gNDQuMSAhPT0gMTA0ODU3NSkgeyAKICAkRVJST1IoJyM0NTogNDI5NDk2NzI5NSA+Pj4gNDQuMSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ0LjEpKTsgCn0gCgovL0NIRUNLIzQ2CmlmICg0Mjk0OTY3Mjk1ID4+PiA0NS4xICE9PSA1MjQyODcpIHsgCiAgJEVSUk9SKCcjNDY6IDQyOTQ5NjcyOTUgPj4+IDQ1LjEgPT09IDUyNDI4Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ1LjEpKTsgCn0gCgovL0NIRUNLIzQ3CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ni4xICE9PSAyNjIxNDMpIHsgCiAgJEVSUk9SKCcjNDc6IDQyOTQ5NjcyOTUgPj4+IDQ2LjEgPT09IDI2MjE0My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ2LjEpKTsgCn0gCgovL0NIRUNLIzQ4CmlmICg0Mjk0OTY3Mjk1ID4+PiA0Ny4xICE9PSAxMzEwNzEpIHsgCiAgJEVSUk9SKCcjNDg6IDQyOTQ5NjcyOTUgPj4+IDQ3LjEgPT09IDEzMTA3MS4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDQ3LjEpKTsgCn0gCgovL0NIRUNLIzQ5CmlmICg0Mjk0OTY3Mjk1ID4+PiA0OC4xICE9PSA2NTUzNSkgeyAKICAkRVJST1IoJyM0OTogNDI5NDk2NzI5NSA+Pj4gNDguMSA9PT0gNjU1MzUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA0OC4xKSk7IAp9IAoKLy9DSEVDSyM1MAppZiAoNDI5NDk2NzI5NSA+Pj4gNDkuMSAhPT0gMzI3NjcpIHsgCiAgJEVSUk9SKCcjNTA6IDQyOTQ5NjcyOTUgPj4+IDQ5LjEgPT09IDMyNzY3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNDkuMSkpOyAKfSAKCi8vQ0hFQ0sjNTEKaWYgKDQyOTQ5NjcyOTUgPj4+IDUwLjEgIT09IDE2MzgzKSB7IAogICRFUlJPUignIzUxOiA0Mjk0OTY3Mjk1ID4+PiA1MC4xID09PSAxNjM4My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUwLjEpKTsgCn0gCgovL0NIRUNLIzUyCmlmICg0Mjk0OTY3Mjk1ID4+PiA1MS4xICE9PSA4MTkxKSB7IAogICRFUlJPUignIzUyOiA0Mjk0OTY3Mjk1ID4+PiA1MS4xID09PSA4MTkxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTEuMSkpOyAKfSAKCi8vQ0hFQ0sjNTMKaWYgKDQyOTQ5NjcyOTUgPj4+IDUyLjEgIT09IDQwOTUpIHsgCiAgJEVSUk9SKCcjNTM6IDQyOTQ5NjcyOTUgPj4+IDUyLjEgPT09IDQwOTUuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1Mi4xKSk7IAp9IAoKLy9DSEVDSyM1NAppZiAoNDI5NDk2NzI5NSA+Pj4gNTMuMSAhPT0gMjA0NykgeyAKICAkRVJST1IoJyM1NDogNDI5NDk2NzI5NSA+Pj4gNTMuMSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDUzLjEpKTsgCn0gCgovL0NIRUNLIzU1CmlmICg0Mjk0OTY3Mjk1ID4+PiA1NC4xICE9PSAxMDIzKSB7IAogICRFUlJPUignIzU1OiA0Mjk0OTY3Mjk1ID4+PiA1NC4xID09PSAxMDIzLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTQuMSkpOyAKfSAKCi8vQ0hFQ0sjNTYKaWYgKDQyOTQ5NjcyOTUgPj4+IDU1LjEgIT09IDUxMSkgeyAKICAkRVJST1IoJyM1NjogNDI5NDk2NzI5NSA+Pj4gNTUuMSA9PT0gNTExLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTUuMSkpOyAKfSAKCi8vQ0hFQ0sjNTcKaWYgKDQyOTQ5NjcyOTUgPj4+IDU2LjEgIT09IDI1NSkgeyAKICAkRVJST1IoJyM1NzogNDI5NDk2NzI5NSA+Pj4gNTYuMSA9PT0gMjU1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTYuMSkpOyAKfSAKCi8vQ0hFQ0sjNTgKaWYgKDQyOTQ5NjcyOTUgPj4+IDU3LjEgIT09IDEyNykgeyAKICAkRVJST1IoJyM1ODogNDI5NDk2NzI5NSA+Pj4gNTcuMSA9PT0gMTI3LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNTcuMSkpOyAKfSAKCi8vQ0hFQ0sjNTkKaWYgKDQyOTQ5NjcyOTUgPj4+IDU4LjEgIT09IDYzKSB7IAogICRFUlJPUignIzU5OiA0Mjk0OTY3Mjk1ID4+PiA1OC4xID09PSA2My4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDU4LjEpKTsgCn0gCgovL0NIRUNLIzYwCmlmICg0Mjk0OTY3Mjk1ID4+PiA1OS4xICE9PSAzMSkgeyAKICAkRVJST1IoJyM2MDogNDI5NDk2NzI5NSA+Pj4gNTkuMSA9PT0gMzEuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA1OS4xKSk7IAp9IAoKLy9DSEVDSyM2MQppZiAoNDI5NDk2NzI5NSA+Pj4gNjAuMSAhPT0gMTUpIHsgCiAgJEVSUk9SKCcjNjE6IDQyOTQ5NjcyOTUgPj4+IDYwLjEgPT09IDE1LiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjAuMSkpOyAKfSAKCi8vQ0hFQ0sjNjIKaWYgKDQyOTQ5NjcyOTUgPj4+IDYxLjEgIT09IDcpIHsgCiAgJEVSUk9SKCcjNjI6IDQyOTQ5NjcyOTUgPj4+IDYxLjEgPT09IDcuIEFjdHVhbDogJyArICg0Mjk0OTY3Mjk1ID4+PiA2MS4xKSk7IAp9IAoKLy9DSEVDSyM2MwppZiAoNDI5NDk2NzI5NSA+Pj4gNjIuMSAhPT0gMykgeyAKICAkRVJST1IoJyM2MzogNDI5NDk2NzI5NSA+Pj4gNjIuMSA9PT0gMy4gQWN0dWFsOiAnICsgKDQyOTQ5NjcyOTUgPj4+IDYyLjEpKTsgCn0gCgovL0NIRUNLIzY0CmlmICg0Mjk0OTY3Mjk1ID4+PiA2My4xICE9PSAxKSB7IAogICRFUlJPUignIzY0OiA0Mjk0OTY3Mjk1ID4+PiA2My4xID09PSAxLiBBY3R1YWw6ICcgKyAoNDI5NDk2NzI5NSA+Pj4gNjMuMSkpOyAKfSAKIAoK","commentary":"Operator x >>> y uses ToUint32(AdditiveExpression) & 31","description":"Checking distinct points","path":"TestCases/ch11/11.7/11.7.3/S11.7.3_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8IiBvciBiZXR3ZWVuICI8IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMFx1MDAwOTxcdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMFxcdTAwMDk8XFx1MDAwOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMFx1MDAwQjxcdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMFxcdTAwMEI8XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPFx1MDAwQzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgwXFx1MDAwQzxcXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIwXHUwMDIwPFx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMDxcXHUwMDIwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIwXHUwMEEwPFx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwXFx1MDBBMDxcXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPFx1MDAwQTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgwXFx1MDAwQTxcXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjBcdTAwMEQ8XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPFxcdTAwMEQxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjBcdTIwMjg8XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDBcXHUyMDI4PFxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk8XHUyMDI5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogKDBcXHUyMDI5PFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIwXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PFx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMFxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTxcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"<\" or between \"<\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA8IDIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPCAyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4IDwgMiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAyOwppZiAoMSA8IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDI7IDEgPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMjsKaWYgKHggPCB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDI7IHggPCB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDI7CmlmIChvYmplY3R4LnByb3AgPCBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDE7IG9iamVjdHkucHJvcCA9IDI7IG9iamVjdHgucHJvcCA8IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x < y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA8IDE7CiAgJEVSUk9SKCcjMS4xOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPCAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IDwgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x < y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA8IHk7CiAgJEVSUk9SKCcjMS4xOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPCB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIDwgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x < y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPCAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDwgMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDwgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPCAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwogICRFUlJPUignIzcuMTogMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA8IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDwge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPCB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x < y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA8IHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IDwgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IDwgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPCB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApIDwgeCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPCB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPCAoeCA9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4IDwgKHggPSAxKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPCB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA8IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDwgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPCAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IDwgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA8IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA8IHkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBudWxsID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyBhcmUgTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBvciBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IDEgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIDwgbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types are Number (primitive or object) or Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDwgbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDwgbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxIDwgIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDwgIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogMSA8IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPCB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDwgMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDwgdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPCB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDwgIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA8IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPCB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDwgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPCB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDwgIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDwgbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDwgbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDwgdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA8IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDwgdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvTnVtYmVyKHgpIDwgVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPCBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPCB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPCBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPCBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x < y returns ToNumber(x) < ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAiMSIgPCAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IFN0cmluZygiMSIpIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgiMSIgPCBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIjEiIDwgbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSA8IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBuZXcgU3RyaW5nKCIxIikgPCBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIngiIDwgIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPCAieCIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgPCAieCIgPT09IHRydWUnKTsKfQoK","commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDwgeSByZXR1cm5zIFRvU3RyaW5nKHgpIDwgVG9TdHJpbmcoeSksIGlmIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBTdHJpbmcgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDwgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9IDwge30pICE9PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9IDwge30pID09PSAoe30udG9TdHJpbmcoKSA8IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x < y returns ToString(x) < ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIngiIDwgIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieCIgPCAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8ICJhYiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWJjZCIgPCBhYiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjXHUwMDY0IiA8ICJhYmNkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNcXHUwMDY0IiA8IGFiY2QiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiIDwgIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDwgIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggKyAieSIgPCB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPCB4KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPCAieCAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPCAieCAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIiIgPCAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPCAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPCBhYmNkIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY2QiIDwgImFiY1x1MDA2NCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjZCIgPCBhYmNcXHUwMDY0IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiA8ICJ4IiArICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIngiIDwgIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8IHggKyAieSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4IDwgeCArICJ5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoImFcdTAwMDAiIDwgImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgieCIgPCAiIHgiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoIngiIDwgIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK","commentary":"If x is a prefix of y and x !== y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPCAieHkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHgiIDwgInh5IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh5IiA8ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDwgInh4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA8ICJ5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIngiIDwgeSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDwgImFiYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCJhYWIiIDwgYWJhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIgPCAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8IFxcdTAwNjFcXHUwMDYxXFx1MDA2MVxcdTAwNjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoImFcdTAwMDBhIiA8ICJhXHUwMDAwYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGEiIDwgImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPCAiYWEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYUIiIDwgYWEiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIjAiIDwgIngiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLSIgPCAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8ICIwIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIi4iIDwgIjAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiLiIgPCAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8ICItIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIisiIDwgIi0iKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTAiIDwgIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8ICItMSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCIrMSIgPCAiLTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiKzEiIDwgIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDwgIjFlLTEwIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxIiA8ICIxZS0xMCIpICE9PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPCBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOIDwgTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPCBOYU4pID09PSBmYWxzZScpOwp9CgoK","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPCAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDwgMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPCBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=","commentary":"If x and y are the same number value, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSArMCBhbmQgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4xL1MxMS44LjFfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA8IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPCAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswIDwgLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA8IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPCArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wIDwgKzApID09PSBmYWxzZScpOwp9CgoK","commentary":"If x and y are +0 and -0, return false","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoK0luZmluaXR5IDwgMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA8IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is +Infinity, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPCArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is +Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA8IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPCAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA8ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDwgTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDwgTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5IDwgTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is -Infinity and x !== y, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjEvUzExLjguMV9BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5IDwgLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPCAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA8IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is -Infinity, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMS9TMTEuOC4xX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDwgMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEuMSA8IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxIDwgMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDwgMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDwgLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPCAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPCAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEgPCAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCA8IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8IDAuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoLTAuMSA8IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKC0wLjEgPCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFLzIgPCBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDwgTnVtYmVyLk1JTl9WQUxVRSoyKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x is less than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.1/S11.8.1_A4.9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB2YWx1ZU9mID4gdmFsdWVPZg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAhKG9iajEgPiBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > valueOf","path":"TestCases/ch11/11.8/11.8.2/11.8.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB2YWx1ZU9mID4gdG9TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuICEob2JqMSA+IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: valueOf > toString","path":"TestCases/ch11/11.8/11.8.2/11.8.2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB0b1N0cmluZyA+IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuICEob2JqMSA+IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > valueOf","path":"TestCases/ch11/11.8/11.8.2/11.8.2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvMTEuOC4yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjIgR3JlYXRlci10aGFuIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgR3JlYXRlci10aGFuIG9wZXJhdG9yOiB0b1N0cmluZyA+IHRvU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gIShvYmoxID4gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.2 Greater-than Operator - Partial left to right order enforced when using Greater-than operator: toString > toString","path":"TestCases/ch11/11.8/11.8.2/11.8.2-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI+IiBvciAiPiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjBcdTAwMDk+XHUwMDA5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDBcXHUwMDA5PlxcdTAwMDkxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIwXHUwMDBCPlx1MDAwQjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAwXFx1MDAwQj5cXHUwMDBCMSkgPT09IGZhbHNlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIwXHUwMDBDPlx1MDAwQzEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMFxcdTAwMEM+XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjBcdTAwMjA+XHUwMDIwMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgwXFx1MDAyMD5cXHUwMDIwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMFx1MDBBMD5cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDBcXHUwMEEwPlxcdTAwQTAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIwXHUwMDBBPlx1MDAwQTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoMFxcdTAwMEE+XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMFx1MDAwRD5cdTAwMEQxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKDBcXHUwMDBEPlxcdTAwMEQxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIwXHUyMDI4Plx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoMFxcdTIwMjg+XFx1MjAyODEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjBcdTIwMjk+XHUyMDI5MSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6ICgwXFx1MjAyOT5cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT49XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between RelationalExpression and \">\" or \">\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDIgPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMiA+IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMjsKaWYgKHggPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAyOyB4ID4gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSAxOwppZiAoMiA+IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDIgPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDI7CnZhciB5ID0gMTsKaWYgKHggPiB5ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAyOyB2YXIgeSA9IDE7IHggPiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDI7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPiBvYmplY3R5LnByb3AgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsgdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7IG9iamVjdHgucHJvcCA9IDI7IG9iamVjdHkucHJvcCA9IDE7IG9iamVjdHgucHJvcCA+IG9iamVjdHkucHJvcCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x > y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCA+IDE7CiAgJEVSUk9SKCcjMS4xOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPiAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ID4gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x > y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSA+IHk7CiAgJEVSUk9SKCcjMS4xOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPiB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxID4geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x > y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID4geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+IDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA+IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+IDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPiAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID4gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+IDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+IDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID4gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPiAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IDEgPiB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPT09IHRydWUuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OwogICRFUlJPUignIzcuMTogMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSA+IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID4ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgPiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x > y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPCIgZXZhbHVhdGUgbGVmdC10by1yaWdodAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsKdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07CnRyeSB7CiAgIHggPiB5OwogICAkRVJST1IoJyMxLjE6IFNob3VsZCBoYXZlIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdCcpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogRmFpbGVkIHdpdGg6ICcgKyBlKTsKICAgICB9CiAgIH0KfQoK","commentary":"In ES5, First expression should be evaluated first.","description":"Checking that operands of a \"<\" evaluate left-to-right","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpID4geCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPiB4ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPiAoeCA9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAxOyB4ID4gKHggPSAwKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSA+IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID4geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPiAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ID4gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSA+IHkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA+IHkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IDEgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPiBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9CgoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPiBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBudWxsID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAxID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAxID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgxID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IDEgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogMSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICIxIiA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBOdW1iZXIoMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmICgxID4gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxID4gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID4gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgPiAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID4gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPiB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkID4gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRydWUgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAiMSIgPiB0cnVlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA+IG5ldyBCb29sZWFuKHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICIxIiA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPiB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA+IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpID4gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPiB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID4gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPiAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID4gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID4gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPiBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID4geSByZXR1cm5zIFRvTnVtYmVyKHgpID4gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPiBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID4gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBudWxsID4gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsID4gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x > y returns ToNumber(x) > ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID4gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA+ICIxIiA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPiAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID4gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+IG5ldyBTdHJpbmcoIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAiMSIgPiBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID4gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPiAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgPiAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgiMSIgPiAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID4gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgU3RyaW5nLCB0aGVuIG9wZXJhdG9yIHggPiB5IHJldHVybnMgVG9TdHJpbmcoeCkgPiBUb1N0cmluZyh5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMxOiAoe30gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMyCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiB7fSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyMzCmlmICgoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMzOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPiBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID4gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPiB7fSkgIT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyM0OiAoe30gPiB7fSkgPT09ICh7fS50b1N0cmluZygpID4ge30udG9TdHJpbmcoKSknKTsKfQoK","commentary":"If Type(Primitive(x)) is String and Type(Primitive(y)) is String, then operator x > y returns ToString(x) > ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChOYU4gPiAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPiAtMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5hTiA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPiAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTmFOID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+IE51bWJlci5NSU5fVkFMVUUpID09PSBmYWxzZScpOwp9CgoK","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID4gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIiIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiIiA+ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiYWIiID4gYWJjZCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJjZCIgPiAiYWJjXHUwMDY0IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCJhYmNkIiA+IGFiY1xcdTAwNjQiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiID4gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID4gIngiICsgInkiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CnZhciB4ID0gIngiOwppZiAoKHggPiB4ICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggPiB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is a prefix of y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCAiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCAiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPiAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIngiID4gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA+ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+IGFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoImFiY1x1MDA2NCIgPiAiYWJjZCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgiYWJjXFx1MDA2NCIgPiBhYmMiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoIngiICsgInkiID4gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgKyAieSIgPiAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID4geCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9ICJ4IjsgKHggKyAieSIgPiB4KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMGEiID4gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+ICJhXFx1MDAwMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKCIgeCIgPiAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgiIHgiID4gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x and x !== y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPiAieHgiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieHkiID4gInh4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoInh4IiA+ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID4gInh5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ5IiA+ICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoInkiID4gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+ICJhYWIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWJhIiA+IGFhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJcdTAwNjFcdTAwNjFcdTAwNjFcdTAwNjEiID4gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPiBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYiIgPiAiYVx1MDAwMGEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiYVxcdTAwMDBiIiA+ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID4gImFCIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFhIiA+IGFCIikgPT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+ICIwIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIngiID4gIjAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiMCIgPiAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+ICItIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoIjAiID4gIi4iKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgiMCIgPiAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+ICIrIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIi0iID4gIisiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiLTEiID4gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+ICItMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCItMSIgPiAiKzEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgiLTEiID4gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+ICIxIikgIT09IHRydWUpIHsKJEVSUk9SKCcjNzogKCIxZS0xMCIgPiAiMSIpICE9PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPiBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoTmFOID4gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NQVhfVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPiBOYU4pID09PSBmYWxzZScpOwp9CgoK","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgbnVtYmVyIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgxID4gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID4gMS4xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPiBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCgo=","commentary":"If x and y are the same number value, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgdmFyaWFibGUgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4yL1MxMS44LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA+IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTAgPiAtMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCswID4gLTApICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgrMCA+IC0wKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTAgPiArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0wID4gKzApID09PSBmYWxzZScpOwp9CgoK","commentary":"If either variable x or y is +0 and the other is -0, return false","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA+IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID4gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiAtMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPiAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID4gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID4gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoK0luZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is +Infinity and x !== y, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKC0xLjEgPiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPiArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUlOX1ZBTFVFID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is +Infinity, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjIvUzExLjguMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoLUluZmluaXR5ID4gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA+IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtSW5maW5pdHkgPiAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID4gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID4gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+IE51bWJlci5NQVhfVkFMVUUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAoLUluZmluaXR5ID4gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is -Infinity, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPiAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID4gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMS4xID4gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoTnVtYmVyLk1JTl9WQUxVRSA+IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is -Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBpcyB4IGdyZWF0ZXIgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMi9TMTEuOC4yX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgPiAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPiAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPiAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA+IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xID4gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoLTEuMSA+IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMC4xID4gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID4gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoMCA+IC0wLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDAgPiAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID4gTnVtYmVyLk1BWF9WQUxVRS8yKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPiBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If is x greater than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.2/S11.8.2_A4.9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDQ7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKG9iajEgPD0gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHRvU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= toString","path":"TestCases/ch11/11.8/11.8.3/11.8.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB0b1N0cmluZyA8PSB2YWx1ZU9mDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmoyID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChhY2Nlc3NlZCA9PT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAob2JqMSA8PSBvYmoyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB0b1N0cmluZyA8PSB0b1N0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VkID09PSB0cnVlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA0Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChvYmoxIDw9IG9iajIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: toString <= toString","path":"TestCases/ch11/11.8/11.8.3/11.8.3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvMTEuOC4zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiAxMS44LjMgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yIC0gUGFydGlhbCBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGVuZm9yY2VkIHdoZW4gdXNpbmcgTGVzcy10aGFuLW9yLWVxdWFsIG9wZXJhdG9yOiB2YWx1ZU9mIDw9IHZhbHVlT2YNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzZWQgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKG9iajEgPD0gb2JqMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"11.8.3 Less-than-or-equal Operator - Partial left to right order enforced when using Less-than-or-equal operator: valueOf <= valueOf","path":"TestCases/ch11/11.8/11.8.3/11.8.3-5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI8PSIgb3IgYmV0d2VlbiAiPD0iIGFuZCBTaGlmdEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCIxXHUwMDA5PD1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMVxcdTAwMDk8PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjFcdTAwMEI8PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxXFx1MDAwQjw9XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDPD1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMVxcdTAwMEM8PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoIjFcdTAwMjA8PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxXFx1MDAyMDw9XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgiMVx1MDBBMDw9XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDFcXHUwMEEwPD1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBPD1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMVxcdTAwMEE8PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgiMVx1MDAwRDw9XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKDFcXHUwMDBEPD1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCIxXHUyMDI4PD1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoMVxcdTIwMjg8PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjk8PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICgxXFx1MjAyOTw9XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoIjFcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk+XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6ICgxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTApID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between RelationalExpression and \"<=\" or between \"<=\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA8PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxIDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPD0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4IDw9IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA8PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPD0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gMTsKICAkRVJST1IoJyMxLjE6IHggPD0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator x <= y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPD0geTsKICAkRVJST1IoJyMxLjE6IDEgPD0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPD0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA8PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x <= y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19IDw9IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPD0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA8PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IDw9IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA8PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA8PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxIDw9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICAkRVJST1IoJyM3LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA8PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPD0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxIDw9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x <= y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBFUzUsIEZpcnN0IGV4cHJlc3Npb24gc2hvdWxkIGJlIGV2YWx1YXRlZCBmaXJzdC4KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgb3BlcmFuZHMgb2YgYSAiPD0iIGV2YWx1YXRlIGxlZnQtdG8tcmlnaHQKICovCgovL0NIRUNLIzEKdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07CnZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9Owp0cnkgewogICB4IDw9IHk7CiAgICRFUlJPUignIzEuMTogU2hvdWxkIGhhdmUgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICAgaWYgKGUgPT09ICJ5IikgewogICAgICRFUlJPUignIzEuMjogRmlyc3QgZXhwcmVzc2lvbiBzaG91bGQgYmUgZXZhbHVhdGVkIGZpcnN0Jyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiBGYWlsZWQgd2l0aDogJyArIGUpOwogICAgIH0KICAgfQp9Cgo=","commentary":"In ES5, First expression should be evaluated first.","description":"Checking that operands of a \"<=\" evaluate left-to-right","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIDw9IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICh4ID0gMSkgPD0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOyAKaWYgKHggPD0gKHggPSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPD0gKHggPSAwKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPD0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA8PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIDw9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIDw9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPD0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPD0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPD0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA8PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPD0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPD0geSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgPD0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKDEgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IDEgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDEuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodW5kZWZpbmVkIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgPD0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbnVsbCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxIDw9IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigxKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiA8PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgxIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPD0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogMSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgiMSIgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICIxIiA8PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigxKSA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoMSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIngiIDw9IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIngiIDw9IDEgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgPD0gIngiICE9PSBmYWxzZSkgewogICRFUlJPUignIzEwOiAxIDw9ICJ4IiA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPD0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsIDw9IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IE51bWJlcigxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG51bGwgPD0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgxIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAxIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPD0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPD0gbmV3IE51bWJlcigxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPD0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiIDw9IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAiMSIgPD0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICIxIiA8PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgPD0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBTdHJpbmcoIjEiKSA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygiMSIpIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICIxIiA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9ICIxIiAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPD0gIjEiID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuNy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9IG51bGwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSAiMSIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBudWxsIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA8PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA8PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkIDw9IHRydWUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIDw9IHRydWUgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIDw9IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb051bWJlcih4KSA8PSBUb051bWJlcih5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIG5vdCBTdHJpbmcgb3IgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0EzLjFfVDIuOS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlIDw9IG51bGwgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA8PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA8PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPD0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA8PSBudWxsID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPD0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBudWxsIDw9IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x <= y returns ToNumber(x) <= ToNumber(y), if Type(Primitive(x)) is not String or Type(Primitive(y)) is not String","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIDw9ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA8PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPD0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpIDw9ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA8PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPD0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpIDw9IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA8PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPD0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICJ4IiA8PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiIDw9ICJ4IiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICIxIiA8PSAieCIgPT09IHRydWUnKTsKfQoK","commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4IDw9IHkgcmV0dXJucyBUb1N0cmluZyh4KSA8PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA8PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPD0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA8PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpIDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9IDw9IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPD0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPD0ge30pICE9PSAoe30udG9TdHJpbmcoKSA8PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA8PSB7fSkgPT09ICh7fS50b1N0cmluZygpIDw9IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x <= y returns ToString(x) <= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA8PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOIDw9IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOIDw9IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPD0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA8PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOIDw9IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPD0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHggYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoInggIiA8PSAieCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCAiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCJ4IiA8PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA8PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYmNkIiA8PSAiYWIiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiY2QiIDw9IGFiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiIDw9ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiIDw9IGFiY2QiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgKyAieSIgPD0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiICsgInkiIDw9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knIDw9IHgpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCArICJ5IiA8PSB4KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x and x !== y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPD0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPD0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIiIDw9ICJ4IikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiIiA8PSAiYWJjZCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYiIgPD0gYWJjZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA8PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiIDw9IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPD0gIngiICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgieCIgPD0gIngiICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKdmFyIHggPSAieCI7CmlmICgoeCA8PSB4ICsgInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA8PSB4ICsgInkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYVx1MDAwMCIgPD0gImFcdTAwMDBhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFcXHUwMDAwIiA8PSAiYVxcdTAwMDBhIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoIngiIDw9ICIgeCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6ICgieCIgPD0gIiB4IikgPT09IGZhbHNlJyk7Cn0KCgoK","commentary":"If x is a prefix of y, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eCIgPD0gInh5IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh4IiA8PSAieHkiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHkiIDw9ICJ4eCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHkiIDw9ICJ4eCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgPD0gInkiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieCIgPD0geSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYWIiIDw9ICJhYmEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgiYWFiIiA8PSBhYmEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYyIiA8PSAiXHUwMDYxXHUwMDYxXHUwMDYxXHUwMDYxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCJcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYyIiA8PSBcXHUwMDYxXFx1MDA2MVxcdTAwNjFcXHUwMDYxIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKCJhXHUwMDAwYSIgPD0gImFcdTAwMDBiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoImFcXHUwMDAwYSIgPD0gImFcXHUwMDAwYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhQiIgPD0gImFhIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoImFCIiA8PSBhYSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCIwIiA8PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCIwIiA8PSAieCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIuIiA8PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIuIiA8PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCIrIiA8PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCIrIiA8PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMCIgPD0gIi0xIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0wIiA8PSAiLTEiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiKzEiIDw9ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIrMSIgPD0gIi0xIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjEiIDw9ICIxZS0xMCIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMSIgPD0gIjFlLTEwIikgIT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC4zL1MxMS44LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA8PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPD0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPD0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA8PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPD0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5IDw9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5IDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x and y are the same number value, return true","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wIDw9IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA8PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPD0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswIDw9IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA8PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPD0gKzApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If either x or y is +0 and the other is -0, return true","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA8PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCtJbmZpbml0eSA8PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA8PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA8PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is +Infinity and x !== y, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjYuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA8PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is +Infinity and x !== y, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgtSW5maW5pdHkgPD0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLUluZmluaXR5IDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIDw9IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA8PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgtSW5maW5pdHkgPD0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5IDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPD0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is -Infinity, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjMvUzExLjguM19BNC44LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSA8PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFIDw9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPD0gLUluZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA8PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IC1JbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is -Infinity and x !== y, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguMy9TMTEuOC4zX0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMS4xIDw9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxLjEgPD0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgPD0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxIDw9IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA8PSAtMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEuMSA8PSAtMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEgPD0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xIDw9IC0xLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwIDw9IDAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMCA8PSAwLjEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKC0wLjEgPD0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoLTAuMSA8PSAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFLzIgPD0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRS8yIDw9IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPD0gTnVtYmVyLk1JTl9WQUxVRSoyKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFIDw9IE51bWJlci5NSU5fVkFMVUUqMikgPT09IHRydWUnKTsKfQoKCgo=","commentary":"If x is less or equal than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.3/S11.8.3_A4.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICI9PiIgb3IgIj0+IiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiMVx1MDAwOT49XHUwMDA5MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDFcXHUwMDA5Pj1cXHUwMDA5MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCPj1cdTAwMEIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMVxcdTAwMEI+PVxcdTAwMEIxKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgiMVx1MDAwQz49XHUwMDBDMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKDFcXHUwMDBDPj1cXHUwMDBDMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCIxXHUwMDIwPj1cdTAwMjAxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoMVxcdTAwMjA+PVxcdTAwMjAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTA+PVx1MDBBMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxXFx1MDBBMD49XFx1MDBBMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgiMVx1MDAwQT49XHUwMDBBMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKDFcXHUwMDBBPj1cXHUwMDBBMSkgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIjFcdTAwMEQ+PVx1MDAwRDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgxXFx1MDAwRD49XFx1MDAwRDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOD49XHUyMDI4MSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKDFcXHUyMDI4Pj1cXHUyMDI4MSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCIxXHUyMDI5Pj1cdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoMVxcdTIwMjk+PVxcdTIwMjkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5Pj1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogKDFcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjk+PVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCg==","commentary":"White Space and Line Terminator between RelationalExpression and \"=>\" or \"=>\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IDEgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgeCA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgxID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPj0geSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICh4ID49IHkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgeCA+PSB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyBvYmplY3R4LnByb3AgPj0gb2JqZWN0eS5wcm9wID09PSB0cnVlJyk7Cn0KCg==","commentary":"Operator x >= y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gMTsKICAkRVJST1IoJyMxLjE6IHggPj0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >= y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPj0geTsKICAkRVJST1IoJyMxLjE6IDEgPj0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPj0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA+PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x >= y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgdXNlcyBbW0RlZmF1bHQgVmFsdWVdXQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ID49IDEgPT09IHRydWUuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPj0gMSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA+PSAxKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID49IDEgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMToge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA+PSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSA+PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAxID49IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKICAkRVJST1IoJyM3LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoMSA+PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICAkRVJST1IoJyM4LjE6IDEgPj0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAxID49IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator x >= y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCA+PSB5OwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9OyB2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsgeCA+PSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHggPj0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggPj0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMTsgCmlmICgoeCA9IDApID49IHggIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDE7ICh4ID0gMCkgPj0geCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggPj0gKHggPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7IHggPj0gKHggPSAxKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPj0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA+PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID49IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID49IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPj0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPj0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPj0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA+PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCh5ID0gMSkgPj0geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPj0geSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIGJvb2xlYW4gYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB0cnVlID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIG51bWJlciBhbmQgTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoMSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigxKSA+PSAxICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogMSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSA+PSBuZXcgTnVtYmVyKDEpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gTnVsbCBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChudWxsID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBudWxsID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gbnVsbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gbnVsbCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICh1bmRlZmluZWQgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA+PSB1bmRlZmluZWQgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBudWxsID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHRydWUgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IDEgPj0gdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuKHRydWUpID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IDEgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49IHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBTdHJpbmcgKHByaW1pdGl2ZSBhbmQgb2JqZWN0KQogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49IDEgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAiMSIgPj0gMSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogMSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gMSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSA+PSAxID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoMSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAxID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiA+PSBuZXcgTnVtYmVyKDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIjEiID49IG5ldyBOdW1iZXIoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBOdW1iZXIoMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IE51bWJlcigxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbmV3IFN0cmluZygiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogbmV3IE51bWJlcigxKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM5CmlmICgieCIgPj0gMSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAieCIgPj0gMSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMxMAppZiAoMSA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IDEgPj0gIngiID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgxID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxID49IG51bGwgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsID49IDEgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IE51bWJlcigxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBudWxsID49IG5ldyBOdW1iZXIoMSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi40LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBOdW1iZXIgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKDEgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IDEgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKHVuZGVmaW5lZCA+PSAxICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAxID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCA+PSBuZXcgTnVtYmVyKDEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi41LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBCb29sZWFuIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKHRydWUgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgPj0gdHJ1ZSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICIxIiA+PSB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gIjEiID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID49IG5ldyBCb29sZWFuKHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogIjEiID49IG5ldyBCb29sZWFuKHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAodHJ1ZSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiB0cnVlID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoIjEiKSA+PSB0cnVlICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpID49IHRydWUgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiBuZXcgU3RyaW5nKCIxIikgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi42LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCIxIiA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogIjEiID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gIjEiICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgU3RyaW5nKCIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkID49IG5ldyBTdHJpbmcoIjEiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBTdHJpbmcgKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPj0gbnVsbCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSAiMSIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogbnVsbCA+PSAiMSIgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpID49IG51bGwgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IFN0cmluZygiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IG51bGwgPj0gbmV3IFN0cmluZygiMSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi44LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID49IHVuZGVmaW5lZCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0cnVlID49IHVuZGVmaW5lZCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICh1bmRlZmluZWQgPj0gdHJ1ZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSB1bmRlZmluZWQgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gdW5kZWZpbmVkID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKHVuZGVmaW5lZCA+PSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBvciBUeXBlKFByaW1pdGl2ZSh5KSkgaXMgbm90IFN0cmluZywgdGhlbiBvcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb051bWJlcih4KSA+PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMV9UMi45LmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgZGlmZmVyZW50IGZyb20gVHlwZShQcmltaXRpdmUoeSkpIGFuZCBib3RoIHR5cGVzIHZhcnkgYmV0d2VlbiBCb29sZWFuIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA+PSBudWxsID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA+PSB0cnVlICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IG51bGwgPj0gdHJ1ZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSA+PSBudWxsICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgPj0gbnVsbCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgPj0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbnVsbCA+PSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(Primitive(x)) is not String or Type(Primitive(y)) is not String, then operator x >= y returns ToNumber(x) >= ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.1_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gcHJpbWl0aXZlIHN0cmluZyBhbmQgU3RyaW5nIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiID49ICIxIiAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICIxIiA+PSAiMSIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgU3RyaW5nKCIxIikgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogbmV3IFN0cmluZygiMSIpID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiA+PSBuZXcgU3RyaW5nKCIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiMSIgPj0gbmV3IFN0cmluZygiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IFN0cmluZygiMSIpID49IG5ldyBTdHJpbmcoIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSA+PSBuZXcgU3RyaW5nKCIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgieCIgPj0gIjEiICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogIngiID49ICIxIiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCIxIiA+PSAieCIgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogIjEiID49ICJ4IiA9PT0gZmFsc2UnKTsKfQoK","commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID49IHkgcmV0dXJucyBUb1N0cmluZyh4KSA+PSBUb1N0cmluZyh5KSwgaWYgVHlwZShQcmltaXRpdmUoeCkpIGlzIFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIFN0cmluZwogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTMuMl9UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUeXBlKFByaW1pdGl2ZSh4KSkgYW5kIFR5cGUoUHJpbWl0aXZlKHkpKSB2YXJ5IGJldHdlZW4gT2JqZWN0IG9iamVjdCBhbmQgRnVuY3Rpb24gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgoe30gPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSA+PSBmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpKSkgewogICRFUlJPUignIzE6ICh7fSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgPT09ICh7fS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IHt9KSAhPT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0ge30udG9TdHJpbmcoKSkpIHsKICAkRVJST1IoJyMyOiAoZnVuY3Rpb24oKXtyZXR1cm4gMX0gPj0ge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKScpOwp9CgovL0NIRUNLIzMKaWYgKChmdW5jdGlvbigpe3JldHVybiAxfSA+PSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IChmdW5jdGlvbigpe3JldHVybiAxfS50b1N0cmluZygpID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID49IGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSA9PT0gKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkgPj0gZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSknKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPj0ge30pICE9PSAoe30udG9TdHJpbmcoKSA+PSB7fS50b1N0cmluZygpKSkgewogICRFUlJPUignIzQ6ICh7fSA+PSB7fSkgPT09ICh7fS50b1N0cmluZygpID49IHt9LnRvU3RyaW5nKCkpJyk7Cn0KCg==","commentary":"Operator x >= y returns ToString(x) >= ToString(y), if Type(Primitive(x)) is String and Type(Primitive(y)) is String","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA+PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID49IDApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOID49IC0xLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IChOYU4gPj0gLTEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE5hTiA+PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTmFOID49IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOYU4gPj0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If x is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGEgcHJlZml4IG9mIHkgYW5kIHggIT09IHksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMTAuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHN0cmluZyBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoIngiID49ICJ4ICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gInggIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCIiID49ICJ4IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJhYiIgPj0gImFiY2QiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoImFiIiA+PSBhYmNkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNkIiA+PSAiYWJjXHUwMDY0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY2QiID49IGFiY1xcdTAwNjQiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgieCIgPj0gIngiICsgInkiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoIngiID49ICJ4IiArICJ5IikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ID49IHggKyAieSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHZhciB4ID0gIngiOyAoeCA+PSB4ICsgInkiKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is a prefix of y and x !== y, return false","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGEgcHJlZml4IG9mIHgsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4xMS5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgc3RyaW5nIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCgieCIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgieCIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieCIgPj0gIiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCJ4IiA+PSAiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoImFiY2QiID49ICJhYiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJhYmNkIiA+PSBhYiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJhYmNcdTAwNjQiID49ICJhYmNkIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiY1xcdTAwNjQiID49IGFiYyIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCJ4IiArICJ5IiA+PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKCJ4IiArICJ5IiA+PSAieCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgp2YXIgeCA9ICJ4IjsKaWYgKCh4ICsgJ3knID49IHgpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSAieCI7ICh4ICsgInkiID49IHgpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKCJhXHUwMDAwYSIgPj0gImFcdTAwMDAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiYVxcdTAwMDBhIiA+PSAiYVxcdTAwMDAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgiIHgiID49ICJ4IikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKCIgeCIgPj0gIngiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is a prefix of x, return true","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4eSIgPj0gInh4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoInh5IiA+PSAieHgiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgieHgiID49ICJ4eSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgieHgiID49ICJ4eSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieSIgPj0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgieSIgPj0gIngiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgiYWJhIiA+PSAiYWFiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoImFiYSIgPj0gYWFiIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MSIgPj0gIlx1MDA2MVx1MDA2MVx1MDA2MVx1MDA2MiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6ICgiXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MSIgPj0gXFx1MDA2MVxcdTAwNjFcXHUwMDYxXFx1MDA2MiIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiYVx1MDAwMGIiID49ICJhXHUwMDAwYSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCJhXFx1MDAwMGIiID49ICJhXFx1MDAwMGEiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiYWEiID49ICJhQiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKCJhYSIgPj0gYUIiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIHgsIG5vciB5IGlzIGEgcHJlZml4IG9mIGVhY2ggb3RoZXIsIHJldHVybmVkIHJlc3VsdCBvZiBzdHJpbmdzIGNvbXBhcmlzb24gYXBwbGllcyBhIHNpbXBsZSBsZXhpY29ncmFwaGljIG9yZGVyaW5nIHRvIHRoZSBzZXF1ZW5jZXMgb2YgY29kZSBwb2ludCB2YWx1ZSB2YWx1ZXMKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBzdHJpbmcgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKCJ4IiA+PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCJ4IiA+PSAiMCIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIwIiA+PSAiLSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCIwIiA+PSAiLSIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIwIiA+PSAiLiIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCIwIiA+PSAiLiIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCItIiA+PSAiKyIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCItIiA+PSAiKyIpICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKCItMSIgPj0gIi0wIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoIi0xIiA+PSAiLTAiKSAhPT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiLTEiID49ICIrMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCItMSIgPj0gIisxIikgIT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjFlLTEwIiA+PSAiMSIpICE9PSB0cnVlKSB7CiRFUlJPUignIzc6ICgiMWUtMTAiID49ICIxIikgIT09IHRydWUnKTsKfQoK","commentary":"If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of code point value values","description":"x and y are string primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgcmV0dXJuIGZhbHNlIChpZiByZXN1bHQgaW4gMTEuOC41IGlzIHVuZGVmaW5lZCwgcmV0dXJuIGZhbHNlKQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC40L1MxMS44LjRfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMCA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgtMS4xID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCtJbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKC1JbmZpbml0eSA+PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChOdW1iZXIuTUFYX1ZBTFVFID49IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE51bWJlci5NSU5fVkFMVUUgPj0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If y is NaN, return false (if result in 11.8.5 is undefined, return false)","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGFuZCB5IGFyZSB0aGUgc2FtZSBudW1iZXIgdmFsdWUsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBudW1iZXIgcHJpbWl0aXZlcwogKi8KCi8vQ0hFQ0sjMQppZiAoKDEgPj0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA+PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxLjEgPj0gMS4xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLUluZmluaXR5ID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49ICtJbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gdHJ1ZScpOwp9CgoKCg==","commentary":"If x and y are the same number value, return true","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzICswIGFuZCB0aGUgb3RoZXIgaXMgLTAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoMCA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKC0wID49IC0wKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMCA+PSAtMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoKzAgPj0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCswID49IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgtMCA+PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoLTAgPj0gKzApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"If either x or y is +0 and the other is -0, return true","description":"Checking all combinations","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgPj0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IDEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoK0luZmluaXR5ID49IDEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID49IC0xLjEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSA+PSAtMS4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoK0luZmluaXR5ID49IE51bWJlci5NQVhfVkFMVUUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6ICgrSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x is +Infinity, return true","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCgwID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDAgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMS4xID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE51bWJlci5NQVhfVkFMVUUgPj0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA+PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49ICtJbmZpbml0eSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If y is +Infinity and x !== y, return false","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeCAhPT0geSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjQvUzExLjguNF9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG51bWJlciBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKC1JbmZpbml0eSA+PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IDEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA+PSAxLjEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gLTEuMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC1JbmZpbml0eSA+PSAtMS4xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC1JbmZpbml0eSA+PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk1BWF9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKC1JbmZpbml0eSA+PSBOdW1iZXIuTUFYX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID49IE51bWJlci5NSU5fVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgtSW5maW5pdHkgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x is -Infinity and x !== y, return false","description":"y is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgbnVtYmVyIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgwID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoMS4xID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEuMSA+PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKC0xLjEgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgrSW5maW5pdHkgPj0gLUluZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NSU5fVkFMVUUgPj0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOdW1iZXIuTUlOX1ZBTFVFID49IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If y is -Infinity, return true","description":"x is number primitive","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB5IGFuZCB0aGVzZSB2YWx1ZXMgYXJlIGJvdGggZmluaXRlIG5vbi16ZXJvLCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNC9TMTEuOC40X0E0LjkuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIG51bWJlciBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA+PSAxLjEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgxID49IDEuMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMSA+PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxLjEgPj0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgPj0gLTEuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoLTEgPj0gLTEuMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoLTEuMSA+PSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKC0xLjEgPj0gLTEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwLjEgPj0gMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoMC4xID49IDApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgPj0gLTAuMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCA+PSAtMC4xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUFYX1ZBTFVFID49IE51bWJlci5NQVhfVkFMVUUvMikgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1BWF9WQUxVRSA+PSBOdW1iZXIuTUFYX1ZBTFVFLzIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKE51bWJlci5NSU5fVkFMVUUqMiA+PSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChOdW1iZXIuTUlOX1ZBTFVFKjIgPj0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKCgo=","commentary":"If x is greater or equal than y and these values are both finite non-zero, return true; otherwise, return false","description":"x and y are number primitives","path":"TestCases/ch11/11.8/11.8.4/S11.8.4_A4.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbnN0YW5jZW9mIiBhbmQgYmV0d2VlbiAiaW5zdGFuY2VvZiIgYW5kIFNoaWZ0RXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIih7fSlcdTAwMDlpbnN0YW5jZW9mXHUwMDA5T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoe30pXFx1MDAwOWluc3RhbmNlb2ZcXHUwMDA5T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiKHt9KVx1MDAwQmluc3RhbmNlb2ZcdTAwMEJPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7fSlcXHUwMDBCaW5zdGFuY2VvZlxcdTAwMEJPYmplY3QgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIih7fSlcdTAwMENpbnN0YW5jZW9mXHUwMDBDT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe30pXFx1MDAwQ2luc3RhbmNlb2ZcXHUwMDBDT2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiKHt9KVx1MDAyMGluc3RhbmNlb2ZcdTAwMjBPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSlcXHUwMDIwaW5zdGFuY2VvZlxcdTAwMjBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIoe30pXHUwMEEwaW5zdGFuY2VvZlx1MDBBME9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt9KVxcdTAwQTBpbnN0YW5jZW9mXFx1MDBBME9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIih7fSlcdTAwMEFpbnN0YW5jZW9mXHUwMDBBT2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoe30pXFx1MDAwQWluc3RhbmNlb2ZcXHUwMDBBT2JqZWN0ID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIoe30pXHUwMDBEaW5zdGFuY2VvZlx1MDAwRE9iamVjdCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHt9KVxcdTAwMERpbnN0YW5jZW9mXFx1MDAwRE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIih7fSlcdTIwMjhpbnN0YW5jZW9mXHUyMDI4T2JqZWN0IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoe30pXFx1MjAyOGluc3RhbmNlb2ZcXHUyMDI4T2JqZWN0ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiKHt9KVx1MjAyOWluc3RhbmNlb2ZcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh7fSlcXHUyMDI5aW5zdGFuY2VvZlxcdTIwMjlPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiKHt9KVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluc3RhbmNlb2ZcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlPYmplY3QiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAoe30pXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5aW5zdGFuY2VvZlxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU9iamVjdCA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"instanceof\" and between \"instanceof\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIEV4cHJlc3Npb24gaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoe30pIGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHt9KSBpbnN0YW5jZW9mIE9iamVjdCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt9OyBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciBPQkpFQ1QgPSBPYmplY3Q7CmlmICgoe30pIGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIE9CSkVDVCA9IE9iamVjdDsgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIG9iamVjdCA9IHt9Owp2YXIgT0JKRUNUID0gT2JqZWN0OwppZiAob2JqZWN0IGluc3RhbmNlb2YgT0JKRUNUICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iamVjdCA9IHt9OyB2YXIgT0JKRUNUID0gT2JqZWN0OyBvYmplY3QgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKCg==","commentary":"Operator \"instanceof\" uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3Q7CiAgJEVSUk9SKCcjMS4xOiBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator \"instanceof\" uses GetValue","description":"If GetBase(RelationalExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW5zdGFuY2VvZiIgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjgvMTEuOC42L1MxMS44LjZfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZShTaGlmdEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgKHt9KSBpbnN0YW5jZW9mIE9CSkVDVDsKICAkRVJST1IoJyMxLjE6ICh7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICgoe30pIGluc3RhbmNlb2YgT0JKRUNUKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAoe30pIGluc3RhbmNlb2YgT0JKRUNUIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"instanceof\" uses GetValue","description":"If GetBase(ShiftExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgT0JKRUNUID0gMDsKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBPQkpFQ1QgPSAwOyAoT0JKRUNUID0gT2JqZWN0LCB7fSkgaW5zdGFuY2VvZiBPQkpFQ1QgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7fTsgCmlmIChvYmplY3QgaW5zdGFuY2VvZiAob2JqZWN0ID0gMCwgT2JqZWN0KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7fTsgIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSAwLCBPYmplY3QpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW5zdGFuY2VvZiB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSBpbnN0YW5jZW9mIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluc3RhbmNlb2YgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KTsKICAkRVJST1IoJyMxLjE6IG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKG9iamVjdCBpbnN0YW5jZW9mIChvYmplY3QgPSB7fSwgT2JqZWN0KSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogb2JqZWN0IGluc3RhbmNlb2YgKG9iamVjdCA9IHt9LCBPYmplY3QpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IChPQkpFQ1QgPSBPYmplY3QsIHt9KSBpbnN0YW5jZW9mIE9CSkVDVCAhPT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdHJ1ZSBpbnN0YW5jZW9mIHRydWU7CiAgJEVSUk9SKCcjMTogdHJ1ZSBpbnN0YW5jZW9mIHRydWUgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiB0cnVlIGluc3RhbmNlb2YgdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgMSBpbnN0YW5jZW9mIDE7CiAgJEVSUk9SKCcjMjogMSBpbnN0YW5jZW9mIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyOiAxIGluc3RhbmNlb2YgMSB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyMzCnRyeSB7CiAgInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIjsKICAkRVJST1IoJyMzOiAic3RyaW5nIiBpbnN0YW5jZW9mICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMzogInN0cmluZyIgaW5zdGFuY2VvZiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdW5kZWZpbmVkIGluc3RhbmNlb2YgdW5kZWZpbmVkOwogICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbnN0YW5jZW9mIHVuZGVmaW5lZCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM1CnRyeSB7CiAgbnVsbCBpbnN0YW5jZW9mIG51bGw7CiAgJEVSUk9SKCcjNTogbnVsbCBpbnN0YW5jZW9mIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiBudWxsIGluc3RhbmNlb2YgbnVsbCB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoK","commentary":"If ShiftExpression is not an object, throw TypeError","description":"Checking all the types of primitives","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuIGNhc2UKICovCgovL0NIRUNLIzEKaWYgKGZhbHNlIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMTogZmFsc2UgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4oZmFsc2UpIGluc3RhbmNlb2YgQm9vbGVhbikgewoJJEVSUk9SKCcjMjogQm9vbGVhbihmYWxzZSkgaXMgbm90IGluc3RhbmNlb2YgQm9vbGVhbicpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBCb29sZWFuIGluc3RhbmNlb2YgQm9vbGVhbiAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4gaW5zdGFuY2VvZiBCb29sZWFuJyk7Cn0KCgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking Boolean case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoMCBpbnN0YW5jZW9mIE51bWJlcikgewoJJEVSUk9SKCcjMTogMCBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIoMCkgaW5zdGFuY2VvZiBOdW1iZXIpIHsKCSRFUlJPUignIzI6IE51bWJlcigwKSBpcyBub3QgaW5zdGFuY2VvZiBOdW1iZXInKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBuZXcgTnVtYmVyIGluc3RhbmNlb2YgTnVtYmVyJyk7Cn0KCgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking Number case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IGNvbnN0cnVjdG9yIGNhbGwgKHdpdGggIm5ldyIga2V5d29yZCkgbWFrZXMgaW5zdGFuY2UKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcgY2FzZQogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzE6ICIiIGlzIG5vdCBpbnN0YW5jZW9mIFN0cmluZycpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZygiIikgaW5zdGFuY2VvZiBTdHJpbmcpIHsKCSRFUlJPUignIzI6IFN0cmluZygiIikgaXMgbm90IGluc3RhbmNlb2YgU3RyaW5nJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZyAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogbmV3IFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZycpOwp9Cgo=","commentary":"Only constructor call (with \"new\" keyword) makes instance","description":"Checking String case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvciBjYXNlCiAqLwoKdmFyIF9fZXJyID0gbmV3IEVycm9yOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2VyciBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMTogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyMyOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIGVycl9fID0gRXJyb3IoJ2ZhaWxlZCcpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoIShlcnJfXyBpbnN0YW5jZW9mIEVycm9yKSkgewoJJEVSUk9SKCcjMzogVHlwZUVycm9yIGlzIHN1YmNsYXNzIG9mIEVycm9yIGZyb20gaW5zdGFuY2VvZiBvcGVyYXRvciBwb2l0IG9mIHZpZXcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGVycl9fIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"TypeError is subclass of Error from instanceof operator point of view","description":"Checking Error case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaW50IG9mIHZpZXcKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUeXBlRXJyb3IgY2FzZQogKi8KCnZhciBfX3RfX2VyciA9IG5ldyBUeXBlRXJyb3I7CgovL0NIRUNLIzEKaWYgKCEoX190X19lcnIgaW5zdGFuY2VvZiBFcnJvcikpIHsKCSRFUlJPUignIzE6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShfX3RfX2VyciBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKCSRFUlJPUignIzI6IFR5cGVFcnJvciBpcyBzdWJjbGFzcyBvZiBFcnJvciBmcm9tIGluc3RhbmNlb2Ygb3BlcmF0b3IgcG9pdCBvZiB2aWV3Jyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp2YXIgZXJyX190X18gPSBUeXBlRXJyb3IoJ2ZhaWxlZCcpOwoKLy9DSEVDSyMzCmlmICghKGVycl9fdF9fIGluc3RhbmNlb2YgRXJyb3IpKSB7CgkkRVJST1IoJyMzOiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgovL0NIRUNLIzQKaWYgKCEoZXJyX190X18gaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CgkkRVJST1IoJyM0OiBUeXBlRXJyb3IgaXMgc3ViY2xhc3Mgb2YgRXJyb3IgZnJvbSBpbnN0YW5jZW9mIG9wZXJhdG9yIHBvaXQgb2YgdmlldycpOwp9CgoK","commentary":"TypeError is subclass of Error from instanceof operator point of view","description":"Checking TypeError case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgInRoaXMiIGNhc2UKICovCgovL0NIRUNLIzEKdHJ5ewoJKHt9KSBpbnN0YW5jZW9mIHRoaXM7CgkkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CmNhdGNoKGUpewogIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwogIH0KfQoK","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking \"this\" case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTWF0aCBjYXNlCiAqLwoKLy9DSEVDSyMxCnRyeXsKCTEgaW5zdGFuY2VvZiBNYXRoOwoJJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUgIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSB7IAogICAgJEVSUk9SKCcjMTogMSBpbnN0YW5jZW9mIE1hdGggdGhyb3cgVHlwZUVycm9yJyk7CiAgfSAgCn0KCg==","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking Math case","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgZnVuY3Rpb24KICovCgpmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OwoKLy9DSEVDSyMxCmlmIChNeUZ1bmN0IGluc3RhbmNlb2YgTXlGdW5jdCl7CgkkRVJST1IoJyMxIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0ID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiAhPT0gdHJ1ZSl7CgkkRVJST1IoJyMyIGZ1bmN0aW9uIE15RnVuY3QoKXtyZXR1cm4gMH07IE15RnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKE15RnVuY3QgaW5zdGFuY2VvZiBPYmplY3QgIT09IHRydWUpewoJJEVSUk9SKCcjMyBmdW5jdGlvbiBNeUZ1bmN0KCl7cmV0dXJuIDB9OyBNeUZ1bmN0IGluc3RhbmNlb2YgT2JqZWN0ID09PSB0cnVlJyk7Cn0KCg==","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking if RelationalExpression is function","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIHRoZSAiaW5zdGFuY2VvZiIgb3BlcmF0b3IgY29uc2VxdWVudGx5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjYvUzExLjguNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgUmVsYXRpb25hbEV4cHJlc3Npb24gaXMgb2JqZWN0CiAqLwoKTXlGdW5jdCA9IGZ1bmN0aW9uKCl7fTsKX19teV9fZnVuY3QgPSBuZXcgTXlGdW5jdDsKCgovL0NIRUNLIzEKaWYgKCEoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBNeUZ1bmN0KSl7CgkkRVJST1IoJyMxIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19teV9fZnVuY3QgaW5zdGFuY2VvZiBGdW5jdGlvbil7CgkkRVJST1IoJyMyIE9ubHkgRnVuY3Rpb24gb2JqZWN0cyBpbXBsZW1lbnQgW1tIYXNJbnN0YW5jZV1dIGFuZCBjb25zZXF1ZW50bHkgY2FuIGJlIHByb3BlciBTaGlmdEV4cHJlc3Npb24gZm9yIFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShfX215X19mdW5jdCBpbnN0YW5jZW9mIE9iamVjdCkpewoJJEVSUk9SKCcjMyBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwp9CgovL0NIRUNLIzQKdHJ5ewoJX19teV9fZnVuY3QgaW5zdGFuY2VvZiBfX215X19mdW5jdDsKCSRFUlJPUignIzQgT25seSBGdW5jdGlvbiBvYmplY3RzIGltcGxlbWVudCBbW0hhc0luc3RhbmNlXV0gYW5kIGNvbnNlcXVlbnRseSBjYW4gYmUgcHJvcGVyIFNoaWZ0RXhwcmVzc2lvbiBmb3IgVGhlIGluc3RhbmNlb2Ygb3BlcmF0b3InKTsKfQpjYXRjaChlKXsgIAoJaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjNCBPbmx5IEZ1bmN0aW9uIG9iamVjdHMgaW1wbGVtZW50IFtbSGFzSW5zdGFuY2VdXSBhbmQgY29uc2VxdWVudGx5IGNhbiBiZSBwcm9wZXIgU2hpZnRFeHByZXNzaW9uIGZvciBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvcicpOwoJfQp9Cgo=","commentary":"Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the \"instanceof\" operator consequently","description":"Checking if RelationalExpression is object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3Qgb2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy9DSEVDSyMxCmlmICghKF9fb2JqIGluc3RhbmNlb2YgT2JqZWN0KSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Object object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheSBvYmplY3QKICovCgp2YXIgX19hcnI9W107CgovL0NIRUNLIzEKaWYgKCEoX19hcnIgaW5zdGFuY2VvZiBBcnJheSkpIHsKCSRFUlJPUignIzE6IElmIGluc3RhbmNlb2YgcmV0dXJucyB0cnVlIHRoZW4gR2V0VmFsdWUoUmVsYXRpb25hbEV4cHJlc3Npb24pIHdhcyBjb25zdHJ1Y3RlZCB3aXRoIFNoaWZ0RXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKaWYgKF9fYXJyLmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCg==","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Array object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJpbnN0YW5jZW9mIiByZXR1cm5zIHRydWUgaXQgbWVhbnMgdGhhdCBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgaXMgY29uc3RydWN0ZWQgd2l0aCBTaGlmdEV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNi9TMTEuOC42X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbiBvYmplY3QKICovCgp2YXIgX19mdW5jID0gbmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICghKF9fZnVuYyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewoJJEVSUk9SKCcjMTogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19mdW5jLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewoJJEVSUk9SKCcjMjogSWYgaW5zdGFuY2VvZiByZXR1cm5zIHRydWUgdGhlbiBHZXRWYWx1ZShSZWxhdGlvbmFsRXhwcmVzc2lvbikgd2FzIGNvbnN0cnVjdGVkIHdpdGggU2hpZnRFeHByZXNzaW9uJyk7Cn0KCgo=","commentary":"When \"instanceof\" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression","description":"Checking Function object","path":"TestCases/ch11/11.8/11.8.6/S11.8.6_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gUmVsYXRpb25hbEV4cHJlc3Npb24gYW5kICJpbiIgYW5kIGJldHdlZW4gImluIiBhbmQgU2hpZnRFeHByZXNzaW9uIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMDlpblx1MDAwOU51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSJcXHUwMDA5aW5cXHUwMDA5TnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiJ01BWF9WQUxVRSdcdTAwMEJpblx1MDAwQk51bWJlciIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIk1BWF9WQUxVRSJcXHUwMDBCaW5cXHUwMDBCTnVtYmVyID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQ2luXHUwMDBDTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAiTUFYX1ZBTFVFIlxcdTAwMENpblxcdTAwMENOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAyMGluXHUwMDIwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAiTUFYX1ZBTFVFIlxcdTAwMjBpblxcdTAwMjBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDBBMGluXHUwMEEwTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAiTUFYX1ZBTFVFIlxcdTAwQTBpblxcdTAwQTBOdW1iZXIgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwQWluXHUwMDBBTnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiTUFYX1ZBTFVFIlxcdTAwMEFpblxcdTAwMEFOdW1iZXIgPT09IHRydWUnKTsgIAp9CgovL0NIRUNLIzcKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUwMDBEaW5cdTAwMEROdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICJNQVhfVkFMVUUiXFx1MDAwRGluXFx1MDAwRE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI4aW5cdTIwMjhOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICJNQVhfVkFMVUUiXFx1MjAyOGluXFx1MjAyOE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIidNQVhfVkFMVUUnXHUyMDI5aW5cdTIwMjlOdW1iZXIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICJNQVhfVkFMVUUiXFx1MjAyOWluXFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEwCmlmIChldmFsKCInTUFYX1ZBTFVFJ1x1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOWluXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5TnVtYmVyIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMDogIk1BWF9WQUxVRSJcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlpblxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOU51bWJlciA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"White Space and Line Terminator between RelationalExpression and \"in\" and between \"in\" and ShiftExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBFeHByZXNzaW9uIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIk1BWF9WQUxVRSIgaW4gTnVtYmVyICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIk1BWF9WQUxVRSIgaW4gTnVtYmVyID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9ICJNQVhfVkFMVUUiOwppZiAoeCBpbiBOdW1iZXIgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9ICJNQVhfVkFMVUUiOyB4IGluIE51bWJlciA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKdmFyIHkgPSBOdW1iZXI7CmlmICgiTUFYX1ZBTFVFIiBpbiAgeSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHZhciB5ID0gTnVtYmVyOyAiTUFYX1ZBTFVFIiBpbiB5ID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9ICJNQVhfVkFMVUUiOwp2YXIgeSA9IE51bWJlcjsKaWYgKHggaW4geSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gIk1BWF9WQUxVRSI7IHZhciB5ID0gTnVtYmVyOyB4IGluIHkgPT09IHRydWUnKTsKfQoKCg==","commentary":"Operator \"in\" uses GetValue","description":"Either Expression is not Reference or GetBase is not null","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoUmVsYXRpb25hbEV4cHJlc3Npb24pIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgTUFYX1ZBTFVFIGluIE51bWJlcjsKICAkRVJST1IoJyMxLjE6IE1BWF9WQUxVRSBpbiBOdW1iZXIgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChNQVhfVkFMVUUgaW4gTnVtYmVyKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBNQVhfVkFMVUUgaW4gTnVtYmVyIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"in\" uses GetValue","description":"If GetBase(RelationalExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoU2hpZnRFeHByZXNzaW9uKSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICJNQVhfVkFMVUUiIGluIE5VTUJFUjsKICAkRVJST1IoJyMxLjE6ICJNQVhfVkFMVUUiIGluIE5VTUJFUiB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKCJNQVhfVkFMVUUiIGluIE5VTUJFUikpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogIk1BWF9WQUxVRSIgaW4gTlVNQkVSIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"Operator \"in\" uses GetValue","description":"If GetBase(ShiftExpression) is null, throw ReferenceError","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxIAp2YXIgTlVNQkVSID0gMDsKaWYgKChOVU1CRVIgPSBOdW1iZXIsICJNQVhfVkFMVUUiKSBpbiBOVU1CRVIgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgTlVNQkVSID0gMDsgKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyAKaWYgKG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIm5vbmUiLCBOdW1iZXIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiOyBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJub25lIiwgTnVtYmVyKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgaW4geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSBpbiB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpIGluIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIGluIHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG1heF92YWx1ZSBpbiAobWF4X3ZhbHVlID0gIk1BWF9WQUxVRSIsIE51bWJlcik7CiAgJEVSUk9SKCcjMS4xOiBtYXhfdmFsdWUgaW4gKG1heF92YWx1ZSA9ICJNQVhfVkFMVUUiLCBOdW1iZXIpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAobWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbWF4X3ZhbHVlIGluIChtYXhfdmFsdWUgPSAiTUFYX1ZBTFVFIiwgTnVtYmVyKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICgoTlVNQkVSID0gTnVtYmVyLCAiTUFYX1ZBTFVFIikgaW4gTlVNQkVSICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5VTUJFUiA9IE51bWJlciwgIk1BWF9WQUxVRSIpIGluIE5VTUJFUiAhPT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTaGlmdEV4cHJlc3Npb24gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgVHlwZUVycm9yCiAqCiAqIEBwYXRoIGNoMTEvMTEuOC8xMS44LjcvUzExLjguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHRoZSB0eXBlcyBvZiBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgInRvU3RyaW5nIiBpbiB0cnVlOwogICRFUlJPUignIzE6ICJ0b1N0cmluZyIgaW4gdHJ1ZSB0aHJvdyBUeXBlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMTogInRvU3RyaW5nIiBpbiB0cnVlIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICAiTUFYX1ZBTFVFIiBpbiAxOwogICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzI6ICJNQVhfVkFMVUUiIGluIDEgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogICJsZW5ndGgiIGluICJzdHJpbmciOwogICRFUlJPUignIzM6ICJsZW5ndGgiIGluICJzdHJpbmciIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzOiAibGVuZ3RoIiBpbiAic3RyaW5nIiB0aHJvdyBUeXBlRXJyb3InKTsgIAogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgInRvU3RyaW5nIiBpbiB1bmRlZmluZWQ7CiAgJEVSUk9SKCcjNDogInRvU3RyaW5nIiBpbiB1bmRlZmluZWQgdGhyb3cgVHlwZUVycm9yJyk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQ6ICJ0b1N0cmluZyIgaW4gdW5kZWZpbmVkIHRocm93IFR5cGVFcnJvcicpOyAgCiAgfQp9CgovL0NIRUNLIzUKdHJ5IHsKICAidG9TdHJpbmciIGluIG51bGw7CiAgJEVSUk9SKCcjNTogInRvU3RyaW5nIiBpbiBudWxsIHRocm93IFR5cGVFcnJvcicpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM1OiAidG9TdHJpbmciIGluIG51bGwgdGhyb3cgVHlwZUVycm9yJyk7ICAKICB9Cn0KCg==","commentary":"If ShiftExpression is not an object, throw TypeError","description":"Checking all the types of primitives","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciAiaW4iIGNhbGxzIFRvU3RyaW5nKFNoaWZ0RXhwcmVzc2lvbikKICoKICogQHBhdGggY2gxMS8xMS44LzExLjguNy9TMTEuOC43X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBjb3ZlcnNpb247CiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJ0cnVlIl0gPSAxOwppZiAodHJ1ZSBpbiBvYmplY3QgIT09ICJ0cnVlIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzE6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsidHJ1ZSJdID0gMTsgdHJ1ZSBpbiBvYmplY3QgPT09ICJ0cnVlIiBpbiBvYmplY3QnKTsgIAp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt9OwpvYmplY3QuSW5maW5pdHkgPSAxOwppZiAoSW5maW5pdHkgaW4gb2JqZWN0ICE9PSAiSW5maW5pdHkiIGluIG9iamVjdCkgeyAgCiAgJEVSUk9SKCcjMjogInZhciBvYmplY3QgPSB7fTsgb2JqZWN0LkluZmluaXR5ID0gMTsgSW5maW5pdHkgaW4gb2JqZWN0ID09PSAiSW5maW5pdHkiIGluIG9iamVjdCcpOyAgCn0KCi8vQ0hFQ0sjNAp2YXIgb2JqZWN0ID0ge307Cm9iamVjdC51bmRlZmluZWQgPSAxOwppZiAodW5kZWZpbmVkIGluIG9iamVjdCAhPT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0KSB7ICAKICAkRVJST1IoJyM0OiAidmFyIG9iamVjdCA9IHt9OyBvYmplY3QudW5kZWZpbmVkID0gMTsgdW5kZWZpbmVkIGluIG9iamVjdCA9PT0gInVuZGVmaW5lZCIgaW4gb2JqZWN0Jyk7ICAKfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7fTsKb2JqZWN0WyJudWxsIl0gPSAxOwppZiAobnVsbCBpbiBvYmplY3QgIT09ICJudWxsIiBpbiBvYmplY3QpIHsgIAogICRFUlJPUignIzU6ICJ2YXIgb2JqZWN0ID0ge307IG9iamVjdFsibnVsbCJdID0gMTsgbnVsbCBpbiBvYmplY3QgPT09ICJudWxsIiBpbiBvYmplY3QnKTsgIAp9Cgo=","commentary":"Operator \"in\" calls ToString(ShiftExpression)","description":"Checking ToString coversion","path":"TestCases/ch11/11.8/11.8.7/S11.8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT0iIG9yIGJldHdlZW4gIj09IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5PT1cdTAwMDkxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZVxcdTAwMDk9PVxcdTAwMDkxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoInRydWVcdTAwMEI9PVx1MDAwQjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQj09XFx1MDAwQjEpID09PSB0cnVlJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCJ0cnVlXHUwMDBDPT1cdTAwMEMxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZVxcdTAwMEM9PVxcdTAwMEMxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjA9PVx1MDAyMDEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh0cnVlXFx1MDAyMD09XFx1MDAyMDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCgidHJ1ZVx1MDBBMD09XHUwMEEwMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwPT1cXHUwMEEwMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCJ0cnVlXHUwMDBBPT1cdTAwMEExIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAodHJ1ZVxcdTAwMEE9PVxcdTAwMEExKSA9PT0gdHJ1ZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRD09XHUwMDBEMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKHRydWVcXHUwMDBEPT1cXHUwMDBEMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmIChldmFsKCJ0cnVlXHUyMDI4PT1cdTIwMjgxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjg9PVxcdTIwMjgxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoInRydWVcdTIwMjk9PVx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6ICh0cnVlXFx1MjAyOT09XFx1MjAyOTEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjk9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAodHJ1ZVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MSkgPT09IHRydWUnKTsKfQoK","commentary":"White Space and Line Terminator between EqualityExpression and \"==\" or between \"==\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgxID09IDEpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDE7CmlmICgoeCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCgxID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAoMSA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCA9PSB5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyAoeCA9PSB5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7CnZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOwpvYmplY3R4LnByb3AgPSAxOwpvYmplY3R5LnByb3AgPSAxOwppZiAoKG9iamVjdHgucHJvcCA9PSBvYmplY3R5LnByb3ApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wID09IG9iamVjdHkucHJvcCkgPT09IHRydWUnKTsKfQoK","commentary":"Operator x == y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gMTsKICAkRVJST1IoJyMxLjE6IHggPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x == y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgPT0geTsKICAkRVJST1IoJyMxLjE6IDEgPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT0geSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogMSA9PSB5IHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x == y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSA9PSB4KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKCh4ID0gMSkgPT0geCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMDsgCmlmICgoeCA9PSAoeCA9IDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDA7ICh4ID09ICh4ID0gMSkpID09PSBmYWxzZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSA9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpID09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCh5ID0gMSkgPT0geSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdHJ1ZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoZmFsc2UgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh0cnVlID09IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSA9PSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGZhbHNlID09IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IChmYWxzZSA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Return true, if x and y are both true or both false; otherwise, return false","description":"x and y are boolean primitives","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSA9PSAiMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlID09ICIwIikgPT09IHRydWUnKTsKfQoK","commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y","description":"x is primitive boolean, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggPT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgPT0gZmFsc2UpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKDAgPT0gZmFsc2UpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIxIiA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgiMSIgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x == ToNumber(y)","description":"x is primitive number, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgoTnVtYmVyLk5hTiA9PSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoTmFOID09IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IChOYU4gPT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKE5hTiA9PSArSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKE5hTiA9PSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTmFOID09IE51bWJlci5NQVhfVkFMVUUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6IChOYU4gPT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKE51bWJlci5OYU4gPT0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKE5hTiA9PSBOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiA9PSAic3RyaW5nIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKE5hTiA9PSAic3RyaW5nIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKE51bWJlci5OYU4gPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiAoTmFOID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If x or y is NaN, return false","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICgodHJ1ZSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoLTEgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoTnVtYmVyLk5hTiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoTmFOID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoK0luZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiAoLUluZmluaXR5ID09IE5hTikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKE51bWJlci5NQVhfVkFMVUUgPT0gTnVtYmVyLk5hTikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk1JTl9WQUxVRSA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAoTnVtYmVyLk1JTl9WQUxVRSA9PSBOYU4pID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiA9PSBOdW1iZXIuTmFOKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAoInN0cmluZyIgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgobmV3IE9iamVjdCgpID09IE51bWJlci5OYU4pICE9PSBmYWxzZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgPT0gTmFOKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x or y is NaN, return false","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICgoKzAgPT0gLTApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCswID09IC0wKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCA9PSArMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoLTAgPT0gKzApID09PSB0cnVlJyk7Cn0KCg==","commentary":"If x is +0(-0) and y is -0(+0), return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKCtJbmZpbml0eSA9PSArSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSA9PSAtSW5maW5pdHkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgrSW5maW5pdHkgPT0gLSgtSW5maW5pdHkpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxID09IDAuOTk5OTk5OTk5OTk5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoMSA9PSAwLjk5OTk5OTk5OTk5OSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKDEuMCA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgxLjAgPT0gMSkgPT09IHRydWUnKTsKfQoK","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgiIiA9PSAiIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoIiIgPT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiA9PSAiICIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIiAoIiA9PSAiICIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCIgIiA9PSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogIiAoIiA9PSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciID09ICJzdHJpbmciKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgic3RyaW5nIiA9PSAic3RyaW5nIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgoIiBzdHJpbmciID09ICJzdHJpbmcgIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKCIgc3RyaW5nIiA9PSAic3RyaW5nICIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiA9PSAiMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgiMS4wIiA9PSAiMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgiMHhmZiIgPT0gIjI1NSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgPT0gIjI1NSIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCA9PSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxID09ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEuMTAwID09ICIrMS4xMCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwID09ICIrMS4xMCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKDEgPT0gInRydWUiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoMSA9PSAidHJ1ZSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgyNTUgPT0gIjB4ZmYiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgyNTUgPT0gIjB4ZmYiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgwID09ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgwID09ICIiKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x == ToNumber(y)","description":"x is primitive number, y is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiLTEiID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgiLTEuMTAwIiA9PSAtMS4xMCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgPT0gLTEuMTApID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJmYWxzZSIgPT0gMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCI1ZS0zMjQiID09IDVlLTMyNCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgPT0gNWUtMzI0KSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) == y","description":"x is primitive string, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh1bmRlZmluZWQgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh2b2lkIDAgPT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgPT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh1bmRlZmluZWQgPT0gZXZhbCgidmFyIHgiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodW5kZWZpbmVkID09IGV2YWwoInZhciB4IikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSBudWxsKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh1bmRlZmluZWQgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmICgobnVsbCA9PSB2b2lkIDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgPT0gdm9pZCAwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsID09IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgPT0gbnVsbCkgPT09IHRydWUnKTsKfQoK","commentary":"If Type(x) as well as Type(y) is undefined or null, return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgPT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHVuZGVmaW5lZCA9PSB0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgodW5kZWZpbmVkID09IDApICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgPT0gMCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHVuZGVmaW5lZCA9PSAidW5kZWZpbmVkIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCA9PSB7fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogKHVuZGVmaW5lZCA9PSB7fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKG51bGwgPT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzU6IChudWxsID09IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCA9PSAwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCA9PSAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCA9PSAibnVsbCIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6IChudWxsID09ICJudWxsIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG51bGwgPT0ge30pICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChudWxsID09IHt9KSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If one expression is undefined or null and another is not, return false","description":"x is null or undefined, y is not","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSA9PSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IChmYWxzZSA9PSB1bmRlZmluZWQpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOID09IHVuZGVmaW5lZCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoInVuZGVmaW5lZCIgPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gPT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe30gPT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoZmFsc2UgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCgwID09IG51bGwpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICgwID09IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogKCJudWxsIiA9PSBudWxsKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmICgoe30gPT0gbnVsbCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogKHt9ID09IG51bGwpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If one expression is undefined or null and another is not, return false","description":"y is null or undefined, x is not","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A6.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSA9PSBuZXcgTnVtYmVyKDEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygieCIpID09IG5ldyBTdHJpbmcoIngiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgPT0gbmV3IE9iamVjdCgpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAobmV3IE9iamVjdCgpID09IG5ldyBPYmplY3QoKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp4ID0ge307IAp5ID0geDsKaWYgKCh4ID09IHkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogeCA9IHt9OyB5ID0geDsgKHggPT0geSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoKG5ldyBOdW1iZXIoMSkgPT0gbmV3IFN0cmluZygiMSIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSA9PSBuZXcgU3RyaW5nKCIxIikpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKChuZXcgU3RyaW5nKCIxIikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzg6IChuZXcgU3RyaW5nKCJ4IikgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgPT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKDEpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgPT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiMSIpID09IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIjEiKSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCA9PSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4xL1MxMS45LjFfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh0cnVlID09IG5ldyBOdW1iZXIoMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgPT0gbmV3IE51bWJlcigxKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSA9PSBuZXcgU3RyaW5nKCIrMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh0cnVlID09IG5ldyBTdHJpbmcoIisxIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive boolean","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgPT0gMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgPT0gLTEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09IC0xKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCItMSIpID09IC0xKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCItMSIpID09IC0xKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAoMSA9PSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoLTEgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKC0xID09IG5ldyBOdW1iZXIoLTEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICgtMSA9PSBuZXcgU3RyaW5nKCItMSIpKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive number","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSA9PSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgPT0gIjEiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IChuZXcgQm9vbGVhbih0cnVlKSA9PSAiMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoLTEpID09ICItMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpID09ICItMSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIngiKSA9PSAieCIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) == y","description":"x is object, y is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ID09IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjEvUzExLjkuMV9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiID09IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICgiMSIgPT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMSIgPT0gbmV3IE51bWJlcigtMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgPT0gbmV3IE51bWJlcigtMSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ4IiA9PSBuZXcgU3RyaW5nKCJ4IikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If Type(x) is String and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primitive string","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpID09IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gIisxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09ICIrMSIpID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSA9PSB0cnVlKSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ID09IHRydWUpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gPT0gdHJ1ZSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoe3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gPT0gIjEiKSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSA9PSAiKzEiKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ID09ICIrMSIpID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKTsKICAkRVJST1IoJyM3LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ID09IDEpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSA9PSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ID09IDEpOwogICRFUlJPUignIzguMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gPT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSA9PSAxKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) == y","description":"x is object, y is primtitive","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggPT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMS9TMTEuOS4xX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiKzEiID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pID09PSB0cnVlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNC4xOiAodHJ1ZSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSA9PT0gdHJ1ZScpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICh0cnVlID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0pIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogKHRydWUgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CmlmICgoMSA9PSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKDEgPT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfSBlbHNlIHsKICBpZiAoKCIrMSIgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSB0cnVlJyk7CiAgfQp9CgovL0NIRUNLIzcKdHJ5IHsKICAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KTsKICAkRVJST1IoJyM3LjE6ICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0pIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICgoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxID09IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzguMTogKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoKDEgPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAoMSA9PSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x == ToPrimitive(y)","description":"y is object, x is primtitive","path":"TestCases/ch11/11.9/11.9.1/S11.9.1_A7.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT0iIG9yIGJldHdlZW4gIiE9IiBhbmQgUmVsYXRpb25hbEV4cHJlc3Npb24gYXJlIGFsbG93ZWQKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKLy9DSEVDSyMxCmlmIChldmFsKCJ0cnVlXHUwMDA5IT1cdTAwMDkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWVcXHUwMDA5IT1cXHUwMDA5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgidHJ1ZVx1MDAwQiE9XHUwMDBCMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh0cnVlXFx1MDAwQiE9XFx1MDAwQjEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCgidHJ1ZVx1MDAwQyE9XHUwMDBDMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlXFx1MDAwQyE9XFx1MDAwQzEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKGV2YWwoInRydWVcdTAwMjAhPVx1MDAyMDEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodHJ1ZVxcdTAwMjAhPVxcdTAwMjAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCJ0cnVlXHUwMEEwIT1cdTAwQTAxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHRydWVcXHUwMEEwIT1cXHUwMEEwMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZXZhbCgidHJ1ZVx1MDAwQSE9XHUwMDBBMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzY6ICh0cnVlXFx1MDAwQSE9XFx1MDAwQTEpID09PSBmYWxzZScpOyAgCn0KCi8vQ0hFQ0sjNwppZiAoZXZhbCgidHJ1ZVx1MDAwRCE9XHUwMDBEMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzc6ICh0cnVlXFx1MDAwRCE9XFx1MDAwRDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoInRydWVcdTIwMjghPVx1MjAyODEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiAodHJ1ZVxcdTIwMjghPVxcdTIwMjgxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmIChldmFsKCJ0cnVlXHUyMDI5IT1cdTIwMjkxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogKHRydWVcXHUyMDI5IT1cXHUyMDI5MSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGV2YWwoInRydWVcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkhPVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxMDogKHRydWVcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkhPVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOTEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"!=\" or between \"!=\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRWl0aGVyIFR5cGUgaXMgbm90IFJlZmVyZW5jZSBvciBHZXRCYXNlIGlzIG5vdCBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSAxKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoMSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCh4ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMTsgKHggIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwp2YXIgeSA9IDE7CmlmICgoMSAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7ICgxICE9IHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKdmFyIHggPSAxOwp2YXIgeSA9IDE7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IDE7IHZhciB5ID0gMTsgKHggIT0geSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICgob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdHggPSBuZXcgT2JqZWN0KCk7IHZhciBvYmplY3R5ID0gbmV3IE9iamVjdCgpOyBvYmplY3R4LnByb3AgPSAxOyBvYmplY3R5LnByb3AgPSAxOyAob2JqZWN0eC5wcm9wICE9IG9iamVjdHkucHJvcCkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Operator x != y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh4KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gMTsKICAkRVJST1IoJyMxLjE6IHggIT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gMSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAxIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgoK","commentary":"Operator x != y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9IHkgdXNlcyBHZXRWYWx1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gSWYgR2V0QmFzZSh5KSBpcyBudWxsLCB0aHJvdyBSZWZlcmVuY2VFcnJvcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIDEgIT0geTsKICAkRVJST1IoJyMxOiAxICE9IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3InKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x != y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoKHggPSAxKSAhPSB4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDA7ICgoeCA9IDEpICE9IHgpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKCh4ICE9ICh4ID0gMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyAoeCAhPSAoeCA9IDEpKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT0geSgpOwogICAkRVJST1IoJyMxLjE6IHZhciB4ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH07IHZhciB5ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH07IHgoKSAhPSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoeCgpICE9IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArIChlKSk7CiAgICAgfQogICB9Cn0KCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggIT0gKHggPSAxKTsKICAkRVJST1IoJyMxLjE6IHggIT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAhPSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9CgovL0NIRUNLIzIKaWYgKCgoeSA9IDEpICE9IHkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgoeSA9IDEpICE9IHkpID09PSBmYWxzZScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gZmFsc2UsIGlmIHggYW5kIHkgYXJlIGJvdGggdHJ1ZSBvciBib3RoIGZhbHNlOyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBib29sZWFuIHByaW1pdGl2ZXMKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICh0cnVlICE9IHRydWUpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChmYWxzZSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodHJ1ZSAhPSBmYWxzZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAodHJ1ZSAhPSBmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoZmFsc2UgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAoZmFsc2UgIT0gdHJ1ZSkgPT09IHRydWUnKTsKfQoK","commentary":"Return false, if x and y are both true or both false; otherwise, return true","description":"x and y are boolean primitives","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgTnVtYmVyLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIFRvTnVtYmVyKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4sIHkgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZiAoKHRydWUgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZhbHNlICE9ICIwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKGZhbHNlICE9ICIwIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAxfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"If Type(x) is Boolean and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y","description":"x is primitive boolean, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHkpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb21wYXJpc29uIHggIT0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0EzLjMuanMKICogQGRlc2NyaXB0aW9uIHggaXMgcHJpbWl0aXZlIG51bWJlciwgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAoKDAgIT0gZmFsc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgwICE9IGZhbHNlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIjEiICE9IHRydWUpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgiMSIgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSAhPSBmYWxzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIwIn19ICE9IGZhbHNlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjAifX0gIT0gZmFsc2UpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(y) is Number and Type(y) is Boolean,\nreturn the result of comparison x != ToNumber(y)","description":"x is primitive number, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKChOdW1iZXIuTmFOICE9IHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKE5hTiAhPSB0cnVlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKChOdW1iZXIuTmFOICE9IDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE5hTiAhPSAxKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKE5hTiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChOYU4gIT0gK0luZmluaXR5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChOdW1iZXIuTmFOICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAoTmFOICE9IC1JbmZpbml0eSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IChOYU4gIT0gTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoTnVtYmVyLk5hTiAhPSBOdW1iZXIuTUlOX1ZBTFVFKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IChOYU4gIT0gTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM4CmlmICgoTnVtYmVyLk5hTiAhPSAic3RyaW5nIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAoTmFOICE9ICJzdHJpbmciKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzkKaWYgKChOdW1iZXIuTmFOICE9IG5ldyBPYmplY3QoKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiAoTmFOICE9IG5ldyBPYmplY3QoKSkgPT09IHRydWUnKTsKfQoKCg==","commentary":"If x or y is NaN, return true","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKHRydWUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICgtMSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKE51bWJlci5OYU4gIT0gTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoTmFOICE9IE5hTikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogKCtJbmZpbml0eSAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgtSW5maW5pdHkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChOdW1iZXIuTUFYX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKE51bWJlci5NQVhfVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChOdW1iZXIuTUlOX1ZBTFVFICE9IE51bWJlci5OYU4pICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKE51bWJlci5NSU5fVkFMVUUgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKCgic3RyaW5nIiAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6ICgic3RyaW5nIiAhPSBOYU4pID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoKG5ldyBPYmplY3QoKSAhPSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzk6IChuZXcgT2JqZWN0KCkgIT0gTmFOKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If x or y is NaN, return true","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKCswICE9IC0wKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoKzAgIT0gLTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMCAhPSArMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0wICE9ICswKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If x is +0(-0) and y is -0(+0), return false","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgrSW5maW5pdHkgIT0gK0luZmluaXR5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC1JbmZpbml0eSAhPSAtSW5maW5pdHkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT0gLU51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKCtJbmZpbml0eSAhPSAtKC1JbmZpbml0eSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCgxICE9IDAuOTk5OTk5OTk5OTk5KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICgxICE9IDAuOTk5OTk5OTk5OTk5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKCgxLjAgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEuMCAhPSAxKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIHggYW5kIHkgYXJlIHByaW1pdGl2ZSBzdHJpbmdzCiAqLwoKLy9DSEVDSyMxCmlmICgoIiIgIT0gIiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6ICgiIiAhPSAiIikgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCIgIiAhPSAiICIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICIgKCIgIT0gIiAiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIiAiICE9ICIiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICIgKCIgIT0gIiIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKCJzdHJpbmciICE9ICJzdHJpbmciKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoInN0cmluZyIgIT0gInN0cmluZyIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKCgiIHN0cmluZyIgIT0gInN0cmluZyAiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6ICgiIHN0cmluZyIgIT0gInN0cmluZyAiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKCgiMS4wIiAhPSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKCIxLjAiICE9ICIxIikgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgoIjB4ZmYiICE9ICIyNTUiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6ICgiMHhmZiIgIT0gIjI1NSIpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24geCAhPSBUb051bWJlcih5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgbnVtYmVyLCB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCgxICE9ICIxIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoMS4xMDAgIT0gIisxLjEwIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKDEuMTAwICE9ICIrMS4xMCIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgxICE9ICJ0cnVlIikgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiAoMSAhPSAidHJ1ZSIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKDI1NSAhPSAiMHhmZiIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6ICgyNTUgIT0gIjB4ZmYiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM1CmlmICgoMCAhPSAiIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDAgIT0gIiIpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is String,\nreturn the result of comparison x != ToNumber(y)","description":"x is primitive number, y is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gVG9OdW1iZXIoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBwcmltaXRpdmUgc3RyaW5nLCB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCgiLTEiICE9IC0xKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIi0xIiAhPSAtMSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKCItMS4xMDAiICE9IC0xLjEwKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiAoIi0xLjEwMCIgIT0gLTEuMTApID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgiZmFsc2UiICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJmYWxzZSIgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoIjVlLTMyNCIgIT0gNWUtMzI0KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAoIjVlLTMyNCIgIT0gNWUtMzI0KSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"If Type(x) is String and Type(y) is Number,\nreturn the result of comparison ToNumber(x) != y","description":"x is primitive string, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFzIHdlbGwgYXMgVHlwZSh5KSBpcyBVbmRlZmluZWQgb3IgTnVsbCwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E2LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjb21iaW5hdGlvbnMKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdW5kZWZpbmVkKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHVuZGVmaW5lZCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHZvaWQgMCAhPSB1bmRlZmluZWQpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh2b2lkIDAgIT0gdW5kZWZpbmVkKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9IGV2YWwoInZhciB4IikpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gZXZhbCgidmFyIHgiKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IG51bGwpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IHZvaWQgMCkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKG51bGwgIT0gdm9pZCAwKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobnVsbCAhPSBudWxsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiAobnVsbCAhPSBudWxsKSA9PT0gZmFsc2UnKTsKfQoK","commentary":"If Type(x) as well as Type(y) is Undefined or Null, return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeSBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKCh1bmRlZmluZWQgIT0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAodW5kZWZpbmVkICE9IHRydWUpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHVuZGVmaW5lZCAhPSAwKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6ICh1bmRlZmluZWQgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICgodW5kZWZpbmVkICE9ICJ1bmRlZmluZWQiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6ICh1bmRlZmluZWQgIT0gInVuZGVmaW5lZCIpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHVuZGVmaW5lZCAhPSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiAodW5kZWZpbmVkICE9IHt9KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYgKChudWxsICE9IGZhbHNlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IChudWxsICE9IGZhbHNlKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzYKaWYgKChudWxsICE9IDApICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogKG51bGwgIT0gMCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM3CmlmICgobnVsbCAhPSAibnVsbCIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogKG51bGwgIT0gIm51bGwiKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzgKaWYgKChudWxsICE9IHt9KSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IChudWxsICE9IHt9KSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"If one expression is undefined or null and another is not, return false","description":"x is null or undefined, y is not","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBvbmUgZXhwcmVzc2lvbiBpcyB1bmRlZmluZWQgb3IgbnVsbCBhbmQgYW5vdGhlciBpcyBub3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTYuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgeCBpcyBub3QKICovCgovL0NIRUNLIzEKaWYgKChmYWxzZSAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogKGZhbHNlICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICgoTnVtYmVyLk5hTiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKE51bWJlci5OYU4gIT0gdW5kZWZpbmVkKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKCgidW5kZWZpbmVkIiAhPSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogKCJ1bmRlZmluZWQiICE9IHVuZGVmaW5lZCkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmICgoe30gIT0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6ICh7fSAhPSB1bmRlZmluZWQpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoKGZhbHNlICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogKGZhbHNlICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoKDAgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAoMCAhPSBudWxsKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKCgibnVsbCIgIT0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAoIm51bGwiICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKHt9ICE9IG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogKHt9ICE9IG51bGwpID09PSB0cnVlJyk7Cn0KCg==","commentary":"If one expression is undefined or null and another is not, return false","description":"y is null or undefined, x is not","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQm9vbGVhbiBvYmplY3QsIE51bWJlciBvYmplY3QsIFN0cmluZyBvYmplY3QsIE9iamVjdCBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IChuZXcgU3RyaW5nKCJ4IikgIT0gbmV3IFN0cmluZygieCIpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYgKChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IChuZXcgT2JqZWN0KCkgIT0gbmV3IE9iamVjdCgpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKeCA9IHt9OyAKeSA9IHg7CmlmICgoeCAhPSB5KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB4ID0ge307IHkgPSB4OyAoeCAhPSB5KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2IChuZXcgQm9vbGVhbih0cnVlKSAhPSBuZXcgTnVtYmVyKDEpKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzcKaWYgKChuZXcgTnVtYmVyKDEpICE9IG5ldyBTdHJpbmcoIjEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxKSAhPSBuZXcgU3RyaW5nKCIxIikpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM4OiAobmV3IFN0cmluZygieCIpICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gdHJ1ZScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBCb29sZWFuLAogKiByZXR1cm4gVG9QcmltaXRpdmUoeCkgIT0geQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMi5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBvYmplY3QsIHkgaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKChuZXcgQm9vbGVhbih0cnVlKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoMSkgIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG5ldyBTdHJpbmcoIjEiKSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygiMSIpICE9IHRydWUpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Boolean,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIEJvb2xlYW4gYW5kIFR5cGUoeSkgaXMgT2JqZWN0LAogKiByZXR1cm4geCAhPSBUb1ByaW1pdGl2ZSh5KQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS4yL1MxMS45LjJfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBvYmplY3QsIHggaXMgcHJpbWl0aXZlIGJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHRydWUgIT0gbmV3IE51bWJlcigxKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKHRydWUgIT0gbmV3IE51bWJlcigxKSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKHRydWUgIT0gbmV3IFN0cmluZygiKzEiKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is Boolean and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive boolean","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBOdW1iZXIsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKG5ldyBCb29sZWFuKHRydWUpICE9IDEpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKChuZXcgTnVtYmVyKC0xKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9IC0xKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgobmV3IFN0cmluZygiLTEiKSAhPSAtMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKG5ldyBTdHJpbmcoIi0xIikgIT0gLTEpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Object and Type(y) is Number,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE51bWJlciBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgoMSAhPSBuZXcgQm9vbGVhbih0cnVlKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogKDEgIT0gbmV3IEJvb2xlYW4odHJ1ZSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKCgtMSAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKC0xICE9IG5ldyBOdW1iZXIoLTEpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoLTEgIT0gbmV3IFN0cmluZygiLTEiKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogKC0xICE9IG5ldyBTdHJpbmcoIi0xIikpID09PSBmYWxzZScpOwp9Cgo=","commentary":"If Type(x) is Number and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive number","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBTdHJpbmcsCiAqIHJldHVybiBUb1ByaW1pdGl2ZSh4KSAhPSB5CiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGlzIG9iamVjdCwgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAobmV3IEJvb2xlYW4odHJ1ZSkgIT0gIjEiKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgobmV3IE51bWJlcigtMSkgIT0gIi0xIikgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoLTEpICE9ICItMSIpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKChuZXcgU3RyaW5nKCJ4IikgIT0gIngiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAobmV3IFN0cmluZygieCIpICE9ICJ4IikgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is Object and Type(y) is String,\nreturn ToPrimitive(x) != y","description":"x is object, y is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIFN0cmluZyBhbmQgVHlwZSh5KSBpcyBPYmplY3QsCiAqIHJldHVybiB4ICE9IFRvUHJpbWl0aXZlKHkpCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjIvUzExLjkuMl9BNy43LmpzCiAqIEBkZXNjcmlwdGlvbiB5IGlzIG9iamVjdCwgeCBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoIjEiICE9IG5ldyBCb29sZWFuKHRydWUpKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmICgoIi0xIiAhPSBuZXcgTnVtYmVyKC0xKSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogKCItMSIgIT0gbmV3IE51bWJlcigtMSkpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKCgieCIgIT0gbmV3IFN0cmluZygieCIpKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiAoIngiICE9IG5ldyBTdHJpbmcoIngiKSkgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"If Type(x) is String and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primitive string","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIE9iamVjdCBhbmQgVHlwZSh5KSBpcyBwcmltaXRpdmUgdHlwZSwKICogcmV0dXJuIFRvUHJpbWl0aXZlKHgpICE9IHkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjguanMKICogQGRlc2NyaXB0aW9uIHggaXMgb2JqZWN0LCB5IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh0cnVlICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICgiKzEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHRydWUgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAodHJ1ZSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCgxICE9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKDEgIT0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoIjEiICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICgiMSIgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19KSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoIisxIiAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0pID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSk7CiAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNzogKDEgIT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSkgdGhyb3cgImVycm9yIicpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pOwogICRFUlJPUignIzg6ICgxICE9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0pIHRocm93IFR5cGVFcnJvcicpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4OiAoMSAhPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19KSB0aHJvdyBUeXBlRXJyb3InKTsKICB9IAp9Cgo=","commentary":"If Type(x) is Object and Type(y) is primitive type,\nreturn ToPrimitive(x) != y","description":"x is object, y is primtitive","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIHByaW1pdGl2ZSB0eXBlIGFuZCBUeXBlKHkpIGlzIE9iamVjdCwKICogcmV0dXJuIHggIT0gVG9QcmltaXRpdmUoeSkKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuMi9TMTEuOS4yX0E3LjkuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgb2JqZWN0LCB4IGlzIHByaW10aXRpdmUKICovCgovL0NIRUNLIzEKaWYgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICE9IDEpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gIisxIikgPT09IGZhbHNlJyk7Cn0gCiAgCi8vQ0hFQ0sjNAp0cnkgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSAhPT0gZmFsc2UpIHsKICAgICRFUlJPUignIzQuMTogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgPT09IGZhbHNlJyk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gIT0gdHJ1ZSkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAhPSB0cnVlKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKaWYgKCh7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gMSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogKHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIrMSJ9fSAhPSAxKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKzEifX0gIT0gIjEiKSA9PT0gdHJ1ZScpOwp9IGVsc2UgewogIGlmICgoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpICE9PSBmYWxzZSkgewogICAgJEVSUk9SKCcjNi4yOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIisxIn19ICE9ICIrMSIpID09PSBmYWxzZScpOwogIH0KfQoKLy9DSEVDSyM3CnRyeSB7CiAgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSk7CiAgJEVSUk9SKCcjNy4xOiAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPSAxKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIT0gMSkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAhPSAxKTsKICAkRVJST1IoJyM4LjE6ICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKCh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICE9IDEpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIT0gMSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"If Type(x) is primitive type and Type(y) is Object,\nreturn x != ToPrimitive(y)","description":"y is object, x is primtitive","path":"TestCases/ch11/11.9/11.9.2/S11.9.2_A7.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiPT09IiBvciBiZXR3ZWVuICI9PT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKCEoZXZhbCgiMVx1MDAwOT09PVx1MDAwOTEiKSkpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOT09PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShldmFsKCIxXHUwMDBCPT09XHUwMDBCMSIpKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCPT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKCEoZXZhbCgiMVx1MDAwQz09PVx1MDAwQzEiKSkpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQz09PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShldmFsKCIxXHUwMDIwPT09XHUwMDIwMSIpKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwPT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKGV2YWwoIjFcdTAwQTA9PT1cdTAwQTAxIikpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTA9PT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZXZhbCgiMVx1MDAwQT09PVx1MDAwQTEiKSkpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQT09PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmICghKGV2YWwoIjFcdTAwMEQ9PT1cdTAwMEQxIikpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQ9PT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZXZhbCgiMVx1MjAyOD09PVx1MjAyODEiKSkpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOD09PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShldmFsKCIxXHUyMDI5PT09XHUyMDI5MSIpKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5PT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoIShldmFsKCIxXHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5PT09XHUwMDA5XHUwMDBCXHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5MSIpKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5PT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"===\" or between \"===\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoISgxID09PSAxKSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKCEoeCA9PT0gMSkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKCEoMSA9PT0geSkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmICghKG9iamVjdHgucHJvcCA9PT0gb2JqZWN0eS5wcm9wKSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==","commentary":"Operator x === y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ID09PSAxOwogICRFUlJPUignIzEuMTogeCA9PT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggPT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x === y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ID09PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxID09PSB5OwogICRFUlJPUignIzEuMTogMSA9PT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgPT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgPT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x === y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICghKCh4ID0gMSkgPT09IHgpKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoeCA9PT0gKHggPSAxKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgPT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgPT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgPT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmICghKGUgPT09ICJ4IikpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpID09PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggPT09ICh4ID0gMSk7CiAgJEVSUk9SKCcjMS4xOiB4ID09PSAoeCA9IDEpIHRocm93IFJlZmVyZW5jZUVycm9yLiBBY3R1YWw6ICcgKyAoeCA9PT0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9PT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKLy9DSEVDSyMyCmlmICghKCh5ID0gMSkgPT09IHkpKSB7CiAgJEVSUk9SKCcjMjogKHkgPSAxKSA9PT0geScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiB0cnVlLCBpZiB4IGFuZCB5IGFyZSBib3RoIHRydWUgYW5kIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24geCBhbmQgeSBhcmUgcHJpbWl0aXZlIGJvb2xlYW5zCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgPT09IHRydWUpKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoZmFsc2UgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IGZhbHNlID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM0CmlmIChmYWxzZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IGZhbHNlICE9PSB0cnVlJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Boolean-s.\nReturn true, if x and y are both true and both false; otherwise, return false","description":"x and y are primitive booleans","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIuTmFOID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogTmFOICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzI6IE5hTiAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMzOiBOYU4gIT09IE5hTicpOwp9CgovL0NIRUNLIzQKaWYgKE51bWJlci5OYU4gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IE5hTiAhPT0gK0luZmluaXR5Jyk7Cn0KCi8vQ0hFQ0sjNQppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNTogTmFOICE9PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyM2CmlmIChOdW1iZXIuTmFOID09PSBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjNjogTmFOICE9PSBOdW1iZXIuTUFYX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk1JTl9WQUxVRSkgewogICRFUlJPUignIzc6IE5hTiAhPT0gTnVtYmVyLk1JTl9WQUxVRScpOwp9CgovL0NIRUNLIzgKaWYgKE51bWJlci5OYU4gPT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjODogTmFOICE9PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzkKaWYgKE51bWJlci5OYU4gPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IE5hTiAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCgo=","commentary":"If x or y is NaN, return false","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E0LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHkgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTEgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyMyOiAtMSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoTnVtYmVyLk5hTiA9PT0gTnVtYmVyLk5hTikgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNDogK0luZmluaXR5ICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM1OiAtSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM3CmlmIChOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjNzogTnVtYmVyLk1JTl9WQUxVRSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoInN0cmluZyIgPT09IE51bWJlci5OYU4pIHsKICAkRVJST1IoJyM4OiAic3RyaW5nIiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjOQppZiAobmV3IE9iamVjdCgpID09PSBOdW1iZXIuTmFOKSB7CiAgJEVSUk9SKCcjOTogbmV3IE9iamVjdCgpICE9PSBOYU4nKTsKfQoK","commentary":"If x or y is NaN, return false","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgY29tYmluYXRpb25zCiAqLwoKLy9DSEVDSyMxCmlmICghKCswID09PSAtMCkpIHsKICAkRVJST1IoJyMxOiArMCA9PT0gLTAnKTsKfQoKLy9DSEVDSyMyCmlmICghKC0wID09PSArMCkpIHsKICAkRVJST1IoJyMyOiAtMCA9PT0gKzAnKTsKfQoK","commentary":"If x is +0(-0) and y is -0(+0), return true","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIHRydWUsIGlmIHggaXMgdGhlIHNhbWUgbnVtYmVyIHZhbHVlIGFzIHk7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICghKDEzID09PSAxMykpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICghKC0xMyA9PT0gLTEzKSkgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxLjMgPT09IDEuMykpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKCEoLTEuMyA9PT0gLTEuMykpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IC1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICgxID09PSAwLjk5OTk5OTk5OTk5OSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgxLjAgPT09IDEpKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn true, if x is the same number value as y; otherwise, return false","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVyczsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoISgiIiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgiICIgPT09ICIgIikpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCEoInN0cmluZyIgPT09ICJzdHJpbmciKSkgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCIgc3RyaW5nIiA9PT0gInN0cmluZyAiKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICgiMS4wIiA9PT0gIjEiKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn true, if x and y are exactly the same sequence of characters; otherwise, return false","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNC9TMTEuOS40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIHZvaWQgMCwgZXZhbCgidmFyIHgiKSBpcyB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKCEodW5kZWZpbmVkID09PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkID09PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKHZvaWQgMCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzI6IHZvaWQgMCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IGV2YWwoInZhciB4IikpKSB7CiAgJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpJyk7Cn0KCg==","commentary":"If Type(x) and Type(y) are Undefined-s, return true","description":"void 0, eval(\"var x\") is undefined","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjQvUzExLjkuNF9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBudWxsID09PSBudWxsCiAqLwoKLy9DSEVDSyMxCmlmICghKG51bGwgPT09IG51bGwpKSB7CiAgJEVSUk9SKCcjMTogbnVsbCA9PT0gbnVsbCcpOwp9Cgo=","commentary":"If Type(x) and Type(y) are Null-s, return true","description":"null === null","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIHRydWUsIGlmIHggYW5kIHkgYXJlIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgT2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChuZXcgT2JqZWN0KCkgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE9iamVjdCh0cnVlKSA9PT0gbmV3IE9iamVjdCh0cnVlKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IE9iamVjdChmYWxzZSkgPT09IG5ldyBPYmplY3QoZmFsc2UpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgT2JqZWN0KCswKSA9PT0gbmV3IE9iamVjdCgtMCkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoISh4ID09PSB5KSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgQm9vbGVhbih0cnVlKSA9PT0gbmV3IE51bWJlcigxKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIikpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpID09PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgPT09IG5ldyBCb29sZWFuKHRydWUpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpID09PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9Cgo=","commentary":"Type(x) and Type(y) are Object-s.\nReturn true, if x and y are references to the same Object; otherwise, return false","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgYm9vbGVhbgogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSA9PT0gbmV3IEJvb2xlYW4odHJ1ZSkpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHJ1ZSA9PT0gMSkgewogICRFUlJPUignIzI6IHRydWUgIT09IDEnKTsKfQoKLy9DSEVDSyMzCmlmICh0cnVlID09PSBuZXcgTnVtYmVyKHRydWUpKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKScpOwp9CgovL0NIRUNLIzQKaWYgKHRydWUgPT09ICIxIikgewogICRFUlJPUignIzQ6IHRydWUgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKHRydWUgPT09IG5ldyBTdHJpbmcodHJ1ZSkpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKDAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNzogMCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKGZhbHNlKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKGZhbHNlKSAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM5CmlmICgiMCIgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IFN0cmluZyhmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHRydWUgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fSkgewogICRFUlJPUignIzExOiB0cnVlID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0nKTsKfQoK","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive boolean","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmICgxID09PSBuZXcgTnVtYmVyKDEpKSB7CiAgJEVSUk9SKCcjMTogMSAhPT0gbmV3IE51bWJlcigxKScpOwp9CgovL0NIRUNLIzIKaWYgKDEgPT09IHRydWUpIHsKICAkRVJST1IoJyMyOiAxICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoMSA9PT0gbmV3IEJvb2xlYW4oMSkpIHsKICAkRVJST1IoJyMzOiAxICE9PSBuZXcgQm9vbGVhbigxKScpOwp9CgovL0NIRUNLIzQKaWYgKDEgPT09ICIxIikgewogICRFUlJPUignIzQ6IDEgIT09ICIxIicpOwp9CgovL0NIRUNLIzUKaWYgKDEgPT09IG5ldyBTdHJpbmcoMSkpIHsKICAkRVJST1IoJyM1OiAxICE9PSBuZXcgU3RyaW5nKDEpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IE51bWJlcigwKSA9PT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmIChmYWxzZSA9PT0gMCkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAobmV3IEJvb2xlYW4oMCkgPT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgQm9vbGVhbigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKCIwIiA9PT0gMCkgewogICRFUlJPUignIzk6ICIwIiAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgU3RyaW5nKDApID09PSAwKSB7CiAgJEVSUk9SKCcjMTA6IG5ldyBTdHJpbmcoMCkgIT09IDAnKTsKfQoKLy9DSEVDSyMxMQppZiAoMSA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19KSB7CiAgJEVSUk9SKCcjMTE6IDEgPT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive number","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgPT09IG5ldyBTdHJpbmcoIjEiKSkgewogICRFUlJPUignIzE6ICIxIiAhPT0gbmV3IFN0cmluZygiMSIpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIjEiID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogIjEiICE9PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiID09PSBuZXcgQm9vbGVhbigiMSIpKSB7CiAgJEVSUk9SKCcjMzogIjEiICE9PSBuZXcgQm9vbGVhbigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIjEiID09PSAxKSB7CiAgJEVSUk9SKCcjNDogIjEiID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIjEiID09PSBuZXcgTnVtYmVyKCIxIikpIHsKICAkRVJST1IoJyM1OiAiMSIgPT09IG5ldyBOdW1iZXIoIjEiKScpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBTdHJpbmcoZmFsc2UpID09PSBmYWxzZSkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzcKaWYgKGZhbHNlID09PSAiMCIpIHsKICAkRVJST1IoJyM3OiBmYWxzZSAhPT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIjAiID09PSBuZXcgQm9vbGVhbigiMCIpKSB7CiAgJEVSUk9SKCcjODogIjAiICE9PSBuZXcgQm9vbGVhbigiMCIpJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZmFsc2UgPT09IDApIHsKICAkRVJST1IoJyM5OiBmYWxzZSAhPT0gMCcpOwp9CgovL0NIRUNLIzEwCmlmIChmYWxzZSA9PT0gbmV3IE51bWJlcihmYWxzZSkpIHsKICAkRVJST1IoJyMxMDogZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKCIxIiA9PT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIjEifX0pIHsKICAkRVJST1IoJyMxMTogIjEiID09PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiAiMSJ9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is primitive string","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDQuanMKICogQGRlc2NyaXB0aW9uIHggb3IgeSBpcyBudWxsIG9yIHVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAodW5kZWZpbmVkID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTogdW5kZWZpbmVkICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAobnVsbCA9PT0gMCkgewogICRFUlJPUignIzM6IG51bGwgIT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmICgwID09PSBudWxsKSB7CiAgJEVSUk9SKCcjNDogMCAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzUKaWYgKG51bGwgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNTogbnVsbCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM2CmlmIChmYWxzZSA9PT0gbnVsbCkgewogICRFUlJPUignIzY6IGZhbHNlICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNwppZiAodW5kZWZpbmVkID09PSBmYWxzZSkgewogICRFUlJPUignIzc6IHVuZGVmaW5lZCAhPT0gZmFsc2UnKTsKfQoKLy9DSEVDSyM4CmlmIChmYWxzZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogZmFsc2UgIT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzkKaWYgKG51bGwgPT09IG5ldyBPYmplY3QoKSkgewogICRFUlJPUignIzk6IG51bGwgIT09IG5ldyBPYmplY3QoKScpOwp9CgovL0NIRUNLIzEwCmlmIChuZXcgT2JqZWN0KCkgPT09IG51bGwpIHsKICAkRVJST1IoJyMxMDogbmV3IE9iamVjdCgpICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG51bGwgPT09ICJudWxsIikgewogICRFUlJPUignIzExOiBudWxsICE9PSAibnVsbCInKTsKfQoKLy9DSEVDSyMxMgppZiAoIm51bGwiID09PSBudWxsKSB7CiAgJEVSUk9SKCcjMTI6ICJudWxsIiAhPT0gbnVsbCcpOwp9CgovL0NIRUNLIzEzCmlmICh1bmRlZmluZWQgPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTM6IHVuZGVmaW5lZCAhPT0gInVuZGVmaW5lZCInKTsKfQoKLy9DSEVDSyMxNAppZiAoInVuZGVmaW5lZCIgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE0OiAidW5kZWZpbmVkIiAhPT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"If Type(x) is different from Type(y), return false","description":"x or y is null or undefined","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS40L1MxMS45LjRfQThfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmIChlID09PSAiMSIpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoMSA9PT0gZSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK","commentary":"If Type(x) is different from Type(y), return false","description":"Checking with such x and y that either x or y is primitive string and the other is primitive number","path":"TestCases/ch11/11.9/11.9.4/S11.9.4_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gRXF1YWxpdHlFeHByZXNzaW9uIGFuZCAiIT09IiBvciBiZXR3ZWVuICIhPT0iIGFuZCBSZWxhdGlvbmFsRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkhPT1cdTAwMDkxIikpIHsKICAkRVJST1IoJyMxOiAxXFx1MDAwOSE9PVxcdTAwMDkxJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgiMVx1MDAwQiE9PVx1MDAwQjEiKSkgewogICRFUlJPUignIzI6IDFcXHUwMDBCIT09XFx1MDAwQjEnKTsgIAp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIjFcdTAwMEMhPT1cdTAwMEMxIikpIHsKICAkRVJST1IoJyMzOiAxXFx1MDAwQyE9PVxcdTAwMEMxJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCE9PVx1MDAyMDEiKSkgewogICRFUlJPUignIzQ6IDFcXHUwMDIwIT09XFx1MDAyMDEnKTsKfQoKLy9DSEVDSyM1CmlmIChldmFsKCIxXHUwMEEwIT09XHUwMEEwMSIpKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAhPT1cXHUwMEEwMScpOwp9CgovL0NIRUNLIzYKaWYgKGV2YWwoIjFcdTAwMEEhPT1cdTAwMEExIikpIHsKICAkRVJST1IoJyM2OiAxXFx1MDAwQSE9PVxcdTAwMEExJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEIT09XHUwMDBEMSIpKSB7CiAgJEVSUk9SKCcjNzogMVxcdTAwMEQhPT1cXHUwMDBEMScpOwp9CgovL0NIRUNLIzgKaWYgKGV2YWwoIjFcdTIwMjghPT1cdTIwMjgxIikpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCE9PVxcdTIwMjgxJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZXZhbCgiMVx1MjAyOSE9PVx1MjAyOTEiKSkgewogICRFUlJPUignIzk6IDFcXHUyMDI5IT09XFx1MjAyOTEnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSE9PVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOTEiKSkgewogICRFUlJPUignIzEwOiAxXFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5IT09XFx1MDAwOVxcdTAwMEJcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5MScpOwp9Cgo=","commentary":"White Space and Line Terminator between EqualityExpression and \"!==\" or between \"!==\" and RelationalExpression are allowed","description":"Checking by using eval","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIEVpdGhlciBUeXBlIGlzIG5vdCBSZWZlcmVuY2Ugb3IgR2V0QmFzZSBpcyBub3QgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAhPT0gMSkgewogICRFUlJPUignIzE6IDEgPT09IDEnKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gMTsKaWYgKHggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggPT09IDEnKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgIT09IHkpIHsKICAkRVJST1IoJyMzOiB2YXIgeSA9IDE7IDEgPT09IHknKTsKfQoKLy9DSEVDSyM0CnZhciB4ID0gMTsKdmFyIHkgPSAxOwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gMTsgdmFyIHkgPSAxOyB4ID09PSB5Jyk7Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0eCA9IG5ldyBPYmplY3QoKTsKdmFyIG9iamVjdHkgPSBuZXcgT2JqZWN0KCk7Cm9iamVjdHgucHJvcCA9IDE7Cm9iamVjdHkucHJvcCA9IDE7CmlmIChvYmplY3R4LnByb3AgIT09IG9iamVjdHkucHJvcCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wID09PSBvYmplY3R5LnByb3AnKTsKfQoKCg==","commentary":"Operator x !== y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeCkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAxOwogICRFUlJPUignIzEuMTogeCAhPT0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09IDEpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09IDEgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x !== y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB4ICE9PSB5IHVzZXMgR2V0VmFsdWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIEdldEJhc2UoeSkgaXMgbnVsbCwgdGhyb3cgUmVmZXJlbmNlRXJyb3IKICovCgovL0NIRUNLIzEKdHJ5IHsKICAxICE9PSB5OwogICRFUlJPUignIzEuMTogMSAhPT0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgIT09IHkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IDEgIT09IHkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCgo=","commentary":"Operator x !== y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSAwOyAoeCA9IDEpID09PSB4Jyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IDA7IAppZiAoISh4ICE9PSAoeCA9IDEpKSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAhPT0gKHggPSAxKScpOwp9CgoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgIT09IHkoKTsKICAgJEVSUk9SKCcjMS4xOiB2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9OyB2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9OyB4KCkgIT09IHkoKSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4KCkgIT09IHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmICghKGUgIT09ICJ5IikpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICE9PSB5KCkgdGhyb3cgIngiLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgIH0KICAgfQp9Cgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVuZGVjbGFyYXRlZCB2YXJpYWJsZXMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB4ICE9PSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAhPT0gKHggPSAxKSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggIT09ICh4ID0gMSkpKTsgIAp9CmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggIT09ICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAhPT0geSkgewogICRFUlJPUignIzI6ICh5ID0gMSkgPT09IHknKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking undeclarated variables","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBCb29sZWFuLXMuCiAqIFJldHVybiBmYWxzZSwgaWYgeCBhbmQgeSBhcmUgYm90aCB0cnVlIG9yIGJvdGggZmFsc2U7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgYm9vbGVhbnMKICovCgovL0NIRUNLIzEKaWYgKHRydWUgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZmFsc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogZmFsc2UgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoISh0cnVlICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzQKaWYgKCEoZmFsc2UgIT09IHRydWUpKSB7CiAgJEVSUk9SKCcjNDogZmFsc2UgIT09IHRydWUnKTsKfQoK","commentary":"Type(x) and Type(y) are Boolean-s.\nReturn false, if x and y are both true or both false; otherwise, return true","description":"x and y are primitive booleans","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEoTnVtYmVyLk5hTiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gIT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE51bWJlci5OYU4gIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogTmFOICE9PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzM6IE5hTiAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShOdW1iZXIuTmFOICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSB7CiAgJEVSUk9SKCcjNDogTmFOICE9PSArSW5maW5pdHknKTsKfQoKLy9DSEVDSyM1CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpIHsKICAkRVJST1IoJyM1OiBOYU4gIT09IC1JbmZpbml0eScpOwp9CgovL0NIRUNLIzYKaWYgKCEoTnVtYmVyLk5hTiAhPT0gTnVtYmVyLk1BWF9WQUxVRSkpIHsKICAkRVJST1IoJyM2OiBOYU4gIT09IE51bWJlci5NQVhfVkFMVUUnKTsKfQoKLy9DSEVDSyM3CmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5NSU5fVkFMVUUpKSB7CiAgJEVSUk9SKCcjNzogTmFOICE9PSBOdW1iZXIuTUlOX1ZBTFVFJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoIShOdW1iZXIuTmFOICE9PSAic3RyaW5nIikpIHsKICAkRVJST1IoJyM4OiBOYU4gIT09ICJzdHJpbmciJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShOdW1iZXIuTmFOICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogTmFOICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKCg==","commentary":"If x or y is NaN, return true","description":"x is NaN","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IG9yIHkgaXMgTmFOLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24geSBpcyBOYU4KICovCgovL0NIRUNLIzEKaWYgKCEodHJ1ZSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyMxOiB0cnVlICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMyCmlmICghKC0xICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzI6IC0xICE9PSBOYU4nKTsKfQoKLy9DSEVDSyMzCmlmICghKE51bWJlci5OYU4gIT09IE51bWJlci5OYU4pKSB7CiAgJEVSUk9SKCcjMzogTmFOICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM0CmlmICghKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM0OiArSW5maW5pdHkgIT09IE5hTicpOwp9CgovL0NIRUNLIzUKaWYgKCEoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzU6IC1JbmZpbml0eSAhPT0gTmFOJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzY6IE51bWJlci5NQVhfVkFMVUUgIT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYgKCEoTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM4CmlmICghKCJzdHJpbmciICE9PSBOdW1iZXIuTmFOKSkgewogICRFUlJPUignIzg6ICJzdHJpbmciICE9PSBOYU4nKTsKfQoKLy9DSEVDSyM5CmlmICghKG5ldyBPYmplY3QoKSAhPT0gTnVtYmVyLk5hTikpIHsKICAkRVJST1IoJyM5OiBuZXcgT2JqZWN0KCkgIT09IE5hTicpOwp9Cgo=","commentary":"If x or y is NaN, return true","description":"y is NaN","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswKC0wKSBhbmQgeSBpcyAtMCgrMCksIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIGNvbWJpbmF0aW9ucwogKi8KCi8vQ0hFQ0sjMQppZiAoKzAgIT09IC0wKSB7CiAgJEVSUk9SKCcjMTogKzAgPT09IC0wJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoLTAgIT09ICswKSB7CiAgJEVSUk9SKCcjMjogLTAgPT09ICswJyk7Cn0KCg==","commentary":"If x is +0(-0) and y is -0(+0), return false","description":"Checking all combinations","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdW1iZXItcyBtaW51cyBOYU4sICswLCAtMC4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGlzIHRoZSBzYW1lIG51bWJlciB2YWx1ZSBhcyB5OyBvdGhlcndpc2UsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgbnVtYmVycwogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiArSW5maW5pdHkgPT09ICtJbmZpbml0eScpOwp9CgovL0NIRUNLIzIKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ID09PSAtSW5maW5pdHknKTsKfQoKLy9DSEVDSyMzCmlmICgxMyAhPT0gMTMpIHsKICAkRVJST1IoJyMzOiAxMyA9PT0gMTMnKTsKfQoKLy9DSEVDSyM0CmlmICgtMTMgIT09IC0xMykgewogICRFUlJPUignIzQ6IC0xMyA9PT0gLTEzJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoMS4zICE9PSAxLjMpIHsKICAkRVJST1IoJyM1OiAxLjMgPT09IDEuMycpOwp9CgovL0NIRUNLIzYKaWYgKC0xLjMgIT09IC0xLjMpIHsKICAkRVJST1IoJyM2OiAtMS4zID09PSAtMS4zJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSAtTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNzogK0luZmluaXR5ID09PSAtKC1JbmZpbml0eSknKTsKfQoKLy9DSEVDSyM4CmlmICghKDEgIT09IDAuOTk5OTk5OTk5OTk5KSkgewogICRFUlJPUignIzg6IDEgIT09IDAuOTk5OTk5OTk5OTk5Jyk7Cn0KCi8vQ0hFQ0sjOQppZiAoMS4wICE9PSAxKSB7CiAgJEVSUk9SKCcjOTogMS4wID09PSAxJyk7Cn0KCg==","commentary":"Type(x) and Type(y) are Number-s minus NaN, +0, -0.\nReturn false, if x is the same number value as y; otherwise, return true","description":"x and y are primitive numbers","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBTdHJpbmctcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnM7IG90aGVyd2lzZSwgcmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxMS8xMS45LzExLjkuNS9TMTEuOS41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiB4IGFuZCB5IGFyZSBwcmltaXRpdmUgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQppZiAoIiIgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiIgPT09ICIiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIiAiICE9PSAiICIpIHsKICAkRVJST1IoJyMyOiAiICIgPT09ICIgIicpOwp9CgovL0NIRUNLIzMKaWYgKCJzdHJpbmciICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6ICJzdHJpbmciID09PSAic3RyaW5nIicpOwp9CgovL0NIRUNLIzQKaWYgKCEoIiBzdHJpbmciICE9PSAic3RyaW5nICIpKSB7CiAgJEVSUk9SKCcjNDogIiBzdHJpbmciICE9PSAic3RyaW5nICInKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxLjAiICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNTogIjEuMCIgIT09ICIxIicpOwp9Cgo=","commentary":"Type(x) and Type(y) are String-s.\nReturn false, if x and y are exactly the same sequence of characters; otherwise, return true","description":"x and y are primitive strings","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBVbmRlZmluZWQtcywgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiB2b2lkIDAsIGV2YWwoInZhciB4IikgaXMgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICh1bmRlZmluZWQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHVuZGVmaW5lZCA9PT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodm9pZCAwICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2b2lkIDAgPT09IHVuZGVmaW5lZCcpOwp9CgovL0NIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCA9PT0gZXZhbCgidmFyIHgiKScpOwp9Cgo=","commentary":"If Type(x) and Type(y) are Undefined-s, return false","description":"void 0, eval(\"var x\") is undefined","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBOdWxsLXMsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTYuMi5qcwogKiBAZGVzY3JpcHRpb24gbnVsbCA9PT0gbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAobnVsbCAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IG51bGwgPT09IG51bGwnKTsKfQoK","commentary":"If Type(x) and Type(y) are Null-s, return false","description":"null === null","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUeXBlKHgpIGFuZCBUeXBlKHkpIGFyZSBPYmplY3Qtcy4KICogUmV0dXJuIGZhbHNlLCBpZiB4IGFuZCB5IGFyZSByZWZlcmVuY2VzIHRvIHRoZSBzYW1lIE9iamVjdDsgb3RoZXJ3aXNlLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDExLzExLjkvMTEuOS41L1MxMS45LjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4gb2JqZWN0LCBOdW1iZXIgb2JqZWN0LCBTdHJpbmcgb2JqZWN0LCBPYmplY3Qgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpKSkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShuZXcgT2JqZWN0KHRydWUpICE9PSBuZXcgT2JqZWN0KHRydWUpKSkgewogICRFUlJPUignIzI6IG5ldyBPYmplY3QoKSAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoIShuZXcgT2JqZWN0KGZhbHNlKSAhPT0gbmV3IE9iamVjdChmYWxzZSkpKSB7CiAgJEVSUk9SKCcjMzogbmV3IE9iamVjdCgpICE9PSBuZXcgT2JqZWN0KCknKTsKfQoKLy9DSEVDSyM0CmlmICghKG5ldyBPYmplY3QoKzApICE9PSBuZXcgT2JqZWN0KC0wKSkpIHsKICAkRVJST1IoJyM0OiBuZXcgT2JqZWN0KCswKSAhPT0gbmV3IE9iamVjdCgtMCknKTsKfQoKLy9DSEVDSyM1CnggPSB7fTsgCnkgPSB4OwppZiAoeCAhPT0geSkgewogICRFUlJPUignIzU6IHggPSB7fTsgeSA9IHg7IHggPT09IHknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKHRydWUpICE9PSBuZXcgTnVtYmVyKDEpKSkgewogICRFUlJPUignIzYgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IG5ldyBOdW1iZXIoMSknKTsKfQoKLy9DSEVDSyM3CmlmICghKG5ldyBOdW1iZXIoMSkgIT09IG5ldyBTdHJpbmcoIjEiKSkpIHsKICAkRVJST1IoJyM3OiBuZXcgTnVtYmVyKDEpICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBTdHJpbmcoIjEiKSAhPT0gbmV3IEJvb2xlYW4odHJ1ZSkpKSB7CiAgJEVSUk9SKCcjODogbmV3IFN0cmluZygieCIpICE9PSBuZXcgQm9vbGVhbih0cnVlKScpOwp9CgoKCg==","commentary":"Type(x) and Type(y) are Object-s.\nReturn false, if x and y are references to the same Object; otherwise, return true","description":"Checking Boolean object, Number object, String object, Object object","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICghKHRydWUgIT09IG5ldyBCb29sZWFuKHRydWUpKSkgewogICRFUlJPUignIzE6IHRydWUgIT09IG5ldyBOdW1iZXIodHJ1ZSknKTsKfQoKLy9DSEVDSyMyCmlmICghKHRydWUgIT09IDEpKSB7CiAgJEVSUk9SKCcjMjogdHJ1ZSAhPT0gMScpOwp9CgovL0NIRUNLIzMKaWYgKCEodHJ1ZSAhPT0gbmV3IE51bWJlcih0cnVlKSkpIHsKICAkRVJST1IoJyMzOiB0cnVlICE9PSBuZXcgTnVtYmVyKHRydWUpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISh0cnVlICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogdHJ1ZSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISh0cnVlICE9PSBuZXcgU3RyaW5nKHRydWUpKSkgewogICRFUlJPUignIzU6IHRydWUgIT09IG5ldyBTdHJpbmcodHJ1ZSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBCb29sZWFuKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoISgwICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM3OiAwICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEobmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlKSkgewogICRFUlJPUignIzg6IG5ldyBOdW1iZXIoZmFsc2UpICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzkKaWYgKCEoIjAiICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM5OiAiMCIgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBTdHJpbmcoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IFN0cmluZyhmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISh0cnVlICE9PSB7dmFsdWVPZjogZnVuY3Rpb24gKCkge3JldHVybiB0cnVlfX0pKSB7CiAgJEVSUk9SKCcjMTE6IHRydWUgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIHRydWV9fScpOwp9Cgo=","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive boolean","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKCEoMSAhPT0gbmV3IE51bWJlcigxKSkpIHsKICAkRVJST1IoJyMxOiAxICE9PSBuZXcgTnVtYmVyKDEpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoISgxICE9PSB0cnVlKSkgewogICRFUlJPUignIzI6IDEgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKDEgIT09IG5ldyBCb29sZWFuKDEpKSkgewogICRFUlJPUignIzM6IDEgIT09IG5ldyBCb29sZWFuKDEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoISgxICE9PSAiMSIpKSB7CiAgJEVSUk9SKCcjNDogMSAhPT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoISgxICE9PSBuZXcgU3RyaW5nKDEpKSkgewogICRFUlJPUignIzU6IDEgIT09IG5ldyBTdHJpbmcoMSknKTsKfQoKLy9DSEVDSyM2CmlmICghKG5ldyBOdW1iZXIoMCkgIT09IDApKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcigwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzcKaWYgKCEoZmFsc2UgIT09IDApKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IDAnKTsKfQoKLy9DSEVDSyM4CmlmICghKG5ldyBCb29sZWFuKDApICE9PSAwKSkgewogICRFUlJPUignIzg6IG5ldyBCb29sZWFuKDApICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoISgiMCIgIT09IDApKSB7CiAgJEVSUk9SKCcjOTogIjAiICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IFN0cmluZygwKSAhPT0gMCkpIHsKICAkRVJST1IoJyMxMDogbmV3IFN0cmluZygwKSAhPT0gMCcpOwp9CgovL0NIRUNLIzExCmlmICghKDEgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuIDF9fSkpIHsKICAkRVJST1IoJyMxMTogMSAhPT0ge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHtyZXR1cm4gMX19Jyk7Cn0KCg==","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive number","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIHByaW1pdGl2ZSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKCEoIjEiICE9PSBuZXcgU3RyaW5nKCIxIikpKSB7CiAgJEVSUk9SKCcjMTogIjEiICE9PSBuZXcgU3RyaW5nKCIxIiknKTsKfQoKLy9DSEVDSyMyCmlmICghKCIxIiAhPT0gdHJ1ZSkpIHsKICAkRVJST1IoJyMyOiAiMSIgIT09IHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmICghKCIxIiAhPT0gbmV3IEJvb2xlYW4oIjEiKSkpIHsKICAkRVJST1IoJyMzOiAiMSIgIT09IG5ldyBCb29sZWFuKCIxIiknKTsKfQoKLy9DSEVDSyM0CmlmICghKCIxIiAhPT0gMSkpIHsKICAkRVJST1IoJyM0OiAiMSIgPT09IDEnKTsKfQoKLy9DSEVDSyM1CmlmICghKCIxIiAhPT0gbmV3IE51bWJlcigiMSIpKSkgewogICRFUlJPUignIzU6ICIxIiA9PT0gbmV3IE51bWJlcigiMSIpJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoIShuZXcgU3RyaW5nKGZhbHNlKSAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNjogbmV3IE51bWJlcihmYWxzZSkgIT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoIShmYWxzZSAhPT0gIjAiKSkgewogICRFUlJPUignIzc6IGZhbHNlICE9PSAiMCInKTsKfQoKLy9DSEVDSyM4CmlmICghKCIwIiAhPT0gbmV3IEJvb2xlYW4oIjAiKSkpIHsKICAkRVJST1IoJyM4OiAiMCIgIT09IG5ldyBCb29sZWFuKCIwIiknKTsKfQoKLy9DSEVDSyM5CmlmICghKGZhbHNlICE9PSAwKSkgewogICRFUlJPUignIzk6IGZhbHNlICE9PSAwJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEoZmFsc2UgIT09IG5ldyBOdW1iZXIoZmFsc2UpKSkgewogICRFUlJPUignIzEwOiBmYWxzZSAhPT0gbmV3IE51bWJlcihmYWxzZSknKTsKfQoKLy9DSEVDSyMxMQppZiAoISgiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19KSkgewogICRFUlJPUignIzExOiAiMSIgIT09IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7cmV0dXJuICIxIn19Jyk7Cn0KCgo=","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is primitive string","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24geCBvciB5IGlzIG51bGwgb3IgdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICghKHVuZGVmaW5lZCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxOiB1bmRlZmluZWQgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMyCmlmICghKG51bGwgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyMyOiBudWxsICE9PSB1bmRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKG51bGwgIT09IDApKSB7CiAgJEVSUk9SKCcjMzogbnVsbCAhPT0gMCcpOwp9CgovL0NIRUNLIzQKaWYgKCEoMCAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyM0OiAwICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIShudWxsICE9PSBmYWxzZSkpIHsKICAkRVJST1IoJyM1OiBudWxsICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzYKaWYgKCEoZmFsc2UgIT09IG51bGwpKSB7CiAgJEVSUk9SKCcjNjogZmFsc2UgIT09IG51bGwnKTsKfQoKLy9DSEVDSyM3CmlmICghKHVuZGVmaW5lZCAhPT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjNzogdW5kZWZpbmVkICE9PSBmYWxzZScpOwp9CgovL0NIRUNLIzgKaWYgKCEoZmFsc2UgIT09IHVuZGVmaW5lZCkpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoIShudWxsICE9PSBuZXcgT2JqZWN0KCkpKSB7CiAgJEVSUk9SKCcjOTogbnVsbCAhPT0gbmV3IE9iamVjdCgpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKCEobmV3IE9iamVjdCgpICE9PSBudWxsKSkgewogICRFUlJPUignIzEwOiBuZXcgT2JqZWN0KCkgIT09IG51bGwnKTsKfQoKLy9DSEVDSyMxMQppZiAoIShudWxsICE9PSAibnVsbCIpKSB7CiAgJEVSUk9SKCcjMTE6IG51bGwgIT09ICJudWxsIicpOwp9CgovL0NIRUNLIzEyCmlmICghKCJudWxsIiAhPT0gbnVsbCkpIHsKICAkRVJST1IoJyMxMjogIm51bGwiICE9PSBudWxsJyk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKCEodW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIikpIHsKICAkRVJST1IoJyMxMzogdW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIicpOwp9CgovL0NIRUNLIzE0CmlmICghKCJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQpKSB7CiAgJEVSUk9SKCcjMTQ6ICJ1bmRlZmluZWQiICE9PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If Type(x) is different from Type(y), return true","description":"x or y is null or undefined","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUeXBlKHgpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoeSksIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTEvMTEuOS8xMS45LjUvUzExLjkuNV9BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc3VjaCB4IGFuZCB5IHRoYXQgZWl0aGVyIHggb3IgeSBpcyBwcmltaXRpdmUgc3RyaW5nIGFuZCB0aGUgb3RoZXIgaXMgcHJpbWl0aXZlIG51bWJlcgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHRocm93IDE7Cn0gY2F0Y2goZSkgewogIGlmICghKGUgIT09ICIxIikpIHsKICAgICRFUlJPUignIzE6IHRocm93IDEgIT09ICIxIicpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7CiAgdGhyb3cgIjEiOwp9IGNhdGNoKGUpIHsKICBpZiAoISgxICE9PSBlKSkgewogICAgJEVSUk9SKCcjMjogMSAhPT0gdGhyb3cgIjEiJyk7CiAgfQp9IAoK","commentary":"If Type(x) is different from Type(y), return true","description":"Checking such x and y that either x or y is primitive string and the other is primitive number","path":"TestCases/ch11/11.9/11.9.5/S11.9.5_A8_T5.js"}]}} \ No newline at end of file diff --git a/website/json/ch12.json b/website/json/ch12.json index 787b92daf..f57d8ff9e 100644 --- a/website/json/ch12.json +++ b/website/json/ch12.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch12","numTests":"525","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1jYXRjaA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ0cnl7fTtjYXRjaCgpe30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-catch","path":"TestCases/ch12/12.1/12.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1jYXRjaC1maW5hbGx5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInRyeXt9O2NhdGNoe307ZmluYWxseXt9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-catch-finally","path":"TestCases/ch12/12.1/12.1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1maW5hbGx5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInRyeXt9O2ZpbmFsbHl7fSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-finally","path":"TestCases/ch12/12.1/12.1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiaWZ7fTtlbHNle30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else","path":"TestCases/ch12/12.1/12.1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UtaWYNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiaWZ7fTtlbHNlIGlme30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else-if","path":"TestCases/ch12/12.1/12.1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UtaWYtZWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJpZnt9O2Vsc2UgaWZ7fTtlbHNle30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else-if-else","path":"TestCases/ch12/12.1/12.1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGRvLXdoaWxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRve307d2hpbGUoKSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: do-while","path":"TestCases/ch12/12.1/12.1-7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBTdGF0ZW1lbnRMaXN0ICBTdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3MKICogMS4gRXZhbHVhdGUgU3RhdGVtZW50LgogKiAyLiBJZiBhbiBleGNlcHRpb24gd2FzIHRocm93biwgcmV0dXJuICh0aHJvdywgViwgZW1wdHkpIHdoZXJlIFYgaXMgdGhlIGV4Y2VwdGlvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRocm93aW5nIGV4Y2VwdGlvbiB3aXRoaW4gYSBCbG9jawogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXgoKTsKCSRFUlJPUignIzE6ICJ4KCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCSRQUklOVChlLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnkgewogICAgdGhyb3cgImNhdGNobWUiOwkKICAgICRFUlJPUignIzI6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PSJjYXRjaG1lIikgewoJCSRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSAiY2F0Y2htZSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwoJfQp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production StatementList Statement is evaluated as follows\n1. Evaluate Statement.\n2. If an exception was thrown, return (throw, V, empty) where V is the exception","description":"Throwing exception within a Block","path":"TestCases/ch12/12.1/S12.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBCbG9jayBjYW4ndCBiZSBpbnNpZGUgb2YgZXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieT17X19mdW5jfSgpIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp5PXtfX2Z1bmN9KCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The production Block can't be inside of expression","description":"Checking if execution of \"y={__func}()\" fails","negative":"","path":"TestCases/ch12/12.1/S12.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBCbG9jayBjYW4ndCBiZSBpbnNpZGUgb2YgZXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieT17eH0iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCng9MTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKeT17eH07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The production Block can't be inside of expression","description":"Checking if execution of \"y={x}\" fails","negative":"","path":"TestCases/ch12/12.1/S12.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGF0ZW1lbnRMaXN0OiBTdGF0ZW1lbnRMaXN0IFN0YXRlbWVudCBpbnNpZGUgdGhlIEJsb2NrIGlzIGV2YWx1YXRlZCBmcm9tIGxlZnQgdG8gcmlnaHQKICoKICogQHBhdGggY2gxMi8xMi4xL1MxMi4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaHJvd2luZyBleGNlcHRpb25zIHdpdGhpbiBlbWJlZGRlZC9zZXF1ZW5jZSBCbG9ja3MKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl0aHJvdyAxOwogICAgdGhyb3cgMjsKICAgIHRocm93IDM7CiAgICAkRVJST1IoJzEuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMxLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7Cgl7CgkgICAgdGhyb3cgMTsKICAgICAgICB0aHJvdyAyOwogICAgfQogICAgdGhyb3cgMzsKICAgICRFUlJPUignIzIuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cgl0aHJvdyAxOwogICAgewogICAgICAgIHRocm93IDI7CiAgICAgICAgdGhyb3cgMzsKICAgIH0KICAgICRFUlJPUignIzMuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"StatementList: StatementList Statement inside the Block is evaluated from left to right","description":"Throwing exceptions within embedded/sequence Blocks","path":"TestCases/ch12/12.1/S12.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBkb2VzIG5vdCBjaGFuZ2UgZGVjbGFyYXRpb24gc2NvcGUgLSB2YXJzIGluIHdpdGggYXJlIHZpc2libGUgb3V0c2lkZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIHZhciBmID0gZnVuY3Rpb24gKCkgew0KCS8qIGNhcHR1cmUgZm9vIGJpbmRpbmcgYmVmb3JlIGV4ZWN1dGluZyB3aXRoICovDQoJcmV0dXJuIGZvbzsNCiAgICAgIH0NCg0KICB3aXRoIChvKSB7DQogICAgdmFyIGZvbyA9ICIxMi4xMC0wLTEiOw0KICB9DQoNCiAgcmV0dXJuIGYoKT09PSIxMi4xMC0wLTEiDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with does not change declaration scope - vars in with are visible outside","path":"TestCases/ch12/12.10/12.10-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGZ1bmN0aW9uIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGYobykgew0KDQogICAgZnVuY3Rpb24gaW5uZXJmKG8sIHgpIHsNCiAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvLCA0Mik7DQogIH0NCiAgDQogIGlmIChmKHt9KSA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with introduces scope - name lookup finds function parameter","path":"TestCases/ch12/12.10/12.10-0-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGlubmVyIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgdmFyIHggPSA0MjsNCg0KICAgICAgd2l0aCAobykgew0KICAgICAgICByZXR1cm4geDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7fSkgPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with introduces scope - name lookup finds inner variable","path":"TestCases/ch12/12.10/12.10-0-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgd2l0aCAobykgew0KICAgICAgICByZXR1cm4geDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7eDo0Mn0pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - name lookup finds property","path":"TestCases/ch12/12.10/12.10-0-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdGhhdCBpcyBjYXB0dXJlZCBieSBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7cHJvcDogIjEyLjEwLTAtMyBiZWZvcmUifTsNCiAgdmFyIGY7DQoNCiAgd2l0aCAobykgew0KICAgIGYgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9wOyB9DQogIH0NCiAgby5wcm9wID0gIjEyLjEwLTAtMyBhZnRlciI7DQogIHJldHVybiBmKCk9PT0iMTIuMTAtMC0zIGFmdGVyIg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with introduces scope - that is captured by function expression","path":"TestCases/ch12/12.10/12.10-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC03LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgd2l0aCBzdGF0ZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHtmb286IDF9Ow0KDQogIHdpdGggKG8pIHsNCiAgICBmb28gPSA0MjsNCiAgfQ0KDQogIHRyeSB7DQogICAgZm9vOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - scope removed when exiting with statement","path":"TestCases/ch12/12.10/12.10-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC04LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIHNldHMgbGlrZSBuYW1lZCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge2ZvbzogNDJ9Ow0KDQogIHdpdGggKG8pIHsNCiAgICB2YXIgZm9vID0gInNldCBpbiB3aXRoIjsNCiAgfQ0KDQogIHJldHVybiBvLmZvbyA9PT0gInNldCBpbiB3aXRoIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with introduces scope - var initializer sets like named property","path":"TestCases/ch12/12.10/12.10-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC05LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgb3V0ZXIgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCiAgICB2YXIgeCA9IDQyOw0KDQogICAgZnVuY3Rpb24gaW5uZXJmKG8pIHsNCiAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvKTsNCiAgfQ0KICANCiAgaWYgKGYoe30pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - name lookup finds outer variable","path":"TestCases/ch12/12.10/12.10-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgTnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSAyOw0KICB2YXIgZm9vID0gMTsNCiAgdHJ5DQogIHsNCiAgICB3aXRoIChvKSB7DQogICAgICBmb28gPSA0MjsNCiAgICB9DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogIHJldHVybiB0cnVlOw0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with - expression being Number","path":"TestCases/ch12/12.10/12.10-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgQm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gdHJ1ZTsNCiAgdmFyIGZvbyA9IDE7DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgZm9vID0gNDI7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KICByZXR1cm4gdHJ1ZTsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with - expression being Boolean","path":"TestCases/ch12/12.10/12.10-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSAic3RyIjsNCiAgdmFyIGZvbyA9IDE7DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgZm9vID0gNDI7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KICByZXR1cm4gdHJ1ZTsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with - expression being string","path":"TestCases/ch12/12.10/12.10-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gcmVzdG9yZXMgdGhlIGVhcmxpZXIgZW52aXJvbm1lbnQgb24gZXhpdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gMTsNCg0KICB2YXIgbyA9IHthIDogMn07DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgYSA9IDM7DQogICAgICB0aHJvdyAxOw0KICAgICAgYSA9IDQ7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHt9DQoNCiAgaWYgKGEgPT09IDEgJiYgby5hID09PSAzKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - restores the earlier environment on exit","path":"TestCases/ch12/12.10/12.10-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpbnRlcmF0aW9uIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGRvewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KICB3aGlsZShmYWxzZSk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using interation statement within \"with\" statement leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB3aXRoKG15T2JqKXsKICAgIGRvewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgd2hpbGUoZmFsc2UpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gIng0IikpewogICRFUlJPUignIzQ6IHA0ID09PSAieDQiLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement within \"with\" statement leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdG1lbnQgd2l0aGluZyAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogaXRlcmF0aW9uIHN0YXRlbWVudCBpbnNpZGUgd2l0aCBzdGF0ZW1lbnQgLSBleGNlcHRpb24gY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgZG97CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgICB3aGlsZShmYWxzZSk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statment withing \"with\" statement leading to completion by exception\niteration statement inside with statement - exception completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdHRoaW4gIndpdGgiIHN0YWVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBpdGVyYXRpb24gc3RhdGVtZW50IGluc2lkZSB3aXRoIHN0YXRlbWVudCAtIGJyZWFrIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKd2l0aChteU9iail7CiAgZG97CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9CiAgd2hpbGUoZmFsc2UpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement witthin \"with\" staement leading to completion by break\niteration statement inside with statement - break completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBkb3sKICAgIGJyZWFrOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KICB3aGlsZShmYWxzZSk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzQ6IHA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement within \"with\" statement leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7Cn0KCndpdGgobXlPYmopewogIGYoKTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKdHJ5ewogIHAzOwogICRFUlJPUignIzM6IHAzIGlzIG5vZCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBzdF9wYXJzZUludCA9PT0gcGFyc2VJbnQuIEFjdHVhbDogIHN0X3BhcnNlSW50ID09PScrIHN0X3BhcnNlSW50ICApOwp9CgppZighaXNOYU4oc3RfTmFOKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gTmFOLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gZXZhbC4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdC4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSBpc05hTikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gaXNOYU4uIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gaXNGaW5pdGUuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgcmV0dXJuIHZhbHVlOwp9Cgp3aXRoKG15T2JqKXsKICByZXN1bHQgPSBmKCk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09ICJ4MSIuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9Cgp0cnl7CiAgcDM7CiAgJEVSUk9SKCcjMzogcDMgaXMgbm9kIGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IHN0X3BhcnNlSW50ID09PSBwYXJzZUludC4gQWN0dWFsOiAgc3RfcGFyc2VJbnQgPT09Jysgc3RfcGFyc2VJbnQgICk7Cn0KCmlmKCFpc05hTihzdF9OYU4pKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSBOYU4uIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gZXZhbCkpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSBldmFsLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSBwYXJzZUZsb2F0LiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSBpc05hTi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZS4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICByZXR1cm4gdmFsdWU7CiAgc3RfcDEgPSBwMTsKICBzdF9wMiA9IHAyOwogIHN0X3AzID0gcDM7CiAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICBzdF9OYU4gPSBOYU47CiAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICBzdF9ldmFsID0gZXZhbDsKICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICBzdF9pc05hTiA9IGlzTmFOOwogIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgcDEgPSAneDEnOwogIHRoaXMucDIgPSAneDInOwogIGRlbCA9IGRlbGV0ZSBwMzsKICB2YXIgcDQgPSAneDQnOwogIHA1ID0gJ3g1JzsKICB2YXIgdmFsdWUgPSAndmFsdWUnOwp9Cgp3aXRoKG15T2JqKXsKICByZXN1bHQgPSBmKCk7Cn0KCmlmKCEocmVzdWx0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5ewogIHA0OwogICRFUlJPUignIzQ6IHA0IGRvZXNuXCd0IGV4aXN0cycpOwp9CmNhdGNoKGUpewp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgdGhyb3cgdmFsdWU7CiAgfQogIHdpdGgobXlPYmopewogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKdHJ5ewogIHAzOwogICRFUlJPUignIzM6IHAzIGlzIG5vZCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBzdF9wYXJzZUludCA9PT0gcGFyc2VJbnQuIEFjdHVhbDogIHN0X3BhcnNlSW50ID09PScrIHN0X3BhcnNlSW50ICApOwp9CgppZighaXNOYU4oc3RfTmFOKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gTmFOLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gZXZhbC4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdC4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSBpc05hTikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gaXNOYU4uIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gaXNGaW5pdGUuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgdGhyb3cgdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHdpdGgobXlPYmopewogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeXsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBkb2VzblwndCBleGlzdHMnKTsKfQpjYXRjaChlKXsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KZigpOwoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5ewogIHA0OwogICRFUlJPUignIzQ6IHA0IGRvZXNuXCd0IGV4aXN0cycpOwp9CmNhdGNoKGUpewp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeXsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBkb2VzblwndCBleGlzdHMnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHJldHVybiB2YWx1ZTsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9CgoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgd2l0aChteU9iail7CiAgICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5IHsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgd2l0aChteU9iail7CiAgICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgdGhyb3cgdmFsdWU7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdGhyb3cgdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KZigpOwoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB2YWx1ZTsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgd2l0aChteU9iail7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgd2l0aChteU9iail7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgcmV0dXJuIHZhbHVlOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgcmV0dXJuIHZhbHVlOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpdGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgICB0aHJvdyB2YWx1ZTsKICAgIH0KICB9CiAgdmFyIG9iaiA9IG5ldyBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to completition by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpdGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgdGhyb3cgdmFsdWU7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIH0KICB9CiAgdmFyIG9iaiA9IG5ldyBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to completition by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKZG97CiAgd2l0aChteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CndoaWxlKGZhbHNlKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICBkb3sKICAgIHdpdGgobXlPYmopewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogIH0KICB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICBkb3sKICAgIHdpdGgobXlPYmopewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogIH0KICB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzQ6IHA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpkb3sKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIGJyZWFrOwogIH0KfQp3aGlsZShmYWxzZSk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpkb3sKICB3aXRoKG15T2JqKXsKICAgIGJyZWFrOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp3aGlsZShmYWxzZSk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT11bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpmb3IodmFyIHByb3AgaW4gbXlPYmopewogIHdpdGgobXlPYmopewogICAgaWYocHJvcCA9PT0gJ3AxJykgewogICAgICBzdF9wMSA9IHAxOwogICAgICBwMSA9ICd4MSc7CiAgICB9CiAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AzJykgewogICAgICBzdF9wMyA9IHAzOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB9CiAgICBpZihwcm9wID09PSAncGFyc2VJbnQnKSBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgIGlmKHByb3AgPT09ICdJbmZpbml0eScpIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBpZihwcm9wID09PSAnZXZhbCcpIHN0X2V2YWwgPSBldmFsOwogICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIGlmKHByb3AgPT09ICdpc05hTicpIHN0X2lzTmFOID0gaXNOYU47CiAgICBpZihwcm9wID09PSAnaXNGaW5pdGUnKSBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgICB0aHJvdyB2YWx1ZTsKICAgIH0KICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgdGhyb3cgdmFsdWU7CiAgICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgICBzdF9wMSA9IHAxOwogICAgICAgIHAxID0gJ3gxJzsKICAgICAgfQogICAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgICAgc3RfcDIgPSBwMjsKICAgICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgfQogICAgICBpZihwcm9wID09PSAncDMnKSB7CiAgICAgICAgc3RfcDMgPSBwMzsKICAgICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIH0KICAgICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgICAgaWYocHJvcCA9PT0gJ0luZmluaXR5Jykgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgaWYocHJvcCA9PT0gJ2lzTmFOJykgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgd2l0aChteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgcDEgPSAneDEnOwogICAgc3RfcDIgPSBwMjsKICAgIHRoaXMucDIgPSAneDInOwogICAgc3RfcDMgPSBwMzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgd2l0aChteU9iail7CiAgICBicmVhazsKICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AyJykgewogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgIH0KICAgIGlmKHByb3AgPT09ICdwMycpIHsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIGlmKHByb3AgPT09ICdOYU4nKSBzdF9OYU4gPSBOYU47CiAgICBpZihwcm9wID09PSAnSW5maW5pdHknKSBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgIGlmKHByb3AgPT09ICdwYXJzZUZsb2F0Jykgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBpZihwcm9wID09PSAnaXNOYU4nKSBzdF9pc05hTiA9IGlzTmFOOwogICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgd2l0aChteU9iail7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgd2l0aChteU9iail7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIGYoKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICByZXR1cm4gdmFsdWU7CiAgfQogIHJlc3VsdCA9IGYoKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHJlc3VsdCA9IGYoKTsKfQoKaWYoIShyZXN1bHQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICByZXR1cm4gdmFsdWU7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBmKCk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBmKCk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgaWYocHJvcCA9PT0gJ3AxJykgewogICAgICBzdF9wMSA9IHAxOwogICAgICBwMSA9ICd4MSc7CiAgICB9CiAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AzJykgewogICAgICBzdF9wMyA9IHAzOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB9CiAgICBpZihwcm9wID09PSAncGFyc2VJbnQnKSBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgIGlmKHByb3AgPT09ICdJbmZpbml0eScpIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBpZihwcm9wID09PSAnZXZhbCcpIHN0X2V2YWwgPSBldmFsOwogICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIGlmKHByb3AgPT09ICdpc05hTicpIHN0X2lzTmFOID0gaXNOYU47CiAgICBpZihwcm9wID09PSAnaXNGaW5pdGUnKSBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgcDEgPSAneDEnOwogICAgc3RfcDIgPSBwMjsKICAgIHRoaXMucDIgPSAneDInOwogICAgc3RfcDMgPSBwMzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICBicmVhazsKICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AyJykgewogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgIH0KICAgIGlmKHByb3AgPT09ICdwMycpIHsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIGlmKHByb3AgPT09ICdOYU4nKSBzdF9OYU4gPSBOYU47CiAgICBpZihwcm9wID09PSAnSW5maW5pdHknKSBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgIGlmKHByb3AgPT09ICdwYXJzZUZsb2F0Jykgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBpZihwcm9wID09PSAnaXNOYU4nKSBzdF9pc05hTiA9IGlzTmFOOwogICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBkb3sKICAgICAgICBwMSA9ICd4MSc7CiAgICB9IHdoaWxlKGZhbHNlKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGRvewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0gd2hpbGUoZmFsc2UpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGRvewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgIH0gd2hpbGUoZmFsc2UpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYmUgYnJlYWsKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIGRvewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0gd2hpbGUoZmFsc2UpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion be break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYmUgYnJlYWsKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIGRvewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0gd2hpbGUoZmFsc2UpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion be break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcDEgPSAneDEnOwp9Cgp3aXRoKG15T2JqKXsKICBmKCk7Cn0KCmlmKCEocDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gIngxIi4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcDEgPSAneDEnOwogIHJldHVybiB2YWx1ZTsKfQoKd2l0aChteU9iail7CiAgcmVzdWx0ID0gZigpOwp9CgppZighKHAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09ICJ4MSIuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIHZhbHVlOwogIHAxID0gJ3gxJzsKfQoKd2l0aChteU9iail7CiAgcmVzdWx0ID0gZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHAxID0gJ3gxJzsKICAgIHRocm93IHZhbHVlOwogIH0KICAKICB3aXRoKG15T2JqKXsKICAgIGYoKTsKICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHRocm93IHZhbHVlOwogICAgcDEgPSAneDEnOwogIH0KICB3aXRoKG15T2JqKXsKICAgIGYoKTsKICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBwMSA9ICd4MSc7CiAgfQp9CgpmKCk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBwMSA9ICd4MScKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KCnJlc3VsdCA9IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBwMSA9ICd4MSc7CiAgfQp9CnJlc3VsdCA9IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzM6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBwMSA9ICd4MSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogIH0KICBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgcDEgPSAneDEnOwogICAgfQogIH0KICBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0IC0gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9CgoKd2l0aChteU9iail7CiAgICBwMSA9ICd4MSc7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context - normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKCiAgICB3aXRoKG15T2JqKXsKICAKICAgICAgICBwMSA9ICd4MScKICAgICAgICB0aHJvdyB2YWx1ZTsKICAgIAogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAgICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChteU9iai5wMSAhPT0gIngxIikgewoJJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewoKICB3aXRoKG15T2JqKXsKICAKICAgIHRocm93IHZhbHVlOwogICAgcDEgPSAneDEnCiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKCEocmVzdWx0ID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCmYoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQp9OwoKZigpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAgICRFUlJPUignIzE6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQp9OwoKZigpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH07CiAgICAKICAgIGYoKTsKfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9OwoKdHJ5IHsKICAgIHZhciBmID0gZnVuY3Rpb24oKXsKICAgICAgICB3aXRoKG15T2JqKXsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICB9CiAgICB9OwogICAgZigpOwp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCnZhciBvYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQp9Cgp2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQp9Cgp2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywgdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogIHAxOiAnYScsCiAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9OwoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgd2l0aChteU9iail7CiAgICB2YXIgcDEgPSAneDEnOwogICAgdGhyb3cgdmFsdWU7CiAgfQp9Cgp0cnkgewogIHZhciBvYmogPSBuZXcgX19GQUNUT1JZKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMSkgewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAobXlPYmoucDEgIT09ICJ4MSIpIHsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9CgpkbyB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0gd2hpbGUoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgZG97CiAgICAgICAgd2l0aChteU9iail7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgfQogICAgfSB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgZG97CiAgICAgICAgd2l0aChteU9iail7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgfQogICAgfSB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmRvIHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfSB3aGlsZShmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmRvIHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfSB3aGlsZShmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgIHdpdGgobXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgIHdpdGgobXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIHdpdGgodGhlaXJPYmopewogICAgICAgIHAxID0gJ3gxJzsKICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKHRoZWlyT2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiB0aGVpck9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgdGhlaXJPYmoucDEgPT09JysgdGhlaXJPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9CgoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHdpdGgodGhlaXJPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZih0aGVpck9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMzogdGhlaXJPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIHRoZWlyT2JqLnAxID09PScrIHRoZWlyT2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9CgoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHdpdGgodGhlaXJPYmopewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICAKICAgICAgICB9CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYodGhlaXJPYmoucDEgIT09IHRydWUpewogICRFUlJPUignIzM6IHRoZWlyT2JqLnAxID09PSB0cnVlLiBBY3R1YWw6ICB0aGVpck9iai5wMSA9PT0nKyB0aGVpck9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICAoZnVuY3Rpb24oKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICByZXN1bHQ9KGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0pKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocmVzdWx0ICE9PSAibXlPYmpfdmFsdWUiKXsKICAkRVJST1IoJyMyOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICByZXN1bHQ9KGZ1bmN0aW9uKCl7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0pKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocmVzdWx0ICE9PSAnbXlPYmpfdmFsdWUnKXsKICAkRVJST1IoJyMyOiByZXN1bHQgPT09IFwnbXlPYmpfdmFsdWVcJy4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIChmdW5jdGlvbiAoKXsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICB9KSgpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIChmdW5jdGlvbiBmKCl7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgfSkoKTsKICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICAgIHZhciBvYmogPSBuZXcgX19GQUNUT1JZOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICBwMTogJ2EnLCAKICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogIHZhciBfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpewogICAgcmV0dXJuIHZhbHVlOwogICAgcDEgPSAneDEnOwogIH0KICB2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICB9CiAgICAgICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgc3RyaW5nIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgbXlPYmogPSB7CiAgcDE6ICdhJywgCn0KZXZhbCgid2l0aChteU9iail7cDE9J2InfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gJ2InKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgPT09IDEpewogICRFUlJPUignIzI6IG15T2JqLnAxICE9PSAxJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing string property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgbnVtYmVyIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMTogMSwgCn0KZXZhbCgid2l0aChteU9iail7cDE9Mn0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYobXlPYmoucDEgIT09IDIpewogICRFUlJPUignIzE6IG15T2JqLnAxID09PSAyLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing number property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgYm9vbGVhbiBwcm9wZXJ0eQogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gJ2EnOwp2YXIgbXlPYmogPSB7CiAgcDE6IHRydWUsIAp9CmV2YWwoIndpdGgobXlPYmope3AxPWZhbHNlfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gZmFsc2UpewogICRFUlJPUignIzE6IG15T2JqLnAxID09PSBmYWxzZS4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzI6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing boolean property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgb2JqZWN0IHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMToge2E6ImhlbGxvIn0sIAp9CmV2YWwoIndpdGgobXlPYmope3AxPXtiOidoaSd9fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMS5hID09PSAiaGVsbG8iKXsKICAkRVJST1IoJyMxOiBteU9iai5wMS5hICE9PSAiaGVsbG8iJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxLmIgIT09ICJoaSIpewogICRFUlJPUignIzI6IG15T2JqLnAxLmIgPT09ICJoaSIuIEFjdHVhbDogIG15T2JqLnAxLmIgPT09JysgbXlPYmoucDEuYiAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzM6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing object property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgYXJyYXkgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBbMSwyLDNdLCAKfQpldmFsKCJ3aXRoKG15T2JqKXtwMT1bMywyLDFdfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMVsyXSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDFbMl0gPT09IDEuIEFjdHVhbDogIG15T2JqLnAxWzJdID09PScrIG15T2JqLnAxWzJdICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSAhPT0gXCdhXCcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing array property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgZnVuY3Rpb24gcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBmdW5jdGlvbigpe3JldHVybiAwO30sIAp9CmV2YWwoIndpdGgobXlPYmope3AxPWZ1bmN0aW9uKCl7cmV0dXJuIDE7fX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYobXlPYmoucDEoKSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDEgPT09IDEuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSAhPT0gXCdhXCcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing function property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgc3RyaW5nIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgbXlPYmogPSB7CiAgcDE6ICdhJywgCiAgZGVsOmZhbHNlCn0KZXZhbCgid2l0aChteU9iail7ZGVsID0gZGVsZXRlIHAxfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSAhPT0gImEiJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZS4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09IDEpewogICRFUlJPUignIzQ6IG15T2JqLnAxICE9PSAxJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting string property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgbnVtYmVyIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMTogMSwKICBkZWw6ZmFsc2UgCn0KZXZhbCgid2l0aChteU9iail7ZGVsID0gZGVsZXRlIHAxfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSA9PT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDEgIT09IDEnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09IHVuZGVmaW5lZCAuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZS4gQWN0dWFsOiBteU9iai5kZWwgPT09LiBBY3R1YWw6ICBteU9iai5kZWwgPT09JysgbXlPYmouZGVsICArbXlPYmouZGVsKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting number property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgYm9vbGVhbiBwcm9wZXJ0eQogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gJ2EnOwp2YXIgbXlPYmogPSB7CiAgcDE6IHRydWUsCiAgZGVsOmZhbHNlIAp9CgpldmFsKCJ3aXRoKG15T2JqKXtkZWwgPSBkZWxldGUgcDF9Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKG15T2JqLnAxID09PSB0cnVlKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSAhPT0gdHJ1ZSAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09IHVuZGVmaW5lZCAuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZSAuIEFjdHVhbDogIG15T2JqLmRlbCA9PT0nKyBteU9iai5kZWwgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzQ6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting boolean property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgb2JqZWN0IHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMToge2E6ImhlbGxvIn0sCiAgZGVsOmZhbHNlIAp9CmV2YWwoIndpdGgobXlPYmope2RlbCA9IGRlbGV0ZSBwMX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewppZihteU9iai5wMS5hID09PSAiaGVsbG8iKXsKICAkRVJST1IoJyMxOiBteU9iai5wMS5hICE9PSAiaGVsbG8iICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting object property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgYXJyYXkgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBbMSwyLDNdLAogIGRlbDpmYWxzZSAKfQpldmFsKCJ3aXRoKG15T2JqKXtkZWwgPSBkZWxldGUgcDF9Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKaWYobXlPYmoucDFbMl0gPT09IDMpewogICRFUlJPUignIzE6IG15T2JqLnAxWzJdICE9PSAzICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting array property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgZnVuY3Rpb24gcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBmdW5jdGlvbigpe3JldHVybiAwO30sIAogIGRlbDpmYWxzZQp9CmV2YWwoIndpdGgobXlPYmope2RlbCA9IGRlbGV0ZSBwMX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewppZihteU9iai5wMSgpID09PSAwKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSgpICE9PSAwICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting function property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IGZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHRyeSB7DQogICAgLy8gd3JhcHBpbmcgaXQgaW4gZXZhbCBzaW5jZSB0aGlzIG5lZWRzIHRvIGJlIGEgc3ludGF4IGVycm9yLiBUaGUNCiAgICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uDQogICAgZXZhbCgiXA0KICAgICAgICAgIGZ1bmN0aW9uIGYoKSB7XA0KICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7XA0KICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgd2l0aCAobykge307XA0KICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybihlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOyANCgl9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (strict function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB3aXRoIHN0YXRlbWVudCBpbiBzdHJpY3QgbW9kZSB0aHJvd3MgU3ludGF4RXJyb3IgKGV2YWwsIHdoZXJlIHRoZSBjb250YWluZXIgZnVuY3Rpb24gaXMgc3RyaWN0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAvLyB3cmFwcGluZyBpdCBpbiBldmFsIHNpbmNlIHRoaXMgbmVlZHMgdG8gYmUgYSBzeW50YXggZXJyb3IuIFRoZQ0KICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uIE5vdGUgdGhhdCBldmFsDQogIC8vIGluaGVyaXRzIHRoZSBzdHJpY3RuZXNzIG9mIGl0cyBjYWxsaW5nIGNvbnRleHQuICANCiAgdHJ5IHsNCiAgICBldmFsKCJcDQogICAgICAgICAgdmFyIG8gPSB7fTtcDQogICAgICAgICAgd2l0aCAobykge31cDQogICAgICAgIik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (eval, where the container function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHVzaW5nIFdpdGhTdGF0ZW1lbnQgaW4gc3RyaWN0IG1vZGUgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ3aXRoICh7fSkgeyB0aHJvdyBuZXcgRXJyb3IoKTt9Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when using WithStatement in strict mode code","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-11-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEyLzEyLjEwLzEyLjEwLjEvMTIuMTAuMS0xMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gd2hlbiB1c2luZyB3aXRoIHN0YXRlbWVudA0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp3aXRoICh7fSkgeyB9DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown when using with statement","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-11gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB3aXRoIHN0YXRlbWVudCBpbiBzdHJpY3QgbW9kZSB0aHJvd3MgU3ludGF4RXJyb3IgKHN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoIlwNCiAgICAgICAgICAndXNlIHN0cmljdCc7IFwNCiAgICAgICAgICB2YXIgbyA9IHt9OyBcDQogICAgICAgICAgd2l0aCAobykge31cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict eval)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMi8xMi4xMC8xMi4xMC4xLzEyLjEwLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIHdoZW4gV2l0aFN0YXRlbWVudCBib2R5IGlzIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHdpdGggKHt9KSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError isn't thrown when WithStatement body is in strict mode code","noStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBnZXR0ZXIgb2YgYSBsaXRlcmFsIG9iamVjdCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHsgZ2V0OiBmdW5jdGlvbiAoYSkgeyB3aXRoKGEpe30gfSB9OyAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when the getter of a literal object utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBSSFMgb2YgYSBkb3QgcHJvcGVydHkgYXNzaWdubWVudCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHt9OyBvYmouZ2V0ID0gZnVuY3Rpb24gKGEpIHsgd2l0aChhKXt9IH07ICIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when the RHS of a dot property assignment utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBSSFMgb2YgYW4gb2JqZWN0IGluZGV4ZXIgYXNzaWdubWVudCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHt9OyBvYmpbJ2dldCddID0gZnVuY3Rpb24gKGEpIHsgd2l0aChhKXt9IH07ICAiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when the RHS of an object indexer assignment utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAobmVzdGVkIGZ1bmN0aW9uIHdoZXJlIGNvbnRhaW5lciBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgLy8gd3JhcHBpbmcgaXQgaW4gZXZhbCBzaW5jZSB0aGlzIG5lZWRzIHRvIGJlIGEgc3ludGF4IGVycm9yLiBUaGUNCiAgICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uDQogICAgZXZhbCgiXA0KICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHtcDQogICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJzsgXA0KICAgICAgICAgICAgZnVuY3Rpb24gZigpIHtcDQogICAgICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9O1wNCiAgICAgICAgICAgIH1cDQogICAgICAgICAgfVwNCiAgICAgICAgIik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (nested function where container is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAobmVzdGVkIHN0cmljdCBmdW5jdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAvLyB3cmFwcGluZyBpdCBpbiBldmFsIHNpbmNlIHRoaXMgbmVlZHMgdG8gYmUgYSBzeW50YXggZXJyb3IuIFRoZQ0KICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gbXVzdCBiZSBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbi4NCiAgICBldmFsKCJcDQogICAgICAgICAgICBmdW5jdGlvbiBmb28oKSB7XA0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGYoKSB7XA0KICAgICAgICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7IFwNCiAgICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9O1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgICB9XA0KICAgICAgICAiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (nested strict function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IEZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIHZhciBmID0gRnVuY3Rpb24oIlwNCiAgICAgICAgICAgICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJzsgIFwNCiAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IHt9OyBcDQogICAgICAgICAgICAgICAgICAgICAgd2l0aCAobykge307XA0KICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQoJDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict Function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGFsbG93ZWQgaW4gbmVzdGVkIEZ1bmN0aW9uIGV2ZW4gaWYgaXRzIGNvbnRhaW5lciBGdW5jdGlvbiBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICAgIEZ1bmN0aW9uKCJcJ3VzZSBzdHJpY3RcJzsgdmFyIGYxID0gRnVuY3Rpb24oIFwidmFyIG8gPSB7fTsgd2l0aCAobykge307XCIpIik7DQogICAgcmV0dXJuIHRydWU7DQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement allowed in nested Function even if its container Function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoZnVuY3Rpb24gZXhwcmVzc2lvbiwgd2hlcmUgdGhlIGNvbnRhaW5lciBmdW5jdGlvbiBpcyBkaXJlY3RseSBldmFsZWQgZnJvbSBzdHJpY3QgY29kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgidmFyIGYgPSBmdW5jdGlvbiAoKSB7XA0KICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICB3aXRoIChvKSB7fTsgXA0KICAgICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement in strict mode throws SyntaxError (function expression, where the container function is directly evaled from strict code)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoZnVuY3Rpb24gZXhwcmVzc2lvbiwgd2hlcmUgdGhlIGNvbnRhaW5lciBGdW5jdGlvbiBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgRnVuY3Rpb24oIlwNCiAgICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7IFwNCiAgICAgICAgICAgICAgdmFyIGYxID0gZnVuY3Rpb24gKCkge1wNCiAgICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9OyBcDQogICAgICAgICAgICAgICAgfVwNCiAgICAgICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement in strict mode throws SyntaxError (function expression, where the container Function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IGZ1bmN0aW9uIGV4cHJlc3Npb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgZXZhbCgiXA0KICAgICAgICAgIHZhciBmID0gZnVuY3Rpb24gKCkge1wNCiAgICAgICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJztcDQogICAgICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9OyBcDQogICAgICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict function expression)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHRlc3QgdXNpbmcgc3dpdGNoIHN0YXRlbWVudAogKi8KCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICByZXN1bHQgKz0gMjsKICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSAyOgogICAgICByZXN1bHQgKz0gODsKICAgIGNhc2UgMzoKICAgICAgcmVzdWx0ICs9IDE2OwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGNhc2UgNDoKICAgICAgcmVzdWx0ICs9IDY0OwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9CiAgICAgICAgCmlmKCEoU3dpdGNoVGVzdCgwKSA9PT0gNikpewogICRFUlJPUigiIzE6IFN3aXRjaFRlc3QoMCkgPT09IDYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMCkgPT09IisgU3dpdGNoVGVzdCgwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDEpID09PSA0KSl7CiAgJEVSUk9SKCIjMjogU3dpdGNoVGVzdCgxKSA9PT0gNC4gQWN0dWFsOiAgU3dpdGNoVGVzdCgxKSA9PT0iKyBTd2l0Y2hUZXN0KDEpICApOwp9CgppZighKFN3aXRjaFRlc3QoMikgPT09IDU2KSl7CiAgJEVSUk9SKCIjMzogU3dpdGNoVGVzdCgyKSA9PT0gNTYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMikgPT09IisgU3dpdGNoVGVzdCgyKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDMpID09PSA0OCkpewogICRFUlJPUigiIzQ6IFN3aXRjaFRlc3QoMykgPT09IDQ4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDMpID09PSIrIFN3aXRjaFRlc3QoMykgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCg0KSA9PT0gNjQpKXsKICAkRVJST1IoIiM1OiBTd2l0Y2hUZXN0KDQpID09PSA2NC4gQWN0dWFsOiAgU3dpdGNoVGVzdCg0KSA9PT0iKyBTd2l0Y2hUZXN0KDQpICApOwp9CgppZighKFN3aXRjaFRlc3QodHJ1ZSkgPT09IDMyKSl7CiAgJEVSUk9SKCIjNjogU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QodHJ1ZSkgPT09IisgU3dpdGNoVGVzdCh0cnVlKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM3OiBTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoZmFsc2UpID09PSIrIFN3aXRjaFRlc3QoZmFsc2UpICApOwp9CgppZighKFN3aXRjaFRlc3QobnVsbCkgPT09IDMyKSl7CiAgJEVSUk9SKCIjODogU3dpdGNoVGVzdChudWxsKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QobnVsbCkgPT09IisgU3dpdGNoVGVzdChudWxsKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IDMyKSl7CiAgJEVSUk9SKCIjOTogU3dpdGNoVGVzdCh2b2lkIDApID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh2b2lkIDApID09PSIrIFN3aXRjaFRlc3Qodm9pZCAwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KCcwJykgPT09IDMyKSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoJzAnKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoJzAnKSA9PT0iKyBTd2l0Y2hUZXN0KCcwJykgICk7Cn0KCg==","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Simple test using switch statement","path":"TestCases/ch12/12.11/S12.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3dpdGNoIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIHZhcmlhYmxlcwogKi8KCnZhciB4ID0gbmV3IE51bWJlcigyKTsKCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICByZXN1bHQgKz0gMjsKICAgIGNhc2UgJzEnOgogICAgICByZXN1bHQgKz0gNDsKICAgICAgYnJlYWs7CiAgICBjYXNlIG5ldyBOdW1iZXIoMik6CiAgICAgIHJlc3VsdCArPSA4OwogICAgY2FzZSAzOgogICAgICByZXN1bHQgKz0gMTY7CiAgICBkZWZhdWx0OgogICAgICByZXN1bHQgKz0gMzI7CiAgICAgIGJyZWFrOwogICAgY2FzZSA0OgogICAgICByZXN1bHQgKz0gNjQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSB4OgogICAgICByZXN1bHQgKz0gMTI4OwogICAgICBicmVhazsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI1NjsKICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDUxMjsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQogICAgICAgIAppZighKFN3aXRjaFRlc3QoMCkgPT09IDYpKXsKICAkRVJST1IoIiMxOiBTd2l0Y2hUZXN0KDApID09PSA2LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDApID09PSIrIFN3aXRjaFRlc3QoMCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgxKSA9PT0gNTEyKSl7CiAgJEVSUk9SKCIjMjogU3dpdGNoVGVzdCgxKSA9PT0gNTEyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDEpID09PSIrIFN3aXRjaFRlc3QoMSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgyKSA9PT0gMzIpKXsKICAkRVJST1IoIiMzOiBTd2l0Y2hUZXN0KDIpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgyKSA9PT0iKyBTd2l0Y2hUZXN0KDIpICApOwp9CgppZighKFN3aXRjaFRlc3QoMykgPT09IDQ4KSl7CiAgJEVSUk9SKCIjNDogU3dpdGNoVGVzdCgzKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoMykgPT09IisgU3dpdGNoVGVzdCgzKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDQpID09PSA2NCkpewogICRFUlJPUigiIzU6IFN3aXRjaFRlc3QoNCkgPT09IDY0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDQpID09PSIrIFN3aXRjaFRlc3QoNCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM2OiBTd2l0Y2hUZXN0KHRydWUpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh0cnVlKSA9PT0iKyBTd2l0Y2hUZXN0KHRydWUpICApOwp9CgppZighKFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMikpewogICRFUlJPUigiIzc6IFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChmYWxzZSkgPT09IisgU3dpdGNoVGVzdChmYWxzZSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChudWxsKSA9PT0gMzIpKXsKICAkRVJST1IoIiM4OiBTd2l0Y2hUZXN0KG51bGwpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChudWxsKSA9PT0iKyBTd2l0Y2hUZXN0KG51bGwpICApOwp9CgppZighKFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMzIpKXsKICAkRVJST1IoIiM5OiBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IDMyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IisgU3dpdGNoVGVzdCh2b2lkIDApICApOwp9CgppZighKFN3aXRjaFRlc3QoJzAnKSA9PT0gMzIpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdCgnMCcpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgnMCcpID09PSIrIFN3aXRjaFRlc3QoJzAnKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KHgpID09PSAxMjgpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdCh4KSA9PT0gMTI4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHgpID09PSIrIFN3aXRjaFRlc3QoeCkgICk7Cn0KCg==","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Switch with different types of variables","path":"TestCases/ch12/12.11/S12.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY2FzZSB3aXRoIG51bGwsIE5hTiwgSW5maW5pdHkKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBjYXNlIDE6CiAgICAgIHJlc3VsdCArPSA0OwogICAgICBicmVhazsKICAgIGNhc2UgMjoKICAgICAgcmVzdWx0ICs9IDg7CiAgICBjYXNlIDM6CiAgICAgIHJlc3VsdCArPSAxNjsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgICBjYXNlIG51bGw6CiAgICAgIHJlc3VsdCArPSA2NDsKICAgIGNhc2UgTmFOOgogICAgICByZXN1bHQgKz0gMTI4OwogICAgICBicmVhazsKICAgIGNhc2UgSW5maW5pdHk6CiAgICAgIHJlc3VsdCArPSAyNTY7CiAgICBjYXNlIDIrMzoKICAgICAgcmVzdWx0ICs9IDUxMjsKICAgICAgYnJlYWs7CiAgICBjYXNlIHVuZGVmaW5lZDoKICAgICAgcmVzdWx0ICs9IDEwMjQ7CiAgfQogIAogIHJldHVybiByZXN1bHQ7Cn0KICAgICAgICAKaWYoIShTd2l0Y2hUZXN0KDApID09PSA2KSl7CiAgJEVSUk9SKCIjMTogU3dpdGNoVGVzdCgwKSA9PT0gNi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgwKSA9PT0iKyBTd2l0Y2hUZXN0KDApICApOwp9CgppZighKFN3aXRjaFRlc3QoMSkgPT09IDQpKXsKICAkRVJST1IoIiMyOiBTd2l0Y2hUZXN0KDEpID09PSA0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDEpID09PSIrIFN3aXRjaFRlc3QoMSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgyKSA9PT0gNTYpKXsKICAkRVJST1IoIiMzOiBTd2l0Y2hUZXN0KDIpID09PSA1Ni4gQWN0dWFsOiAgU3dpdGNoVGVzdCgyKSA9PT0iKyBTd2l0Y2hUZXN0KDIpICApOwp9CgppZighKFN3aXRjaFRlc3QoMykgPT09IDQ4KSl7CiAgJEVSUk9SKCIjNDogU3dpdGNoVGVzdCgzKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoMykgPT09IisgU3dpdGNoVGVzdCgzKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDQpID09PSAzMikpewogICRFUlJPUigiIzU6IFN3aXRjaFRlc3QoNCkgPT09IDMyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDQpID09PSIrIFN3aXRjaFRlc3QoNCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCg1KSA9PT0gNTEyKSl7CiAgJEVSUk9SKCIjNTogU3dpdGNoVGVzdCg1KSA9PT0gNTEyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDUpID09PSIrIFN3aXRjaFRlc3QoNSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM2OiBTd2l0Y2hUZXN0KHRydWUpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh0cnVlKSA9PT0iKyBTd2l0Y2hUZXN0KHRydWUpICApOwp9CgppZighKFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMikpewogICRFUlJPUigiIzc6IFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChmYWxzZSkgPT09IisgU3dpdGNoVGVzdChmYWxzZSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChudWxsKSA9PT0gMTkyKSl7CiAgJEVSUk9SKCIjODogU3dpdGNoVGVzdChudWxsKSA9PT0gMTkyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KG51bGwpID09PSIrIFN3aXRjaFRlc3QobnVsbCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh2b2lkIDApID09PSAxMDI0KSl7CiAgJEVSUk9SKCIjOTogU3dpdGNoVGVzdCh2b2lkIDApID09PSAxMDI0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IisgU3dpdGNoVGVzdCh2b2lkIDApICApOwp9CgppZighKFN3aXRjaFRlc3QoTmFOKSA9PT0gMzIpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdChOYU4pID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChOYU4pID09PSIrIFN3aXRjaFRlc3QoTmFOKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KEluZmluaXR5KSA9PT0gNzY4KSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoTmFOKSA9PT0gNzY4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KE5hTikgPT09IisgU3dpdGNoVGVzdChOYU4pICApOwp9Cgo=","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Using case with null, NaN, Infinity","path":"TestCases/ch12/12.11/S12.11_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY2FzZSB3aXRoIGlzTmFOIGFuZCBpc05hTih2YWx1ZSkKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBjYXNlIDE6CiAgICAgIHJlc3VsdCArPSA0OwogICAgICBicmVhazsKICAgIGNhc2UgMjoKICAgICAgcmVzdWx0ICs9IDg7CiAgICBjYXNlIGlzTmFOKHZhbHVlKToKICAgICAgcmVzdWx0ICs9IDE2OwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGNhc2UgbnVsbDoKICAgICAgcmVzdWx0ICs9IDY0OwogICAgY2FzZSBpc05hTjoKICAgICAgcmVzdWx0ICs9IDEyODsKICAgICAgYnJlYWs7CiAgICBjYXNlIEluZmluaXR5OgogICAgICByZXN1bHQgKz0gMjU2OwogICAgY2FzZSAyKzM6CiAgICAgIHJlc3VsdCArPSA1MTI7CiAgICAgIGJyZWFrOwogICAgY2FzZSB1bmRlZmluZWQ6CiAgICAgIHJlc3VsdCArPSAxMDI0OwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9CiAgICAgICAgCmlmKCEoU3dpdGNoVGVzdChldmFsKCdOdW1iZXIoZmFsc2UpJykpID09PSA2KSl7CiAgJEVSUk9SKCIjMTogU3dpdGNoVGVzdCgwKSA9PT0gNi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgwKSA9PT0iKyBTd2l0Y2hUZXN0KDApICApOwp9CgppZighKFN3aXRjaFRlc3QocGFyc2VJbnQpID09PSAzMikpewogICRFUlJPUigiIzI6IFN3aXRjaFRlc3QocGFyc2VJbnQpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChwYXJzZUludCkgPT09IisgU3dpdGNoVGVzdChwYXJzZUludCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChpc05hTikgPT09IDEyOCkpewogICRFUlJPUigiIzM6IFN3aXRjaFRlc3QoaXNOYU4pID09PSAxMjguIEFjdHVhbDogIFN3aXRjaFRlc3QoaXNOYU4pID09PSIrIFN3aXRjaFRlc3QoaXNOYU4pICApOwp9CgppZighKFN3aXRjaFRlc3QodHJ1ZSkgPT09IDMyKSl7CiAgJEVSUk9SKCIjNjogU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QodHJ1ZSkgPT09IisgU3dpdGNoVGVzdCh0cnVlKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gNDgpKXsKICAkRVJST1IoIiM3OiBTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoZmFsc2UpID09PSIrIFN3aXRjaFRlc3QoZmFsc2UpICApOwp9CgppZighKFN3aXRjaFRlc3QobnVsbCkgPT09IDE5MikpewogICRFUlJPUigiIzg6IFN3aXRjaFRlc3QobnVsbCkgPT09IDE5Mi4gQWN0dWFsOiAgU3dpdGNoVGVzdChudWxsKSA9PT0iKyBTd2l0Y2hUZXN0KG51bGwpICApOwp9CgppZighKFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMTAyNCkpewogICRFUlJPUigiIzk6IFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMTAyNC4gQWN0dWFsOiAgU3dpdGNoVGVzdCh2b2lkIDApID09PSIrIFN3aXRjaFRlc3Qodm9pZCAwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KE5hTikgPT09IDMyKSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoTmFOKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoTmFOKSA9PT0iKyBTd2l0Y2hUZXN0KE5hTikgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChJbmZpbml0eSkgPT09IDc2OCkpewogICRFUlJPUigiIzEwOiBTd2l0Y2hUZXN0KE5hTikgPT09IDc2OC4gQWN0dWFsOiAgU3dpdGNoVGVzdChOYU4pID09PSIrIFN3aXRjaFRlc3QoTmFOKSAgKTsKfQoK","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Using case with isNaN and isNaN(value)","path":"TestCases/ch12/12.11/S12.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBjYW4gYmUgb25seSBvbmUgRGVmYXVsdENsYXVzZQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIERlZmF1bHRDbGF1c2UKICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoKHZhbHVlKSB7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIAogIHJldHVybiByZXN1bHQ7Cn0KCnZhciB4ID0gU3dpdGNoVGVzdCgwKTsKCg==","commentary":"There can be only one DefaultClause","description":"Duplicate DefaultClause","negative":"","path":"TestCases/ch12/12.11/S12.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCgpIHt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2goKSB7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch() {}\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCB7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBkZWZhdWx0OgogICAgICByZXN1bHQgKz0gMzI7CiAgICAgIGJyZWFrOwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9Cgp2YXIgeCA9IFN3aXRjaFRlc3QoMCk7Cgo=","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch {}\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCh2YWx1ZSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnN3aXRjaCh2YWx1ZSk7Cgo=","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch(value)\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY2FzZSIgdGhhdCBoYXMgbm8gRXhwcmVzc29uIGFmdGVyIGl0LiAiQ2FzZUNsYXVzZTogY2FzZSBFeHByZXNzaW9uIDogW1N0YXRlbWVudExpc3RdIgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2U6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Using \"case\" that has no Expresson after it. \"CaseClause: case Expression : [StatementList]\"","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnRyb2R1Y2luZyBzdGF0ZW1lbnQgbm90IGZvbGxvd2VkIGJ5ICJjYXNlIiBrZXl3b3JkCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogIAlyZXN1bHQgPTI7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Introducing statement not followed by \"case\" keyword","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCBzeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBOZXN0aW5nIG9uZSAic3dpdGNoIiBzdGF0ZW1lbnQgaW50byBTdGF0ZW1lbnRMaXN0IG9mIHRoZSBvdGhlcidzCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoKHZhbHVlKSB7CiAgICBjYXNlIDA6CiAgICAgIHN3aXRjaCh2YWx1ZSkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgcmVzdWx0ICs9IDM7CiAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgcmVzdWx0ICo9IDI7CiAgICAgIGJyZWFrOwogICAgICByZXN1bHQ9MzsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIHJldHVybiByZXN1bHQ7Cn0KCnZhciB4ID0gU3dpdGNoVGVzdCgwKTsKaWYoeCE9PTYpICRFUlJPUigiIzE6IFN3aXRjaFRlc3QoMCkgPT09IDYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMCkgPT09IisgU3dpdGNoVGVzdCgwKSAgKTsKCg==","commentary":"Embedded syntax constructions of switch statement","description":"Nesting one \"switch\" statement into StatementList of the other's","path":"TestCases/ch12/12.11/S12.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYWJlbGxlZCBzdGF0ZW1lbnRzIGFyZSBvbmx5IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBsYWJlbGxlZAogKiBicmVhayBhbmQgY29udGludWUgc3RhdGVtZW50cwogKgogKiBAcGF0aCBjaDEyLzEyLjEyL1MxMi4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgbGFiZWxsZWQgYnJlYWsgd29ya3MuIFNlZSBjb250aW51ZSBhbmQgYnJlYWsgc2VjdGlvbnMKICovCgp2YXIgb2JqZWN0ID0ge3AxOiAxLCBwMjogMX07CnZhciByZXN1bHQgPSAwOwpsYmw6IGZvcih2YXIgaSBpbiBvYmplY3QpewogIHJlc3VsdCArPSBvYmplY3RbaV07CiAgYnJlYWsgbGJsOwp9CgppZighKHJlc3VsdCA9PT0gMSkpewogICRFUlJPUigiJ2JyZWFrIGxhYmVsJyBzaG91bGQgYnJlYWsgZXhlY3V0aW9uIG9mIGxhYmVsbGVkIGl0ZXJhdGlvbiBzdGF0ZW1lbnQiKTsKfQoK","commentary":"Labelled statements are only used in conjunction with labelled\nbreak and continue statements","description":"Checking if labelled break works. See continue and break sections","path":"TestCases/ch12/12.12/S12.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTYW5pdHkgdGVzdCBmb3IgdGhyb3cgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gdGhyb3cgZXhjZXB0aW9uIHdpdGggInRocm93IgogKiBAbmVnYXRpdmUKICovCgp0aHJvdyAiZXJyb3IiOwoK","commentary":"Sanity test for throw statement","description":"Trying to throw exception with \"throw\"","negative":"","path":"TestCases/ch12/12.13/S12.13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgdW5kZWZpbmVkOwp9CmNhdGNoKGUpewogIGlmIChlIT09dW5kZWZpbmVkKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing undefined","path":"TestCases/ch12/12.13/S12.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgbnVsbAogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IG51bGw7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT1udWxsKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IG51bGwuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing null","path":"TestCases/ch12/12.13/S12.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYm9vbGVhbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IHRydWU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzMKdmFyIGI9ZmFsc2U7CnRyeXsKICB0aHJvdyBiOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzQKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing boolean","path":"TestCases/ch12/12.13/S12.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3RyaW5nCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPSJleGNlcHRpb24gIzEiOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PSJleGNlcHRpb24gIzEiKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09ImV4Y2VwdGlvbiAjMSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing string","path":"TestCases/ch12/12.13/S12.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgbnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xMykgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTEzLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPTEzOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzMKdHJ5ewogIHRocm93IDIuMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yLjEzKSAkRVJST1IoJyMzOiBFeGNlcHRpb24gPT09Mi4xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgTmFOOwp9CmNhdGNoKGUpewogIGlmICghaXNOYU4oZSkpICRFUlJPUignIzQ6IEV4Y2VwdGlvbiBpcyBOYU4nKTsKfQoKLy8gQ0hFQ0sjNQp0cnl7CiAgdGhyb3cgK0luZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09K0luZmluaXR5KSAkRVJST1IoJyM1OiBFeGNlcHRpb24gPT09K0luZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyM2CnRyeXsKICB0aHJvdyAtSW5maW5pdHk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tSW5maW5pdHkpICRFUlJPUignIzY6IEV4Y2VwdGlvbiA9PT0tSW5maW5pdHkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzcKdHJ5ewogIHRocm93ICswOwp9CmNhdGNoKGUpewogIGlmIChlIT09KzApICRFUlJPUignIzc6IEV4Y2VwdGlvbiA9PT0rMC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjOAp0cnl7CiAgdGhyb3cgLTA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tMCkgJEVSUk9SKCcjODogRXhjZXB0aW9uID09PS0wLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing number","path":"TestCases/ch12/12.13/S12.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgb2JqZWN0CiAqLwoKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30sCiAgICAgICAgICAgICBpOjcKfQoKdHJ5ewogIHRocm93IG15T2JqOwp9CmNhdGNoKGUpewkKLy8gQ0hFQ0sjMQogIGlmIChlLnAxIT09ImEiKSAkRVJST1IoJyMxOiBlLnAxID09PSAiYSIuIEFjdHVhbDogIGUucDEgPT09JysgZS5wMSAgKTsKLy8gQ0hFQ0sjMgogIGlmIChlLnZhbHVlIT09J215T2JqX3ZhbHVlJykgJEVSUk9SKCcjMjogZS5wMSA9PT0gXCdteU9ial92YWx1ZVwnLiBBY3R1YWw6ICBlLnAxID09PScrIGUucDEgICk7Ci8vIENIRUNLIzMKICBpZiAoZS5ldmFsKCkhPT0nb2JqX2V2YWwnKSAkRVJST1IoJyMzOiBlLnAxID09PSBcJ29ial9ldmFsXCcuIEFjdHVhbDogIGUucDEgPT09JysgZS5wMSAgKTsKfQoKLy8gQ0hFQ0sjNApteU9iai5pPTYKdHJ5ewogIHRocm93IG15T2JqOwp9CmNhdGNoKGUpe30KaWYgKG15T2JqLmkhPT02KSAkRVJST1IoJyM0OiBIYW5kbGluZyBvZiBjYXRjaCBtdXN0IGJlIGNvcnJlY3QnKTsKCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing object","path":"TestCases/ch12/12.13/S12.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgQXJyYXkKICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzW2ldKSAkRVJST1IoJyMxLicraSsnOiBFeGNlcHRpb25bJytpKyddID09PSBteWNhcnNbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddID09PScrIGVbaV0gICk7CiAgfQp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing Array","path":"TestCases/ch12/12.13/S12.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCi8vIENIRUNLIzEKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGImJmZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gZmFsc2Uob3BlcmF0b24gJiYpLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPXRydWU7CnRyeXsKICB0aHJvdyBifHxmYWxzZTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PXRydWUpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT0gdHJ1ZShvcGVyYXRvbiB8fCkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzMKdHJ5ewogIHRocm93ICFmYWxzZTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PXRydWUpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT0gdHJ1ZShvcGVyYXRvbiAhKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYj10cnVlOwp0cnl7CiAgdGhyb3cgIShiJiZmYWxzZSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09IHRydWUob3BlcmF0b24gJiYpLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating boolean expression","path":"TestCases/ch12/12.13/S12.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIHN0cmluZyBleHByZXNzaW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiIrIiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSAiZXhjZXB0aW9uICMxIihvcGVyYXRvbiArKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYj0iZXhjZXB0aW9uIgp2YXIgYT0iICMxIjsKdHJ5ewogIHRocm93IGIrYTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PSJleGNlcHRpb24gIzEiKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09ICJleGNlcHRpb24gIzEiKG9wZXJhdG9uICspLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating string expression","path":"TestCases/ch12/12.13/S12.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIG51bWJlciBleHByZXNzaW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTArMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09MTMob3BlcmF0b24gKykuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYj0xMDsKdmFyIGE9MzsKdHJ5ewogIHRocm93IGErYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMob3BlcmF0b24gKykuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgMy4xNS0xLjAyOwp9CmNhdGNoKGUpewogIGlmIChlIT09Mi4xMykgJEVSUk9SKCcjMzogRXhjZXB0aW9uID09PTIuMTMob3BlcmF0b24gLSkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgMioyOwp9CmNhdGNoKGUpewogIGlmIChlIT09NCkgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PTQob3BlcmF0b24gKikuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjNQp0cnl7CiAgdGhyb3cgMStJbmZpbml0eTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PStJbmZpbml0eSkgJEVSUk9SKCcjNTogRXhjZXB0aW9uID09PStJbmZpbml0eShvcGVyYXRvbiArKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyM2CnRyeXsKICB0aHJvdyAxLUluZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09LUluZmluaXR5KSAkRVJST1IoJyM2OiBFeGNlcHRpb24gPT09LUluZmluaXR5KG9wZXJhdG9uIC0pLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cn0KCi8vIENIRUNLIzcKdHJ5ewogIHRocm93IDEwLzU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yKSAkRVJST1IoJyM3OiBFeGNlcHRpb24gPT09MihvcGVyYXRvbiAvKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyM4CnRyeXsKICB0aHJvdyA4Pj4yOwp9CmNhdGNoKGUpewogIGlmIChlIT09MikgJEVSUk9SKCcjODogRXhjZXB0aW9uID09PTIob3BlcmF0b24gPj4pLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cn0KCi8vIENIRUNLIzkKdHJ5ewogIHRocm93IDI8PDI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT04KSAkRVJST1IoJyM5OiBFeGNlcHRpb24gPT09OChvcGVyYXRvbiA8PCkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMTAKdHJ5ewogIHRocm93IDEyMyUxMDA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yMykgJEVSUk9SKCcjMTA6IEV4Y2VwdGlvbiA9PT0yMyhvcGVyYXRvbiAlKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating number expression","path":"TestCases/ch12/12.13/S12.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGFycmF5IGV4cHJlc3Npb24KICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChteWNhcnMyKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjMS4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10ob3BlcmF0aW9uIC5jb25jYXQpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KICBmb3IgKHZhciBpPTM7aTw2O2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaS0zXSkgJEVSUk9SKCcjMS4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJysoaS0zKSsnXShvcGVyYXRpb24gLmNvbmNhdCkuIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQp9CgovLyBDSEVDSyMyCnRyeXsKICB0aHJvdyBuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpXSkgJEVSUk9SKCcjMi4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJytpKyddKG9wZXJhdGlvbiBuZXcpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjMy4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10ob3BlcmF0aW9uIC5jb25jYXQobmV3KSkuIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQogIGZvciAodmFyIGk9MztpPDY7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpLTNdKSAkRVJST1IoJyMzLicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzMlsnKyhpLTMpKyddKG9wZXJhdGlvbiAuY29uY2F0KG5ldykpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoK","commentary":"1. Evaluate Expression","description":"Evaluating array expression","path":"TestCases/ch12/12.13/S12.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGVxdWF0aW9uIGV4cHJlc3Npb24KICovCgovLyBDSEVDSyMxCnZhciBhPXRydWU7CnZhciBiPWZhbHNlOwp0cnl7CiAgdGhyb3cgKChhJiYoIWIpKT8iZXhjZXB0aW9uIjoiICMxIik7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24iKG9wZXJhdG9uID8gLCApLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlICApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating equation expression","path":"TestCases/ch12/12.13/S12.13_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGZ1bmN0aW9ucwogKi8KCi8vIENIRUNLIzEKdmFyIGk9MDsKZnVuY3Rpb24gYWRkaW5nMSgpewogIGkrKzsKICByZXR1cm4gMTsKfQp0cnl7CiAgdGhyb3cgKGFkZGluZzEoKSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09MS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyMyCnZhciBpPTA7CmZ1bmN0aW9uIGFkZGluZzIoKXsKICBpKys7CiAgcmV0dXJuIGk7Cn0KdHJ5ewogIHRocm93IGFkZGluZzIoKTsKfQpjYXRjaChlKXt9CmlmIChpIT09MSkgJEVSUk9SKCcjMjogaT09PTEuIEFjdHVhbDogaT09PScrIGkpOwoKLy8gQ0hFQ0sjMwp2YXIgaT0wOwpmdW5jdGlvbiBhZGRpbmczKCl7CiAgaSsrOwp9CnRyeXsKICB0aHJvdyBhZGRpbmczKCk7Cn0KY2F0Y2goZSl7fQppZiAoaSE9PTEpICRFUlJPUignIzM6IGk9PT0xLiBBY3R1YWw6IGk9PT0nK2kpOwoKLy8gQ0hFQ0sjNApmdW5jdGlvbiBhZGRpbmc0KGkpewogIGkrKzsKICByZXR1cm4gaTsKfQp0cnl7CiAgdGhyb3cgKGFkZGluZzQoMSkpOwp9CmNhdGNoKGUpewogIGlmIChlIT09MikgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PTIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoK","commentary":"1. Evaluate Expression","description":"Evaluating functions","path":"TestCases/ch12/12.13/S12.13_A3_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGRvZXNuJ3QgY2hhbmdlIGRlY2xhcmF0aW9uIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIGluIGNhdGNoIHdpdGggc2FtZSBuYW1lIGFzIGNhdGNoIHBhcmFtZXRlciBjaGFuZ2VzIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvbyA9ICJwcmlvciB0byB0aHJvdyI7DQogIHRyeSB7DQogICAgdGhyb3cgbmV3IEVycm9yKCk7DQogIH0NCiAgY2F0Y2ggKGZvbykgew0KICAgIHZhciBmb28gPSAiaW5pdGlhbGl6ZXIgaW4gY2F0Y2giOw0KICB9DQogcmV0dXJuIGZvbyA9PT0gInByaW9yIHRvIHRocm93IjsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter","path":"TestCases/ch12/12.14/12.14-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgZnVuY3Rpb24gcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobywgeCkgew0KICAgICAgdHJ5IHsNCiAgICAgICAgdGhyb3cgbzsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB4Ow0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiBpbm5lcmYobywgNDIpOw0KICB9DQogIA0KICBpZiAoZih7fSkgPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch introduces scope - name lookup finds function parameter","path":"TestCases/ch12/12.14/12.14-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgaW5uZXIgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCg0KICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7DQogICAgICB2YXIgeCA9IDQyOw0KDQogICAgICB0cnkgew0KICAgICAgICB0aHJvdyBvOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvKTsNCiAgfQ0KICANCiAgaWYgKGYoe30pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch introduces scope - name lookup finds inner variable","path":"TestCases/ch12/12.14/12.14-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCg0KICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7DQogICAgICB0cnkgew0KICAgICAgICB0aHJvdyBvOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGUueDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7eDo0Mn0pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch introduces scope - name lookup finds property","path":"TestCases/ch12/12.14/12.14-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gdXBkYXRlcyBhcmUgYmFzZWQgb24gc2NvcGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzMSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzMiA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzMyA9IGZhbHNlOw0KDQogICAgICAgIHZhciB4XzEyXzE0XzEzID0gJ2xvY2FsJzsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnhfMTJfMTRfMTMgPSAnaW5zdGFuY2UnOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHRocm93IGZvbzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzMSA9ICh4XzEyXzE0XzEzID09PSAnbG9jYWwnKTsNCiAgICAgICAgICAgICAgICBlKCk7DQogICAgICAgICAgICAgICAgcmVzMiA9ICh4XzEyXzE0XzEzID09PSAnbG9jYWwnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJlczMgPSAoeF8xMl8xNF8xMyA9PT0gJ2xvY2FsJyk7DQoNCiAgICAgICAgICAgIGlmIChyZXMxID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgcmVzMiA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgICAgIHJlczMgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnhfMTJfMTRfMTM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch introduces scope - updates are based on scope","path":"TestCases/ch12/12.14/12.14-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24sIHdoZW4gYW4gZXhjZXB0aW9uIHBhcmFtZXRlciBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiBpbiBjYXRjaCBibG9jaywgZ2xvYmFsIG9iamVjdCBpcyBwYXNzZWQgYXMgdGhlIHRoaXMgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuXzEyXzE0XzE0X2ZvbyA9ICJ0ZXN0IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpLl8xMl8xNF8xNF9mb28gPT09ICJ0ZXN0IjsNCiAgICAgICAgfQ0KICAgICAgICBmaW5hbGx5IHsNCiAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuXzEyXzE0XzE0X2ZvbzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Exception object is a function, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24gd2hpY2ggaXMgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QsIHdoZW4gYW4gZXhjZXB0aW9uIHBhcmFtZXRlciBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiBpbiBjYXRjaCBibG9jaywgZ2xvYmFsIG9iamVjdCBpcyBwYXNzZWQgYXMgdGhlIHRoaXMgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai50ZXN0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdGhpcy5fMTJfMTRfMTVfZm9vID0gInRlc3QiOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgb2JqLnRlc3Q7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiAgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTVfZm9vID09PSAidGVzdCI7DQogICAgICAgIH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTVfZm9vOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Exception object is a function which is a property of an object, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24gd2hpY2ggdXBkYXRlIGluIGNhdGNoIGJsb2NrLCB3aGVuIGFuIGV4Y2VwdGlvbiBwYXJhbWV0ZXIgaXMgY2FsbGVkIGFzIGEgZnVuY3Rpb24gaW4gY2F0Y2ggYmxvY2ssIGdsb2JhbCBvYmplY3QgaXMgcGFzc2VkIGFzIHRoZSB0aGlzIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHRocm93IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl8xMl8xNF8xNl9mb28gPSAidGVzdCI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBvYmoudGVzdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl8xMl8xNF8xNl9mb28gPSAidGVzdDEiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGUgPSBvYmoudGVzdDsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpLl8xMl8xNF8xNl9mb28gPT09ICJ0ZXN0MSI7DQogICAgICAgIH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTZfZm9vOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Exception object is a function which update in catch block, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGRvZXNuJ3QgY2hhbmdlIGRlY2xhcmF0aW9uIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIGluIGNhdGNoIHdpdGggc2FtZSBuYW1lIGFzIGNhdGNoIHBhcmFtZXRlciBjaGFuZ2VzIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNhcHR1cmVkRm9vKCkge3JldHVybiBmb299Ow0KICBmb28gPSAicHJpb3IgdG8gdGhyb3ciOw0KICB0cnkgew0KICAgIHRocm93IG5ldyBFcnJvcigpOw0KICB9DQogIGNhdGNoIChmb28pIHsNCiAgICB2YXIgZm9vID0gImluaXRpYWxpemVyIGluIGNhdGNoIjsNCiAgICByZXR1cm4gY2FwdHVyZWRGb28oKSAhPT0gImluaXRpYWxpemVyIGluIGNhdGNoIjsNCiAgfQ0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter","path":"TestCases/ch12/12.14/12.14-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBkb2Vzbid0IGNoYW5nZSBkZWNsYXJhdGlvbiBzY29wZSAtIHZhciBkZWNsYXJhdGlvbiBhcmUgdmlzaWJsZSBvdXRzaWRlIHdoZW4gbmFtZSBkaWZmZXJlbnQgZnJvbSBjYXRjaCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIHRocm93IG5ldyBFcnJvcigpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9ICJkZWNsYXJhdGlvbiBpbiBjYXRjaCI7DQogIH0NCiAgDQogIHJldHVybiBmb28gPT09ICJkZWNsYXJhdGlvbiBpbiBjYXRjaCI7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch doesn't change declaration scope - var declaration are visible outside when name different from catch parameter","path":"TestCases/ch12/12.14/12.14-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgdmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IGZvbyA6IDQyfTsNCg0KICB0cnkgew0KICAgIHRocm93IG87DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICB2YXIgZm9vOw0KDQogICAgaWYgKGZvbyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - block-local vars must shadow outer vars","path":"TestCases/ch12/12.14/12.14-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgZnVuY3Rpb24gZXhwcmVzc2lvbiBtdXN0IHNoYWRvdyBvdXRlciBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7Zm9vIDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDI7fX07DQoNCiAgdHJ5IHsNCiAgICB0aHJvdyBvOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgIGlmIChmb28oKSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - block-local function expression must shadow outer function expression","path":"TestCases/ch12/12.14/12.14-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgY2F0Y2ggYmxvY2sNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgdmFyIG8gPSB7Zm9vOiAxfTsNCiAgICAgIHZhciBjYXRjaEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICANCiAgICAgIHRyeSB7DQogICAgICAgIHRocm93IG87DQogICAgICB9DQogICAgICBjYXRjaCAoZXhwT2JqKSB7DQogICAgICAgIGNhdGNoQWNjZXNzZWQgPSAoZXhwT2JqLmZvbyA9PSAxKTsNCiAgICAgIH0NCg0KICAgICAgdHJ5IHsNCiAgICAgICAgZXhwT2JqOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGNhdGNoQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yDQogICAgICB9DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - scope removed when exiting catch block","path":"TestCases/ch12/12.14/12.14-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTguanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgY2F0Y2ggYmxvY2sgKHByb3BlcnRpZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7Zm9vOiA0Mn07DQoNCiAgdHJ5IHsNCiAgICB0aHJvdyBvOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9IDE7DQogIH0NCg0KICBpZiAoby5mb28gPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - scope removed when exiting catch block (properties)","path":"TestCases/ch12/12.14/12.14-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGludHJvZHVjZXMgc2NvcGUgLSBuYW1lIGxvb2t1cCBmaW5kcyBvdXRlciB2YXJpYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGYobykgew0KICAgIHZhciB4ID0gNDI7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgdHJ5IHsNCiAgICAgICAgdGhyb3cgbzsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB4Ow0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiBpbm5lcmYobyk7DQogIH0NCiAgDQogIGlmIChmKHt9KSA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"catch introduces scope - name lookup finds outer variable","path":"TestCases/ch12/12.14/12.14-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQgOiB0cnkgQmxvY2sgQ2F0Y2ggaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6IDIuIElmIFJlc3VsdCgxKS50eXBlIGlzIG5vdCB0aHJvdywgcmV0dXJuIFJlc3VsdCgxKQogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIFRyeVN0YXRlbWVudCA6IHRyeSBCbG9jayBDYXRjaC4gVGhlIHN0YXRlbWVudHMgZG9lc24ndCBjYXVzZSBhY3R1YWwgZXhjZXB0aW9ucwogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB2YXIgeD0wOwp9CmNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogSWYgUmVzdWx0KDEpLnR5cGUgaXMgbm90IHRocm93LCByZXR1cm4gUmVzdWx0KDEpLiBBY3R1YWw6IDQgUmV0dXJuKFJlc3VsdCgzKSknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzE9MDsKdHJ5ewogIHZhciB4MT0xOwp9CmZpbmFsbHkKewogIGMxPTE7Cn0KaWYoeDEhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJ0cnkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkLiBBY3R1YWw6IHRyeSBCbG9jayBoYXMgbm90IGJlZW4gZXZhbHVhdGVkJyk7Cn0KaWYgKGMxIT09MSl7CiAgJEVSUk9SKCcjMi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQuIEFjdHVhbDogZmluYWxseSBCbG9jayBoYXMgbm90IGJlZW4gZXZhbHVhdGVkJyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMyPTA7CnRyeXsKICB2YXIgeDI9MTsKfQpjYXRjaChlKXsKICAkRVJST1IoJyMzLjE6IElmIFJlc3VsdCgxKS50eXBlIGlzIG5vdCB0aHJvdywgcmV0dXJuIFJlc3VsdCgxKS4gQWN0dWFsOiA0IFJldHVybihSZXN1bHQoMykpJyk7CQp9CmZpbmFsbHl7CiAgYzI9MTsKfQppZih4MiE9PTEpewogICRFUlJPUignIzMuMjogInRyeSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQuIEFjdHVhbDogdHJ5IEJsb2NrIGhhcyBub3QgYmVlbiBldmFsdWF0ZWQnKTsKfQppZiAoYzIhPT0xKXsKICAkRVJST1IoJyMzLjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZC4gQWN0dWFsOiBmaW5hbGx5IEJsb2NrIGhhcyBub3QgYmVlbiBldmFsdWF0ZWQnKTsKfQoK","commentary":"The production TryStatement : try Block Catch is evaluated as follows: 2. If Result(1).type is not throw, return Result(1)","description":"Executing TryStatement : try Block Catch. The statements doesn't cause actual exceptions","path":"TestCases/ch12/12.14/S12.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgZXhjZXB0aW9uIHdoaWxlIGV4ZWN1dGluZyBpdGVyYXRpb24gc3RhdGVtZW50IHBsYWNlZCBpbnRvIHRyeSBCbG9jawogKi8KCi8vIENIRUNLIzEKdmFyIGk9MDsKdHJ5ewp3aGlsZShpPDEwKXsKICBpZihpPT09NSkgdGhyb3cgaTsKICBpKys7Cn0KfQpjYXRjaChlKXsKICBpZihlIT09NSkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Throwing exception while executing iteration statement placed into try Block","path":"TestCases/ch12/12.14/S12.14_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgdXNlIGNvbnRpbnVlIGxvb3AKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwp3aGlsZShjMTwyKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKd2hpbGUoYzI8Mil7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwp3aGlsZShjMzwyKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgY29udGludWU7CiAgfQogIGZpbjM9MDsKfQppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMzogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnkgY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyM0CnZhciBjND0wLGZpbjQ9MDsKd2hpbGUoYzQ8Mil7CiAgdHJ5ewogICAgYzQrPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluYWxseXsKICAgIGZpbjQ9MTsKICB9CiAgZmluND0tMTsKfTsKaWYoZmluNCE9PTEpewogICRFUlJPUignIzQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCBhdCAidHJ5e2NvbnRpbnVlfSBmaW5hbGx5IiBjb25zdHJ1Y3Rpb24nKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKd2hpbGUoYzU8Mil7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjNSs9MTsKICAgIGNvbnRpbnVlOwogIH0KfQppZihjNSE9PTIpewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTAsZmluNj0wOwp3aGlsZShjNjwyKXsKICB0cnl7CiAgICBjNis9MTsKICAgIHRocm93ICJleDEiCiAgfQogIGZpbmFsbHl7CiAgICBmaW42PTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluNj0tMTsKfQppZihmaW42IT09MSl7CiAgJEVSUk9SKCcjNi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjNiE9PTIpewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgdXNlIGJyZWFrCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKd2hpbGUoYzE8Mil7CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogIH0KICBmaW49LTE7CiAgYzErPTI7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTEpewogICRFUlJPUignIzEuMjogInRyeXticmVha31jYXRjaCBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwp3aGlsZShjMjwyKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgfQogIGMyKz0yOwogIGZpbjI9LTE7Cn0KaWYoZmluMiE9PTEpewogICRFUlJPUignIzIuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzIhPT0xKXsKICAkRVJST1IoJyMyLjI6ICJ0cnkgY2F0Y2h7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MCxmaW4zPTA7CndoaWxlKGMzPDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzMrPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4zPTE7CiAgICBicmVhazsKICB9CiAgYzMrPTI7CiAgZmluMz0wOwp9CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4yOiAidHJ5IGNhdGNoIGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTAsZmluND0wOwp3aGlsZShjNDwyKXsKICB0cnl7CiAgICBjNCs9MTsKICAgIGJyZWFrOwogIH0KICBmaW5hbGx5ewogICAgZmluND0xOwogIH0KICBmaW40PS0xOwogIGM0Kz0yOwp9CmlmKGZpbjQhPT0xKXsKICAkRVJST1IoJyM0LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM0IT09MSl7CiAgJEVSUk9SKCcjNC4yOiAidHJ5e2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CndoaWxlKGM1PDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgfQp9CmlmKGM1IT09MCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKd2hpbGUoYzY8Mil7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn0KaWYoYzYhPT0xKXsKICAkRVJST1IoJyM2OiAidHJ5e2JyZWFrfSBjYXRjaCIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wLGZpbjc9MDsKdHJ5ewogIHdoaWxlKGM3PDIpewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UNC5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgY29tYmluYXRlIHVzaW5nIGJyZWFrIGFuZCBjb250aW51ZQogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTAsZmluPTA7CndoaWxlKGMxPDIpewogIHRyeXsKICAgIGMxKz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW49LTE7CiAgYzErPTI7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTIpewogICRFUlJPUignIzEuMjogInRyeXticmVha30gY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CndoaWxlKGMyPDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09Mil7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5e2NvbnRpbnVlfSBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3cgc29tZSBleGNlcHRpb25zIGZyb20gZGlmZmVyZW50IHBsYWNlIG9mIGxvb3AgYm9keQogKi8KCi8vIENIRUNLIzEKdmFyIGM9MCwgaT0wOwp2YXIgZmluPTA7CndoaWxlKGk8MTApewogIGkrPTE7CiAgdHJ5ewogICAgaWYoYz09PTApewogICAgICB0aHJvdyAiZXgxIjsKICAgICAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiZXgxIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfQogICAgYys9MjsKICAgIGlmKGM9PT0xKXsKICAgICAgdGhyb3cgImV4MiI7CiAgICAgICRFUlJPUignIzEuMjogdGhyb3cgImV4MiIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0KICB9CiAgY2F0Y2goZXIxKXsKICAgIGMtPTE7CiAgICBjb250aW51ZTsKICAgICRFUlJPUignIzEuMzogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwogIH0KICBmaW5hbGx5ewogICAgZmluKz0xOwogIH0KfQppZihmaW4hPT0xMCl7CiAgJEVSUk9SKCcjMS40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Throw some exceptions from different place of loop body","path":"TestCases/ch12/12.14/S12.14_A10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIExvb3AgaW5zaWRlIHRyeSBCbG9jaywgd2hlcmUgdGhyb3cgZXhjZXB0aW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgZm9yKHZhciBpPTA7aTwxMDtpKyspewogICAgaWYoaT09PTUpIHRocm93IGk7CiAgfQp9CmNhdGNoKGUpewogIGlmKGUhPT01KSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gNS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Loop inside try Block, where throw exception","path":"TestCases/ch12/12.14/S12.14_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBjb250aW51ZSBsb29wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgZmluPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIGkrPTE7CiAgICBjb250aW51ZTsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogIH0KICBmaW49LTE7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09NSl7CiAgJEVSUk9SKCcjMi4xOiAidHJ5IGNhdGNoe2NvbnRpbnVlfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgY29udGludWU7CiAgfQogIGZpbjM9MDsKfQppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMy4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMyE9PTUpewogICRFUlJPUignIzMuMjogInRyeSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM0CnZhciBmaW49MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgaSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyM1CnZhciBjNT0wOwpmb3IodmFyIGM1PTA7YzU8MTA7KXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGM1Kz0xOwogICAgY29udGludWU7CiAgfQogIGM1Kz0xMjsKfTsKaWYoYzUhPT0xMCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHtjb250aW51ZX0gbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wLGZpbjY9MDsKZm9yKHZhciBjNj0wO2M2PDEwOyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICB0aHJvdyAiZXgxIgogIH0KICBmaW5hbGx5ewogICAgZmluNj0xOwogICAgY29udGludWU7CiAgfQogIGZpbjY9LTE7Cn07CmlmKGZpbjYhPT0xKXsKICAkRVJST1IoJyM2LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM2IT09MTApewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBicmVhawogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTAsZmluPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIGMxKz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9OwppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09MSl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfWNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfTsKaWYoZmluMiE9PTEpewogICRFUlJPUignIzIuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzIhPT0xKXsKICAkRVJST1IoJyMyLjI6ICJ0cnkgY2F0Y2h7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MCxmaW4zPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzMrPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4zPTE7CiAgICBicmVhazsKICB9CiAgYzMrPTI7CiAgZmluMz0wOwp9OwppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMy4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMyE9PTEpewogICRFUlJPUignIzMuMjogInRyeSBjYXRjaCBmaW5hbGx5e2JyZWFrfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM0CnZhciBjND0wLGZpbjQ9MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgYzQrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjQ9MTsKICB9CiAgZmluND0tMTsKICBjNCs9MjsKfTsKaWYoZmluNCE9PTEpewogICRFUlJPUignIzQuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzQhPT0xKXsKICAkRVJST1IoJyM0LjI6ICJ0cnl7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNQpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGJyZWFrOwogIH0KfTsKaWYoaSE9PTApewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTA7CmZvcih2YXIgYzY9MDtjNjw1Oyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn07CmlmKGM2IT09MSl7CiAgJEVSUk9SKCcjNjogInRyeXticmVha30gY2F0Y2giIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNwp2YXIgYzc9MCxmaW43PTA7CnRyeXsKICBmb3IodmFyIGM3PTA7Yzc8NTspewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIGNvbWJpbmF0ZSB1c2luZyBicmVhayBhbmQgY29udGludWUKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9CmlmKGZpbiE9PTEpewogICRFUlJPUignIzEuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzEhPT01KXsKICAkRVJST1IoJyMxLjI6ICJ0cnl7YnJlYWt9IGNhdGNoIGZpbmFsbHl7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgICBjb250aW51ZTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTUpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIExvb3AgaW5zaWRlIHRyeSBCbG9jaywgd2hlcmUgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIHg7CnZhciBteWNhcnMgPSBuZXcgQXJyYXkoKTsKbXljYXJzWzBdID0gIlNhYWIiOwpteWNhcnNbMV0gPSAiVm9sdm8iOwpteWNhcnNbMl0gPSAiQk1XIjsKCi8vIENIRUNLIzEKdHJ5ewogIGZvciAoeCBpbiBteWNhcnMpewogICAgaWYgKG15Y2Fyc1t4XT09PSJCTVciKSB0aHJvdyAiZXgiOwogIH0KfQpjYXRjaChlKXsKICBpZihlIT09ImV4IikkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09ImV4Ii4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCgoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Loop inside try Block, where throw exception","path":"TestCases/ch12/12.14/S12.14_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBjb250aW51ZSBsb29wCiAqLwoKdmFyIHg7CnZhciBteWNhcnMgPSBuZXcgQXJyYXkoKTsKbXljYXJzWzBdID0gIlNhYWIiOwpteWNhcnNbMV0gPSAiVm9sdm8iOwpteWNhcnNbMl0gPSAiQk1XIjsKCi8vIENIRUNLIzEKdmFyIGZpbj0wOwp2YXIgaT0wOwpmb3IgKHggaW4gbXljYXJzKXsKICB0cnl7CiAgICBpKz0xOwogICAgY29udGludWU7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwp9CmlmKGZpbiE9PTEpewogICRFUlJPUignIzEuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoaSE9PTMpewogICRFUlJPUignIzEuMjogICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTMpewogICRFUlJPUignIzIuMTogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW4zPTA7Cn0KaWYoYzMhPT0zKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgZmluPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfQppZihmaW4hPT0xKXsKICAkRVJST1IoJyM0OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeXtjb250aW51ZX0gZmluYWxseSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzUrPTE7CiAgICBjb250aW51ZTsKICB9CiAgYzUrPTEyOwp9CmlmKGM1IT09Myl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MCxmaW42PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGM2Kz0xOwogICAgdGhyb3cgImV4MSI7CiAgfQogIGZpbmFsbHl7CiAgICBmaW42PTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluNj0tMTsKfQppZihmaW42IT09MSl7CiAgJEVSUk9SKCcjNi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjNiE9PTMpewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBicmVhawogKi8KCnZhciB4Owp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7CgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpmb3IgKHggaW4gbXljYXJzKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpewogICAgYzErPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9OwppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09MSl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfWNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTEpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGJyZWFrOwogIH0KICBjMys9MjsKICBmaW4zPTA7Cn0KaWYoZmluMyE9PTEpewogICRFUlJPUignIzMuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MCxmaW40PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGM0Kz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW40PTE7CiAgfQogIGZpbjQ9LTE7CiAgYzQrPTI7Cn0KaWYoZmluNCE9PTEpewogICRFUlJPUignIzQuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzQhPT0xKXsKICAkRVJST1IoJyM0LjI6ICJ0cnl7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICBjNSsrOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgICBjNSsrOwogIH0KICBjNSsrOwp9CmlmKGM1IT09MCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn0KaWYoYzYhPT0xKXsKICAkRVJST1IoJyM2OiAidHJ5e2JyZWFrfSBjYXRjaCIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wLGZpbjc9MDsKdHJ5ewogIGZvciAoeCBpbiBteWNhcnMpewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDQuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIGNvbWJpbmF0ZSB1c2luZyBicmVhayBhbmQgY29udGludWUKICovCgp2YXIgeDsKdmFyIG15Y2FycyA9IG5ldyBBcnJheSgpOwpteWNhcnNbMF0gPSAiU2FhYiI7Cm15Y2Fyc1sxXSA9ICJWb2x2byI7Cm15Y2Fyc1syXSA9ICJCTVciOwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogICAgY29udGludWU7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09Myl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGJyZWFrOwogIH0KICBmaW5hbGx5ewogIAlmaW4yPTE7CiAgCWNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09Myl7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2NhdGNoIHN5bnRheCBjb25zdHJ1Y3Rpb24KICovCgovLyBDSEVDSyMxCmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfQogIGNhdGNoKGVycil7CiAgCSRFUlJPUignIzEuMTogInJldHVybiAxIiBpbnNpZGUgZnVuY3Rpb24gZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIHJldHVybiAwOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDE9bXlGdW5jdGlvbjEoKTsKaWYoeDEhPT0xKXsKICAkRVJST1IoJyMxLjI6IHgxPT09MS4gQWN0dWFsOiB4MT09PScreDEpOwp9CgovLyBDSEVDSyMyCmZ1bmN0aW9uIG15RnVuY3Rpb24yKCl7CiAgdHJ5ewogICAgdGhyb3cgImV4YyI7CiAgICByZXR1cm4gMTsKICB9Y2F0Y2goZXJyKXsgIAkKICAgIHJldHVybiAyOwogIH0KICByZXR1cm4gMzsKfQp2YXIgeDI9bXlGdW5jdGlvbjIoKTsKaWYgKHgyIT09Mil7CiAgJEVSUk9SKCcjMjogeDI9PT0yLiBBY3R1YWw6IHgyPT09Jyt4Mik7Cn0KCi8vIENIRUNLIzMKZnVuY3Rpb24gbXlGdW5jdGlvbjMoKXsKICB0cnl7CiAgICByZXR1cm4gc29tZVZhbHVlOwogIH1jYXRjaChlcnIpeyAgCQogICAgcmV0dXJuIDE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4Mz1teUZ1bmN0aW9uMygpOwppZiAoeDMhPT0xKXsKICAkRVJST1IoJyMzOiB4Mz09PTEuIEFjdHVhbDogeDM9PT0nK3gzKTsKfQoKLy8gQ0hFQ0sjNApmdW5jdGlvbiBteUZ1bmN0aW9uNCgpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIgogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzQuMjogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNC4zOiBFeGNlcHRpb24gPT09ImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/catch syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2ZpbmFsbHkgc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfWZpbmFsbHl7CiAgICBjMT0xOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDE9bXlGdW5jdGlvbjEoKTsKaWYoeDEhPT0xKXsKICAkRVJST1IoJyMxLjE6IHgxPT09MS4gQWN0dWFsOiB4MT09PScreDEpOwp9CmlmIChjMSE9PTEpewogICRFUlJPUignIzEuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24yKCl7CiAgdHJ5ewogICAgdGhyb3cgImV4YyI7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGMyPTE7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDI9bXlGdW5jdGlvbjIoKTsKICAkRVJST1IoJyMyLjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGMyIT09MSl7CiAgICAkRVJST1IoJyMyLjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjMoKXsKICB0cnl7CiAgICByZXR1cm4gc29tZVZhbHVlOwogIH1maW5hbGx5ewogICAgYzM9MTsKICB9CiAgcmV0dXJuIDI7Cn0KdHJ5ewogIHZhciB4Mz1teUZ1bmN0aW9uMygpOwogICRFUlJPUignIzMuMTogVGhyb3dpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQpjYXRjaChlKXsKICBpZiAoYzMhPT0xKXsKICAgICRFUlJPUignIzMuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CiAgfQp9CgovLyBDSEVDSyM0CnZhciBjND0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNCgpewogIHRyeXsKICAgIHJldHVybiAxOwogIH1maW5hbGx5ewogICAgYzQ9MTsKICAgIHRocm93ICJleGMiOwogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjI6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGM0IT09MSl7CiAgICAkRVJST1IoJyM0LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjUoKXsKICB0cnl7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGM1PTE7CiAgICByZXR1cm4gc29tZVZhbHVlOwogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDU9bXlGdW5jdGlvbjUoKTsKICAkRVJST1IoJyM1LjI6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGM1IT09MSl7CiAgICAkRVJST1IoJyM1LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjYoKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICAgIHJldHVybiAxOwogIH1maW5hbGx5ewogICAgYzY9MTsKICAgIHRocm93ICJleDIiOwogICAgcmV0dXJuIDI7CiAgfQogIHJldHVybiAzOwp9CnRyeXsKICB2YXIgeDY9bXlGdW5jdGlvbjYoKTsKICAkRVJST1IoJyM2LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzYuMjogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNi4zOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogJytlKTsKICB9CiAgaWYgKGM2IT09MSl7CiAgICAkRVJST1IoJyM2LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNwp2YXIgYzc9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjcoKXsKICB0cnl7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGM3PTE7CiAgICByZXR1cm4gMjsKICB9CiAgcmV0dXJuIDM7Cn0KdmFyIHg3PW15RnVuY3Rpb243KCk7CmlmKHg3IT09Mil7CiAgJEVSUk9SKCcjNy4xOiAiY2F0Y2giIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYgKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoKLy8gQ0hFQ0sjOAp2YXIgYzg9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjgoKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9ZmluYWxseXsKICAgIGM4PTE7CiAgICByZXR1cm4gMjsKICB9CiAgcmV0dXJuIDM7Cn0KdHJ5ewogIHZhciB4OD1teUZ1bmN0aW9uOCgpOwp9CmNhdGNoKGV4MSl7CiAgYzg9MTA7Cn0KaWYgKGM4IT09MSl7CiAgJEVSUk9SKCcjODogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2NhdGNoL2ZpbmFsbHkgc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICAkRVJST1IoJyMxLjE6ICJyZXR1cm4gMSIgaW5zaWRlIGZ1bmN0aW9uIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGMxPTE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4MT1teUZ1bmN0aW9uMSgpOwppZih4MSE9PTEpewogICRFUlJPUignIzEuMzogeDE9PT0xLiBBY3R1YWw6IHgxPT09Jyt4MSk7Cn0KaWYgKGMxIT09MSl7CiAgJEVSUk9SKCcjMS40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjIoKXsKICB0cnl7CiAgICB0aHJvdyAiZXhjIjsKICAgIHJldHVybiAxOwogIH1jYXRjaChlcnIpeyAgCQogICAgcmV0dXJuIDA7CiAgfWZpbmFsbHl7CiAgICBjMj0xOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDI9bXlGdW5jdGlvbjIoKTsKaWYgKGMyIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZiAoeDIhPT0wKXsKICAkRVJST1IoJyMyLjI6IHgyPT09MC4gQWN0dWFsOiB4Mj09PScreDIpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uMygpewogIHRyeXsKICAgIHJldHVybiBzb21lVmFsdWU7CiAgfWNhdGNoKGVycil7ICAJCiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGMzPTE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4Mz1teUZ1bmN0aW9uMygpOwppZiAoYzMhPT0xKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmICh4MyE9PTEpewogICRFUlJPUignIzMuMjogeDM9PT0xLiBBY3R1YWw6IHgzPT09Jyt4Myk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTA7CmZ1bmN0aW9uIG15RnVuY3Rpb240KCl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICByZXR1cm4gMTsKICB9Y2F0Y2goZXJyKXsKICAgIHRocm93ICJleDIiCiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGM0PTE7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzQuMjogRXhjZXB0aW9uICE9PSAiZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBleGNlcHRpb24nKTsKICB9CiAgaWYoZSE9PSJleDIiKXsKICAgICRFUlJPUignIzQuMzogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7CiAgfQogIGlmIChjNCE9PTEpewogICAgJEVSUk9SKCcjNC40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9CQp9CgovLyBDSEVDSyM1CnZhciBjNT0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNSgpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGM1PTE7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgcmV0dXJuIDI7Cn0KdHJ5ewogIHZhciB4NT1teUZ1bmN0aW9uNSgpOwogICRFUlJPUignIzUuMTogVGhyb3dpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQpjYXRjaChlKXsKICBpZihlPT09ImV4MSIpewogICAgJEVSUk9SKCcjNS4yOiBFeGNlcHRpb24gIT09ICJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICB9CiAgaWYgKGM1IT09MSl7CiAgICAkRVJST1IoJyM1LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0gCQp9CgovLyBDSEVDSyM2CnZhciBjNj0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNigpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIjsKICAgIHJldHVybiAwOwogIH1maW5hbGx5ewogICAgYzY9MTsKICAgIHRocm93ICJleDMiOwogIH0KICByZXR1cm4gMjsKfQp0cnl7CiAgdmFyIHg2PW15RnVuY3Rpb242KCk7CiAgJEVSUk9SKCcjNi4xOiBUaHJvd2luZyBleGNlcHRpb24gaW5zaWRlIGZ1bmN0aW9uIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG91dHNpZGUgdGhpcyBmdW5jdGlvbicpOwp9CmNhdGNoKGUpewogIGlmKGU9PT0iZXgxIil7CiAgICAkRVJST1IoJyM2LjI6IEV4Y2VwdGlvbiAhPT0gImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZXhjZXB0aW9uJyk7CiAgfQogIGlmKGU9PT0iZXgyIil7CiAgICAkRVJST1IoJyM2LjM6IEV4Y2VwdGlvbiAhPT0gImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZXhjZXB0aW9uJyk7CiAgfQogIGlmKGUhPT0iZXgzIil7CiAgICAkRVJST1IoJyM2LjQ6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0JCiAgaWYoYzYhPT0xKSAkRVJST1IoJyM2LjU6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNygpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIjsKICAgIHJldHVybiAwOwogIH1maW5hbGx5ewogICAgYzc9MTsKICAgIHJldHVybiAyOwogIH0KICByZXR1cm4gMzsKfQp0cnl7CiAgdmFyIHg3PW15RnVuY3Rpb243KCk7CiAgaWYoeDchPT0yKSAkRVJST1IoJyM3LjE6IHg3PT09Mi4gQWN0dWFsOiB4Nz09PScreDcpOwp9CmNhdGNoKGUpe30KaWYoYzchPT0xKSAkRVJST1IoJyM3LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/catch/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aXRoIiBzdGF0ZW1lbnQKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0cnkvY2F0Y2gvZmluYWxseSBpbiBXaXRoIGFuZCBXaXRoIGluIHRyeS9jYXRjaC9maW5hbGx5CiAqIEBub1N0cmljdAogKi8KCnZhciBteU9iaiA9IHtwMTogJ2EnLAogICAgICAgICAgICAgcDI6ICdiJywKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CgovLyBDSEVDSyMxCnRyeXsKICB3aXRoKG15T2JqKXsKICAgIHRocm93ICJleCI7CiAgfQp9CmNhdGNoKGUpewogIGlmIChlIT09ImV4IikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMyCndpdGgobXlPYmopewogIHRyeXsKICAgIHRocm93IHAxOwogIH0KICBjYXRjaChlKXsKICAgIGlmIChlIT09ImEiKSAkRVJST1IoJyMyLjE6IEV4Y2VwdGlvbiA9PT0iYSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogICAgcDE9J3Bhc3MnOwogIH0KfQppZihteU9iai5wMSE9PSdwYXNzJykgJEVSUk9SKCcjMi4yOiAidGhyb3cgcDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CgovLyBDSEVDSyMzCndpdGgobXlPYmopewogIHRyeXsKICAgIHAxPSdmYWlsJzsKICAgIHRocm93IHAyOwogIH0KICBjYXRjaChlKXsKICAgIGlmIChlIT09ImIiKSAkRVJST1IoJyMzLjE6IEV4Y2VwdGlvbiA9PT0iYiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogICAgcDE9J3Bhc3MnOwogIH0KICBmaW5hbGx5ewogICAgcDI9J3Bhc3MnOwogIH0KfQppZihteU9iai5wMSE9PSdwYXNzJykgJEVSUk9SKCcjMy4yOiAidGhyb3cgcDIiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CmlmKG15T2JqLnAyIT09J3Bhc3MnKSAkRVJST1IoJyMzLjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNApteU9iai5wMT0nZmFpbCc7CnRyeXsKICB3aXRoKG15T2JqKXsKICAgIHRyeXsKICAgICAgdGhyb3cgcDM7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBwMT0ncGFzcyc7CiAgICB9CiAgfQp9CmNhdGNoKGUpe30KaWYobXlPYmoucDEhPT0ncGFzcycpICRFUlJPUignIzQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"with\" statement","description":"Using try/catch/finally in With and With in try/catch/finally","noStrict":"","path":"TestCases/ch12/12.14/S12.14_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJzd2l0Y2giIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCB0cnkvY2F0Y2gvZmluYWxseSB0byBzd2l0Y2ggc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiBTd2l0Y2hUZXN0MSh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgdHJ5eyAgCiAgICBzd2l0Y2godmFsdWUpIHsKICAgICAgY2FzZSAxOgogICAgICAgIHJlc3VsdCArPSA0OwogICAgICAgIHRocm93IHJlc3VsdDsKICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXN1bHQgKz0gMzI7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICByZXN1bHQgKz0gNjQ7CiAgICAgICAgdGhyb3cgImV4IjsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogIGNhdGNoKGUpewkKICAgIGlmICgodmFsdWU9PT0xKSYmKGUhPT00KSkgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09NC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7CiAgICBpZiAoKHZhbHVlPT09NCkmJihlIT09ImV4IikpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSJleCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KICBmaW5hbGx5ewogICAgcmV0dXJuIHJlc3VsdDsKICB9Cn0KaWYgKFN3aXRjaFRlc3QxKDEpIT09NCkgJEVSUk9SKCcjMS4zOiBTd2l0Y2hUZXN0MSgxKT09PTQuIEFjdHVhbDogIFN3aXRjaFRlc3QxKDEpPT09JysgU3dpdGNoVGVzdDEoMSkgKTsKaWYgKFN3aXRjaFRlc3QxKDQpIT09NjQpICRFUlJPUignIzEuNDogU3dpdGNoVGVzdDEoNCk9PT02NC4gQWN0dWFsOiAgU3dpdGNoVGVzdDEoNCk9PT0nKyBTd2l0Y2hUZXN0MSg0KSApOwoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKZnVuY3Rpb24gU3dpdGNoVGVzdDIodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICB0cnl7ICAKICAgICAgICByZXN1bHQgKz0gMjsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBmaW5hbGx5ewogICAgICAgIGMyPTE7CiAgICAgIH0KICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDQ7CiAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQppZiAoU3dpdGNoVGVzdDIoMSkhPT00KSAkRVJST1IoJyMyLjE6IFN3aXRjaFRlc3QxKDEpPT09NC4gQWN0dWFsOiAgU3dpdGNoVGVzdDEoMSk9PT0nKyBTd2l0Y2hUZXN0MSgxKSApOwppZiAoYzI9PT0xKSAkRVJST1IoJyMyLjI6IEV2YWx1YXRlIGZpbmFsbHkgYmxvY2snKTsKaWYgKFN3aXRjaFRlc3QyKDApIT09MikgJEVSUk9SKCcjMi4zOiBTd2l0Y2hUZXN0MSgwKT09PTIuIEFjdHVhbDogIFN3aXRjaFRlc3QxKDApPT09JysgU3dpdGNoVGVzdDEoMCkgKTsKaWYgKGMyIT09MSkgJEVSUk9SKCcjMi40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzMKZnVuY3Rpb24gU3dpdGNoVGVzdDModmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICB0cnl7ICAKICAgICAgICByZXN1bHQgKz0gMjsKICAgICAgICB0aHJvdyAiZXgiOwogICAgICB9CiAgICAgIGZpbmFsbHl7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIHJldHVybiByZXN1bHQ7Cn0KdHJ5ewogIHZhciB4Mz1Td2l0Y2hUZXN0MygwKTsKICBpZiAoeDMhPT0yKSAkRVJST1IoJyMzLjE6IHgzPT09Mi4gQWN0dWFsOiB4Mz09PScreDMpOwp9CmNhdGNoKGUpewogICRFUlJPUignIzMuMjogQ2F0Y2hpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"switch\" statement","description":"Insert try/catch/finally to switch statement","path":"TestCases/ch12/12.14/S12.14_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHB1cmUgInRyeSIgc3ludGF4IGNvbnN0cnVjdGlvbiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnkKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if pure \"try\" syntax construction passes","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5e30KY2F0Y2goKXt9CmZpbmFsbHl7fQoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\"","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaCBhbmQgRmluYWxseSBhcmUgcGxhY2VkIGludG8gdGhlIEJsb2NrIG9mICJ0cnkiICh3aGl0bGUgZXhwZWN0ZWQgb3V0c2lkZSkKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgewogIH0KICBjYXRjaChlKXt9CiAgZmluYWxseXt9Cn0KCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch and Finally are placed into the Block of \"try\" (whitle expected outside)","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFbWJlZGRlZCAidHJ5IiBzdGF0ZW1lbnRzIGZvbGxvd2VkIGJ5IHR3byAiY2F0Y2giIHN0YXRlbWVudHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnkKewogIHRyeQogIHsKICB9Cn0KY2F0Y2goZTEpe30KY2F0Y2goZTIpe30KCgoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Embedded \"try\" statements followed by two \"catch\" statements","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjIyIiBwYXNzZXMgYXQgdGhlIHBsYWNlIG9mIElkZW50aWZpZXIgb2YgImNhdGNoIgogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeQp7Cn0KY2F0Y2goIjIyIikKewp9CgoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"22\" passes at the place of Identifier of \"catch\"","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBwYXNzaW5nIGFyZ3VtZW50IHRvICJ0cnkiIHN0YXRlbWVudCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeShlMSl7CQp9CmNhdGNoKGUpe30KCgoKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if passing argument to \"try\" statement fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBGaW5hbGx5OiAiZmluYWxseSBCbG9jayIuIENoZWNraW5nIGlmIHBhc3NpbmcgYXJndW1lbnQgdG8gInRyeSIgc3RhdGVtZW50IGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5ewkKfQpmaW5hbGx5KGUpe30KCgoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Finally: \"finally Block\". Checking if passing argument to \"try\" statement fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHdpdGggbm8gInRyeSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpjYXRjaAoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"catch\" with no \"try\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmluYWxseSIgd2l0aCBubyAidHJ5IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmZpbmFsbHkKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"finally\" with no \"try\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENhdGNoOiAiY2F0Y2ggKElkZW50aWZpZXIgKSBCbG9jayIuIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHRoYXQgdGFrZXMgbm8gYXJndW1lbnRzIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5e30KY2F0Y2h7fQoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"catch\" that takes no arguments fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENhdGNoOiAiY2F0Y2ggKElkZW50aWZpZXIgKSBCbG9jayIuIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHdpdGggbm8gQmxvY2sgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7fQpjYXRjaCgpCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"catch\" with no Block fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDYuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXsgY2F0Y2h7fXt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXsKY2F0Y2goKXt9Cgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Checking if execution of \"try{ catch{}{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXt9IGNhdGNoKCl7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXt9CmNhdGNoKCl7CgoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Checking if execution of \"try{} catch(){\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDguanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXt9IGNhdGNoKCl7ZmluYWxseXt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXt9CmNhdGNoKCl7CmZpbmFsbHl7fQoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Catch: \"catch (Identifier ) Block\". Checking if execution of \"try{} catch(){finally{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2goKXt9IGZpbmFsbHl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpjYXRjaCgpe30KZmluYWxseXt9CgoKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"catch(){} finally{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCBpbiBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExNy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgZXhjZXB0aW9ucyB3aXRoaW4gY29uc3RydWN0b3IKICovCgp2YXIgaT0xOwpmdW5jdGlvbiBJbnRlZ2VyKCB2YWx1ZSwgZXhjZXB0aW9uICkgewogIHRyeXsKICAgIHRoaXMudmFsdWUgPSBjaGVja1ZhbHVlKCB2YWx1ZSApOwogICAgaWYoZXhjZXB0aW9uKSAkRVJST1IoJyMnK2krJy4xOiBNdXN0IGJlIGV4Y2VwdGlvbicpOwogIH0KICBjYXRjaChlKXsKICAgIHRoaXMudmFsdWUgPSBlLnRvU3RyaW5nKCk7CiAgICBpZighZXhjZXB0aW9uKSAkRVJST1IoJyMnK2krJy4yOiBEb25gdCBtdXN0IGJlIGV4Y2VwdGlvbicpOwogIH0KICBpKys7Cn0KCmZ1bmN0aW9uIGNoZWNrVmFsdWUodmFsdWUpewogIGlmKE1hdGguZmxvb3IodmFsdWUpIT12YWx1ZXx8aXNOYU4odmFsdWUpKXsKICAgIHRocm93IChJTlZBTElEX0lOVEVHRVJfVkFMVUUgKyI6ICIgKyB2YWx1ZSk7CiAgfQogIGVsc2V7CiAgICByZXR1cm4gdmFsdWU7CiAgfQp9CgovLyBDSEVDSyMxCm5ldyBJbnRlZ2VyKDEzLCBmYWxzZSk7Ci8vIENIRUNLIzIKbmV3IEludGVnZXIoTmFOLCB0cnVlKTsKLy8gQ0hFQ0sjMwpuZXcgSW50ZWdlcigwLCBmYWxzZSk7Ci8vIENIRUNLIzQKbmV3IEludGVnZXIoSW5maW5pdHksIGZhbHNlKTsKLy8gQ0hFQ0sjNQpuZXcgSW50ZWdlcigtMS4yMywgdHJ1ZSk7Ci8vIENIRUNLIzYKbmV3IEludGVnZXIoTWF0aC5MTjIsIHRydWUpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement in a constructor","description":"Creating exceptions within constructor","path":"TestCases/ch12/12.14/S12.14_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgdW5kZWZpbmVkOwp9CmNhdGNoKGUpewogIGlmIChlIT09dW5kZWZpbmVkKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK2UpOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching undefined","path":"TestCases/ch12/12.14/S12.14_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgbnVsbAogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IG51bGw7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT1udWxsKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09bnVsbC4gQWN0dWFsOiAnK2UpOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching null","path":"TestCases/ch12/12.14/S12.14_A18_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgYm9vbGVhbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IHRydWU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzMKdmFyIGI9ZmFsc2U7CnRyeXsKICB0aHJvdyBiOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzQKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGImJmZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzU6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGJ8fGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09dHJ1ZSkgJEVSUk9SKCcjNjogRXhjZXB0aW9uID09PXRydWUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching boolean","path":"TestCases/ch12/12.14/S12.14_A18_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgc3RyaW5nCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiIrIiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMjogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYj0iZXhjZXB0aW9uICMxIjsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMzogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYT0iZXhjZXB0aW9uIjsKdmFyIGI9IiAjMSI7CnRyeXsKICB0aHJvdyBhK2I7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoK","commentary":"Catching objects with try/catch/finally statement","description":"Catching string","path":"TestCases/ch12/12.14/S12.14_A18_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgTnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xMykgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTEzLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgMTArMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMzCnZhciBiPTEzOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMzOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyM0CnZhciBhPTM7CnZhciBiPTEwOwp0cnl7CiAgdGhyb3cgYStiOwp9CmNhdGNoKGUpewogIGlmIChlIT09MTMpICRFUlJPUignIzQ6IEV4Y2VwdGlvbiA9PT0xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdHJ5ewogIHRocm93IDIuMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yLjEzKSAkRVJST1IoJyM1OiBFeGNlcHRpb24gPT09Mi4xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzYKdmFyIGV4PTIvMzsKdHJ5ewogIHRocm93IDIvMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PWV4KSAkRVJST1IoJyM2OiBFeGNlcHRpb24gPT09Mi8zLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjNwp0cnl7CiAgdGhyb3cgTmFOOwp9CmNhdGNoKGUpewogIGlmICghaXNOYU4oZSkpICRFUlJPUignIzc6IEV4Y2VwdGlvbiBpcyBOYU4nKTsKfQoKLy8gQ0hFQ0sjOAp0cnl7CiAgdGhyb3cgK0luZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09K0luZmluaXR5KSAkRVJST1IoJyM4OiBFeGNlcHRpb24gPT09K0luZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjOQp0cnl7CiAgdGhyb3cgLUluZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09LUluZmluaXR5KSAkRVJST1IoJyM5OiBFeGNlcHRpb24gPT09LUluZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMTAKdHJ5ewogIHRocm93ICswOwp9CmNhdGNoKGUpewogIGlmIChlIT09KzApICRFUlJPUignIzEwOiBFeGNlcHRpb24gPT09KzAuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMxMQp0cnl7CiAgdGhyb3cgLTA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tMCkgJEVSUk9SKCcjMTE6IEV4Y2VwdGlvbiA9PT0tMC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"Catching objects with try/catch/finally statement","description":"Catching Number","path":"TestCases/ch12/12.14/S12.14_A18_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgT2JqZWN0CiAqLwoKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30sCiAgICAgICAgICAgICBpOjcsCn0KCnRyeXsKICB0aHJvdyBteU9iajsKfQpjYXRjaChlKXsJCi8vIENIRUNLIzEKICBpZiAoZS5wMSE9PSJhIikgJEVSUk9SKCcjMTogZS5wMT09PSJhIi4gQWN0dWFsOiAgZS5wMT09PScrIGUucDEgKTsKLy8gQ0hFQ0sjMgogIGlmIChlLnZhbHVlIT09J215T2JqX3ZhbHVlJykgJEVSUk9SKCcjMjogZS52YWx1ZT09PVwnbXlPYmpfdmFsdWVcJy4gQWN0dWFsOiAgZS52YWx1ZT09PScrIGUudmFsdWUgKTsKLy8gQ0hFQ0sjMwogIGlmIChlLmV2YWwoKSE9PSdvYmpfZXZhbCcpICRFUlJPUignIzM6IGUuZXZhbCgpPT09XCdvYmpfZXZhbFwnLiBBY3R1YWw6ICBlLmV2YWwoKT09PScrIGUuZXZhbCgpICk7Cn0KCi8vIENIRUNLIzQKbXlPYmouaT02Owp0cnl7CiAgdGhyb3cgbXlPYmo7Cn0KY2F0Y2goZSl7fQppZiAobXlPYmouaSE9PTYpICRFUlJPUignIzQ6IEhhbmRsaW5nIG9mIGNhdGNoIG11c3QgYmUgY29ycmVjdCcpOwoKLy8gQ0hFQ0sjNQpteU9iai5pPTY7CnRyeXsKICB0aHJvdyBteU9iajsKfQpjYXRjaChlKXsKICBlLmk9MTA7Cn0KaWYgKG15T2JqLmkhPT0xMCkgJEVSUk9SKCcjNTogSGFuZGxpbmcgb2YgY2F0Y2ggbXVzdCBiZSBjb3JyZWN0Jyk7Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching Object","path":"TestCases/ch12/12.14/S12.14_A18_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgQXJyYXkKICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzW2ldKSAkRVJST1IoJyMxLicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzWycraSsnXS4gQWN0dWFsOiAgRXhjZXB0aW9uWycraSsnXT09PScrIGVbaV0gKTsKICB9Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IG15Y2Fycy5jb25jYXQobXljYXJzMik7Cn0KY2F0Y2goZSl7CiAgZm9yICh2YXIgaT0wO2k8MztpKyspewogICAgaWYgKGVbaV0hPT1teWNhcnNbaV0pICRFUlJPUignIzIuJytpKyc6IEV4Y2VwdGlvblsnK2krJ109PT1teWNhcnNbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KICBmb3IgKHZhciBpPTM7aTw2O2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaS0zXSkgJEVSUk9SKCcjMi4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgbmV3IEFycmF5KCJNZXJjZWRlcyIsIkplZXAiLCJTdXp1a2kiKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaV0pICRFUlJPUignIzMuJytpKyc6IEV4Y2VwdGlvblsnK2krJ109PT1teWNhcnMyWycraSsnXS4gQWN0dWFsOiAgRXhjZXB0aW9uWycraSsnXT09PScrIGVbaV0pOwogIH0KfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjNC4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10uIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQogIGZvciAodmFyIGk9MztpPDY7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpLTNdKSAkRVJST1IoJyM0LicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzMlsnKyhpLTMpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSk7CiAgfQp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching Array","path":"TestCases/ch12/12.14/S12.14_A18_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9ucyBvZiBkaWZmZXJlbnQgdHlwZXMgd2l0aCB0cnkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGluZyB0cnkvY2F0Y2ggc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IChFcnJvcigiaGVsbG8iKSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFcnJvcjogaGVsbG8iKSAkRVJST1IoJyMxOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyMyCnRyeXsKICB0aHJvdyAobmV3IEVycm9yKCJoZWxsbyIpKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IkVycm9yOiBoZWxsbyIpICRFUlJPUignIzI6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IkVycm9yOiBoZWxsbyIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTA7CnRyeXsKICB0aHJvdyBFdmFsRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFdmFsRXJyb3I6IDEiKSAkRVJST1IoJyMzOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFdmFsRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM0CnRyeXsKICB0aHJvdyBSYW5nZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iUmFuZ2VFcnJvcjogMSIpICRFUlJPUignIzQ6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJhbmdlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM1CnRyeXsKICB0aHJvdyBSZWZlcmVuY2VFcnJvcigxKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlJlZmVyZW5jZUVycm9yOiAxIikgJEVSUk9SKCcjNTogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iUmVmZXJlbmNlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdGhyb3cgVHlwZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iVHlwZUVycm9yOiAxIikgJEVSUk9SKCcjNjogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iVHlwZUVycm9yOiAxIi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQoKLy8gQ0hFQ0sjNwp0cnl7CiAgdGhyb3cgVVJJRXJyb3IoIm1lc3NhZ2UiLCAiZmlsZU5hbWUiLCAiMSIpOyAKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlVSSUVycm9yOiBtZXNzYWdlIikgJEVSUk9SKCcjNzogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iVVJJRXJyb3I6IG1lc3NhZ2UiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Cgo=","commentary":"Catching system exceptions of different types with try statement","description":"Testing try/catch syntax construction","path":"TestCases/ch12/12.14/S12.14_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9ucyBvZiBkaWZmZXJlbnQgdHlwZXMgd2l0aCB0cnkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGluZyB0cnkvY2F0Y2gvZmluYWxseSBzeW50YXggY29uc3RydWN0aW9uCiAqLwoKdmFyIGZpbj0wOwovLyBDSEVDSyMxCnRyeXsKICB0aHJvdyAoRXJyb3IoImhlbGxvIikpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iRXJyb3I6IGhlbGxvIikgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzEuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjMgpmaW49MDsKdHJ5ewogIHRocm93IChuZXcgRXJyb3IoImhlbGxvIikpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iRXJyb3I6IGhlbGxvIikgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzIuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjMwpmaW49MDsKdmFyIGMzPTA7CnRyeXsKICB0aHJvdyBFdmFsRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFdmFsRXJyb3I6IDEiKSAkRVJST1IoJyMzLjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IkV2YWxFcnJvcjogMSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjMy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgovLyBDSEVDSyM0CmZpbj0wOwp0cnl7CiAgdGhyb3cgUmFuZ2VFcnJvcigxKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlJhbmdlRXJyb3I6IDEiKSAkRVJST1IoJyM0LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJhbmdlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzQuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjNQpmaW49MDsKdHJ5ewogIHRocm93IFJlZmVyZW5jZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iUmVmZXJlbmNlRXJyb3I6IDEiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJlZmVyZW5jZUVycm9yOiAxIi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQpmaW5hbGx5ewogIGZpbj0xOwp9CmlmIChmaW4hPT0xKSAkRVJST1IoJyM1LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOyAKCi8vIENIRUNLIzYKZmluPTA7CnRyeXsKICB0aHJvdyBUeXBlRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJUeXBlRXJyb3I6IDEiKSAkRVJST1IoJyM2LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlR5cGVFcnJvcjogMSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgovLyBDSEVDSyM3CmZpbj0wOwp0cnl7CiAgdGhyb3cgVVJJRXJyb3IoIm1lc3NhZ2UiLCAiZmlsZU5hbWUiLCAiMSIpOyAKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlVSSUVycm9yOiBtZXNzYWdlIikgJEVSUk9SKCcjNy4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJVUklFcnJvcjogbWVzc2FnZSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjNy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgo=","commentary":"Catching system exceptions of different types with try statement","description":"Testing try/catch/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaHJvd2luZyBleGNlcHRpb24gd2l0aCAidGhyb3ciIGFuZCBjYXRjaGluZyBpdCB3aXRoICJ0cnkiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJjYXRjaCIgY2F0Y2hlcyBhbiBleGNlcHRpb24gdGhyb3duIHdpdGggInRocm93IgogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB0aHJvdyAiY2F0Y2htZSI7CQogICRFUlJPUignIzE6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGUpe30KCi8vIENIRUNLIzIKdmFyIGMyPTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXhjIjsKICAgICRFUlJPUignIzIuMTogdGhyb3cgImV4YyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICB9ZmluYWxseXsKICAgIGMyPTE7CiAgfQp9CmNhdGNoKGUpewogIGlmIChjMiE9PTEpewogICAgJEVSUk9SKCcjMi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9Cn0KIAovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgdGhyb3cgImV4YyI7CiAgJEVSUk9SKCcjMy4xOiB0aHJvdyAiZXhjIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVycil7ICAJCiAgdmFyIHgzPTE7Cn0KZmluYWxseXsKICBjMz0xOwp9CmlmICh4MyE9PTEpewogICRFUlJPUignIzMuMjogImNhdGNoIiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9ICAKaWYgKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4zOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Throwing exception with \"throw\" and catching it with \"try\" statement","description":"Checking if execution of \"catch\" catches an exception thrown with \"throw\"","path":"TestCases/ch12/12.14/S12.14_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9uIHdpdGggInRyeSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNhdGNoIiBjYXRjaGVzIHN5c3RlbSBleGNlcHRpb25zCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgeTsKICAkRVJST1IoJyMxOiAieSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQpjYXRjaChlKXt9CgovLyBDSEVDSyMyCnZhciBjMj0wOwp0cnl7CiAgdHJ5ewogICAgc29tZVZhbHVlOwogICAgJEVSUk9SKCcjMy4xOiAic29tZVZhbHVlcyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICB9CiAgZmluYWxseXsKICAgIGMyPTE7CiAgfQp9CmNhdGNoKGUpewogIGlmIChjMiE9PTEpewogICAgJEVSUk9SKCcjMy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAseDM9MDsKdHJ5ewogIHgzPXNvbWVWYWx1ZTsKICAkRVJST1IoJyMzLjE6ICJ4Mz1zb21lVmFsdWVzIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVycil7ICAJCiAgeDM9MTsKfQpmaW5hbGx5ewogIGMzPTE7Cn0KaWYgKHgzIT09MSl7CiAgJEVSUk9SKCcjMy4yOiAiY2F0Y2giIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYgKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4zOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Catching system exception with \"try\" statement","description":"Checking if execution of \"catch\" catches system exceptions","path":"TestCases/ch12/12.14/S12.14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTYW5pdHkgdGVzdCBmb3IgImNhdGNoKEluZGV0aWZpZXIpIHN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGFuIGV4Y2VwdGlvbiBmYWlscwogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCnRyeSB7CiAgdGhyb3cgImNhdGNobWUiOwogICRFUlJPUignIzEuMTogdGhyb3cgImNhdGNobWUiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZGVsZXRlIGUpewogICAgJEVSUk9SKCcjMS4yOiBFeGNlcHRpb24gaGFzIERvbnREZWxldGUgcHJvcGVydHknKTsKICB9CiAgaWYgKGUhPT0iY2F0Y2htZSIpIHsKICAgICRFUlJPUignIzEuMzogRXhjZXB0aW9uID09PSAiY2F0Y2htZSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KfQoKLy8gQ0hFQ0sjMgp0cnkgewogIHRocm93ICJjYXRjaG1lIjsKICAkRVJST1IoJyMyLjE6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGUpe30KdHJ5ewogIGU7CiAgJEVSUk9SKCcjMi4yOiBEZWxldGluZyBjYXRjaGluZyBleGNlcHRpb24gYWZ0ZXIgZW5kaW5nICJjYXRjaCIgYmxvY2snKTsKfQpjYXRjaChlcnIpe30KCg==","commentary":"Sanity test for \"catch(Indetifier) statement\"","description":"Checking if deleting an exception fails","noStrict":"","path":"TestCases/ch12/12.14/S12.14_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgRmluYWxseSIgYW5kIHRoZSBwcm9kdWN0aW9uIFRyeVN0YXRlbWVudDogInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgImNhdGNoIiBjYXRjaGVzIHRoZSBJZGVudGlmaWVyIGluIGFwcHJvcHJpYXRlIHdheQogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB0aHJvdyAiY2F0Y2htZSI7CQogIHRocm93ICJkb250Y2F0Y2htZSI7CiAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiY2F0Y2htZSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQpjYXRjaCAoZSkgewogIGlmKGU9PT0iZG9udGNhdGNobWUiKXsKICAgICRFUlJPUignIzEuMjogRXhjZXB0aW9uICE9PSAiZG9udGNhdGNobWUiJyk7CiAgfQogIGlmIChlIT09ImNhdGNobWUiKSB7CiAgICAkRVJST1IoJyMxLjM6IEV4Y2VwdGlvbiA9PT0gImNhdGNobWUiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICB9Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gU3dpdGNoVGVzdDEodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHRyeXsgIAogICAgc3dpdGNoKHZhbHVlKSB7CiAgICAgIGNhc2UgMToKICAgICAgICByZXN1bHQgKz0gNDsKICAgICAgICB0aHJvdyByZXN1bHQ7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICByZXN1bHQgKz0gNjQ7CiAgICAgICAgdGhyb3cgImV4IjsKICAgIH0KICByZXR1cm4gcmVzdWx0OwogIH0KICBjYXRjaChlKXsJCiAgICBpZiAoKHZhbHVlPT09MSkmJihlIT09NCkpICRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSA0LiBBY3R1YWw6ICcrZSk7CiAgICBpZiAoKHZhbHVlPT09NCkmJihlIT09ImV4IikpJEVSUk9SKCcjMi4yOiBFeGNlcHRpb24gPT09ICJleCIuIEFjdHVhbDogJytlKTsKICB9CiAgZmluYWxseXsKICAgIHJldHVybiByZXN1bHQ7CiAgfQp9CmlmIChTd2l0Y2hUZXN0MSgxKSE9PTQpICRFUlJPUignIzIuMzogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CmlmIChTd2l0Y2hUZXN0MSg0KSE9PTY0KSRFUlJPUignIzIuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cgo=","commentary":"The production TryStatement: \"try Block Finally\" and the production TryStatement: \"try Block Catch Finally\"","description":"Checking \"catch\" catches the Identifier in appropriate way","path":"TestCases/ch12/12.14/S12.14_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2ggRmluYWxseSIKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGluZyBzZXF1ZW5jZSBvZiAidHJ5IiBzdGF0ZW1lbnRzLCB1c2luZyBjb3VudGVycyB3aXRoIHZhcnlpbmcgdmFsdWVzIHdpdGhpbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CnRyeSB7CiAgYzErPTE7CiAgeTsKICAkRVJST1IoJyMxLjE6ICJ5IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoIChlKSB7CiAgYzEqPTI7Cn0KaWYgKGMxIT09Mil7CiAgJEVSUk9SKCcjMS4yOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9jYXRjaCBpcyAxLiB0cnksIDIuIGNhdGNoJyk7CQp9CgovLyBDSEVDSyMyCnZhciBjMj0wOwp0cnl7CiAgYzIrPTE7Cn0KZmluYWxseXsKICBjMio9MjsKfQppZiAoYzIhPT0yKXsKICAkRVJST1IoJyMyOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9maW5hbGx5IGlzIDEuIHRyeSwgMi4gZmluYWxseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgYzM9MTsKICB6Owp9CmNhdGNoKGVycil7CiAgYzMqPTI7Cn0KZmluYWxseXsKICBjMys9MTsKfQppZiAoYzMhPT0zKXsKICAkRVJST1IoJyMzOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9jYXRjaC9maW5hbGx5KHdpdGggZXhjZXB0aW9uKSBpcyAxLiB0cnksIDIuIGNhdGNoLCAzLiBmaW5hbGx5Jyk7Cn0JCgovLyBDSEVDSyM0CnZhciBjND0wOwp0cnl7CiAgYzQ9MTsKfQpjYXRjaChlcnIpewogIGM0Kj0zOwp9CmZpbmFsbHl7CiAgYzQrPTE7Cn0KaWYgKGM0IT09Mil7CiAgJEVSUk9SKCcjNDogU2VxdWVuY2UgZXZhbHVhdGlvbiBvZiBjb21tYW5kcyB0cnkvY2F0Y2gvZmluYWxseSh3aXRob3V0IGV4Y2VwdGlvbikgaXMgMS4gdHJ5LCAyLiBmaW5hbGx5Jyk7Cn0JCgo=","commentary":"The production TryStatement: \"try Block Catch Finally\"","description":"Executing sequence of \"try\" statements, using counters with varying values within","path":"TestCases/ch12/12.14/S12.14_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIyKXsKICAgIGlmIChlcjIhPT0iZXgyIikKICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAnK2VyMSk7CiAgICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSAiZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24gIT09ICJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7CiAgfQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMi4zOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjMi40OiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwp9CgovLyBDSEVDSyMzCnRyeXsKICB0aHJvdyAiZXgxIjsKfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMy4xOiBFeGNlcHRpb24gPT09ImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7Cn0KZmluYWxseXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjMy4yOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7CiAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzMuMzogRXhjZXB0aW9uID09PSJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIH0KfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MDsKdHJ5ewogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MiI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxPT09ImV4MSIpICRFUlJPUignIzQuMTogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM0LjI6IEV4Y2VwdGlvbiA9PT0iZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICB9CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM0LjM6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzQuNDogRXhjZXB0aW9uICE9PSJleDIiLiBBY3R1YWw6IENhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwp9CmZpbmFsbHl7CiAgYzQ9MTsKfQppZiAoYzQhPT0xKSAkRVJST1IoJyM0LjU6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBjYXRjaChlcjEpewogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbiA9PT0iZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICB9CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzUuMjogRXhjZXB0aW9uID09PSJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gIT09ImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIH0KfQpmaW5hbGx5ewogIGM2PTE7CQkKfQppZiAoYzYhPT0xKSAkRVJST1IoJyM2LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNwp2YXIgYzc9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBmaW5hbGx5ewogICAgdHJ5ewogICAgICBjNz0xOwogICAgICB0aHJvdyAiZXgyIjsKICAgIH0KICAgIGNhdGNoKGVyMSl7CiAgICAgIGlmIChlcjEhPT0iZXgyIikgJEVSUk9SKCcjNy4xOiBFeGNlcHRpb24gPT09ImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7CiAgICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNy4yOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7CiAgICAgIGM3Kys7CiAgICB9CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM3LjM6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKfQppZiAoYzchPT0yKSAkRVJST1IoJyM3LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgZmluYWxseXsKICAgIHRocm93ICJleDEiOwogIH0KfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMS4yOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSAiZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7CiAgICB0cnl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogICAgZmluYWxseXsKICAgICAgdGhyb3cgImV4MyI7CiAgICB9CiAgICAkRVJST1IoJyMyLjI6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyMyLjM6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwp9CgovLyBDSEVDSyMzCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMy4xOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICB9CQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwp9CgovLyBDSEVDSyM0CnZhciBjND0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzQuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7CiAgICB0cnl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogICAgZmluYWxseXsKICAgICAgdGhyb3cgImV4MyI7CiAgICB9CiAgfQogIGZpbmFsbHl7CiAgICBjND0xOwogIH0KfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgzIikgJEVSUk9SKCcjNC4yOiBFeGNlcHRpb24gPT09ICJleDMiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKfQppZiAoYzQhPT0xKSAkRVJST1IoJyM0LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBmaW5hbGx5ewogICAgdGhyb3cgImV4MyI7CiAgfQogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjNS4yOiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwogIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdHJ5ewogICAgICB0aHJvdyAiZXgxIjsKICAgIH0KICAgIGZpbmFsbHl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogIH0KICBmaW5hbGx5ewogICAgYzY9MTsKICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7Cn0KaWYgKGM2IT09MSkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzcKdmFyIGM3PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgYzc9MTsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBjNysrOwogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MyIpICRFUlJPUignIzcuMTogRXhjZXB0aW9uID09PSAiZXgzIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7Cn0KaWYgKGM3IT09MikgJEVSUk9SKCcjNy4yOiBFbWJlZGRlZCAidHJ5L2ZpbmFsbHkiIGJsb2NrcyBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIyKXsKICAgIGlmIChlcjIhPT0iZXgyIikgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjIpOwogICAgdGhyb3cgImV4MSI7CiAgfQogIGZpbmFsbHl7CiAgICB0aHJvdyAiZXgzIjsKICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MyIpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSAiZXgzIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoZWQgZXhjZXB0aW9uJyk7CiAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyMxLjQ6IEV4Y2VwdGlvbiAhPT0iZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKdHJ5ewogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MiI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxPT09ImV4MSIpICRFUlJPUignIzIuMTogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoZWQgZXhjZXB0aW9uJyk7CiAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzIuMjogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9CiAgZmluYWxseXsKICAgIGMyPTE7CiAgfQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMi4zOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjMi40OiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwp9CmlmIChjMiE9PTEpCSRFUlJPUignIzIuNTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzMuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKfQpmaW5hbGx5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBjYXRjaChlcjEpewogICAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiAhPT0iZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyMzLjM6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgfQogIGZpbmFsbHl7CiAgICBjMz0xOwogIH0KfQppZiAoYzMhPT0xKQkkRVJST1IoJyMzLjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgdHJ5ewogICAgICB0aHJvdyAiZXgyIjsKICAgIH0KICAgIGNhdGNoKGVyMSl7CiAgICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNC4xOiBFeGNlcHRpb24gIT09ImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgY2F0Y2hlZCBleGNlcHRpb24nKTsKICAgICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM0LjI6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBjND0yOwogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICAgIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjNC4zOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogICAgaWYgKGVyMT09PSJleDIiKSAkRVJST1IoJyM0LjQ6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMT09PSJleDMiKSAkRVJST1IoJyM0LjU6IEV4Y2VwdGlvbiAhPT0iZXgzIi4gQWN0dWFsOiBDYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKICB9CiAgZmluYWxseXsKICAgIGM0Kj0yOwogIH0KfQpjYXRjaChlcjEpe30KaWYgKGM0IT09NCkgJEVSUk9SKCcjNC42OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzUKdmFyIGM1PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjEhPT0iZXgyIikgJEVSUk9SKCcjNS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogIH0KICBmaW5hbGx5ewogICAgdGhyb3cgImV4MyI7CiAgfQogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyM1LjI6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgaWYgKGVyMT09PSJleDIiKSAkRVJST1IoJyM1LjM6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNS40OiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9CiAgZmluYWxseXsKICAgIGM2PTI7CiAgfQp9CmZpbmFsbHl7CiAgYzYqPTI7Cn0KaWYgKGM2IT09NCkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzcKdmFyIGM3PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgYzc9MTsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBjYXRjaChlcjEpewogICAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzcuMTogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICAgICAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyM3LjI6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgICBjNysrOwogICAgfQogICAgZmluYWxseXsKICAgICAgYzcqPTI7CiAgICB9CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM3LjM6IEV4Y2VwdGlvbiA9PT0gImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7Cn0KaWYgKGM3IT09NCkgJEVSUk9SKCcjNy40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCg==","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiaWYiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgZXhjZXB0aW9uIHdpdGhpbiBhbiAiaWYiIHN0YXRlbWVudAogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTE7CnRyeXsKICBpZihjMT09PTEpewogICAgdGhyb3cgImV4MSI7CiAgICAkRVJST1IoJyMxLjE6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQogICRFUlJPUignIzEuMjogdGhyb3cgImV4MSIgaW5zaWRlIHRoZSAiaWYiIHN0YXRlbWVudCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVyMSl7CQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMS4zOiBFeGNlcHRpb24gPT09ImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTE7CmlmKGMyPT09MSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICAkRVJST1IoJyMyLjE6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZihlcjEhPSJleDEiKSAkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9Cn0KCg==","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"if\" statement","description":"Throwing exception within an \"if\" statement","path":"TestCases/ch12/12.14/S12.14_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gTG9vcCB3aXRoaW4gYSAidHJ5IiBCbG9jaywgZnJvbSB3aGVyZSBleGNlcHRpb24gaXMgdGhyb3duCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgaT0wOwp0cnl7CiAgZG97CiAgICBpZihpPT09NSkgdGhyb3cgaTsKICAgIGkrKzsKICB9CiAgd2hpbGUoaTwxMCk7Cn0KY2F0Y2goZSl7CiAgaWYoZSE9PTUpJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"Loop within a \"try\" Block, from where exception is thrown","path":"TestCases/ch12/12.14/S12.14_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImNvbnRpbnVlIiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpkb3sKICB0cnl7CiAgICBjMSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CndoaWxlKGMyPDIpOwppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnkgY2F0Y2h7Y29udGludWV9IGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW4zPTA7Cn0Kd2hpbGUoYzM8Mik7CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTAsZmluND0wOwpkb3sKICB0cnl7CiAgICBjNCs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluND0xOwogIH0KICBmaW40PS0xOwp9CndoaWxlKGM0PDIpOwppZihmaW40IT09MSl7CiAgJEVSUk9SKCcjNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGZpbmFsbHkiICBjb25zdHJ1Y3Rpb24nKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjNSs9MTsKICAgIGNvbnRpbnVlOwogIH0KfQp3aGlsZShjNTwyKTsKaWYoYzUhPT0yKXsKICAkRVJST1IoJyM1OiAidHJ5IGNhdGNoe2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wLGZpbjY9MDsKZG97CiAgdHJ5ewogICAgYzYrPTE7CiAgICB0aHJvdyAiZXgxIgogIH0KICBmaW5hbGx5ewogICAgZmluNj0xOwogICAgY29udGludWU7CiAgfQogIGZpbjY9LTE7Cn0Kd2hpbGUoYzY8Mik7CmlmKGZpbjYhPT0xKXsKICAkRVJST1IoJyM2LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM2IT09Mil7CiAgJEVSUk9SKCcjNi4yOiAidHJ5IGZpbmFsbHl7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"continue\" statement","path":"TestCases/ch12/12.14/S12.14_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImJyZWFrIiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpkb3sKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTEpewogICRFUlJPUignIzEuMjogInRyeXticmVha31jYXRjaCBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwpkb3sKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgfQogIGMyKz0yOwogIGZpbjI9LTE7Cn0Kd2hpbGUoYzI8Mik7CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09MSl7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwpkb3sKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgYnJlYWs7CiAgfQogIGMzKz0yOwogIGZpbjM9MDsKfQp3aGlsZShjMzwyKTsKaWYoZmluMyE9PTEpewogICRFUlJPUignIzMuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MCxmaW40PTA7CmRvewogIHRyeXsKICAgIGM0Kz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW40PTE7CiAgfQogIGZpbjQ9LTE7CiAgYzQrPTI7Cn0Kd2hpbGUoYzQ8Mik7CmlmKGZpbjQhPT0xKXsKICAkRVJST1IoJyM0LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM0IT09MSl7CiAgJEVSUk9SKCcjNC4yOiAidHJ5e2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CmRvewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgfQp9CndoaWxlKGM1PDIpOwppZihjNSE9PTApewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTA7CmRvewogIHRyeXsKICAgIGM2Kz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGM2Kz0yOwp9CndoaWxlKGM2PDIpOwppZihjNiE9PTEpewogICRFUlJPUignIzY6ICJ0cnl7YnJlYWt9IGNhdGNoIiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzcKdmFyIGM3PTAsZmluNz0wOwp0cnl7CiAgZG97CiAgICB0cnl7CiAgICAgIGM3Kz0xOwogICAgICB0aHJvdyAiZXgxIjsKICAgIH0KICAgIGZpbmFsbHl7CiAgICAgIGZpbjc9MTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBmaW43PS0xOwogICAgYzcrPTI7CiAgfQogIHdoaWxlKGM3PDIpOwp9CmNhdGNoKGV4MSl7CiAgYzc9MTA7Cn0KaWYoZmluNyE9PTEpewogICRFUlJPUignIzcuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzchPT0xKXsKICAkRVJST1IoJyM3LjI6IHRyeSBmaW5hbGx5e2JyZWFrfSBlcnJvcicpOwp9Cgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"break\" statement","path":"TestCases/ch12/12.14/S12.14_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UNC5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImNvbnRpbnVlIiBhbmQgImJyZWFrIiBzdGF0ZW1lbnRzCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKZG97CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogICAgY29udGludWU7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTIpewogICRFUlJPUignIzEuMjogInRyeXticmVha30gY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmRvewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CndoaWxlKGMyPDIpOwppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTIpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoK","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"continue\" and \"break\" statements","path":"TestCases/ch12/12.14/S12.14_A9_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhjZXB0aW9ucyBhcmUgdGhyb3duIGNvcnJlY3RseSBmcm9tIHdoZXJldmVyIG9mIGxvb3AgYm9keQogKi8KCi8vIENIRUNLIzEKdmFyIGM9MCwgaT0wOwp2YXIgZmluPTA7CmRvewogIGkrPTE7CiAgdHJ5ewogICAgaWYoYz09PTApewogICAgICB0aHJvdyAiZXgxIjsKICAgICAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiZXgxIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfQogICAgYys9MjsKICAgIGlmKGM9PT0xKXsKICAgICAgdGhyb3cgImV4MiI7CiAgICAgICRFUlJPUignIzEuMjogdGhyb3cgImV4MiIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0KICB9CiAgY2F0Y2goZXIxKXsKICAgIGMtPTE7CiAgICBjb250aW51ZTsKICAgICRFUlJPUignIzEuMzogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwogIH0KICBmaW5hbGx5ewogICAgZmluKz0xOwogIH0KfQp3aGlsZShpPDEwKTsKaWYoZmluIT09MTApewogICRFUlJPUignIzEuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"Checking if exceptions are thrown correctly from wherever of loop body","path":"TestCases/ch12/12.14/S12.14_A9_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXA0KICAgICAgICAgICAgICAgICAgIHRyeSB7fSBjYXRjaCAoZXZhbCkgeyB9XA0KICAgICAgICAgICAgIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is eval","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-1-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LjEvMTIuMTQuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIFRyeVN0YXRlbWVudCB3aXRoIGEgQ2F0Y2ggb2NjdXJzIHdpdGhpbiBzdHJpY3QgY29kZSBhbmQgdGhlIElkZW50aWZpZXIgb2YgdGhlIENhdGNoIHByb2R1Y3Rpb24gaXMgZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp0cnkgeyB9IGNhdGNoIChldmFsKSB7IH0NCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is eval","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJcDQogICAgICAgICAgICAgICAgICAgdHJ5IHt9IGNhdGNoIChhcmd1bWVudHMpIHsgfVwNCiAgICAgICAgICAgICIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is arguments","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBFVkFMIGJ1dCB0aHJvd3MgU3ludGF4RXJyb3IgaWYgaXQgaXMgZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICB0cnl7IGV2YWwoIiB0cnkgeyBcDQogICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiLi4uXCIpO1wNCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XA0KICAgICAgICAgfSBjYXRjaCAoRVZBTCkge1wNCiAgICAgICAgICAgICB0cnlcDQogICAgICAgICAgICAge1wNCiAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIi4uLlwiKTtcDQogICAgICAgICAgICAgfWNhdGNoKGV2YWwpXA0KICAgICAgICAgICAgIHtcDQogICAgICAgICAgICAgICAgIHJldHVybiBFVkFMIGluc3RhbmNlb2YgRXJyb3I7XA0KICAgICAgICAgICAgICB9XA0KICAgICAgICAgfSIpOw0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL but throws SyntaxError if it is eval","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBFVkFMDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCIuLi4iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoRVZBTCkgew0KICAgICAgICAgICAgcmV0dXJuIEVWQUwgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBBcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIi4uLiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChBcmd1bWVudHMpIHsNCiAgICAgICAgICAgIHJldHVybiBBcmd1bWVudHMgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is Arguments","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBBUkdVTUVOVFMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIi4uLiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChBUkdVTUVOVFMpIHsNCiAgICAgICAgICAgIHJldHVybiBBUkdVTUVOVFMgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is ARGUMENTS","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-6-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZXMgYXJlIGNyZWF0ZWQgd2hlbiB0aGUgcHJvZ3JhbSBpcyBlbnRlcmVkLiBWYXJpYWJsZXMgYXJlIGluaXRpYWxpc2VkIHRvICJ1bmRlZmluZWQiCiAqIHdoZW4gY3JlYXRlZC4gQSB2YXJpYWJsZSB3aXRoIGFuIEluaXRpYWxpc2VyIGlzIGFzc2lnbmVkIHRoZSB2YWx1ZSBvZiBpdHMgQXNzaWdubWVudEV4cHJlc3Npb24gd2hlbiB0aGUKICogVmFyaWFibGVTdGF0ZW1lbnQgaXMgZXhlY3V0ZWQsIG5vdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyBjcmVhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgdmFyaWFibGVzIGFmdGVyIGVudGVyaW5nIHRoZSBleGVjdXRpb24gc2NvcGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX3ggPSBfX3g7CiAgICBfX3kgPSBfX3ggPyAiZ29vZCBmZWxsb3ciIDogImxpYXIiOyAvLyBfX3kgYXNzaWduZWQgdG8gImxpYXIiIHNpbmNlIF9feCB1bmRlZmluZWQKICAgIF9feiA9IF9feiA9PT0gX194ID8gMSA6IDA7IC8vIF9feiBhc3NpZ25lZCB0byAxIHNpbmNlIGJvdGggX194IGFuZCBfX3ogYXJlIHVuZGVmaW5lZAp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiBVc2luZyBkZWNsYXJhdGVkIHZhcmlhYmxlIGJlZm9yZSBpdCBkZWNsYXJhdGlvbiBpcyBhZG1pdHRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnl7CiAgICBfX3NvbWV0aGluZ19fdW5kZWZpbmVkID0gX19zb21ldGhpbmdfX3VuZGVmaW5lZDsKICAgICRFUlJPUignIzI6ICJfX3NvbWV0aGluZ19fdW5kZWZpbmVkID0gX19zb21ldGhpbmdfX3VuZGVmaW5lZCIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKICAgICRQUklOVChlLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoKF9feSAhPT0gImxpYXIiKSYoX196ICE9PSAxKSkgewoJJEVSUk9SKCcjMzogKF9feSA9PT0gImxpYXIiKSBhbmQgKF9feiA9PT0gMSkuIEFjdHVhbDogIF9feSA9PT0nK19feSsnIGFuZCBfX3ogPT09JytfX3ogICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX194LCBfX3kgPSB0cnVlLCBfX3ogPSBfX3kgPyAic21lYWdvbCIgOiAiZ29sdW0iOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIV9feSYhKF9feiA9ICJzbWVhZ29sIikpIHsKCSRFUlJPUignIzQ6IEEgdmFyaWFibGUgd2l0aCBhbiBJbml0aWFsaXNlciBpcyBhc3NpZ25lZCB0aGUgdmFsdWUgb2YgaXRzIEFzc2lnbm1lbnRFeHByZXNzaW9uIHdoZW4gdGhlIFZhcmlhYmxlU3RhdGVtZW50IGlzIGV4ZWN1dGVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Variables are created when the program is entered. Variables are initialised to \"undefined\"\nwhen created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the\nVariableStatement is executed, not when the variable is created","description":"Creating variables after entering the execution scope","path":"TestCases/ch12/12.2/S12.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBzdGF0ZW1lbnQgd2l0aGluICJmb3IiIHN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gYSAiZm9yIiBJdGVyYXRpb25TdGF0ZW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2luZD1fX2luZDsKfSBjYXRjaCAoZSkgewogICAgJEVSUk9SKCcjMTogdmFyIGluc2lkZSAiZm9yIiBpcyBhZG1pdHRlZCAnK2UubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmb3IgKHZhciBfX2luZDs7KXsKICAgIGJyZWFrOwp9Cgo=","commentary":"\"var\" statement within \"for\" statement is allowed","description":"Declaring variable within a \"for\" IterationStatement","path":"TestCases/ch12/12.2/S12.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtSZWFkT25seX0gaXMgbm90IHVzZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgdmFyaWFibGUgdmFsdWUgdXNpbmcgcHJvcGVydHkgYXR0cmlidXRlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdGhpc1snX19kZWNsYXJlZF9fdmFyJ10gPSAiYmFsb29uIjsKaWYgKHRoaXNbJ19fZGVjbGFyZWRfX3ZhciddICE9PSAiYmFsb29uIikgewoJJEVSUk9SKCcjMTogdGhpc1tcJ19fZGVjbGFyZWRfX3ZhclwnXSA9PT0gImJhbG9vbiIuIEFjdHVhbDogIHRoaXNbXCdfX2RlY2xhcmVkX192YXJcJ10gPT09JysgdGhpc1snX19kZWNsYXJlZF9fdmFyJ10gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RlY2xhcmVkX192YXIgIT09ICJiYWxvb24iKSB7CgkkRVJST1IoJyMyOiBfX2RlY2xhcmVkX192YXIgPT09ICJiYWxvb24iLiBBY3R1YWw6ICBfX2RlY2xhcmVkX192YXIgPT09JysgX19kZWNsYXJlZF9fdmFyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZGVjbGFyZWRfX3ZhcjsKCg==","commentary":"When using property attributes, {ReadOnly} is not used","description":"Changing variable value using property attributes","path":"TestCases/ch12/12.2/S12.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAiZG8td2hpbGUiIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgdmFyaWFibGUgd2l0aGluICJkby13aGlsZSIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJeD14Owp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiBEZWNsYXJhdGlvbiB2YXJpYWJsZSBpbnNpZGUgImRvLXdoaWxlIiBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmRvIHZhciB4OyB3aGlsZSAoZmFsc2UpOwoK","commentary":"VariableDeclaration within \"do-while\" loop is allowed","description":"Declaring variable within \"do-while\" statement","path":"TestCases/ch12/12.2/S12.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZXMgYXJlIGRlZmluZWQgd2l0aCBnbG9iYWwgc2NvcGUgKHRoYXQgaXMsIHRoZXkgYXJlIGNyZWF0ZWQgYXMgbWVtYmVycyBvZiB0aGUgZ2xvYmFsIG9iamVjdCwgYXMgZGVzY3JpYmVkIGluIDEwLjEuMykgdXNpbmcgcHJvcGVydHkgYXR0cmlidXRlcyB7IERvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IGhhdmUgdGhlIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlKF9fdmFyaWFibGUpKSB7CgkkRVJST1IoJyMxOiBkZWxldGUoX192YXJpYWJsZSk9PT1mYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZGVsZXRlKHRoaXNbIl9fdmFyaWFibGUiXSkpIHsKCSRFUlJPUignIzI6IGRlbGV0ZSh0aGlzWyJfX3ZhcmlhYmxlIl0pPT09ZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgp2YXIgX192YXJpYWJsZTsKdmFyIF9fdmFyaWFibGUgPSAiZGVmaW5lZCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUoX192YXJpYWJsZSkgfCBkZWxldGUodGhpc1siX192YXJpYWJsZSJdKSkgewoJJEVSUk9SKCcjMzogKGRlbGV0ZShfX3ZhcmlhYmxlKSB8IGRlbGV0ZSh0aGlzWyJfX3ZhcmlhYmxlIl0pKT09PWZhbHNlJyApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoKF9fdmFyaWFibGUgIT09ICJkZWZpbmVkIil8KHRoaXNbIl9fdmFyaWFibGUiXSAhPT0iZGVmaW5lZCIpKSB7CgkkRVJST1IoJyM0OiBfX3ZhcmlhYmxlID09PSAiZGVmaW5lZCIgYW5kIHRoaXNbIl9fdmFyaWFibGUiXSA9PT0iZGVmaW5lZCInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Variables are defined with global scope (that is, they are created as members of the global object, as described in 10.1.3) using property attributes { DontDelete}","description":"Checking if deleting global variables that have the attributes {DontDelete} fails","path":"TestCases/ch12/12.2/S12.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHByb2R1Y2VzIGEgbmV3IHNjb3BlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgR2xvYmFsIHNjb3BlIGFuZCBGdW5jdGlvbiBzY29wZSB0b2dldGhlcgogKi8KCnZhciBfX3ZhciA9ICJPVVQiOwoKKGZ1bmN0aW9uKCl7CiAgICB2YXIgX192YXIgPSJJTiI7CgkoZnVuY3Rpb24oKXtfX3ZhciA9ICJJTk5FUl9TUEFDRSI7fSkoKTsKCShmdW5jdGlvbigpe3ZhciBfX3ZhciA9ICJJTk5FUl9TVU4iO30pKCk7CgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCS8vQ0hFQ0sjMQogICAgaWYgKF9fdmFyICE9PSAiSU5ORVJfU1BBQ0UiKSB7CiAgICAJJEVSUk9SKCcjMTogX192YXIgPT09ICJJTk5FUl9TUEFDRSIuIEFjdHVhbDogIF9fdmFyID09PScrIF9fdmFyICApOwogICAgfQoJLy8KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX192YXIgIT09ICJPVVQiKSB7CgkkRVJST1IoJyMyOiBfX3ZhciA9PT0gIk9VVCIuIEFjdHVhbDogIF9fdmFyID09PScrIF9fdmFyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCihmdW5jdGlvbigpewogICAgX192YXIgPSJJTiI7CgkoZnVuY3Rpb24oKXtfX3ZhciA9ICJJTk5FUkVEIn0pKCk7CgkoZnVuY3Rpb24oKXt2YXIgX192YXIgPSAiSU5OQUdFUiJ9KSgpOwoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgkvL0NIRUNLIzMKICAgIGlmIChfX3ZhciE9PSJJTk5FUkVEIikgewogICAgCSRFUlJPUignIzM6IF9fdmFyPT09IklOTkVSRUQiLiBBY3R1YWw6ICBfX3Zhcj09PScrIF9fdmFyICk7CiAgICB9CgkvLwoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3ZhciE9PSJJTk5FUkVEIikgewoJJEVSUk9SKCcjNDogX192YXI9PT0iSU5ORVJFRCIuIEFjdHVhbDogIF9fdmFyPT09JysgX192YXIgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration produces a new scope","description":"Using Global scope and Function scope together","path":"TestCases/ch12/12.2/S12.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gdmFyaWFibGUgSWRlbnRpZmllciBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhbmQgdXNlIHVuaWNvZGUgY2hhcmFjdGVycyBpbiB2YXJpYWJsZSBJZGVudGlmaWVyCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX192YXI9X192YXI7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IFVuaWNvZGUgY2hhcmFjdGVycyBpbiB2YXJpYWJsZSBJZGVudGlmaWVyIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBcdTAwNWZcdTAwNWZcdTAwNzZcdTAwNjFcdTAwNzIgPSAxOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX192YXIgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fdmFyID09PSAxLiBBY3R1YWw6ICBfX3ZhciA9PT0nKyBfX3ZhciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Unicode characters in variable Identifier are allowed","description":"Create and use unicode characters in variable Identifier","path":"TestCases/ch12/12.2/S12.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiBFdmFsIHN0YXRlbWVudCBpcyBpbml0aWFsaXplZCBhcyB0aGUgcHJvZ3JhbSByZWFjaGVzIHRoZSBldmFsIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGluZyBldmFsKCJ2YXIgeCIpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7Cgl4PXg7CgkkRVJST1IoJyMxOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Y2F0Y2goZSl7CgkkUFJJTlQoZS5tZXNzYWdlKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpldmFsKCJ2YXIgeCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnl7Cgl4PXg7Cn1jYXRjaChlKXsKCSRFUlJPUignIzI6IFZhcmlhYmxlRGVjbGFyYXRpb24gaW5zaWRlIEV2YWwgc3RhdGVtZW50IGlzIGluaXRpYWxpemVkIHdoZW4gcHJvZ3JhbSByZWFjaGVzIHRoZSBldmFsIHN0YXRlbWVudCAnK2UubWVzc2FnZSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"VariableDeclaration within Eval statement is initialized as the program reaches the eval statement","description":"Executing eval(\"var x\")","path":"TestCases/ch12/12.2/S12.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAidHJ5LWNhdGNoIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gInRyeS1jYXRjaCIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglpbnRyeV9fdmFyPWludHJ5X192YXI7Cn1jYXRjaChlKXsKCSRFUlJPUignIzE6IFZhcmlhYmxlIGRlY2xhcmF0aW9uIGluc2lkZSAidHJ5IiBibG9jayBpcyBhZG1pdHRlZCcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5ewoJaW5jYXRjaF9fdmFyPWluY2F0Y2hfX3ZhcjsKfWNhdGNoKGUpewoJJEVSUk9SKCcjMjogVmFyaWFibGUgZGVjbGFyYXRpb24gaW5zaWRlICJjYXRjaCIgYmxvY2sgaXMgYWRtaXR0ZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp0cnl7CiAgdmFyIGludHJ5X192YXI7Cn1jYXRjaChlKXsKICAgIHZhciBpbmNhdGNoX192YXI7Cn07Cgo=","commentary":"VariableDeclaration within \"try-catch\" statement is allowed","description":"Declaring variable within \"try-catch\" statement","path":"TestCases/ch12/12.2/S12.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAidHJ5LWNhdGNoIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZXMgd2l0aGluICJ0cnktY2F0Y2giIHN0YXRlbWVudAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJaW50cnlfX2ludHJ5X192YXI9aW50cnlfX2ludHJ5X192YXI7CglpbnRyeV9faW5jYXRjaF9fdmFyPWludHJ5X19pbmNhdGNoX192YXI7CglpbmNhdGNoX19pbnRyeV9fdmFyPWluY2F0Y2hfX2ludHJ5X192YXI7CglpbmNhdGNoX19pbmNhdGNoX192YXI9aW5jYXRjaF9faW5jYXRjaF9fdmFyOwp9Y2F0Y2goZSl7CgkkRVJST1IoJyMxOiBWYXJpYWJsZSBkZWNsYXJhdGlvbiBpbnNpZGUgInRyeS1jYXRjaCIgYmxvY2sgaXMgYWRtaXR0ZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp0cnl7CiAgICB0cnkgewogICAgCXZhciBpbnRyeV9faW50cnlfX3ZhcjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgIAl2YXIgaW50cnlfX2luY2F0Y2hfX3ZhcjsKICAgIH0KfWNhdGNoKGUpewogICAgdHJ5IHsKICAgIAl2YXIgaW5jYXRjaF9faW50cnlfX3ZhcjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICB2YXIgaW5jYXRjaF9faW5jYXRjaF9fdmFyOwogICAgfQogICAgCn07Cgo=","commentary":"VariableDeclaration within \"try-catch\" statement is allowed","description":"Declaring variables within \"try-catch\" statement","path":"TestCases/ch12/12.2/S12.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAiZm9yIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTcuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gImZvciIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglpbmZvcl92YXIgPSBpbmZvcl92YXI7Cn1jYXRjaChlKXsKCSRFUlJPUignIzE6IFZhcmlhYmxlIGRlY2xhcmF0aW9uIGluc2lkZSAiZm9yIiBsb29wIGlzIGFkbWl0dGVkJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZm9yICg7Oyl7CiAgICBicmVhazsKICAgIHZhciBpbmZvcl92YXI7Cn0KCg==","commentary":"VariableDeclaration within \"for\" statement is allowed","description":"Declaring variable within \"for\" statement","path":"TestCases/ch12/12.2/S12.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ICs9IDEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggKz0gMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x += 1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4IHwgdHJ1ZSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeCB8IHRydWU7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x | true\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ICYmIDEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggJiYgMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x && 1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4KysiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHgrKzsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x++\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciAtLXgiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIC0teDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var --x\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4KjEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHgqMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x*1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4Pj4xIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4Pj4xOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x>>1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4IGluIF9fYXJyIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpfX2FyciA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeCBpbiBfX2FycjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x in __arr\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtEb250RW51bX0gaXMgbm90IHVzZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBFbnVtZXJhdGluZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIG9mICJ0aGlzIiBhbmQgdGhlbiBzZWFyY2hpbmcgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yIChfX3Byb3AgaW4gdGhpcyl7CiAgICBpZiAoX19wcm9wID09PSAiX19kZWNsYXJlZF9fdmFyIikKICAgICAgICBlbnVtZWQ9dHJ1ZTsKfQppZiAoIShlbnVtZWQpKSB7CgkkRVJST1IoJyMxOiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtEb250RW51bX0gbm90IHVzZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2RlY2xhcmVkX192YXI7Cgo=","commentary":"When using property attributes, {DontEnum} is not used","description":"Enumerating property attributes of \"this\" and then searching for the declared variable","path":"TestCases/ch12/12.2/S12.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGV2YWw7IH0nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a function declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBhc3NpZ25pbmcgaW50byAnZXZhbCcgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ2V2YWwgPSA0MjsnKTsNCiAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode: an indirect eval assigning into 'eval' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzIGFzIHZhciBpZGVudGlmaWVyIGluIGV2YWwgY29kZSBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICBldmFsKCJ2YXIgYXJndW1lbnRzOyIpOw0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments as var identifier in eval code is allowed","path":"TestCases/ch12/12.2/12.2.1/12.2.1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGFyZ3VtZW50czt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGlzIGFsbG93ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGV2YWwoIihmdW5jdGlvbiAoKXt2YXIgYXJndW1lbnRzO30pIik7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments as local var identifier is allowed","path":"TestCases/ch12/12.2/12.2.1/12.2.1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXNzaWdubWVudCB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyBhcmd1bWVudHMgPSA0MjsgfTsgZm9vKCknKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments assignment throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgLSBhIGZ1bmN0aW9uIGV4cHIgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdhcmd1bWVudHMnIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnKGZ1bmN0aW9uICgpe3ZhciBhcmd1bWVudHM7fSk7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments - a function expr declaring a var named 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgLSBhIGZ1bmN0aW9uIGV4cHIgYXNzaWduaW5nIGludG8gJ2FyZ3VtZW50cycgdGhyb3dzIGEgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJyhmdW5jdGlvbiAoKSB7YXJndW1lbnRzID0gNDI7fSkoKScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments - a function expr assigning into 'arguments' throws a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIChjYWxsZWQgYXMgYSBmdW5jdGlvbikgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdhcmd1bWVudHMnIGRvZXMgbm90IHRocm93IGEgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQogICAgDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAndXNlIHN0cmljdCc7DQogICAgICAgIEZ1bmN0aW9uKCd2YXIgYXJndW1lbnRzOycpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"A Function constructor (called as a function) declaring a var named 'arguments' does not throw a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIChjYWxsZWQgYXMgYSBmdW5jdGlvbikgYXNzaWduaW5nIGludG8gJ2FyZ3VtZW50cycgd2lsbCBub3QgdGhyb3cgYW55IGVycm9yIGlmIGNvbnRhaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUgYW5kIGl0cyBib2R5IGRvZXMgbm90IHN0YXJ0IHdpdGggc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogICAgdmFyIGYgPSBGdW5jdGlvbignYXJndW1lbnRzID0gNDI7Jyk7DQogICAgZigpOw0KICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"A Function constructor (called as a function) assigning into 'arguments' will not throw any error if contained within strict mode and its body does not start with strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIGRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnYXJndW1lbnRzJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ3ZhciBhcmd1bWVudHM7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"A direct eval declaring a var named 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIGRpcmVjdCBldmFsIGFzc2lnbmluZyBpbnRvICdhcmd1bWVudHMnIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnYXJndW1lbnRzID0gNDI7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIDsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"A direct eval assigning into 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-19-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEyLzEyLjIvMTIuMi4xLzEyLjIuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIFZhcmlhYmxlRGVjbGFyYXRpb24gb2NjdXJzIHdpdGhpbiBzdHJpY3QgY29kZSBhbmQgaXRzIElkZW50aWZpZXIgaXMgZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZm9yICh2YXIgZXZhbCBpbiBhcnJPYmopIHsgfQ==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a VariableDeclaration occurs within strict code and its Identifier is eval","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGFzc2lnbmluZyBpbnRvICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyBldmFsID0gNDI7IH07IGZvbygpJyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a function assigning into 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBkZWNsYXJpbmcgYSB2YXIgbmFtZWQgJ2FyZ3VtZW50cycgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgdmFyIHMgPSBldmFsOw0KICBzKCd2YXIgYXJndW1lbnRzOycpOw0KICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode: an indirect eval declaring a var named 'arguments' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBhc3NpZ25pbmcgaW50byAnYXJndW1lbnRzJyBkb2VzIG5vdCB0aHJvdw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ2FyZ3VtZW50cyA9IDQyOycpOw0KICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode: an indirect eval assigning into 'arguments' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgZ2xvYmFsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBpbmRpcmVjdEV2YWwgPSBldmFsOw0KCQ0KICAgIHRyeSB7DQoJICAgIGluZGlyZWN0RXZhbCgiJ3VzZSBzdHJpY3QnOyB2YXIgYXJndW1lbnRzOyIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQoJfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCgl9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as global var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhcmd1bWVudHMgPSA0Mjt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCA9IDQyO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhcmd1bWVudHMsIGE7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgYSwgZXZhbDt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"eval as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCA9IDQyLCBhO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhLCBhcmd1bWVudHMgPSA0Mjt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCwgYSA9IDQyO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGV4cHIgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnKGZ1bmN0aW9uICgpIHsgdmFyIGV2YWw7IH0pJyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a function expr declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhID0gNDIsIGFyZ3VtZW50czt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGRlZmluZWQgdHdpY2UgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBldmFsLCBldmFsO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier defined twice throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgZGVmaW5lZCB0d2ljZSBhbmQgYXNzaWduZWQgb25jZSB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGFyZ3VtZW50cywgYXJndW1lbnRzID0gNDI7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier defined twice and assigned once throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhLCBhcmd1bWVudHMsIGI7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBldmFsIGluIC4uLikgey4uLn0nIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmb3IgKHZhciBldmFsIGluIG51bGwpIHt9OycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'for(var eval in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBldmFsID0gNDIgaW4gLi4uKSB7Li4ufScgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2ZvciAodmFyIGV2YWwgPSA0MiBpbiBudWxsKSB7fTsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'for(var eval = 42 in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBhcmd1bWVudHMgaW4gLi4uKSB7Li4ufScgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2ZvciAodmFyIGFyZ3VtZW50cyBpbiBudWxsKSB7fTsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'for(var arguments in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBhcmd1bWVudHMgPSA0MiBpbiAuLi4pIHsuLi59JyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZm9yICh2YXIgYXJndW1lbnRzID0gNDIgaW4gbnVsbCkge307Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'for(var arguments = 42 in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGV4cHIgYXNzaWduaW5nIGludG8gJ2V2YWwnIHRocm93cyBhIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJyhmdW5jdGlvbiAoKSB7IGV2YWwgPSA0MjsgfSkoKScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval - a function expr assigning into 'eval' throws a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-4-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEyLzEyLjIvMTIuMi4xLzEyLjIuMS00Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIG9jY3VycyB3aXRoaW4gc3RyaWN0IGNvZGUgYW5kIGl0cyBJZGVudGlmaWVyIGlzIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIGFyZ3VtZW50czs=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a VariableDeclarationNoIn occurs within strict code and its Identifier is arguments","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYSBGdW5jdGlvbiBkZWNsYXJpbmcgdmFyIG5hbWVkICdldmFsJyBkb2VzIG5vdCB0aHJvdyBTeW50YXhFcnJvcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAndXNlIHN0cmljdCc7DQogICAgICAgIEZ1bmN0aW9uKCd2YXIgZXZhbDsnKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - a Function declaring var named 'eval' does not throw SyntaxError","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIEZ1bmN0aW9uIGFzc2lnbmluZyBpbnRvICdldmFsJyB3aWxsIG5vdCB0aHJvdyBhbnkgZXJyb3IgaWYgY29udGFpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSBhbmQgaXRzIGJvZHkgZG9lcyBub3Qgc3RhcnQgd2l0aCBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAgIHZhciBmID0gRnVuY3Rpb24oJ2V2YWwgPSA0MjsnKTsNCiAgICBmKCk7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a Function assigning into 'eval' will not throw any error if contained within strict mode and its body does not start with strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ3ZhciBldmFsOycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval - a direct eval declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGRpcmVjdCBldmFsIGFzc2lnbmluZyBpbnRvICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZXZhbCA9IDQyOycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a direct eval assigning into 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlOiBhbiBpbmRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ3ZhciBldmFsOycpOw0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode: an indirect eval declaring a var named 'eval' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFbXB0eVN0YXRlbWVudCA7IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzIFJldHVybiAobm9ybWFsLCBlbXB0eSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuMy9TMTIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRW1wdHlTdGF0ZW1lbnQgOwogKi8KCjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cjs7Ozs7ICAgOzs7Ozs7ICA7OyAgICAgIDs7ICA7Ozs7OzsgICA7Ozs7Ozs7OyAgOzsgICAgOzsgICAgIDs7Ozs7Cjs7Ozs7ICAgOzsgICAgICA7Ozs7ICA7Ozs7ICA7OyAgIDs7ICAgICA7OyAgICAgIDs7ICA7OyAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzs7OyAgICA7OyA7Ozs7IDs7ICA7Ozs7OzsgICAgICA7OyAgICAgICA7Ozs7ICAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzsgICAgICA7OyAgOzsgIDs7ICA7OyAgICAgICAgICA7OyAgICAgICAgOzsgICAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzs7Ozs7ICA7OyAgICAgIDs7ICA7OyAgICAgICAgICA7OyAgICAgICAgOzsgICAgICAgIDs7Ozs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cgo=","commentary":"The production EmptyStatement ; is evaluated as follows Return (normal, empty, empty)","description":"Using EmptyStatement","path":"TestCases/ch12/12.3/S12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBFeHByZXNzaW9uU3RhdGVtZW50IGNhbiBub3Qgc3RhcnQgd2l0aCB0aGUgZnVuY3Rpb24ga2V5d29yZCBiZWNhdXNlIHRoYXQgbWlnaHQgbWFrZSBpdCBhbWJpZ3VvdXMgd2l0aCBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi40L1MxMi40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZ1bmN0aW9uKCl7fSgpIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZ1bmN0aW9uKCl7fSgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"An ExpressionStatement can not start with the function keyword because that might make it ambiguous with a FunctionDeclaration","description":"Checking if execution of \"function(){}()\" fails","negative":"","path":"TestCases/ch12/12.4/S12.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFeHByZXNzaW9uU3RhdGVtZW50IDogW2xvb2thaGVhZCBcbm90aW4ge3ssIGZ1bmN0aW9ufV0gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6CiAqIDEuIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIDIuIENhbGwgR2V0VmFsdWUoUmVzdWx0KDEpKS4KICogMy4gUmV0dXJuIChub3JtYWwsIFJlc3VsdCgyKSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuNC9TMTIuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCAiKGV2YWwoIngrMSt4PT0xIikpIgogKi8KCng9MTsKCl9fZXZhbHVhdGVkID0gZXZhbCgieCsxK3g9PTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IGZhbHNlLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fZXZhbHVhdGVkID0gZXZhbCgiMSsxKzE9PTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IGZhbHNlLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production ExpressionStatement : [lookahead \\notin {{, function}] Expression; is evaluated as follows:\n1. Evaluate Expression.\n2. Call GetValue(Result(1)).\n3. Return (normal, Result(2), empty)","description":"Checking by using eval \"(eval(\"x+1+x==1\"))\"","path":"TestCases/ch12/12.4/S12.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFeHByZXNzaW9uU3RhdGVtZW50IDogW2xvb2thaGVhZCBcbm90aW4ge3ssIGZ1bmN0aW9ufV0gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6CiAqIDEuIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIDIuIENhbGwgR2V0VmFsdWUoUmVzdWx0KDEpKS4KICogMy4gUmV0dXJuIChub3JtYWwsIFJlc3VsdCgyKSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuNC9TMTIuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbChldmFsKHgpLCB3aGVyZSB4IGlzIGFueSBzdHJpbmcpCiAqLwoKeD0iNSsxfDA9PT0wIjsKCl9fZXZhbHVhdGVkID0gZXZhbCh4KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSA3KSB7CgkkRVJST1IoJyMxOiBfX2V2YWx1YXRlZCA9PT0gNy4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX2V2YWx1YXRlZCA9IGV2YWwoIjIqIit4KyI+LTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSAxMSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDExLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production ExpressionStatement : [lookahead \\notin {{, function}] Expression; is evaluated as follows:\n1. Evaluate Expression.\n2. Call GetValue(Result(1)).\n3. Return (normal, Result(2), empty)","description":"Checking by using eval(eval(x), where x is any string)","path":"TestCases/ch12/12.4/S12.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAwLCBudWxsLCB1bmRlZmluZWQsIGZhbHNlLCBlbXB0eSBzdHJpbmcsIE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZQogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImlmIiB3aXRob3V0ICJlbHNlIiBjb25zdHJ1Y3Rpb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCgppZigwKQoJJEVSUk9SKCcjMTogMCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKGZhbHNlKQogICAgJEVSUk9SKCcjMjogZmFsc2UgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UgJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihudWxsKQoJJEVSUk9SKCcjMzogbnVsbCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKHVuZGVmaW5lZCkKCSRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCIiKQogICAgJEVSUk9SKCcjNTogZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoTmFOKQogICAgJEVSUk9SKCcjNTogTmFOIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"0, null, undefined, false, empty string, NaN in expression is evaluated to false","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAwLCBudWxsLCB1bmRlZmluZWQsIGZhbHNlLCBlbXB0eSBzdHJpbmcsIE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZQogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbgogKi8KCnZhciBjPTA7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoMCkKCSRFUlJPUignIzEuMTogMCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTEpICRFUlJPUignIzEuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoZmFsc2UpCiAgICAkRVJST1IoJyMyLjE6IGZhbHNlIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwplbHNlCiAgYysrOwppZiAoYyE9MikgJEVSUk9SKCcjMi4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihudWxsKQoJJEVSUk9SKCcjMy4xOiBudWxsIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwplbHNlCiAgYysrOwppZiAoYyE9MykgJEVSUk9SKCcjMy4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZih1bmRlZmluZWQpCgkkRVJST1IoJyM0LjE6IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTQpICRFUlJPUignIzQuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYoIiIpCiAgICAkRVJST1IoJyM1LjE6IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTUpICRFUlJPUignIzUuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoTmFOKQogICAgJEVSUk9SKCcjNi4xOiBOYU4gaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UgJyk7CmVsc2UKICBjKys7CmlmIChjIT02KSAkRVJST1IoJyM2LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"0, null, undefined, false, empty string, NaN in expression is evaluated to false","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGFuZCBvdGhlcnMgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSB3aGVuIHVzaW5nIG9wZXJhdG9yICJuZXciCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoIShuZXcgTnVtYmVyKDEpKSkKCSRFUlJPUignIzE6IG5ldyAxIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKCEobmV3IEJvb2xlYW4odHJ1ZSkpKQoJJEVSUk9SKCcjMjogbmV3IHRydWUgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYoIShuZXcgU3RyaW5nKCIxIikpKQoJJEVSUk9SKCcjMzogbmV3ICIxIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZighKG5ldyBTdHJpbmcoIkEiKSkpCgkkRVJST1IoJyM0OiBuZXcgIkEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCEobmV3IEJvb2xlYW4oZmFsc2UpKSkKICAgICRFUlJPUignIzI6IG5ldyBmYWxzZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoIShuZXcgTnVtYmVyKE5hTikpKQogICAgJEVSUk9SKCcjNjogbmV3IE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcKaWYoIShuZXcgTnVtYmVyKG51bGwpKSkKICAkRVJST1IoJyM3OiBuZXcgbnVsbCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYoIShuZXcgU3RyaW5nKHVuZGVmaW5lZCkpKQogICRFUlJPUignIzg6IG5ldyB1bmRlZmluZWQgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM5CmlmKCEobmV3IFN0cmluZygiIikpKQogICAgJEVSUk9SKCcjOTogbmV3IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"1, true, non-empty string and others in expression is evaluated to true when using operator \"new\"","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGFuZCBvdGhlcnMgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSB3aGVuIHVzaW5nIG9wZXJhdG9yICJuZXciCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYvZWxzZSIgY29uc3RydWN0aW9uCiAqLwoKdmFyIGM9MDsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZighKG5ldyBOdW1iZXIoMSkpKQoJJEVSUk9SKCcjMS4xOiBuZXcgMSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0xKSAkRVJST1IoJyMxLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKCEobmV3IEJvb2xlYW4odHJ1ZSkpKQoJJEVSUk9SKCcjMi4xOiBuZXcgdHJ1ZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0yKSAkRVJST1IoJyMyLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKCEobmV3IFN0cmluZygiMSIpKSkKCSRFUlJPUignIzMuMTogbmV3ICIxIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0zKSAkRVJST1IoJyMzLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKCEobmV3IFN0cmluZygiQSIpKSkKCSRFUlJPUignIzQuMTogbmV3ICJBIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT00KSAkRVJST1IoJyM0LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCEobmV3IEJvb2xlYW4oZmFsc2UpKSkKICAgICRFUlJPUignIzUuMTogbmV3IGZhbHNlIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUgJyk7CmVsc2UKICBjKys7CmlmIChjIT01KSAkRVJST1IoJyM1LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmKCEobmV3IE51bWJlcihOYU4pKSkKICAgICRFUlJPUignIzYuMTogbmV3IE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9NikgJEVSUk9SKCcjNi4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZighKG5ldyBOdW1iZXIobnVsbCkpKQogICRFUlJPUignIzcuMTogbmV3IG51bGwgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTcpICRFUlJPUignIzcuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYoIShuZXcgU3RyaW5nKHVuZGVmaW5lZCkpKQogICRFUlJPUignIzguMTogbmV3IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9OCkgJEVSUk9SKCcjOC4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjOQppZighKG5ldyBTdHJpbmcoIiIpKSkKICAgICRFUlJPUignIzkuMTogbmV3IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9OSkgJEVSUk9SKCcjOS4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"1, true, non-empty string and others in expression is evaluated to true when using operator \"new\"","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24gaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBmdW5jdGlvbiBleHBlc3Npb24oZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSkgaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYoZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSl7CiAgICA7Cn1lbHNlIHsKICAgICRFUlJPUignIzE6IEZ1bmN0aW9uIGV4cGVzc2lvbiBpbnNpZGUgdGhlICJpZiIgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function expession inside the \"if\" expression is allowed","description":"Using function expession(function __func(){return 0;}) inside the \"if\" expression","path":"TestCases/ch12/12.5/S12.5_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24gaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBmdW5jdGlvbiBleHBlc3Npb24gImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAwO30oKSIgd2l0aGluICJpZiIgZXhwcmVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZihmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkpewogICAgJEVSUk9SKCcjMTogRnVuY3Rpb24gZXhwZXNzaW9uIGluc2lkZSB0aGUgaWYgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn1lbHNlIHsKICAgIDsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function expession inside the \"if\" expression is allowed","description":"Using function expession \"function __func(){return 0;}()\" within \"if\" expression","path":"TestCases/ch12/12.5/S12.5_A10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB7fSB3aXRoaW4gdGhlICJpZiIgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmKHsxfSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZih7MX0pCiAgewogICAgOwogIH1lbHNlCiAgewogICAgOwogIH0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"{} within the \"if\" expression is not allowed","description":"Checking if execution of \"if({1})\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYvZWxzZSIgaW50byAiaWYvZWxzZSIgY29uc3RydWN0aW9ucwogKi8KCi8vQ0hFQ0sjIDEKaWYodHJ1ZSkKICBpZiAoZmFsc2UpCiAgICAkRVJST1IoJyMxLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgIDsKZWxzZSAKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzEuMjogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjMS4zOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCi8vQ0hFQ0sjIDIKaWYodHJ1ZSkKICBpZiAodHJ1ZSkKICAgIDsKICBlbHNlCiAgICAkRVJST1IoJyMyLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwplbHNlIAogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjMi4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICAkRVJST1IoJyMyLjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgMwppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzMuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjMy4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKZWxzZSAKICBpZiAodHJ1ZSkKICAgIDsKICBlbHNlCiAgICAkRVJST1IoJyMzLjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgNAppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzQuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjNC4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKZWxzZSAKICBpZiAoZmFsc2UpCiAgICAkRVJST1IoJyM0LjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgIDsKCg==","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if/else\" into \"if/else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYiIGludG8gImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMKICovCgovL0NIRUNLIyAxCmlmKHRydWUpewogIGlmIChmYWxzZSkKICAgICRFUlJPUignIzEuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7Cn0KZWxzZXsgCiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMxLjI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwp9CgovL0NIRUNLIyAyCmlmKHRydWUpewogIGlmICh0cnVlKQogICAgOwp9CmVsc2V7IAogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjMi4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKfQoKLy9DSEVDSyMgMwppZihmYWxzZSl7CiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMzLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwp9CmVsc2V7IAogIGlmICh0cnVlKQogICAgOwp9CgovL0NIRUNLIyA0CmlmKGZhbHNlKXsKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzQuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7Cn0KZWxzZXsgCiAgaWYgKGZhbHNlKQogICAgJEVSUk9SKCcjNC4zOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKfQoK","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if\" into \"if/else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYvZWxzZSIgaW50byAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbnMKICovCgovL0NIRUNLIyAxCmlmKHRydWUpCiAgaWYgKGZhbHNlKQogICAgJEVSUk9SKCcjMS4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICA7CgovL0NIRUNLIyAyCmlmKHRydWUpCiAgaWYgKHRydWUpCiAgICA7CiAgZWxzZQogICAgJEVSUk9SKCcjMi4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCi8vQ0hFQ0sjIDMKaWYoZmFsc2UpCiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMzLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgICRFUlJPUignIzMuMjogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyA0CmlmKGZhbHNlKQogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjNC4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICAkRVJST1IoJyM0LjI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoK","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if/else\" into \"if\" without \"else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYiIGludG8gImlmIiBjb25zdHJ1Y3Rpb25zCiAqLwoKLy9DSEVDSyMgMQppZih0cnVlKQogIGlmIChmYWxzZSkKICAgICRFUlJPUignIzEuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyAyCnZhciBjPTA7CmlmKHRydWUpCiAgaWYgKHRydWUpCiAgICBjPTI7CmlmIChjIT09MikKICAgICRFUlJPUignIzI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgMwppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzMuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyA0CmlmKGZhbHNlKQogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjNC4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCg==","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if\" into \"if\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoISgxKSkKCSRFUlJPUignIzE6IDEgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoISh0cnVlKSkKCSRFUlJPUignIzI6IHRydWUgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYoISgiMSIpKQoJJEVSUk9SKCcjMzogIjEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKCEoIkEiKSkKCSRFUlJPUignIzQ6ICJBIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"1, true, non-empty string in expression is evaluated to true","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYvZWxzZSIgY29uc3RydWN0aW9uCiAqLwoKdmFyIGM9MDsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZighKDEpKQoJJEVSUk9SKCcjMS4xOiAxIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTEpICRFUlJPUignIzEuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoISh0cnVlKSkKCSRFUlJPUignIzIuMTogdHJ1ZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0yKSAkRVJST1IoJyMyLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKCEoIjEiKSkKCSRFUlJPUignIzMuMTogIjEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTMpICRFUlJPUignIzMuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYoISgiQSIpKQoJJEVSUk9SKCcjNC4xOiAiQSIgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwplbHNlCiAgYysrOwppZiAoYyE9NCkgJEVSUk9SKCcjNC4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"1, true, non-empty string in expression is evaluated to true","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBTdGF0ZW1lbnQgZXZhbCBpbiBFeHByZXNzaW9uIGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCAiZXZhbCgidHJ1ZSIpIgogKiBAbmVnYXRpdmUKICovCgppZiAoZXZhbCgidHJ1ZSIpKSAkRkFJTCgnIzE6IEluIHRoZSAiaWYiIFN0YXRlbWVudCBldmFsIGFzIEV4cHJlc3Npb24gaXMgYWRtaXR0ZWQnKTsKCg==","commentary":"In the \"if\" Statement eval in Expression is admitted","description":"Checking by using eval \"eval(\"true\")\"","negative":"","path":"TestCases/ch12/12.5/S12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJJZlN0YXRlbWVudDogaWYgKCBFeHByZXNzaW9uICkgU3RhdGVtZW50IGVsc2UgU3RhdGVtZW50IiBpcyBldmFsdWF0ZWQsIEV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIEV4cHJlc3Npb24gaXMgIihmdW5jdGlvbigpe3Rocm93IDF9KSgpIgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWlmICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgYWJyYWNhZGFicmEKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKCWlmICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgYWJyYWNhZGFicmE7IGVsc2UgYmxhYmxhY2hhdDsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the production \"IfStatement: if ( Expression ) Statement else Statement\" is evaluated, Expression is evaluated first","description":"The Expression is \"(function(){throw 1})()\"","path":"TestCases/ch12/12.5/S12.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJJZlN0YXRlbWVudDogaWYgKCBFeHByZXNzaW9uICkgU3RhdGVtZW50IGVsc2UgU3RhdGVtZW50IiBpcyBldmFsdWF0ZWQsIFN0YXRlbWVudChzKSBpcyhhcmUpIGV2YWx1YXRlZCBzZWNvbmQKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3Qgc3RhdGVtZW50IGlzICIoZnVuY3Rpb24oKXt0aHJvdyAiaW5zdGF0ZW1lbnQifSkoKSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglpZiAodHJ1ZSkgKGZ1bmN0aW9uKCl7dGhyb3cgImluc3RhdGVtZW50In0pKCk7CgkkRkFJTCgiIzEgZmFpbGVkIikKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnN0YXRlbWVudCIpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09ICJpbnN0YXRlbWVudCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKCWlmIChmYWxzZSkgKGZ1bmN0aW9uKCl7dGhyb3cgInRydWVicmFuY2gifSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIm1pc3NicmFuY2gifSkoKTsKCSRGQUlMKCIjMiBmYWlsZWQiKQp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gIm1pc3NicmFuY2giKSB7CgkJJEVSUk9SKCcjMjogRXhjZXB0aW9uID09PSAibWlzc2JyYW5jaCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the production \"IfStatement: if ( Expression ) Statement else Statement\" is evaluated, Statement(s) is(are) evaluated second","description":"The first statement is \"(function(){throw \"instatement\"})()\"","path":"TestCases/ch12/12.5/S12.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSB0aGUgImlmIiBFeHByZXNzaW9uIGlzIGV2YWx1YXRlZCBhcyB0cnVlIGFuZCBmdW5jdGlvbiB3aWxsIG5vdCBiZSBkZWNsYXJhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJpZiIgRXhwcmVzc2lvbiBpcyAiZnVuY3Rpb24gX19mdW5jKCl7dGhyb3cgIkZ1bmN0aW9uRXhwcmVzc2lvbiI7fSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2Z1bmM9X19mdW5jOwoJJEVSUk9SKCcjMTogIl9fZnVuYz1fX2Z1bmMiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CglpZihmdW5jdGlvbiBfX2Z1bmMoKXt0aHJvdyAiRnVuY3Rpb25FeHByZXNzaW9uIjt9KSAoZnVuY3Rpb24oKXt0aHJvdyAiVHJ1ZUJyYW5jaCJ9KSgpOyBlbHNlIChmdW5jdGlvbigpeyJNaXNzQnJhbmNoIn0pKCk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiVHJ1ZUJyYW5jaCIpIHsKCQkkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09IlRydWVCcmFuY2giLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7CglfX2Z1bmM9X19mdW5jOwoJJEVSUk9SKCcjMzogIl9fZnVuYz1fX2Z1bmMiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"FunctionDeclaration inside the \"if\" Expression is evaluated as true and function will not be declarated","description":"The \"if\" Expression is \"function __func(){throw \"FunctionExpression\";}\"","path":"TestCases/ch12/12.5/S12.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgSWYgc3RhdGVtZW50IGV4cHJlc3Npb24gbXVzdCBiZSBlbmNsb3NlZCBpbiBicmFjZXMKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmIHRydWUiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgdHJ1ZTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if true\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgSWYgc3RhdGVtZW50IGV4cHJlc3Npb24gbXVzdCBiZSBlbmNsb3NlZCBpbiBicmFjZXMKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmIGZhbHNlIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIGZhbHNlOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if false\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBzdGF0ZW1lbnQgZW1wdHkgc3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIGlzIGV2YWx1YXRlZCB0byAidW5kZWZpbmVkIgogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwgImV2YWwoImlmKDEpOyIpKSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgX19ldmFsdWF0ZWQgPSBldmFsKCJpZigxKTsiKTsKCWlmIChfX2V2YWx1YXRlZCAhPT0gdW5kZWZpbmVkKSB7CgkJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cgl9Cgp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxLjE6ICJfX2V2YWx1YXRlZCA9IGV2YWwoImlmKDEpOyIpIiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"In the \"if\" statement empty statement is allowed and is evaluated to \"undefined\"","description":"Checking by using eval \"eval(\"if(1);\"))\"","path":"TestCases/ch12/12.5/S12.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBTdGF0ZW1lbnQgZW1wdHkgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiaWYoKSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZigpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"In the \"if\" Statement empty expression is not allowed","description":"Checking if execution of \"if()\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiB3aXRoaW4gYW4gImlmIiBzdGF0ZW1lbnQgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgZnVuY3Rpb24gd2l0aGluIGFuICJpZiIgc3RhdGVtZW50IHRoYXQgaXMgZGVjbGFyZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbigpewoKaWYgKHRydWUpIHsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn0gZWxzZSB7CiAgICBmdW5jdGlvbiBfX2Z1bmMoKXt9Owp9Cgp9OwoK","commentary":"Function declaration within an \"if\" statement is not allowed","description":"Declaring function within an \"if\" statement that is declared within the function declaration","negative":"","path":"TestCases/ch12/12.5/S12.5_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiIGlzIGV2YWx1YXRlZCwgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBmaXJzdAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIEV2YWx1YXRpbmcgdmFyaW91cyBFeHByZXNzaW9ucwogKi8KCnZhciBfX2luX19kbzsKCmRvIF9faW5fX2RvPTE7IHdoaWxlICggZmFsc2UgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvIT09MSkgewoJJEVSUk9SKCcjMTogZmFsc2UgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkbyBfX2luX19kbz0yOyB3aGlsZSAoIDAgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5fX2RvIT09MikgewoJJEVSUk9SKCcjMjogMCBldmFsdWF0ZXMgdG8gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmRvIF9faW5fX2RvPTM7IHdoaWxlICggIiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5fX2RvIT09MykgewoJJEVSUk9SKCcjMzogIiIgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the production \"do Statement while ( Expression )\" is evaluated, Statement is evaluated first","description":"Evaluating various Expressions","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZCwgYnV0IG5vIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIG5hbWUgd2lsbCBhcHBlYXIgaW4gdGhlIGdsb2JhbCBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMTAuanMKICogQGRlc2NyaXB0aW9uIEFsc28gdGhpcyBhIHRlc3Qgb24gRnVuY3Rpb25FeHByZXNzaW9uCiAqLwoKdmFyIGNoZWNrID0gMDsKZG8geyAgICAKICBpZih0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpewogICAgY2hlY2sgPSAtMTsgICAgICAgIAogICAgYnJlYWs7IAogIH0gZWxzZSB7CiAgICBjaGVjayA9IDE7ICAgICAgICAKICAgIGJyZWFrOyAKICB9Cn0gd2hpbGUoZnVuY3Rpb24gZigpe30pOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2hlY2sgIT09IDEpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoaW4gYSAiZG8td2hpbGUiIHN0YXRlbWVudCBpcyBhbGxvd2VkLCBidXQgbm8gZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gbmFtZSB3aWxsIGFwcGVhciBpbiB0aGUgZ2xvYmFsIGNvbnRleHQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"do-while\" statement is allowed, but no function with the given name will appear in the global context","description":"Also this a test on FunctionExpression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayAie30iIGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG8ge30gd2hpbGUoe30pIiBwYXNzZXMKICovCgpkbyB7CiAgICB2YXIgX19pbl9fZG89MTsKICAgIGlmKF9faW5fX2RvKWJyZWFrOwp9IHdoaWxlKHt9KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvICE9PSAxKSB7CgkkRVJST1IoJyMxOiAie30iIGluIGRvLXdoaWxlIGV4cHJlc3Npb24gZXZhbHVhdGVzIHRvIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block \"{}\" in a \"do-while\" Expression is evaluated to true","description":"Checking if execution of \"do {} while({})\" passes","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgc3RhdGVtZW50IHdpdGhpbiAiZG8td2hpbGUiIGNvbnN0cnVjdGlvbiBtdXN0IGJlIGEgY29tcG91bmQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJkbyB2YXIgeD0xOyB2YXIgeSA9Mjsgd2hpbGUgKDApIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIHZhciB4PTE7IHZhciB5ID0yOyB3aGlsZSAoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any statement within \"do-while\" construction must be a compound","description":"Checking if execution of \"do var x=1; var y =2; while (0)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJkby13aGlsZSIgQmxvY2sgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aGluIGEgImRvLXdoaWxlIiBsb29wIHRoYXQgaXMgd2l0aGluIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gaXRzZWxmCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uKCl7Cgpkb3sKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn13aGlsZSgwKTsKCn07Cgo=","commentary":"FunctionDeclaration within a \"do-while\" Block is not allowed","description":"Declaring a function within a \"do-while\" loop that is within a function declaration itself","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRnVuY3Rpb25FeHByZXNzaW9uICJmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9IiBhcyBhbiBFeHByZXNzaW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmRvewogICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn13aGlsZShmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3JlYWNoZWQgIT09IDEpIHsKCSRFUlJPUignIzI6IGZ1bmN0aW9uIGV4cGVzc2lvbiBpbnNpZGUgb2YgZG8td2hpbGUgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"FunctionExpression within a \"do-while\" Expression is allowed","description":"Using FunctionExpression \"function __func(){return 0;}\" as an Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRnVuY3Rpb25FeHByZXNzaW9uICJmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkiIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKZG97CiAgICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn13aGlsZShmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fcmVhY2hlZCAhPT0gMSkgewoJJEVSUk9SKCcjMjogZnVuY3Rpb24gZXhwZXNzaW9uIGluc2lkZSBvZiBkby13aGlsZSBleHByZXNzaW9uIGlzIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"do-while\" Expression is allowed","description":"Using FunctionExpression \"function __func(){return 0;}()\" as an Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAiZG8td2hpbGUiIEV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInswfSIgQmxvY2sgYXMgYW4gRXhwcmVzc2lvbgogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKZG97CiAgICA7Cn13aGlsZSh7MH0pOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block within a \"do-while\" Expression is not allowed","description":"Using \"{0}\" Block as an Expression","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiLCBTdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0IGFuZCBvbmx5IGFmdGVyIGl0IGlzIGRvbmUgRXhwcmVzc2lvbiBpcyBjaGVja2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbHVhdGluZyBTdGF0ZW1lbnQgd2l0aCBlcnJvciBFeHByZXNzaW9uCiAqLwoKdHJ5IHsKCWRvIF9faW5fX2RvID0gInJlYWNoZWQiOyB3aGlsZSAoYWJicmFjYWRhYnJhKTsKCSRFUlJPUignIzE6IFwnZG8gX19pbl9fZG8gPSAicmVhY2hlZCI7IHdoaWxlIChhYmJyYWNhZGFicmEpXCcgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzEuMTogX19pbl9fZG8gPT09ICJyZWFjaGVkIi4gQWN0dWFsOiAgX19pbl9fZG8gPT09JysgX19pbl9fZG8gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"While evaluating \"do Statement while ( Expression )\", Statement is evaluated first and only after it is done Expression is checked","description":"Evaluating Statement with error Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiIGlzIGV2YWx1YXRlZCwgdGhlbiAobm9ybWFsLCBWLCBlbXB0eSkgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsICJldmFsKCJkbyBfX2luX19kbz0xOyB3aGlsZSAoZmFsc2UpIikiCiAqLwoKX19ldmFsdWF0ZWQgPSBldmFsKCJkbyBfX2luX19kbz0xOyB3aGlsZSAoZmFsc2UpIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYgKF9faW5fX2RvICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX2luX19kbyA9PT0gMS4gQWN0dWFsOiAgX19pbl9fZG8gPT09JysgX19pbl9fZG8gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDEuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the production \"do Statement while ( Expression )\" is evaluated, then (normal, V, empty) is returned","description":"Using eval \"eval(\"do __in__do=1; while (false)\")\"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJicmVhayIgd2l0aGluIGEgImRvLXdoaWxlIiBsb29wCiAqLwoKZG8gewogICAgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9InJlYWNoZWQiOyAKICAgIGJyZWFrOyAKICAgIF9faW5fX2RvX19hZnRlcl9fYnJlYWs9IndoZXJlIGFtIGkiOwp9IHdoaWxlKDI9PT0xKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PScrIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrID09PScrIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"Using \"break\" within a \"do-while\" loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9ImJsYWNrIjsKICAgIGRvX2luIDogZG8gewogICAgICAgIHZhciBfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWs9ImhvbGUiOwogICAgICAgIGJyZWFrIGRvX2luOyAKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InN1biI7CiAgICB9IHdoaWxlICgwKTsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJ3b24ndCB5b3UgY29tZSI7Cn0gd2hpbGUoMj09MSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IChfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJl9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09dHJ1ZS4gQWN0dWFsOiAgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhayk9PT0nKyAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9Im9uY2UiOwogICAgZG9faW4gOiBkbyB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0iaW4iOwogICAgICAgIGJyZWFrIGRvX291dDsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InRoZSI7CiAgICB9IHdoaWxlICgwKTsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJsaWZldGltZSI7Cn0gd2hpbGUoMj09PTEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJiFfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09dHJ1ZS4gQWN0dWFsOiAgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09JysgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9InJlYWNoZWQiOwogICAgZG9faW4gOiBkbyB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0icmVhY2hlZCI7CiAgICAgICAgYnJlYWs7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrPSJ3aGVyZSBhbSBpIjsKICAgIH0gd2hpbGUgKDApOwogICAgdmFyIF9faW5fX2RvX19hZnRlcl9fYnJlYWs9IndoZXJlIGFtIGkiOwp9IHdoaWxlKDI9PT0xKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhayk9PT10cnVlLiBBY3R1YWw6ICAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKT09PScrIChfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJl9faW5fX2RvX19hZnRlcl9fYnJlYWspICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGxhYmVsZWQgImJyZWFrIiBpbiBvcmRlciB0byBjb250aW51ZSBhIGxvb3AKICovCgovL0NIRUNLIzEKdmFyIGk9MDsKd29vaG9vOnsKICBkb3sKICAgIGkrKzsKICAgIGlmICggISAoaSA8IDEwKSApIHsKICAgICAgYnJlYWsgd29vaG9vOwogICAgICAkRVJST1IoJyMxLjE6ICJicmVhayB3b29ob28iIG11c3QgYnJlYWsgbG9vcCcpOwogICAgfQogIH0gd2hpbGUgKCB0cnVlICk7CiAgaWYgKGkhPT0xMCkgJEVSUk9SKCcjMS4yOiBpPT09MTAuIEFjdHVhbDogIGk9PT0nKyBpICk7Cn0KCg==","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"Using labeled \"break\" in order to continue a loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBZnRlciAiZG8td2hpbGUiIGlzIGJyb2tlbiwgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCl9fZXZhbHVhdGVkID0gZXZhbCgiZG8ge19faW5fX2RvX19iZWZvcmVfX2JyZWFrPTE7IGJyZWFrOyBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPTI7fSB3aGlsZSgwKSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsgIT09IDEpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAxLiBBY3R1YWw6ICBfX2luX19kb19fYmVmb3JlX19icmVhayA9PT0nKyBfX2luX19kb19fYmVmb3JlX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0nKyB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZXZhbHVhdGVkICE9PSAxKSB7CgkkRVJST1IoJyMzOiBfX2V2YWx1YXRlZCA9PT0gMS4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"After \"do-while\" is broken, (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fSB3aGlsZSAxIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{} while 1\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fSB3aGlsZSAwIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAwOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{} while 0\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlIHRydWUiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZG8gYnJlYWs7IHdoaWxlIHRydWU7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while true\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlIGZhbHNlIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSBmYWxzZTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while false\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlICcnIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAnJzsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while ''\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlICdob29kJyIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpkbyBicmVhazsgd2hpbGUgJ2hvb2QnOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while 'hood'\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImRvLXdoaWxlIiBTdGF0ZW1lbnQgaXMgZXZhbHV0ZWQgYWNjb3JkaW5nIHRvIDEyLjYuMSBhbmQgcmV0dXJucyAobm9ybWFsLCBWLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsCiAqLwoKdmFyIF9fY29uZGl0aW9uPTAKCl9fZXZhbHVhdGVkID0gZXZhbCgiZG8gZXZhbChcIl9fY29uZGl0aW9uKytcIik7IHdoaWxlIChfX2NvbmRpdGlvbjw1KSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19jb25kaXRpb24gIT09IDUpIHsKCSRFUlJPUignIzE6IFRoZSAiZG8td2hpbGUiIHN0YXRlbWVudCBpcyBldmFsdXRlZCBhY2NvcmRpbmcgdG8gdGhlIFN0YW5kYXJkICcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ldmFsdWF0ZWQgIT09IDQpIHsKCSRFUlJPUignIzI6IFRoZSAiZG8td2hpbGUiIHN0YXRlbWVudCByZXR1cm5zIChub3JtYWwsIFYsIGVtcHR5KScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The \"do-while\" Statement is evaluted according to 12.6.1 and returns (normal, V, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY29udGludWUiIHN0YXRlbWVudCB3aXRoaW4gYSAiZG8td2hpbGUiIFN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BOC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCnZhciBfX2NvbmRpdGlvbiA9IDAsIF9fb2Rkcz0wOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJkbyB7IF9fY29uZGl0aW9uKys7IGlmICgoKCcnK19fY29uZGl0aW9uLzIpLnNwbGl0KCcuJykpLmxlbmd0aD4xKSBjb250aW51ZTsgX19vZGRzKys7fSB3aGlsZShfX2NvbmRpdGlvbiA8IDEwKSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vZGRzICE9PSA1KSB7CgkkRVJST1IoJyMxOiBfX29kZHMgPT09IDUuIEFjdHVhbDogIF9fb2RkcyA9PT0nKyBfX29kZHMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"continue\" statement within a \"do-while\" Statement is allowed","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZG8td2hpbGUiIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgd2l0aG91dCBzeW50YXggY2hlY2tzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BOS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3lzdGVtIGV4Y2VwdGlvbiB3aGl0aGluIGEgImRvLXdoaWxlIiBsb29wCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZG8gewoJICAgIHZhciB4ID0gMTsgCgkgICAgYWJhcmFjYWRhYmFyYTsKCX0gd2hpbGUoMCk7CgkkRVJST1IoJyMxOiAiYWJicmFjYWRhYnJhIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfSBjYXRjaCAoZSkge30KCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMxLjE6IHggPT09IDEuIEFjdHVhbDogIHggPT09JysgeCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"\"do-while\" Statement is evaluated without syntax checks","description":"Throwing system exception whithin a \"do-while\" loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGZyb20gIndoaWxlIiBJdGVyYXRpb25TdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0OyAiZmFsc2UiLCAiMCIsICJudWxsIiwgInVuZGVmaW5lZCIgYW5kICJlbXB0eSIgc3RyaW5ncyB1c2VkIGFzIHRoZSBFeHByZXNzaW9uIGFyZSBldmFsdWF0ZWQgdG8gImZhbHNlIgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIEV2YWx1YXRpbmcgdmFyaW91cyBFeHByZXNzaW9ucwogKi8KCnZhciBfX2luX19kbzsKCndoaWxlICggZmFsc2UgKSBfX2luX19kbz0xOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogZmFsc2UgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aGlsZSAoIDAgKSBfX2luX19kbz0yOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogMCBldmFsdWF0ZXMgdG8gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCndoaWxlICggIiIgKSBfX2luX19kbz0zOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogZW1wdHkgc3RyaW5nIGV2YWx1YXRlcyB0byBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKd2hpbGUgKCBudWxsICkgX19pbl9fZG89NDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9faW5fX2RvICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzQ6IG51bGwgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aGlsZSAoIHVuZGVmaW5lZCApIF9faW5fX2RvPTM1OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogdW5kZWZpbmVkIGV2YWx1YXRlcyB0byBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression from \"while\" IterationStatement is evaluated first; \"false\", \"0\", \"null\", \"undefined\" and \"empty\" strings used as the Expression are evaluated to \"false\"","description":"Evaluating various Expressions","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBJdGVyYXRpb25TdGF0ZW1lbnQgaXMgYWxsb3dlZCwgYnV0IG5vIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIG5hbWUgd2lsbCBhcHBlYXIgaW4gdGhlIGdsb2JhbCBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIFRlc3RpbmcgRnVuY3Rpb25FeHByZXNzaW9uIHRvbwogKi8KCnZhciBjaGVjaz0wOwp3aGlsZShmdW5jdGlvbiBmKCl7fSl7ICAgIAogIGlmKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgewogICAgY2hlY2sgPSAtMTsKICAgIGJyZWFrOyAKICB9IGVsc2UgewogICAgY2hlY2sgPSAxOwogICAgYnJlYWs7IAogIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2hlY2sgIT09IDEpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgd2hpbGUgY29uc3RydWN0aW9uIGV4cHJlc3Npb24gYWxsb3dlZCBidXQgZnVuY3Rpb24gbm90IGRlY2xhcmUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"while\" IterationStatement is allowed, but no function with the given name will appear in the global context","description":"Testing FunctionExpression too","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAie30iIEJsb2NrIHdpdGhpbiBhICJ3aGlsZSIgRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZQogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIndoaWxlKHt9KXt9IiBwYXNzZXMKICovCgp3aGlsZSh7fSl7CiAgICB2YXIgX19pbl9fZG89MTsKICAgIGlmKF9faW5fX2RvKWJyZWFrOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG8gIT09IDEpIHsKCSRFUlJPUignIzE6ICJ7fSIgaW4gd2hpbGUgZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"{}\" Block within a \"while\" Expression is evaluated to true","description":"Checking if execution of \"while({}){}\" passes","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IHRoYXQgaXMgaW4gYSBmdW5jdGlvbiBib2R5IGxlYWRzIHRvIGFuIGV4Y2VwdGlvbgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbigpewoKd2hpbGUoMCl7CiAgICBmdW5jdGlvbiBfX2Z1bmMoKXt9Owp9OwoKfTsKCg==","commentary":"FunctionDeclaration within a \"while\" Statement is not allowed","description":"Checking if declaring a function within a \"while\" Statement that is in a function body leads to an exception","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAwO30iIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKd2hpbGUoZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSl7CiAgIHZhciBfX3JlYWNoZWQgPSAxOwogICBicmVhazsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3JlYWNoZWQgIT09IDEpIHsKCSRFUlJPUignIzI6IGZ1bmN0aW9uIGV4cHJlc3Npb24gaW5zaWRlIG9mIHdoaWxlIGV4cHJlc3Npb24gaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"FunctionExpression within a \"while\" Expression is allowed","description":"Using \"function __func(){return 0;}\" as an Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZnVuY3Rpb24gY2FsbCBhcyBhbiBFeHByZXNzaW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCndoaWxlKGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAxO30oKSl7CiAgICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19yZWFjaGVkICE9PSAxKSB7CgkkRVJST1IoJyMyOiBmdW5jdGlvbiBleHByZXNzaW9uIGluc2lkZSBvZiB3aGlsZSBleHByZXNzaW9uIGlzIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"while\" Expression is allowed","description":"Using function call as an Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAid2hpbGUiIEV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBpcyAiezB9IgogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKd2hpbGUoezF9KXsKICAgYnJlYWsgOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block within a \"while\" Expression is not allowed","description":"Expression is \"{0}\"","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nIFRoZSBwcm9kdWN0aW9uIEl0ZXJhdGlvblN0YXRlbWVudDogIndoaWxlICggRXhwcmVzc2lvbiApIFN0YXRlbWVudCIsIEV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbHVhdGluZyBTdGF0ZW1lbnQgd2l0aCBlcnJvciBFeHByZXNzaW9uCiAqLwoKdHJ5IHsKCXdoaWxlICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgX19pbl9fd2hpbGUgPSAicmVhY2hlZCI7IAoJJEVSUk9SKCcjMTogXCd3aGlsZSAoKGZ1bmN0aW9uKCl7dGhyb3cgMX0pKCkpIF9faW5fX3doaWxlID0gInJlYWNoZWQiXCcgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2UpOwoJfQp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19pbl9fd2hpbGUgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxLjE6IHR5cGVvZiBfX2luX193aGlsZSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9faW5fX3doaWxlID09PScrdHlwZW9mIF9faW5fX3doaWxlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"While evaluating The production IterationStatement: \"while ( Expression ) Statement\", Expression is evaluated first","description":"Evaluating Statement with error Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGV2YWx1YXRlZCwgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCnZhciBfX2luX19kbzsKCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUgKGZhbHNlKSBfX2luX19kbz0xOyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX2luX19kbyAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luX19kbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBfX2luX19kbyA9PT0nKyBfX2luX19kbyAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fZXZhbHVhdGVkID09PSB1bmRlZmluZWQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"while\" IterationStatement is evaluated, (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgp3aGlsZSgxPT09MSl7CiAgICBfX2luX19kb19fYmVmb3JlX19icmVhaz0icmVhY2hlZCI7IAogICAgYnJlYWs7CiAgICAgX19pbl9fZG9fX2FmdGVyX19icmVhaz0id2hlcmUgYW0gaSI7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PScrIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrID09PScrIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrKSBicmVhazsKICAgIHZhciBfX2luX19kb19fYmVmb3JlX19icmVhaz0iYmxhY2siOwogICAgZG9faW4gOiB3aGlsZSAoMSkgewogICAgICAgIHZhciBfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWs9ImhvbGUiOwogICAgICAgIGJyZWFrIGRvX2luOyAKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InN1biI7CiAgICB9IDsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJ3b24ndCB5b3UgY29tZSI7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IEJyZWFrIGluc2lkZSBkby13aGlsZSBpcyBhbGxvd2VkIGFzIGl0cyBkZXNjcmliZWQgYXQgc3RhbmRhcmQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrKSBicmVhazsKICAgIHZhciBfX2luX19kb19fYmVmb3JlX19icmVhaz0ib25jZSI7CiAgICBkb19pbiA6IHdoaWxlICgxKSB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0iaW4iOwogICAgICAgIGJyZWFrIGRvX291dDsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InRoZSI7CiAgICB9IDsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJsaWZldGltZSI7Cn0gOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJiFfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogQnJlYWsgaW5zaWRlIGRvLXdoaWxlIGlzIGFsbG93ZWQgYXMgaXRzIGRlc2NyaWJlZCBhdCBzdGFuZGFyZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWspYnJlYWs7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9ImNhbid0IjsKICAgIGRvX2luIDogd2hpbGUgKDEpIHsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrPSJnZXQiOwogICAgICAgIGJyZWFrOwogICAgICAgIHZhciBfX2luX19kb19fSU5fX2FmdGVyX19icmVhaz0ibm8iOwogICAgfSA7CiAgICB2YXIgX19pbl9fZG9fX2FmdGVyX19icmVhaz0iU2F0aXNmYWN0aW9uIjsKfSA7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IEJyZWFrIGluc2lkZSBkby13aGlsZSBpcyBhbGxvd2VkIGFzIGl0cyBkZXNjcmliZWQgYXQgc3RhbmRhcmQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGxhYmVsZWQgImJyZWFrIiBpbiBvcmRlciB0byBjb250aW51ZSBhICJ3aGlsZSIgbG9vcAogKi8KCi8vQ0hFQ0sjMQp2YXIgaT0wOwp3b29ob286ewogIHdoaWxlKHRydWUpewogICAgaSsrOwogICAgaWYgKCAhIChpIDwgMTApICkgewogICAgICBicmVhayB3b29ob287CiAgICAgICRFUlJPUignIzEuMTogImJyZWFrIHdvb2hvbyIgbXVzdCBicmVhayBsb29wJyk7CiAgICB9CiAgfQogIGlmIChpIT09MTApICRFUlJPUignIzEuMjogaT09PTEwLiBBY3R1YWw6ICBpPT09JysgaSApOwp9Cgo=","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"Using labeled \"break\" in order to continue a \"while\" loop","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSB1c2luZyAid2hpbGUiIHdpdGhpbiBhbiBldmFsIHN0YXRlbWVudCwgc291cmNlICJicmVhayIgaXMgYWxsb3dlZCBhbmQgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUoMSkge19faW5fX2RvX19iZWZvcmVfX2JyZWFrPTE7IGJyZWFrOyBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPTI7fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsgIT09IDEpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAxLiBBY3R1YWw6ICBfX2luX19kb19fYmVmb3JlX19icmVhayA9PT0nKyBfX2luX19kb19fYmVmb3JlX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0nKyB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZXZhbHVhdGVkICE9PSAxKSB7CgkkRVJST1IoJyMzOiBfX2V2YWx1YXRlZCA9PT0gMS4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While using \"while\" within an eval statement, source \"break\" is allowed and (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgMSBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSAxIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 1 break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgMCBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSAwIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 0 break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgdHJ1ZSBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSB0cnVlIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while true break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgZmFsc2UgYnJlYWsiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2hpbGUgZmFsc2UgYnJlYWs7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while false break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgJycgYnJlYWsiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2hpbGUgJycgYnJlYWs7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while '' break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgJ2hvb2QnIGJyZWFrIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndoaWxlICdob29kJyBicmVhazsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 'hood' break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgIndoaWxlIiBTdGF0ZW1lbnQgaXMgZXZhbHV0ZWQgYWNjb3JkaW5nIHRvIDEyLjYuMiBhbmQgcmV0dXJucyAobm9ybWFsLCBWLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiB1c2luZyBldmFsCiAqLwoKdmFyIF9fY29uZGl0aW9uPTAKCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUgKF9fY29uZGl0aW9uPDUpIGV2YWwoXCJfX2NvbmRpdGlvbisrXCIpOyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19jb25kaXRpb24gIT09IDUpIHsKCSRFUlJPUignIzE6IFRoZSAid2hpbGUiIHN0YXRlbWVudCBpcyBldmFsdWF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBTdGFuZGFyZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ldmFsdWF0ZWQgIT09IDQpIHsKCSRFUlJPUignIzI6IFRoZSAid2hpbGUiIHN0YXRlbWVudCByZXR1cm5zIChub3JtYWwsIFYsIGVtcHR5KScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The \"while\" Statement is evaluted according to 12.6.2 and returns (normal, V, empty)","description":"using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY29udGludWUiIHN0YXRlbWVudCB3aXRoaW4gYSAid2hpbGUiIFN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BOC5qcwogKiBAZGVzY3JpcHRpb24gdXNpbmcgZXZhbAogKi8KCnZhciBfX2NvbmRpdGlvbiA9IDAsIF9fb2Rkcz0wOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJ3aGlsZShfX2NvbmRpdGlvbiA8IDEwKSB7IF9fY29uZGl0aW9uKys7IGlmICgoKCcnK19fY29uZGl0aW9uLzIpLnNwbGl0KCcuJykpLmxlbmd0aD4xKSBjb250aW51ZTsgX19vZGRzKys7fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vZGRzICE9PSA1KSB7CgkkRVJST1IoJyMxOiBfX29kZHMgPT09IDUuIEFjdHVhbDogIF9fb2RkcyA9PT0nKyBfX29kZHMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"continue\" statement within a \"while\" Statement is allowed","description":"using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAid2hpbGUiIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgd2l0aG91dCBzeW50YXggY2hlY2tzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3lzdGVtIGV4Y2VwdGlvbiBpbnNpZGUgIndoaWxlIiBsb29wCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJd2hpbGUoeCE9MSkgewoJICAgIHZhciB4ID0gMTsgCgkgICAgYWJhcmFjYWRhYmFyYTsKCX07CgkkRVJST1IoJyMxOiAiYWJicmFjYWRhYnJhIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfSBjYXRjaCAoZSkge30KCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMxLjE6IHdoaWxlIHN0YXRlbWVudCBldmFsdWF0ZXMgYXMgaXMsIHdpdGhvdXQgc3ludGF4IGNoZWNrcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"while\" Statement is evaluated without syntax checks","description":"Throwing system exception inside \"while\" loop","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhbiBPYmplY3Qgd2l0aCB2YWx1ZSBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyB2YWx1ZTogZmFsc2UgfTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG9iajsgKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is an Object with value false","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBTdHJpbmcgb2JqZWN0ICh2YWx1ZSBpcyAnMScpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCIxIik7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBzdHJPYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is '1')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNvdW50ID0gMDsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IHVuZGVmaW5lZDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is undefined","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudWxsOykgew0KICAgICAgICAgICAgY291bnQrKzsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gY291bnQgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is null","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgZmFsc2U7KSB7DQogICAgICAgICAgICBjb3VudCsrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a boolean (value is false)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgTmFOOykgew0KICAgICAgICAgICAgY291bnQrKzsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gY291bnQgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is NaN)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyArMDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is +0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyAtMDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is -0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIGEgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyAyOykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is a positive)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzIGVtcHR5IHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgIiI7KSB7DQogICAgICAgICAgICBjb3VudCsrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is empty string)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICd1bmRlZmluZWQnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgInVuZGVmaW5lZCI7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'undefined')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgYm9vbE9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Boolean object","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdudWxsJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7ICJudWxsIjspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'null')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICcxJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7ICIxIjspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is '1')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoTmFOKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG51bU9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is NaN)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigrMCk7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudW1PYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is +0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMCk7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudW1PYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is -0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIGEgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDEyKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG51bU9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is a positive)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzIGVtcHR5IHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoIiIpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgc3RyT2JqOykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is empty string)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzICd1bmRlZmluZWQnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBzdHJPYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'undefined')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzICdudWxsJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoIm51bGwiKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IHN0ck9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'null')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImZvciB7Ozt9IiBmb3IgU3RhdGVtZW50IHdpdGggZW1wdHkgZXhwcmVzc2lvbnMgaXMgYWxsb3dlZCBhbmQgbGVhZHMgdG8gcGVyZm9ybWluZyBhbiBpbmZpbml0ZSBsb29wCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWtpbmcgYW4gaW5maW5pdGUgbG9vcCBieSB0aHJvd2luZyBleGNlcHRpb24KICovCgp2YXIgX19pbl9fZm9yID0gMDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWZvciAoOzspewogICAgLy9fX2luX19mb3IrKzsKICAgIGlmKCsrX19pbl9fZm9yPjEwMCl0aHJvdyAxOwp9Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAxKSB7CgkJJEVSUk9SKCcjMTogZm9yIHs7O30gaXMgYWRtaXR0ZWQgYW5kIGxlYWRzIHRvIGluZmluaXRlIGxvb3AnKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5fX2ZvciAhPT0gMTAxKSB7CgkkRVJST1IoJyMyOiBfX2luX19mb3IgPT09IDEwMS4gQWN0dWFsOiAgX19pbl9fZm9yID09PScrIF9faW5fX2ZvciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The \"for {;;}\" for Statement with empty expressions is allowed and leads to performing an infinite loop","description":"Breaking an infinite loop by throwing exception","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTAuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW5nIG5lc3RlZCAidmFyLWxvb3BzIiBuaW5lIGJsb2NrcyBkZXB0aCBpcyBldmFsdWF0ZWQgcHJvcGVybHkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3A7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6ICJfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3AiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CglpbmRleDA9aW5kZXgwOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMyOiAiaW5kZXgwPWluZGV4MCIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5IHsKCWluZGV4MT1pbmRleDE7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzM6ICJpbmRleDE9aW5kZXgxIiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp0cnkgewoJaW5kZXg0PWluZGV4NDsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjNDogImluZGV4ND1pbmRleDQiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CnRyeSB7CglpbmRleDU9aW5kZXg1Owp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyM0OiAiaW5kZXg1PWluZGV4NSIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKdHJ5IHsKCWluZGV4Nz1pbmRleDc7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzY6ICJpbmRleDc9aW5kZXg3IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwp0cnkgewoJaW5kZXg4PWluZGV4ODsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjNzogImluZGV4OD1pbmRleDgiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCmZvciggdmFyIGluZGV4MD0wOyBpbmRleDA8PTE7IGluZGV4MCsrKSB7Cglmb3IodmFyIGluZGV4MT0wOyBpbmRleDE8PWluZGV4MDsgaW5kZXgxKyspIHsKCQlmb3IoIGluZGV4Mj0wOyBpbmRleDI8PWluZGV4MTsgaW5kZXgyKyspIHsKCQkJZm9yKCBpbmRleDM9MDsgaW5kZXgzPD1pbmRleDI7IGluZGV4MysrKSB7CgkJCQlmb3IodmFyIGluZGV4ND0wOyBpbmRleDQ8PWluZGV4MzsgaW5kZXg0KyspIHsKCQkJCQlmb3IodmFyIGluZGV4NT0wOyBpbmRleDU8PWluZGV4NDsgaW5kZXg1KyspIHsKCQkJCQkJZm9yKCBpbmRleDY9MDsgaW5kZXg2PD1pbmRleDU7IGluZGV4NisrKSB7CgkJCQkJCQlmb3IodmFyIGluZGV4Nz0wOyBpbmRleDc8PWluZGV4NjsgaW5kZXg3KyspIHsKCQkJCQkJCQlmb3IodmFyIGluZGV4OD0wOyBpbmRleDg8PWluZGV4MTsgaW5kZXg4KyspIHsKCQkJCQkJCQkJdmFyIF9faW5fX2RlZXBlc3RfX2xvb3A7CgkJCQkJCQkJCV9fc3RyKz0iIitpbmRleDAraW5kZXgxK2luZGV4MitpbmRleDMraW5kZXg0K2luZGV4NStpbmRleDYraW5kZXg3K2luZGV4OCsnXG4nOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIhPT0gIjAwMDAwMDAwMFxuMTAwMDAwMDAwXG4xMTAwMDAwMDBcbjExMDAwMDAwMVxuMTExMDAwMDAwXG4xMTEwMDAwMDFcbjExMTEwMDAwMFxuMTExMTAwMDAxXG4xMTExMTAwMDBcbjExMTExMDAwMVxuMTExMTExMDAwXG4xMTExMTEwMDFcbjExMTExMTEwMFxuMTExMTExMTAxXG4xMTExMTExMTBcbjExMTExMTExMVxuIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDAwMDAwMDBcXG4xMDAwMDAwMDBcXG4xMTAwMDAwMDBcXG4xMTAwMDAwMDFcXG4xMTEwMDAwMDBcXG4xMTEwMDAwMDFcXG4xMTExMDAwMDBcXG4xMTExMDAwMDFcXG4xMTExMTAwMDBcXG4xMTExMTAwMDFcXG4xMTExMTEwMDBcXG4xMTExMTEwMDFcXG4xMTExMTExMDBcXG4xMTExMTExMDFcXG4xMTExMTExMTBcXG4xMTExMTExMTFcXG4iLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Nested \"var-loops\" nine blocks depth is evaluated properly","description":"Checking if executing nested \"var-loops\" nine blocks depth is evaluated properly","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A10.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyBuZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7CglfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3A7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6ICJfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3AiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCmZvciggaW5kZXgwPTA7IGluZGV4MDw9MTsgaW5kZXgwKyspIHsKCWZvciggaW5kZXgxPTA7IGluZGV4MTw9aW5kZXgwOyBpbmRleDErKykgewoJCWZvciggaW5kZXgyPTA7IGluZGV4Mjw9aW5kZXgxOyBpbmRleDIrKykgewoJCQlmb3IoIGluZGV4Mz0wOyBpbmRleDM8PWluZGV4MjsgaW5kZXgzKyspIHsKCQkJCWZvciggaW5kZXg0PTA7IGluZGV4NDw9aW5kZXgzOyBpbmRleDQrKykgewoJCQkJCWZvciggaW5kZXg1PTA7IGluZGV4NTw9aW5kZXg0OyBpbmRleDUrKykgewoJCQkJCQlmb3IoIGluZGV4Nj0wOyBpbmRleDY8PWluZGV4NTsgaW5kZXg2KyspIHsKCQkJCQkJCWZvciggaW5kZXg3PTA7IGluZGV4Nzw9aW5kZXg2OyBpbmRleDcrKykgewoJCQkJCQkJCWZvciggaW5kZXg4PTA7IGluZGV4ODw9aW5kZXgxOyBpbmRleDgrKykgewoJCQkJCQkJCQl2YXIgX19pbl9fZGVlcGVzdF9fbG9vcDsKCQkJCQkJCQkJX19zdHIrPSIiK2luZGV4MCtpbmRleDEraW5kZXgyK2luZGV4MytpbmRleDQraW5kZXg1K2luZGV4NitpbmRleDcraW5kZXg4Kydcbic7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciE9PSAiMDAwMDAwMDAwXG4xMDAwMDAwMDBcbjExMDAwMDAwMFxuMTEwMDAwMDAxXG4xMTEwMDAwMDBcbjExMTAwMDAwMVxuMTExMTAwMDAwXG4xMTExMDAwMDFcbjExMTExMDAwMFxuMTExMTEwMDAxXG4xMTExMTEwMDBcbjExMTExMTAwMVxuMTExMTExMTAwXG4xMTExMTExMDFcbjExMTExMTExMFxuMTExMTExMTExXG4iKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gIjAwMDAwMDAwMFxcbjEwMDAwMDAwMFxcbjExMDAwMDAwMFxcbjExMDAwMDAwMVxcbjExMTAwMDAwMFxcbjExMTAwMDAwMVxcbjExMTEwMDAwMFxcbjExMTEwMDAwMVxcbjExMTExMDAwMFxcbjExMTExMDAwMVxcbjExMTExMTAwMFxcbjExMTExMTAwMVxcbjExMTExMTEwMFxcbjExMTExMTEwMVxcbjExMTExMTExMFxcbjExMTExMTExMVxcbiIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Nested \"var-loops\" nine blocks depth is evaluated properly","description":"Checking if executing nested \"var-loops\" nine blocks depth is evaluated properly","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImNvbnRpbnVlIiBpbiBvcmRlciB0byBjb250aW51ZSBhIGxvb3AKICovCgpfX3N0cj0iIgoKZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTEpIHsKCWlmIChpbmRleDw1KWNvbnRpbnVlOwoJX19zdHIrPWluZGV4Owp9CgppZiAoX19zdHIhPT0iNTY3ODkiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjU2Nzg5Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Using \"continue\" in order to continue a loop","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRW1iZWRkZWQgbG9vcHMKICovCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgbmVzdGVkOwoJX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9IAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ciAhPT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDAxMDExMjAyMTIyMzAzMTMzIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgOwoJX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9IAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3N0ciAhPT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIpIHsKCSRFUlJPUignIzM6IF9fc3RyID09PSAiMDAxMDExMjAyMTIyMzAzMTMzIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNvbnRpbnVlIG5vbi1leGlzdGVudCBsYWJlbAogKiBAbmVnYXRpdmUKICovCgpfX3N0cj0iIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKb3V0ZXI6Zm9yKHZhciBpbmRleD0wO2luZGV4PDQ7aW5kZXgrPTEpewogICAgbmVzdGVkOmZvcih2YXIgaW5kZXhfbj0wO2luZGV4X248PWluZGV4O2luZGV4X24rKyl7CiAgICAgICAgaWYoaW5kZXgqaW5kZXhfbiA9PSA2KWNvbnRpbnVlIG5vbmV4aXN0OwogICAgICAgIF9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Trying to continue non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFNpbXBsZSB0ZXN0IG9mIGNvbnRpbnVlIGxvb3Agd2l0aCB1c2luZyAiY29udGludWUiCiAqLwoKX19zdHI9IiIKCmZvcihpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTEpIHsKCWlmIChpbmRleDw1KWNvbnRpbnVlOwoJX19zdHIrPWluZGV4Owp9CgppZiAoX19zdHIhPT0iNTY3ODkiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjU2Nzg5Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Simple test of continue loop with using \"continue\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEVtYmVkZGVkIGxvb3BzCiAqLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcihpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPT0gNiljb250aW51ZSBuZXN0ZWQ7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTIyMzAzMTMzIikgewoJJEVSUk9SKCcjMTogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxMzMiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IoaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcihpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IoaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA9PSA2KWNvbnRpbnVlIDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxMzMiKSB7CgkkRVJST1IoJyMzOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBjb250aW51ZSBub24tZXhpc3RlbnQgbGFiZWwKICogQG5lZ2F0aXZlCiAqLwoKX19zdHI9IiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKb3V0ZXI6Zm9yKGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKGluZGV4X249MDtpbmRleF9uPD1pbmRleDtpbmRleF9uKyspewogICAgICAgIGlmKGluZGV4KmluZGV4X24gPT0gNiljb250aW51ZSBub25leGlzdDsKICAgICAgICBfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Trying to continue non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBCcmVha2luZyBhIGxvb3Agd2l0aCAiYnJlYWsiCiAqLwoKX19zdHI9IiIKCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz0xKSB7CglpZiAoaW5kZXg+NSlicmVhazsKCV9fc3RyKz1pbmRleDsKfQoKaWYgKF9fc3RyIT09IjAxMjM0NSIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDEyMzQ1Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Breaking a loop with \"break\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFbWJlZGRlZCBsb29wcwogKi8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IodmFyIGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IodmFyIGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPj0gNClicmVhayBuZXN0ZWQ7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTMwMzEiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID49IDQpYnJlYWsgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMSIpIHsKCSRFUlJPUignIzI6IF9fc3RyID09PSAiMDAxMDExMjAyMSIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcih2YXIgaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA+PSA0KWJyZWFrIDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMzAzMSIpIHsKCSRFUlJPUignIzM6IF9fc3RyID09PSAiMDAxMDExMjAyMTMwMzEiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gYnJlYWsgbm9uLWV4aXN0ZW50IGxhYmVsCiAqIEBuZWdhdGl2ZQogKi8KCl9fc3RyPSIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpvdXRlcjpmb3IodmFyIGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKHZhciBpbmRleF9uPTA7aW5kZXhfbjw9aW5kZXg7aW5kZXhfbisrKXsKICAgICAgICBpZihpbmRleCppbmRleF9uID49IDQpYnJlYWsgbm9uZXhpc3Q7CiAgICAgICAgX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Trying to break non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWtpbmcgYSBsb29wIHdpdGggImJyZWFrIgogKi8KCl9fc3RyPSIiCgpmb3IoaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz0xKSB7CglpZiAoaW5kZXg+NSlicmVhazsKCV9fc3RyKz1pbmRleDsKfQoKaWYgKF9fc3RyIT09IjAxMjM0NSIpIHsKCSRFUlJPUignIzE6X19zdHIgPT09ICIwMTIzNDUiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Breaking a loop with \"break\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRW1iZWRkZWQgbG9vcHMKICovCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IoaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA+PSA0KWJyZWFrIG5lc3RlZDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMzAzMSIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDAxMDExMjAyMTMwMzEiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IoaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcihpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID49IDQpYnJlYWsgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMSIpIHsKCSRFUlJPUignIzI6IF9fc3RyID09PSAiMDAxMDExMjAyMSIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcihpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPj0gNClicmVhayA7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTMwMzEiKSB7CgkkRVJST1IoJyMzOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGJyZWFrIG5vbi1leGlzdGVudCBsYWJlbAogKiBAbmVnYXRpdmUKICovCgpfX3N0cj0iIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKb3V0ZXI6Zm9yKGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKGluZGV4X249MDtpbmRleF9uPD1pbmRleDtpbmRleF9uKyspewogICAgICAgIGlmKGluZGV4KmluZGV4X24gPj0gNClicmVhayBub25leGlzdDsKICAgICAgICBfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0KfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Trying to break non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIGluICJ2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIiBvZiBmb3IgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIHZhcmlhYmxlIGluICJmb3IiIEV4cHJlc3Npb25Ob0luCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJaW5kZXggPSBpbmRleDsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogVmFyaWFibGVEZWNsYXJhdGlvbiBpbiAidmFyIFZhcmlhYmxlRGVjbGFyYXRpb25MaXN0Tm9JbiIgb2YgZm9yIEl0ZXJhdGlvblN0YXRlbWVudCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKZm9yKHZhciBpbmRleD0wOyBpbmRleDw2OyBpbmRleCsrKSB7Cgk7Cn0KCg==","commentary":"VariableDeclaration in \"var VariableDeclarationListNoIn\" of for IterationStatement is allowed","description":"Declaring variable in \"for\" ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTGlzdE5vSW47IEV4cHJlc3Npb247IEV4cHJlc3Npb24pIFN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgKywqLC8sIGFzIHRoZSBzZWNvbmQgRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIGk9MDtpPDEwO2krKyl7fQppZiAoaSE9PTEwKQkkRVJST1IoJyMxOiBpID09PSAxMC4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwoKLy9DSEVDSyMyCnZhciBqPTA7CmZvcih2YXIgaT0xO2k8MTA7aSo9Mil7CglqKys7Cn0KaWYgKGkhPT0xNikgICRFUlJPUignIzIuMTogaSA9PT0gMTYuIEFjdHVhbDogIGkgPT09JysgaSAgKTsKaWYgKGohPT00KSAgJEVSUk9SKCcjMi4yOiBqID09PSA0LiBBY3R1YWw6ICBqID09PScrIGogICk7CgovL0NIRUNLIzMKdmFyIGo9MDsKZm9yKHZhciBpPTE2O2k+MTtpPWkvMil7CiAgaisrOwp9CmlmIChpIT09MSkgICRFUlJPUignIzMuMTogaSA9PT0gMS4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTQpICAkRVJST1IoJyMzLjI6IGogPT09IDQuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCi8vQ0hFQ0sjNAp2YXIgaj0wOwpmb3IodmFyIGk9MTA7aT4xO2ktLSl7CiAgaisrOwp9CmlmIChpIT09MSkgICRFUlJPUignIzQuMTogaSA9PT0gMS4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTkpICAkRVJST1IoJyM0LjI6IGogPT09IDkuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCi8vQ0hFQ0sjNQp2YXIgaj0wOwpmb3IodmFyIGk9MjtpPDEwO2kqPWkpewogIGorKzsKfQppZiAoaSE9PTE2KSAgJEVSUk9SKCcjNS4xOiBpID09PSAxNi4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTIpICAkRVJST1IoJyM1LjI6IGogPT09IDIuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationListNoIn; Expression; Expression) Statement\"","description":"Using +,*,/, as the second Expression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTGlzdE5vSW47IEV4cHJlc3Npb247IEV4cHJlc3Npb24pIFN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gU3RhdGVtZW50IG11c3QgYmUgZXZhbHVhdGVkIGJlZm9yZSBzZWNvbmQgRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQKICovCgovL0NIRUNLIzEKZm9yKHZhciBpPTA7aTwxMDtpKyspewoJaSo9MjsKICBicmVhazsJCn0KaWYgKGkhPT0wKSAgJEVSUk9SKCcjMTogaSA9PT0gMC4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwoKLy9DSEVDSyMyCmZvcih2YXIgaT0wO2k8MTA7aSsrKXsKICBpKj0yOwogIGlmIChpPT09MykgICRFUlJPUignIzI6IGkgIT09IDMnKTsKfQoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationListNoIn; Expression; Expression) Statement\"","description":"Statement must be evaluated before second Expression is evaluated","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luIDsgIDsgRXhwcmVzc2lvbikgU3RhdGVtZW50IiwgU3RhdGVtZW50IGlzIGV2YXVsYXRlZCBmaXJzdAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgIihmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiJ9KSgpIiBhcyBFeHByZXNzaW9uTm9JbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWZvcigoZnVuY3Rpb24oKXt0aHJvdyAiTm9JbkV4cHJlc3Npb24ifSkoKTsgOyhmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0pKCkpIHsKCQl0aHJvdyAiU3RhdGVtZW50IjsKCX0KCSRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiJ9KSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiTm9JbkV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMjogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgIDsgRXhwcmVzc2lvbikgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBOb0luRXhwcmVzc2lvbiBldmFsdWF0ZXMgZmlyc3QnKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"While evaluating \"for (ExpressionNoIn ; ; Expression) Statement\", Statement is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOzspIFN0YXRlbWVudCIsIFN0YXRlbWVudCBpcyBldmF1bGF0ZWQgZmlyc3QKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICIoZnVuY3Rpb24oKXt0aHJvdyAiTm9JbkV4cHJlc3Npb24ifSkoKSIgYXMgRXhwcmVzc2lvbk5vSW4KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCk7OykgewoJCXRocm93ICJTdGF0ZW1lbnQiOwoJfQoJJEVSUk9SKCcjMTogKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJOb0luRXhwcmVzc2lvbiIpIHsKCQkkRVJST1IoJyMxOiBXaGVuIGZvciAoRXhwcmVzc2lvbk5vSW4gOyAgOyApIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgTm9JbkV4cHJlc3Npb24gZXZhbHVhdGVzIGZpcnN0Jyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn;;) Statement\", Statement is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOyBFeHByZXNzaW9uOyBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiLCBFeHByZXNzaW9uTm9JbiBpcyBldmF1bGF0ZWQgZmlyc3QKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCkiIGFzIEV4cHJlc3Npb25Ob0luCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZm9yKChmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIlNlY29uZEV4cHJlc3Npb24iO30pKCkpIHsKCQl2YXIgaW5fZm9yID0gInJlYWNoZWQiOwoJfQoJJEVSUk9SKCcjMTogKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIjt9KSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiTm9JbkV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgRXhwcmVzc2lvbiA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgRXhwcmVzc2lvbk5vSW4gZXZhbHVhdGVzIGZpcnN0Jyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChpbl9mb3IgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogaW5fZm9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogIGluX2ZvciA9PT0nKyBpbl9mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn; Expression; Expression) Statement\", ExpressionNoIn is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOyBGaXJzdEV4cHJlc3Npb247IFNlY29uZEV4cHJlc3Npb24pIFN0YXRlbWVudCIsIEV4cHJlc3Npb25Ob0luIGlzIGV2YXVsYXRlZCBmaXJzdCwgRmlyc3RFeHByZXNzb2luIGlzIGV2YWx1YXRlZCBzZWNvbmQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiJ9KSgpIiBhcyBGaXJzdEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoKGZ1bmN0aW9uKCl7X19pbl9fTm90SW5FeHByZXNzaW9uX18gPSAiY2hlY2tlZCI7X19pbl9fTm90SW5FeHByZXNzaW9uX18yID0gInBhc3NlZCI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiJ9KSgpOyAoZnVuY3Rpb24oKXt0aHJvdyAiU2Vjb25kRXhwcmVzc2lvbiJ9KSgpKSB7CgkJX19pbl9fZm9yPSJyZWFjaGVkIjsKCX0KCSRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJGaXJzdEV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgRmlyc3RFeHByZXNzaW9uIDsgU2Vjb25kRXhwcmVzc2lvbikgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBmaXJzdCBldmFsdWF0ZXMgRXhwcmVzc2lvbk5vSW4gdGhlbiBGaXJzdEV4cHJlc3Npb24nKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKChfX2luX19Ob3RJbkV4cHJlc3Npb25fXyAhPT0gImNoZWNrZWQiKSYoX19pbl9fTm90SW5FeHByZXNzaW9uX18yIT09InBhc3NlZCIpKSB7CgkkRVJST1IoJyMyOiAoX19pbl9fTm90SW5FeHByZXNzaW9uX18gPT09ICJjaGVja2VkIikmKF9faW5fX05vdEluRXhwcmVzc2lvbl9fMj09PSJwYXNzZWQiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9faW5fX2ZvciAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzM6IHR5cGVvZiBfX2luX19mb3IgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZm9yID09PScrIHR5cGVvZiBfX2luX19mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\", ExpressionNoIn is evaulated first, FirstExpressoin is evaluated second","description":"Using \"(function(){throw \"FirstExpression\"})()\" as FirstExpression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmb3IgKHZhciBhIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyIGEgaW4gYXJyOzE7KXsKICAgIGJyZWFrOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (var a in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yIChhIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAoYSBpbiBhcnI7MTspewogICAgYnJlYWs7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (a in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yICgxIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcigxIGluIGFycjsxOykgewogICAgYnJlYWs7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (1 in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gd3JhcHBlZCBpbnRvICJldmFsIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZCBhcyBhIEV4cHJlc3Npb25Ob0luIGluICJmb3IgKEV4cHJlc3Npb25Ob0luOyBGaXJzdEV4cHJlc3Npb247IFNlY29uZEV4cHJlc3Npb24pIFN0YXRlbWVudCIgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbCAiZm9yKGV2YWwoImkgaW4gYXJyIik7MTspIgogKi8KCmFyciA9IFsxLDIsMyw0LDVdOwppID0gMTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZm9yKGV2YWwoImkgaW4gYXJyIik7MTspIHticmVhazt9OwkKfSBjYXRjaCAoZSkgewkKCQkkRVJST1IoJyMxLjE6IGZvcihldmFsKCJpIGluIGFyciIpOzE7KSB7YnJlYWs7fTsgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsJCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7Cglmb3IoZXZhbCgidmFyIGkgPSAxIGluIGFyciIpOzE7KSB7YnJlYWs7fTsJCn0gY2F0Y2ggKGUpIHsJCgkJJEVSUk9SKCcjMi4xOiBmb3IoZXZhbCgidmFyIGkgPSAxIGluIGFyciIpOzE7KSB7YnJlYWs7fTsgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsJCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cglmb3IoZXZhbCgiMSBpbiBhcnIiKTsxOykge2JyZWFrO307Cn0gY2F0Y2ggKGUpIHsJCgkJJEVSUk9SKCcjMy4xOiBmb3IoZXZhbCgiMSBpbiBhcnIiKTsxOykge2JyZWFrO307IGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"in\"-expression wrapped into \"eval\" statement is allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Using eval \"for(eval(\"i in arr\");1;)\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKCA7ICA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCIsIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgZmlyc3QgYW5kIHRoZW4gRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIlNlY29uZEV4cHJlc3Npb24iO30pKCkiIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoOzsoZnVuY3Rpb24oKXt0aHJvdyAiU2Vjb25kRXhwcmVzc2lvbiI7fSkoKSl7CiAgICAgICAgdmFyIF9faW5fX2ZvciA9ICJyZWFjaGVkIjsKICAgIH0KICAgICRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0oKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gIlNlY29uZEV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKCA7ICA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgU3RhdGVtZW50IGV2YWx1YXRlcyBmaXJzdCB0aGVuIEV4cHJlc3Npb24gZXZhbHVhdGVzJyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2luX19mb3IgIT09ICJyZWFjaGVkIikgewoJJEVSUk9SKCcjMjogX19pbl9fZm9yID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2ZvciA9PT0nKyBfX2luX19mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for ( ; ; Expression) Statement\", Statement is evaluated first and then Expression is evaluated","description":"Using \"(function(){throw \"SecondExpression\";})()\" as an Expression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yKHdpdGggdmFyKSIgYnJhY2VzIGFyZSBhbGxvd2VkLgogKiBBcHBlYXJpbmcgb2YgZm9yIChFeHByZXNzaW9uTm9Jbl9vcHQgOyBFeHByZXNzaW9uX29wdCA7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDsgRXhwcmVzc2lvbl9vcHQ7KSBzdGF0ZW1lbnQgbGVhZHMgdG8gU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E3LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrKzsgaW5kZXgtLSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrKzsgaW5kZXgtLSk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only three expressions and two semicolons in \"for(with var)\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(var index=0; index<10; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yKHdpdGggdmFyKSIgYnJhY2VzIGFyZSBhbGxvd2VkLgogKiBBcHBlYXJpbmcgb2YgZm9yIChFeHByZXNzaW9uTm9Jbl9vcHQgOyBFeHByZXNzaW9uX29wdCA7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDsgRXhwcmVzc2lvbl9vcHQ7KSBzdGF0ZW1lbnQgbGVhZHMgdG8gU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E3LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTQ7IGluZGV4Kys7IGluZGV4LS0pIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz00OyBpbmRleCsrOyBpbmRleC0tKSA7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only three expressions and two semicolons in \"for(with var)\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(var index=0; index<10; index+=4; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yIiBicmFjZXMgYXJlIGFsbG93ZWQuCiAqIEFwcGVhcmluZyBvZiBmb3IgKEV4cHJlc3Npb25Ob0luX29wdCA7IEV4cHJlc3Npb25fb3B0IDsgRXhwcmVzc2lvbl9vcHQ7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDspIHN0YXRlbWVudCBsZWFkcyB0byBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCsrOyBpbmRleC0tKSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IoaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kys7IGluZGV4LS0pIDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only three expressions and two semicolons in \"for\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(index=0; index<10; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yIiBicmFjZXMgYXJlIGFsbG93ZWQuCiAqIEFwcGVhcmluZyBvZiBmb3IgKEV4cHJlc3Npb25Ob0luX29wdCA7IEV4cHJlc3Npb25fb3B0IDsgRXhwcmVzc2lvbl9vcHQ7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDspIHN0YXRlbWVudCBsZWFkcyB0byBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCs9NDsgaW5kZXgrKzsgaW5kZXgtLSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCs9NDsgaW5kZXgrKzsgaW5kZXgtLSkgOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Only three expressions and two semicolons in \"for\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(index=0; index<10; index+=4; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTAwOyB7aW5kZXgrKzsgaW5kZXgqMjt9KSB7ICBhcnIuYWRkKCIiK2luZGV4KTt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgYXJyID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTAwOyB7aW5kZXgrKzsgaW5kZXgqMjt9KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for(var index=0; index<100; {index++; index*2;}) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih2YXIgaW5kZXg9MDsge2luZGV4Kys7aW5kZXg8MTAwO307IGluZGV4KjI7KSB7ICBhcnIuYWRkKCIiK2luZGV4KTt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgYXJyID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsge2luZGV4Kys7aW5kZXg8MTAwO307IGluZGV4KjI7KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for(var index=0; {index++;index<100;}; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih7dmFyIGluZGV4PTA7IGluZGV4Kz0xO30gaW5kZXgrKzw9MTA7IGluZGV4KjI7KSB7IGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHt2YXIgaW5kZXg9MDsgaW5kZXgrPTE7fSBpbmRleCsrPD0xMDsgaW5kZXgqMjspIHsJYXJyLmFkZCgiIitpbmRleCk7fTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for({var index=0; index+=1;} index++<=10; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcihpbmRleD0wOyBpbmRleDwxMDA7IHtpbmRleCsrOyBpbmRleCoyO30pIHsgIGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IGluZGV4PDEwMDsge2luZGV4Kys7IGluZGV4KjI7fSkgewlhcnIuYWRkKCIiK2luZGV4KTt9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for(index=0; index<100; {index++; index*2;}) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcihpbmRleD0wOyB7aW5kZXgrKztpbmRleDwxMDA7fTsgaW5kZXgqMjspIHsgIGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IHtpbmRleCsrO2luZGV4PDEwMDt9OyBpbmRleCoyOykgewlhcnIuYWRkKCIiK2luZGV4KTt9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for(index=0; {index++;index<100;}; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih7aW5kZXg9MDsgaW5kZXgrPTE7fSBpbmRleCsrPD0xMDsgaW5kZXgqMjspIHsgYXJyLmFkZCgiIitpbmRleCk7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIGFyciA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3Ioe2luZGV4PTA7IGluZGV4Kz0xO30gaW5kZXgrKzw9MTA7IGluZGV4KjI7KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for({index=0; index+=1;} index++<=10; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgImZvciggRXhwTm9JbjtFeHA7RXhwKSIgbG9vcCBpcyByZXR1cm5pbmcgKG5vcm1hbCwgZXZhbFZhbHVlLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E5LjEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGV2YWwKICovCgpzdXByZW1lPTU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXZhciBfX2V2YWx1YXRlZCA9ICBldmFsKCJmb3IoY291bnQ9MDs7KSB7aWYgKGNvdW50PT09c3VwcmVtZSlicmVhaztlbHNlIGNvdW50Kys7IH0iKTsKCWlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJCSRFUlJPUignIzE6IF9fZXZhbHVhdGVkID09PSA0LiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKCX0KfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogdmFyIF9fZXZhbHVhdGVkID0gIGV2YWwoImZvcihjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The result of evaluating \"for( ExpNoIn;Exp;Exp)\" loop is returning (normal, evalValue, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A9.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgImZvcih2YXIgRXhwTm9JbjtFeHA7RXhwKSIgbG9vcCBpcyByZXR1cm5pbmcgKG5vcm1hbCwgZXZhbFZhbHVlLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsCiAqLwoKc3VwcmVtZT01OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl2YXIgX19ldmFsdWF0ZWQgPSAgZXZhbCgiZm9yKHZhciBjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOwoJaWYgKF9fZXZhbHVhdGVkICE9PSA0KSB7CgkJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwoJfQp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgX19ldmFsdWF0ZWQgPSAgZXZhbCgiZm9yKHZhciBjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The result of evaluating \"for(var ExpNoIn;Exp;Exp)\" loop is returning (normal, evalValue, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvMTIuNi40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yLWluIFN0YXRlbWVudCAtIGEgcHJvcGVydHkgbmFtZSBtdXN0IG5vdCBiZSB2aXNpdGVkIG1vcmUgdGhhbiBvbmNlIGluIGFueSBlbnVtZXJhdGlvbi4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogImFiYyIsIHByb3AyOiAiYmJjIiwgcHJvcDM6ICJjbm4iIH07DQoNCiAgICAgICAgdmFyIGNvdW50UHJvcDEgPSAwOw0KICAgICAgICB2YXIgY291bnRQcm9wMiA9IDA7DQogICAgICAgIHZhciBjb3VudFByb3AzID0gMDsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcDEiKSB7DQogICAgICAgICAgICAgICAgICAgIGNvdW50UHJvcDErKzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wMiIpIHsNCiAgICAgICAgICAgICAgICAgICAgY291bnRQcm9wMisrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AzIikgew0KICAgICAgICAgICAgICAgICAgICBjb3VudFByb3AzKys7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudFByb3AxID09PSAxICYmIGNvdW50UHJvcDIgPT09IDEgJiYgY291bnRQcm9wMyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The for-in Statement - a property name must not be visited more than once in any enumeration.","path":"TestCases/ch12/12.6/12.6.4/12.6.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvMTIuNi40LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yLWluIFN0YXRlbWVudCAtIHRoZSB2YWx1ZXMgb2YgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlcyBhcmUgbm90IGNvbnNpZGVyZWQgd2hlbiBkZXRlcm1pbmluZyBpZiBhIHByb3BlcnR5IG9mIGEgcHJvdG90eXBlIG9iamVjdCBpcyBzaGFkb3dlZCBieSBhIHByZXZpb3VzIG9iamVjdCBvbiB0aGUgcHJvdG90eXBlIGNoYWluDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZFZhbHVlIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3ZlcnJpZGVkVmFsdWUxIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3ZlcnJpZGVkVmFsdWUyIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBhY2Nlc3NlZFByb3AxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZFByb3AyID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjaGlsZCkgew0KICAgICAgICAgICAgaWYgKGNoaWxkLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWRQcm9wMSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcDIiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkUHJvcDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkUHJvcDEgJiYgYWNjZXNzZWRQcm9wMiAmJiBjaGlsZC5wcm9wMSA9PT0gIm92ZXJyaWRlZFZhbHVlMSIgJiYgY2hpbGQucHJvcDIgPT09ICJvdmVycmlkZWRWYWx1ZTIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The for-in Statement - the values of [[Enumerable]] attributes are not considered when determining if a property of a prototype object is shadowed by a previous object on the prototype chain","path":"TestCases/ch12/12.6/12.6.4/12.6.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZm9yKGtleSBpbiB1bmRlZmluZWQpIiBTdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi40L1MxMi42LjRfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGtleSBpbiB1bmRlZmluZWQpIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoX19rZXkgaW4gdW5kZWZpbmVkKXsKCSAgICB2YXIga2V5PV9fa2V5OwoJfTsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogImZvcihrZXkgaW4gdW5kZWZpbmVkKXt9IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGtleSE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjoga2V5ID09PSB1bmRlZmluZWQuIEFjdHVhbDoga2V5ID09PSAnK2tleSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"\"for(key in undefined)\" Statement is allowed","description":"Checking if execution of \"for(key in undefined)\" passes","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJmb3ItaW4iIFN0YXRlbWVudCBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi40L1MxMi42LjRfQTEzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgZnVuY3Rpb24gd2l0aGluIGEgImZvci1pbiIgU3RhdGVtZW50IHRoYXQgaXMgd2l0aGluIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uKCl7Cgpmb3IoeCBpbiB0aGlzKXsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn07Cgp9OwoK","commentary":"FunctionDeclaration within a \"for-in\" Statement is not allowed","description":"Declaring function within a \"for-in\" Statement that is within function declaration","negative":"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cGVzc2lvbiB3aXRoaW4gYSAiZm9yLWluIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiB7YToxfTt9KCkiIGFzIEV4cGVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwpmb3IoeCBpbiBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4ge2E6MX07fSgpKXsKICAgIHZhciBfX3JlYWNoZWQgPSB4Owp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fcmVhY2hlZCAhPT0gImEiKSB7CgkkRVJST1IoJyMyOiBmdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIG9mIGZvci1pbiBleHByZXNzaW9uIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpession within a \"for-in\" Expression is allowed","description":"Using \"function __func(){return {a:1};}()\" as Expession","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAiZm9yLWluIiBFeHByZXNzaW9uIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGJsb2NrIHdpdGhpbiAiZm9yLWluIiBFeHByZXNzaW9uCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBfX2Fycj1bMSwyLDNdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmZvcih4IGluIHtfX2Fycn0pewogICBicmVhayA7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Block within a \"for-in\" Expression is not allowed","description":"Using block within \"for-in\" Expression","negative":"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZm9yKGtleSBpbiBudWxsKSIgRXhwcmVzc2lvbiBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmb3Ioa2V5IGluIG51bGwpIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCWZvcihfX2tleSBpbiBudWxsKXsKCSAgICB2YXIga2V5PV9fa2V5OwoJfTsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogImZvcihfX2tleSBpbiBudWxsKXt9IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoa2V5IT09dW5kZWZpbmVkKSB7CgkkRVJST1IoJyMyOiBrZXkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBrZXkgPT09JytrZXkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"\"for(key in null)\" Expression is allowed","description":"Checking if execution of \"for(key in null)\" passes","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBhbiBhcnJheSBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBIZXJlIEV4cHJlc3Npb24gaXMgYW4gYXJyYXkgb2YgbnVtYmVycwogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IodmFyIGluZCBpbiAoYXJyPVsyLDEsNCwzXSkpX19zdHIrPWFycltpbmRdIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2V2YWx1YXRlZCAhPT0gX19zdHIpIHsKCSRFUlJPUignIzE6IF9fZXZhbHVhdGVkID09PSBfX3N0ci4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKCAoX19zdHIuaW5kZXhPZigiMiIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiMSIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiNCIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiMyIpIT09LTEpICkpIHsKCSRFUlJPUignIzI6IChfX3N0ci5pbmRleE9mKCIyIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIxIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCI0IikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIzIikhPT0tMSknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using an array as an Expression is appropriate. Here Expression is an array of numbers","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgYW4gYXJyYXkgYXMgYW4gRXhwcmVzc2lvbiBpcyBhcHByb3ByaWF0ZS4gSGVyZSBFeHByZXNzaW9uIGlzIGFuIGFycmF5IG9mIG51bWJlcnMuIEV2YWwgaXMgdXNlZAogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IoaW5kIGluIChhcnI9WzIsMSw0LDNdKSlfX3N0cis9YXJyW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSBfX3N0cikgewoJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IF9fc3RyLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoIChfX3N0ci5pbmRleE9mKCIyIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIxIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCI0IikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIzIikhPT0tMSkgKSkgewoJJEVSUk9SKCcjMjogKF9fc3RyLmluZGV4T2YoIjIiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjEiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjQiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjMiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using an array as an Expression is appropriate. Here Expression is an array of numbers. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBPYmplY3QgYXMgYW4gRXhwcmVzc2lvbiBpcyBhcHByb3ByaWF0ZS4gRXZhbCBpcyB1c2VkCiAqLwoKX19zdHI9IiI7CgpfX2V2YWx1YXRlZCA9IGV2YWwoImZvcih2YXIgaW5kIGluIChoYXNoPXsyOidiJywxOidhJyw0OidkJywzOidjJ30pKV9fc3RyKz1oYXNoW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCAhKCAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYSIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYiIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYyIpIT09LTEpJihfX2V2YWx1YXRlZC5pbmRleE9mKCJkIikhPT0tMSkgKSApIHsKCSRFUlJPUignIzE6IChfX2V2YWx1YXRlZC5pbmRleE9mKCJhIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJiIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJjIikhPT0tMSkmKF9fZXZhbHVhdGVkLmluZGV4T2YoImQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09IF9fZXZhbHVhdGVkKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gX19ldmFsdWF0ZWQuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object as an Expression is appropriate. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgT2JqZWN0IGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIEV2YWwgaXMgdXNlZAogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IoaW5kIGluIChoYXNoPXsyOidiJywxOidhJyw0OidkJywzOidjJ30pKV9fc3RyKz1oYXNoW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCAhKCAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYSIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYiIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYyIpIT09LTEpJihfX2V2YWx1YXRlZC5pbmRleE9mKCJkIikhPT0tMSkgKSApIHsKCSRFUlJPUignIzE6IChfX2V2YWx1YXRlZC5pbmRleE9mKCJhIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJiIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJjIikhPT0tMSkmKF9fZXZhbHVhdGVkLmluZGV4T2YoImQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09IF9fZXZhbHVhdGVkKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gX19ldmFsdWF0ZWQuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object as an Expression is appropriate. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBoaWVyYXJjaGljYWwgT2JqZWN0IGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIFRoZSBkZXB0aCBpcyB0d28KICovCgpfX2hhc2hfX21hcD17YTp7YWE6MSxhYjoyLGFjOjMsYWQ6NH0sYjp7YmE6MSxiYjoyLGJjOjMsYmQ6NH0sYzp7Y2E6MSxjYjoyLGNjOjMsY2Q6NH0sZDp7ZGE6MSxkYjoyLGRjOjMsZGQ6NH19OwoKX19hcnIgPSAiIjsKCmZvcih2YXIgX19rZXkgaW4gX19oYXNoX19tYXApewogICAgZm9yICh2YXIgX19pbmQgaW4gX19oYXNoX19tYXBbX19rZXldKXsKICAgICAgICBfX2Fycis9KCIiICsgX19pbmQgKyBfX2hhc2hfX21hcFtfX2tleV1bX19pbmRdKTsKICAgIH0KfQoKaWYoISgKKF9fYXJyLmluZGV4T2YoImFhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYWIyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJhYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImFkNCIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImJjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmQ0IikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjYTEiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNiMiIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiY2MzIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjZDQiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGIyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJkYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRkNCIpIT09LTEpCikpICRFUlJPUignIzE6IFRoZSBuZXN0ZWQgZm9yLWluIFN0YXRlbWVudCBhcHBsaWVkIHRvIGhpZXJhcmNoaWFsIG9iamVjdCB3b3JrcyBwcm9wZXJseSBhcyBkZXNjcmliZWQgaW4gdGhlIFN0YW5kYXJkJyk7CgoKCgo=","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using hierarchical Object as an Expression is appropriate. The depth is two","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgaGllcmFyY2hpY2FsIE9iamVjdCBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBUaGUgZGVwdGggaXMgdHdvCiAqLwoKX19oYXNoX19tYXA9e2E6e2FhOjEsYWI6MixhYzozLGFkOjR9LGI6e2JhOjEsYmI6MixiYzozLGJkOjR9LGM6e2NhOjEsY2I6MixjYzozLGNkOjR9LGQ6e2RhOjEsZGI6MixkYzozLGRkOjR9fTsKCl9fYXJyID0gIiI7Cgpmb3IoX19rZXkgaW4gX19oYXNoX19tYXApewogICAgZm9yIChfX2luZCBpbiBfX2hhc2hfX21hcFtfX2tleV0pewogICAgICAgIF9fYXJyKz0oIiIgKyBfX2luZCArIF9faGFzaF9fbWFwW19fa2V5XVtfX2luZF0pOwogICAgfQp9CgppZighKAooX19hcnIuaW5kZXhPZigiYWExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJhYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImFjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYWQ0IikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiYTEiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImJiMiIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmMzIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiZDQiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiY2IyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNkNCIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJkYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGQ0IikhPT0tMSkKKSkgJEVSUk9SKCcjMTogVGhlIG5lc3RlZCBmb3ItaW4gU3RhdGVtZW50IGFwcGxpZWQgdG8gaGllcmFyY2hpYWwgb2JqZWN0IHdvcmtzIHByb3Blcmx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgU3RhbmRhcmQnKTsKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using hierarchical Object as an Expression is appropriate. The depth is two","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBPYmplY3Qgd2l0aCBjdXN0b20gcHJvdG90eXBlIGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIFRoZSBwcm90b3R5cGUgaXMgIntmZWF0OjIsaGludDoicHJvdG9oaW50In0iCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpe3RoaXMucHJvcD0xO3RoaXMuaGludD0iaGludGVkIn07CgpGQUNUT1JZLnByb3RvdHlwZSA9IHtmZWF0OjIsaGludDoicHJvdG9oaW50In07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKX19hY2N1bT0iIjsKCmZvciAodmFyIGtleSBpbiBfX2luc3RhbmNlKXsKCV9fYWNjdW0rPShrZXkgKyBfX2luc3RhbmNlW2tleV0pOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKSkpIHsKCSRFUlJPUignIzE6IChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikhPT0tMSkgewoJJEVSUk9SKCcjMjogX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSA9PT0nKyBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object with custom prototype as an Expression is appropriate. The prototype is \"{feat:2,hint:\"protohint\"}\"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgT2JqZWN0IHdpdGggY3VzdG9tIHByb3RvdHlwZSBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBUaGUgcHJvdG90eXBlIGlzICJ7ZmVhdDoyLGhpbnQ6InByb3RvaGludCJ9IgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt0aGlzLnByb3A9MTt0aGlzLmhpbnQ9ImhpbnRlZCJ9OwoKRkFDVE9SWS5wcm90b3R5cGUgPSB7ZmVhdDoyLGhpbnQ6InByb3RvaGludCJ9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCl9fYWNjdW09IiI7Cgpmb3IgKGtleSBpbiBfX2luc3RhbmNlKXsKCV9fYWNjdW0rPShrZXkgKyBfX2luc3RhbmNlW2tleV0pOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKSkpIHsKCSRFUlJPUignIzE6IChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikhPT0tMSkgewoJJEVSUk9SKCcjMjogX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSA9PT0nKyBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object with custom prototype as an Expression is appropriate. The prototype is \"{feat:2,hint:\"protohint\"}\"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBvYmplY3QgYmVpbmcgZW51bWVyYXRlZCBtYXkgYmUgZGVsZXRlZCBkdXJpbmcgZW51bWVyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyAiZm9yIChMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGluIEV4cHJlc3Npb24pIFN0YXRlbWVudCIgY2FzZQogKi8KCl9fb2JqPXthYToxLGJhOjIsY2E6M307CgpfX2FjY3VtPSIiOwoKZm9yIChfX2tleSBpbiBfX29iail7CgkKICAgIGVyYXNhdG9yX1RfMTAwMChfX29iaiwiYiIpOwogIAoJX19hY2N1bSs9KF9fa2V5K19fb2JqW19fa2V5XSk7CgkKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpKSkgewoJJEVSUk9SKCcjMTogKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2FjY3VtLmluZGV4T2YoImJhMiIpIT09LTEpIHsKCSRFUlJPUignIzI6IF9fYWNjdW0uaW5kZXhPZigiYmEyIikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImJhMiIpID09PScrIF9fYWNjdW0uaW5kZXhPZigiYmEyIikgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8gZXJhc2F0b3IgaXMgdGhlIGhhc2ggbWFwIHRlcm1pbmF0b3IKZnVuY3Rpb24gZXJhc2F0b3JfVF8xMDAwKGhhc2hfbWFwLCBjaGFyYWN0cil7Cglmb3IgKGtleSBpbiBoYXNoX21hcCl7CgkJaWYgKGtleS5pbmRleE9mKGNoYXJhY3RyKT09PTApIHsKCQkJZGVsZXRlIGhhc2hfbWFwW2tleV07CgkJfTsKCX0KfQoK","commentary":"Properties of the object being enumerated may be deleted during enumeration","description":"Checking \"for (LeftHandSideExpression in Expression) Statement\" case","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBvYmplY3QgYmVpbmcgZW51bWVyYXRlZCBtYXkgYmUgZGVsZXRlZCBkdXJpbmcgZW51bWVyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyAiZm9yICh2YXIgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4gaW4gRXhwcmVzc2lvbikgU3RhdGVtZW50IiBjYXNlCiAqLwoKX19vYmo9e2FhOjEsYmE6MixjYTozfTsKCl9fYWNjdW09IiI7Cgpmb3IgKHZhciBfX2tleSBpbiBfX29iail7CgkKICAgIGVyYXNhdG9yX1RfMTAwMChfX29iaiwiYiIpOwogIAoJX19hY2N1bSs9KF9fa2V5K19fb2JqW19fa2V5XSk7CgkKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpKSkgewoJJEVSUk9SKCcjMTogKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2FjY3VtLmluZGV4T2YoImJhMiIpIT09LTEpIHsKCSRFUlJPUignIzI6IF9fYWNjdW0uaW5kZXhPZigiYmEyIikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImJhMiIpID09PScrIF9fYWNjdW0uaW5kZXhPZigiYmEyIikgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8gZXJhc2F0b3IgaXMgdGhlIGhhc2ggbWFwIHRlcm1pbmF0b3IKZnVuY3Rpb24gZXJhc2F0b3JfVF8xMDAwKGhhc2hfbWFwLCBjaGFyYWN0cil7Cglmb3IgKGtleSBpbiBoYXNoX21hcCl7CgkJaWYgKGtleS5pbmRleE9mKGNoYXJhY3RyKT09PTApIHsKCQkJZGVsZXRlIGhhc2hfbWFwW2tleV07CgkJfTsKCX0KfQoK","commentary":"Properties of the object being enumerated may be deleted during enumeration","description":"Checking \"for (var VariableDeclarationNoIn in Expression) Statement\" case","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A7_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNy8xMi43LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgY29udGludWUgU3RhdGVtZW50IC0gYSBjb250aW51ZSBzdGF0ZW1lbnQgd2l0aG91dCBhbiBpZGVudGlmaWVyIG1heSBoYXZlIGEgTGluZVRlcm1pbmF0b3IgYmVmb3JlIHRoZSBzZW1pLWNvbG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN1bSA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICA7DQogICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gc3VtID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The continue Statement - a continue statement without an identifier may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.7/12.7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mIHNpbmdsZSAiY29udGludWUiIHdpdGhvdXQgYW55IEl0ZXJhdGlvblN0YXRlbWVudCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmNvbnRpbnVlOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if execution of single \"continue\" without any IterationStatement fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgc2luZ2xlICJjb250aW51ZSIgd2l0aCBMYWJlbCBidXQgd2l0aG91dCBhbnkgSXRlcmF0aW9uU3RhdGVtZW50IGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCkxBQkVMIDogeD0zLjE0OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeD0xOwpjb250aW51ZSBMQUJFTDsKdmFyIHk9MjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if single \"continue\" with Label but without any IterationStatement fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgbGFiYWxsZWQgImNvbnRpbnVlIiB3aXRoIG5vIEl0ZXJhdGlvblN0YXRlbWVudCwgcGxhY2VkIGludG8gYSBibG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUwgOiB4PTMuMTQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnsKICAgIHZhciB4PTE7CiAgICBjb250aW51ZSBMQUJFTDsKICAgIHZhciB5PTI7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if laballed \"continue\" with no IterationStatement, placed into a block, fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJjb250aW51ZSIgd2l0aCBubyBJdGVyYXRpb25TdGF0ZW1lbnQsIHBsYWNlZCBpbnRvIGEgYmxvY2ssIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIGNvbnRpbnVlOwogICAgdmFyIHk9MjsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if execution of \"continue\" with no IterationStatement, placed into a block, fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBMaW5lVGVybWluYXRvciBiZXR3ZWVuICJjb250aW51ZSIgYW5kIElkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQsICJjb250aW51ZSIgaXMgZXZhbHVhdGVkIHdpdGhvdXQgbGFiZWwKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsLCBpbnNlcnRpbmcgTGluZVRlcm1pbmF0b3IgYmV0d2VlbiBjb250aW51ZSBhbmQgSWRlbnRpZmllcgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjFORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXHUwMDBBRk9SMTsgfSB3aGlsZSgwKTt9Iik7CglpZiAoaiE9PTIpIHsKCQkkRVJST1IoJyMxOiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTAwMEEpIGJldHdlZW4gY29udGludWUgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgY29udGludWUgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzEuMTogZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjFORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXFx1MDAwQUZPUjE7IH0gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeXsKCWV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXtGT1IyTkVTVEVEIDogZm9yKHZhciBqPTE7ajwyO2orKykgeyBjb250aW51ZVx1MDAwREZPUjI7IH0gd2hpbGUoMCk7fSIpOwoJaWYgKGohPT0yKSB7CgkJJEVSUk9SKCcjMjogU2luY2UgTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIGNvbnRpbnVlIGFuZCBJZGVudGlmaWVyIG5vdCBhbGxvd2VkIGNvbnRpbnVlIGV2YWx1YXRlcyB3aXRob3V0IGxhYmVsJyk7Cgl9Cn0gY2F0Y2goZSl7CgkkRVJST1IoJyMyLjE6IGV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXtGT1IyTkVTVEVEIDogZm9yKHZhciBqPTE7ajwyO2orKykgeyBjb250aW51ZVxcdTAwMERGT1IyOyB9IHdoaWxlKDApO30iKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp0cnl7CglldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7Rk9SM05FU1RFRCA6IGZvcih2YXIgaj0xO2o8MjtqKyspIHsgY29udGludWVcdTIwMjhGT1IzOyB9IHdoaWxlKDApO30iKTsKCWlmIChqIT09MikgewoJCSRFUlJPUignIzM6IFNpbmNlIExpbmVUZXJtaW5hdG9yKFUtMjAyOCkgYmV0d2VlbiBjb250aW51ZSBhbmQgSWRlbnRpZmllciBub3QgYWxsb3dlZCBjb250aW51ZSBldmFsdWF0ZXMgd2l0aG91dCBsYWJlbCcpOwoJfQp9IGNhdGNoKGUpewoJJEVSUk9SKCcjMy4xOiBldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7Rk9SM05FU1RFRCA6IGZvcih2YXIgaj0xO2o8MjtqKyspIHsgY29udGludWVcXHUyMDI4Rk9SMzsgfSB3aGlsZSgwKTt9IikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjRORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXHUyMDI5Rk9SNDsgfSB3aGlsZSgwKTt9Iik7CglpZiAoaiE9PTIpIHsKCQkkRVJST1IoJyM0OiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gY29udGludWUgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgY29udGludWUgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzQuMTogZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjRORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXFx1MjAyOUZPUjQ7IH0gd2hpbGUoMCk7fSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"Since LineTerminator between \"continue\" and Identifier is not allowed, \"continue\" is evaluated without label","description":"Checking by using eval, inserting LineTerminator between continue and Identifier","path":"TestCases/ch12/12.7/S12.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBjb250aW51ZSBhbm90aGVyIGxhYmVsZWQgbG9vcAogKiBAbmVnYXRpdmUKICovCgpMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTA7CkxBQkVMX0RPX0xPT1AgOiBkbyB7CiAgIExBQkVMX0lOIDogeCsrOwogICBpZih4PT09MTApYnJlYWs7CiAgIGNvbnRpbnVlIExBQkVMX0FOT1RIRVJfTE9PUDsKICAgTEFCRUxfSU5fMiA6IHkrKzsKICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KfSB3aGlsZSgwKTsKCkxBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgIDsKfSB3aGlsZSgwKTsKCmZ1bmN0aW9uIE9VVF9GVU5DKCl7fQoK","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Trying to continue another labeled loop","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIElkZW50aWZpZXIgaXMgYSBmdW5jdGlvbiBuYW1lCiAqIEBuZWdhdGl2ZQogKi8KCkxBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgTEFCRUxfSU4gOiB4Kys7CiAgIGlmKHg9PT0xMClicmVhazsKICAgY29udGludWUgSU5fRE9fRlVOQzsKICAgTEFCRUxfSU5fMiA6IHkrKzsKICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KfSB3aGlsZSgwKTsKCkxBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgIDsKfSB3aGlsZSgwKTsKCmZ1bmN0aW9uIE9VVF9GVU5DKCl7fTsKCg==","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Identifier is a function name","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIElkZW50aWZpZXIgaXMgd2l0aGluIGxvb3AgbGFiZWwKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwoKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgTEFCRUxfSU4gOiB4Kys7CiAgIGlmKHg9PT0xMClicmVhazsKICAgY29udGludWUgTEFCRUxfSU47CiAgIExBQkVMX0lOXzIgOiB5Kys7CiAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KCg==","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Identifier is within loop label","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsIHRoYXQgaXMgd2l0aGluIGFuIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBsYWJhbGVkICJjb250aW51ZSBJZGVudGlmaWVyIiB3aXRoaW4gYSBmdW5jdGlvbiBib2R5CiAqIEBuZWdhdGl2ZQogKi8KCnZhciB4PTAseT0wOwoKTEFCRUwxIDogZG8gewogICAgeCsrOwogICAgKGZ1bmN0aW9uKCl7Y29udGludWUgTEFCRUwxO30pKCk7CiAgICB5Kys7Cn0gd2hpbGUoMCk7Cgo=","commentary":"Appearing of \"continue\" within a function call that is within an IterationStatement yields SyntaxError","description":"Using labaled \"continue Identifier\" within a function body","negative":"","path":"TestCases/ch12/12.7/S12.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aGluIGV2YWwgc3RhdGVtZW50IHRoYXQgaXMgd2l0aGluIGFuIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsICJldmFsKCJjb250aW51ZSBMQUJFTDEiKSIKICovCgp2YXIgeD0wLHk9MDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJTEFCRUwxIDogZG8gewogICAgICAgIHgrKzsKICAgICAgICBldmFsKCJjb250aW51ZSBMQUJFTDEiKTsKICAgICAgICB5Kys7CiAgICB9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogZXZhbCgiY29udGludWUgTEFCRUwxIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCIxLjE6IEFwcGVhcmluZyBvZiBjb250aW51ZSB3aXRoaW4gZXZhbCBzdGF0ZW1lbnQgaW5zaWRlIG9mIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IiKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of continue within eval statement that is within an IterationStatement yields SyntaxError","description":"Using eval \"eval(\"continue LABEL1\")\"","path":"TestCases/ch12/12.7/S12.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSAidHJ5L2NhdGNoIiBCbG9jayB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNvbnRpbnVlIElkZW50aWZpZXIiIHdpdGhpbiBjYXRjaCBCbG9jayBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJY29udGludWUgTEFCRUwyOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9OwoK","commentary":"Appearing of \"continue\" within a \"try/catch\" Block yields SyntaxError","description":"Checking if execution of \"continue Identifier\" within catch Block fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSAidHJ5L2NhdGNoIiBCbG9jayB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNvbnRpbnVlIiB3aXRoaW4gY2F0Y2ggQmxvY2sgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHg9MCx5PTA7Cgp0cnl7CglMQUJFTDEgOiBkbyB7CgkJeCsrOwoJCXRocm93ICJnb25uYSBsZWF2ZSBpdCI7CgkJeSsrOwoJfSB3aGlsZSgwKTsKCSRFUlJPUignIzE6IHRocm93ICJnb25uYSBsZWF2ZSBpdCIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWNvbnRpbnVlOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9OwoK","commentary":"Appearing of \"continue\" within a \"try/catch\" Block yields SyntaxError","description":"Checking if execution of \"continue\" within catch Block fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb250aW51ZSBpbnNpZGUgb2YgdHJ5LWNhdGNoIG5lc3RlZCBpbiBhIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJjb250aW51ZSBJZGVudGlmaWVyIiB3aXRoaW4gY2F0Y2ggQmxvY2sgdGhhdCBpcyB3aXRoaW4gYSBsb29wCiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQljb250aW51ZSBGT1I7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MTApIHsKCSRFUlJPUignIzE6IENvbnRpbnVlIGluc2lkZSBvZiB0cnktY2F0Y2ggbmVzdGVkIGluIGxvb3AgaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Continue inside of try-catch nested in a loop is allowed","description":"Using \"continue Identifier\" within catch Block that is within a loop","path":"TestCases/ch12/12.7/S12.7_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb250aW51ZSBpbnNpZGUgb2YgdHJ5LWNhdGNoIG5lc3RlZCBpbiBhIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJjb250aW51ZSIgd2l0aGluIGNhdGNoIEJsb2NrIHRoYXQgaXMgd2l0aGluIGEgbG9vcAogKi8KCnZhciB4PTAseT0wOwoKKGZ1bmN0aW9uKCl7CkZPUiA6IGZvcig7Oyl7Cgl0cnl7CgkJeCsrOwoJCWlmKHg9PT0xMClyZXR1cm47CgkJdGhyb3cgMTsKCX0gY2F0Y2goZSl7CgkJY29udGludWU7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MTApIHsKCSRFUlJPUignIzE6IENvbnRpbnVlIGluc2lkZSBvZiB0cnktY2F0Y2ggbmVzdGVkIGluIGxvb3AgaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Continue inside of try-catch nested in a loop is allowed","description":"Using \"continue\" within catch Block that is within a loop","path":"TestCases/ch12/12.7/S12.7_A9_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuOC8xMi44LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgYnJlYWsgU3RhdGVtZW50IC0gYSBicmVhayBzdGF0ZW1lbnQgd2l0aG91dCBhbiBpZGVudGlmaWVyIG1heSBoYXZlIGEgTGluZVRlcm1pbmF0b3IgYmVmb3JlIHRoZSBzZW1pLWNvbG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN1bSA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChpID09PSA2KSB7DQogICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gc3VtID09PSAxNTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The break Statement - a break statement without an identifier may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.8/12.8-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgc3RhdGVtZW50IHdpdGggbm8gbG9vcCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmJyZWFrOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break statement with no loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgSWRlbnRpZmllciB3aXRoIG5vIGxvb3AgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUwgOiB4PTMuMTQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmJyZWFrIExBQkVMOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break Identifier with no loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgc3RhdGVtZW50IHdpdGggbm8gbG9vcCwgcGxhY2VkIGludG8gYSBibG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp7CiAgICB2YXIgeD0xOwogICAgYnJlYWs7CiAgICB2YXIgeT0yOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break statement with no loop, placed into a block, fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgSWRlbnRpZmllciB3aXRoIG5vIGxvb3AsIHBsYWNlZCBpbnRvIGEgIGJsb2NrLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgpMQUJFTCA6IHg9My4xNDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIGJyZWFrIExBQkVMOwogICAgdmFyIHk9MjsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break Identifier with no loop, placed into a block, fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBMaW5lVGVybWluYXRvciBiZXR3ZWVuICJicmVhayIgYW5kIElkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQsICJicmVhayIgaXMgZXZhbHVhdGVkIHdpdGhvdXQgbGFiZWwKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsLCBpbnNlcnRpbmcgTGluZVRlcm1pbmF0b3IgYmV0d2VlbiBicmVhayBhbmQgSWRlbnRpZmllcgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDEgOiBkbyB7dmFyIHggPTE7YnJlYWtcdTAwMEFGT1IxO3ZhciB5PTI7fSB3aGlsZSgwKTt9Iik7CglpZiAoaSE9PTIpIHsKCQkkRVJST1IoJyMxOiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTAwMEEpIGJldHdlZW4gYnJlYWsgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgYnJlYWsgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzEuMTogZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDEgOiBkbyB7dmFyIHggPTE7YnJlYWtcXHUwMDBBRk9SMTt2YXIgeT0yO30gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeXsKCWV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXsgTEFCRUwyIDogZG8ge3ZhciB4ID0xO2JyZWFrXHUwMDBERk9SMjt2YXIgeT0yO30gd2hpbGUoMCk7fSIpOwoJaWYgKGkhPT0yKSB7CgkJJEVSUk9SKCcjMjogU2luY2UgTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIGJyZWFrIGFuZCBJZGVudGlmaWVyIG5vdCBhbGxvd2VkIGJyZWFrIGV2YWx1YXRlcyB3aXRob3V0IGxhYmVsJyk7Cgl9Cn0gY2F0Y2goZSl7CgkkRVJST1IoJyMyLjE6IGV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXsgTEFCRUwyIDogZG8ge3ZhciB4ID0xO2JyZWFrXFx1MDAwREZPUjI7dmFyIHk9Mjt9IHdoaWxlKDApO30iKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp0cnl7CglldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7IExBQkVMMyA6IGRvIHt2YXIgeCA9MTticmVha1x1MjAyOEZPUjM7dmFyIHk9Mjt9IHdoaWxlKDApO30iKTsKCWlmIChpIT09MikgewoJCSRFUlJPUignIzM6IFNpbmNlIExpbmVUZXJtaW5hdG9yKFUtMjAyOCkgYmV0d2VlbiBicmVhayBhbmQgSWRlbnRpZmllciBub3QgYWxsb3dlZCBicmVhayBldmFsdWF0ZXMgd2l0aG91dCBsYWJlbCcpOwoJfQp9IGNhdGNoKGUpewoJJEVSUk9SKCcjMy4xOiBldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7IExBQkVMMyA6IGRvIHt2YXIgeCA9MTticmVha1xcdTIwMjhGT1IzO3ZhciB5PTI7fSB3aGlsZSgwKTt9IikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDQgOiBkbyB7dmFyIHggPTE7YnJlYWtcdTIwMjlGT1I0O3ZhciB5PTI7fSB3aGlsZSgwKTt9Iik7CglpZiAoaSE9PTIpIHsKCQkkRVJST1IoJyM0OiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gYnJlYWsgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgYnJlYWsgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzQuMTogZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDQgOiBkbyB7dmFyIHggPTE7YnJlYWtcXHUyMDI5Rk9SNDt2YXIgeT0yO30gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"Since LineTerminator between \"break\" and Identifier is not allowed, \"break\" is evaluated without label","description":"Checking by using eval, inserting LineTerminator between break and Identifier","path":"TestCases/ch12/12.8/S12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayIgaXMgZXZhbHVhdGVkLCAoYnJlYWssIGVtcHR5LCBlbXB0eSkgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiYnJlYWsiIHdpdGhvdXQgSWRlbnRpZmllciB3aXRoaW4gbGFiZWxlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwoKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeD0yOwogICAgYnJlYWsgOwogICAgTEFCRUxfSU5fMiA6IHZhciB5PTI7CiAgICAKICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MikmJih5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDIgYW5kIHkgPT09IDAuIEFjdHVhbDogIHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"break\" is evaluated, (break, empty, empty) is returned","description":"Using \"break\" without Identifier within labeled loop","path":"TestCases/ch12/12.8/S12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImJyZWFrIElkZW50aWZpZXIiIHdpdGhpbiBsYWJhZWxlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwooZnVuY3Rpb24oKXsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeCsrOwogICAgaWYoeD09PTEwKXJldHVybjsKICAgIGJyZWFrIExBQkVMX0RPX0xPT1A7CiAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgCiAgICBmdW5jdGlvbiBJTl9ET19GVU5DKCl7fQp9IHdoaWxlKDApOwoKTEFCRUxfQU5PVEhFUl9MT09QIDogZG8gewogICAgOwp9IHdoaWxlKDApOwoKZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MSkmJih5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDAuIEFjdHVhbDogIHggPT09ICcreCsnIGFuZCB5ID09PScrIHkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using \"break Identifier\" within labaeled loop","path":"TestCases/ch12/12.8/S12.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZW1iZWRkZWQgYW5kIGxhYmVsZWQgbG9vcHMsIGJyZWFraW5nIHRvIG5lc3RlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wLCB4eD0wLCB5eT0wOwooZnVuY3Rpb24oKXsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeCsrOwogICAgaWYoeD09PTEwKXJldHVybjsKICAgIExBQkVMX05FU1RFRF9MT09QIDogZG8gewogICAgICAgIExBQkVMX0lOX05FU1RFRCA6IHh4Kys7CiAgICAgICAgaWYoeHg9PT0xMClyZXR1cm47CiAgICAgICAgYnJlYWsgTEFCRUxfTkVTVEVEX0xPT1A7CiAgICAgICAgTEFCRUxfSU5fTkVTVEVEXzIgOiB5eSsrOwogICAgfSB3aGlsZSAoMCk7CiAgICAKICAgIExBQkVMX0lOXzIgOiB5Kys7CiAgICAKICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KfSkoKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKHghPT0xKSYmKHkhPT0xKSYmKHh4IT09MSkmKHl5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDEgYW5kIHh4ID09PSAxIGFuZCB5eSA9PT0gMC4gQWN0dWFsOiAgeD09PScreCsnIGFuZCB5PT09Jyt5KycgYW5kIHh4PT09Jyt4eCsnIGFuZCB5eT09PScreXkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using embedded and labeled loops, breaking to nested loop","path":"TestCases/ch12/12.8/S12.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZW1iZWRkZWQgYW5kIGxhYmVsZWQgbG9vcHMsIGJyZWFraW5nIHRvIG91dGVyIGxvb3AKICovCgpMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTAsIHh4PTAsIHl5PTA7CihmdW5jdGlvbigpewpMQUJFTF9ET19MT09QIDogZG8gewogICAgTEFCRUxfSU4gOiB4Kys7CiAgICBpZih4PT09MTApcmV0dXJuOwogICAgTEFCRUxfTkVTVEVEX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU5fTkVTVEVEIDogeHgrKzsKICAgICAgICBpZih4eD09PTEwKXJldHVybjsKICAgICAgICBicmVhayBMQUJFTF9ET19MT09QOwogICAgICAgIExBQkVMX0lOX05FU1RFRF8yIDogeXkrKzsKICAgIH0gd2hpbGUgKDApOwogICAgCiAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgCiAgICBmdW5jdGlvbiBJTl9ET19GVU5DKCl7fQp9IHdoaWxlKDApOwoKTEFCRUxfQU5PVEhFUl9MT09QIDogZG8gewogICAgOwp9IHdoaWxlKDApOwoKZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MSkmJih5IT09MCkmJih4eCE9PTEpJih5eSE9PTApKSB7CgkkRVJST1IoJyMxOiB4ID09PSAxIGFuZCB5ID09PSAwIGFuZCB4eCA9PT0gMSBhbmQgeXkgPT09IDAuIEFjdHVhbDogIHg9PT0nK3grJyBhbmQgeT09PScreSsnIGFuZCB4eD09PScreHgrJyBhbmQgeXk9PT0nK3l5ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using embedded and labeled loops, breaking to outer loop","path":"TestCases/ch12/12.8/S12.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWtpbmcgYW5vdGhlciBsYWJlbGVkIGxvb3AgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKKGZ1bmN0aW9uKCl7CiAgICBMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTA7CiAgICBMQUJFTF9ET19MT09QIDogZG8gewogICAgICAgIExBQkVMX0lOIDogeCsrOwogICAgICAgIGlmKHg9PT0xMCkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIGJyZWFrIExBQkVMX0FOT1RIRVJfTE9PUDsKICAgICAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICAgICAgOwogICAgfSB3aGlsZSgwKTsKICAgIAogICAgZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Cgo=","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if breaking another labeled loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgZnVuY3Rpb24gbmFtZSBhcyBhbiBJZGVudGlmaWVyIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgooZnVuY3Rpb24oKXsKICAgIExBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKICAgIExBQkVMX0RPX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU4gOiB4Kys7CiAgICAgICAgaWYoeD09PTEwKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgYnJlYWsgSU5fRE9fRlVOQzsKICAgICAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICAgICAgOwogICAgfSB3aGlsZSgwKTsKICAgIAogICAgZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Cgo=","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if using function name as an Identifier appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgaW50ZXJuYWwgbG9vcCBsYWJlbCBhcyBhbiBJZGVudGlmaWVyIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgooZnVuY3Rpb24oKXsKICAgIExBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKICAgIExBQkVMX0RPX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU4gOiB4Kys7CiAgICAgICAgaWYoeD09PTEwKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgYnJlYWsgTEFCRUxfSU47CiAgICAgICAgTEFCRUxfSU5fMiA6IHkrKzsKCiAgICAgICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KICAgICAgICAKICAgIH0gd2hpbGUoMCk7CiAgICAKICAgIExBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgICAgICA7CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBmdW5jdGlvbiBPVVRfRlVOQygpe30KICAgIAp9KSgpOwoK","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if using internal loop label as an Identifier appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsIHRoYXQgaXMgbmVzdGVkIGluIGEgSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjgvUzEyLjhfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJicmVhayBJZGVudGlmaWVyIiB3aXRoaW4gYSBmdW5jdGlvbiBib2R5IGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCkxBQkVMMSA6IGRvIHsKICAgIHgrKzsKICAgIChmdW5jdGlvbigpe2JyZWFrIExBQkVMMTt9KSgpOwogICAgeSsrOwp9IHdoaWxlKDApOwoK","commentary":"Appearing of \"break\" within a function call that is nested in a IterationStatement yields SyntaxError","description":"Checking if using \"break Identifier\" within a function body appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gZXZhbCBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYW4gSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjgvUzEyLjhfQTcuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGV2YWwgImV2YWwoImJyZWFrIExBQkVMMSIpIgogKi8KCnZhciB4PTAseT0wOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglMQUJFTDEgOiBkbyB7CiAgICAgICAgeCsrOwogICAgICAgIGV2YWwoImJyZWFrIExBQkVMMSIpOwogICAgICAgIHkrKzsKICAgIH0gd2hpbGUoMCk7CgkkRVJST1IoJyMxOiBldmFsKCJicmVhayBMQUJFTDEiKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoIjEuMTogQXBwZWFyaW5nIG9mIGJyZWFrIHdpdGhpbiBldmFsIHN0YXRlbWVudCBpbnNpZGUgb2YgSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvciIpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"break\" within eval statement that is nested in an IterationStatement yields SyntaxError","description":"Using eval \"eval(\"break LABEL1\")\"","path":"TestCases/ch12/12.8/S12.8_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gInRyeS9jYXRjaCIgQmxvY2sgeWllbGRzIFN5bnRheEVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgImJyZWFrIElkZW50aWZpZXIiIGZyb20gd2l0aGluIGNhdGNoIEJsb2NrIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJYnJlYWsgTEFCRUwyOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9CgoK","commentary":"Appearing of \"break\" within \"try/catch\" Block yields SyntaxError","description":"Checking if using \"break Identifier\" from within catch Block appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gInRyeS9jYXRjaCIgQmxvY2sgeWllbGRzIFN5bnRheEVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgImJyZWFrIElkZW50aWZpZXIiIGZyb20gd2l0aGluIGNhdGNoIEJsb2NrIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJYnJlYWs7CglMQUJFTDIgOiBkbyB7CgkJeCsrOwoJCXkrKzsKCX0gd2hpbGUoMCk7Cn0KCgo=","commentary":"Appearing of \"break\" within \"try/catch\" Block yields SyntaxError","description":"Checking if using \"break Identifier\" from within catch Block appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAiYnJlYWsiIHdpdGhpbiAidHJ5L2NhdGNoIiBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYSBsb29wIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0E5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY29udGludWUgSWRlbnRpZmllciIgd2l0aGluICJjYXRjaCIgc3RhdGVtZW50CiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQlicmVhayBGT1I7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSkgewoJJEVSUk9SKCcjMTogYnJlYWsgaW5zaWRlIG9mIHRyeS1jYXRjaCBuZXN0ZWQgaW4gbG9vcCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Using \"break\" within \"try/catch\" statement that is nested in a loop is allowed","description":"Using \"continue Identifier\" within \"catch\" statement","path":"TestCases/ch12/12.8/S12.8_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAiYnJlYWsiIHdpdGhpbiAidHJ5L2NhdGNoIiBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYSBsb29wIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0E5X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY29udGludWUgSWRlbnRpZmllciIgd2l0aGluICJjYXRjaCIgc3RhdGVtZW50CiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQlicmVhayA7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSkgewoJJEVSUk9SKCcjMTogYnJlYWsgaW5zaWRlIG9mIHRyeS1jYXRjaCBuZXN0ZWQgaW4gbG9vcCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Using \"break\" within \"try/catch\" statement that is nested in a loop is allowed","description":"Using \"continue Identifier\" within \"catch\" statement","path":"TestCases/ch12/12.8/S12.8_A9_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuOS8xMi45LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgcmV0dXJuIFN0YXRlbWVudCAtIGEgcmV0dXJuIHN0YXRlbWVudCB3aXRob3V0IGFuIGV4cHJlc3Npb24gbWF5IGhhdmUgYSBMaW5lVGVybWluYXRvciBiZWZvcmUgdGhlIHNlbWktY29sb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3VtID0gMDsNCiAgICAgICAgKGZ1bmN0aW9uIGlubmVyVGVzdCgpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gNikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgICAgICAgICAgOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkoKTsNCiAgICAgICAgcmV0dXJuIHN1bSA9PT0gMTU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The return Statement - a return statement without an expression may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.9/12.9-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24gZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeD0xOwpyZXR1cm47CnZhciB5PTI7Cgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAicmV0dXJuICgwKSIgd2l0aCBubyBmdW5jdGlvbiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnJldHVybiAoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return (0)\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CnJldHVybiB4Owp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGhpbiAidHJ5IiBzdGF0ZW1lbnQgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogICAgcmV0dXJuIDE7Cn0gY2F0Y2goZSl7CiAgICByZXR1cm4gMTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" within \"try\" statement fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24gZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpyZXR1cm47Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24sIHBsYWNlZCBpbnRvIGEgQmxvY2ssIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIHJldHVybjsKICAgIHZhciB5PTI7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function, placed into a Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24sIHBsYWNlZCBpbnRvIGEgbG9vcCwgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpkbyB7CiAgICB2YXIgeD0xOwogICAgcmV0dXJuOwogICAgdmFyIHk9MjsKfSB3aGlsZSgwKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function, placed into a loop, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiwgcGxhY2VkIGluc2lkZSBCbG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp7CiAgICB2YXIgeD0xOwogICAgcmV0dXJuIHg7CiAgICB2YXIgeT0yOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed inside Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiwgcGxhY2VkIGludG8gYSBsb29wLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIHsKICAgIHZhciB4PTE7CiAgICByZXR1cm4geDsKICAgIHZhciB5PTI7Cn0gd2hpbGUoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed into a loop, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iLCBwbGFjZWQgaW50byBhIGNhdGNoIEJsb2NrLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB0aHJvdyAxOwp9IGNhdGNoKGUpewogICAgcmV0dXJuIGU7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\", placed into a catch Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lVGVybWluYXRvciBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0CiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgaW5zZXJ0aW5nIExpbmVUZXJtaW5hdG9yIGJldHdlZW4gcmV0dXJuIGFuZCBWYXJpYWJsZQogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgaWYgKGV2YWwoIihmdW5jdGlvbigpe3ZhciB4ID0gMTtyZXR1cm5cdTAwMEF4O3ZhciB5PTI7fSkoKSIpICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUigiIzE6IExpbmVUZXJtaW5hdG9yKFUtMDAwQSkgYmV0d2VlbiByZXR1cm4gYW5kIElkZW50aWZpZXJfb3B0IHlpZWxkcyByZXR1cm4gd2l0aG91dCBJZGVudGlmaWVyX29wdCIpOwkgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMxOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MDAwQXg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyMyCnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPSAxO3JldHVyblx1MDAwRHg7dmFyIHk9Mjt9KSgpIikgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCIjMTogTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0Iik7ICAgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMyOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MDAwRHg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyMzCnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPSAxO3JldHVyblx1MjAyOHg7dmFyIHk9Mjt9KSgpIikgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCIjMTogTGluZVRlcm1pbmF0b3IoVS0yMDI4KSBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0Iik7ICAgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMzOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MjAyOHg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyM0CnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPTE7cmV0dXJuXHUyMDI5eDt2YXIgeT0yO30pKCkiKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMxOiBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gcmV0dXJuIGFuZCBJZGVudGlmaWVyX29wdCB5aWVsZHMgcmV0dXJuIHdpdGhvdXQgSWRlbnRpZmllcl9vcHQiKTsgICAgCiAgfQp9IGNhdGNoKGUpewogICRFUlJPUignIzQ6IGV2YWwoIihmdW5jdGlvbigpe3ZhciB4ID0xO3JldHVyblxcdTIwMjl4O3ZhciB5PTI7fSkoKSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KCg==","commentary":"LineTerminator between return and Identifier_opt yields return without Identifier_opt","description":"Checking by using eval, inserting LineTerminator between return and Variable","path":"TestCases/ch12/12.9/S12.9_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBFeHByZXNzaW9uIGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gdmFsdWUgaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMy5qcwogKiBAZGVzY3JpcHRpb24gUmV0dXJuIHdpdGhvdXQgRXhwcmVzc2lvbgogKi8KCl9fZXZhbHVhdGVkID0gKGZ1bmN0aW9uICgpe3JldHVybjt9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19ldmFsdWF0ZWQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogSWYgRXhwcmVzc2lvbiBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If Expression is omitted, the return value is undefined","description":"Return without Expression","path":"TestCases/ch12/12.9/S12.9_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBSZXR1cm5TdGF0ZW1lbnQgOiByZXR1cm4gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzOgogKiBpKSAgIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIGlpKSAgQ2FsbCBHZXRWYWx1ZShSZXN1bHQoMikpLgogKiBpaWkpIFJldHVybiAocmV0dXJuLCBSZXN1bHQoMyksIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjkvUzEyLjlfQTQuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiB2ZXJ5IHNvcGhpc3RpY2F0ZWQgZXhwcmVzc2lvbiBhbmQgZnVuY3Rpb24KICovCgovLyBzZWNvbmQgZGVyaXZhdGl2ZSAKZnVuY3Rpb24gRERfb3BlcmF0b3IoZiwgZGVsdGEpe3JldHVybiBmdW5jdGlvbih4KXtyZXR1cm4gKGYoeCtkZWx0YSktMipmKHgpK2YoeC1kZWx0YSkpLyhkZWx0YSpkZWx0YSl9O30KCkREc2luID0gRERfb3BlcmF0b3IoTWF0aC5zaW4sIDAuMDAwMDEpOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy8gKChzaW4oeCkpJyknID0gLXNpbih4KQppZiAoRERzaW4oIE1hdGguUEkvMiApICsgTWF0aC5zaW4oIE1hdGguUEkvMiApID4gMC4wMDAwMSkgewoJJEVSUk9SKCcjMTogcmV0dXJuIEV4cHJlc3Npb24geWllbGRzIHRvIFJldHVybiAocmV0dXJuLCBHZXRWYWx1ZShFdmFsdWF0ZSBFeHByZXNzaW9uKSwgZW1wdHkpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production ReturnStatement : return Expression; is evaluated as:\ni) Evaluate Expression.\nii) Call GetValue(Result(2)).\niii) Return (return, Result(3), empty)","description":"Return very sophisticated expression and function","path":"TestCases/ch12/12.9/S12.9_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb2RlIGFmdGVyIFJldHVyblN0YXRlbWVudCBpcyBub3QgZXZhbHVhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY29kZSBhZnRlciBSZXR1cm4gc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnZhciB4MT0xOwpmdW5jdGlvbiBteWZ1bmMxKCl7Cgl4MSsrOwoJcmV0dXJuOwoJeDEqPTI7Cn0KbXlmdW5jMSgpOwppZiAoeDEhPT0yKSAkRVJST1IoJyMxOiB4MSA9PT0gMi4gQWN0dWFsOiAgeDEgPT09JysgeDEgICk7CgovL0NIRUNLIzIKdmFyIHgyPTE7CmZ1bmN0aW9uIG15ZnVuYzIoKXsKICB4MisrOwogIHJldHVybiB4MjsKICB4Mio9MjsKfQpteWZ1bmMyKCk7CmlmICh4MiE9PTIpICRFUlJPUignIzI6IHgyID09PSAyLiBBY3R1YWw6ICB4MiA9PT0nKyB4MiAgKTsKCi8vQ0hFQ0sjMwp2YXIgeDM9MTsKZnVuY3Rpb24gbXlmdW5jMygpewogIHgzKys7CiAgcmV0dXJuOwogIHJldHVybiB4MzsKICB4Myo9MjsKfQppZiAobXlmdW5jMygpIT09dW5kZWZpbmVkKSAkRVJST1IoJyMzOiBteWZ1bmMzKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlmdW5jMygpID09PScrIG15ZnVuYzMoKSAgKTsKCg==","commentary":"Code after ReturnStatement is not evaluated","description":"Using code after Return statement","path":"TestCases/ch12/12.9/S12.9_A5.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch12","numTests":"525","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1jYXRjaA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ0cnl7fTtjYXRjaCgpe30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-catch","path":"TestCases/ch12/12.1/12.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1jYXRjaC1maW5hbGx5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInRyeXt9O2NhdGNoe307ZmluYWxseXt9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-catch-finally","path":"TestCases/ch12/12.1/12.1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IHRyeS1maW5hbGx5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInRyeXt9O2ZpbmFsbHl7fSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: try-finally","path":"TestCases/ch12/12.1/12.1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiaWZ7fTtlbHNle30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else","path":"TestCases/ch12/12.1/12.1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UtaWYNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiaWZ7fTtlbHNlIGlme30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else-if","path":"TestCases/ch12/12.1/12.1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGlmLWVsc2UtaWYtZWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJpZnt9O2Vsc2UgaWZ7fTtlbHNle30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: if-else-if-else","path":"TestCases/ch12/12.1/12.1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMS8xMi4xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiAxMi4xIC0gYmxvY2sgJ3sgU3RhdGVtZW50TGlzdG9wdCB9OycgaXMgbm90IGFsbG93ZWQ6IGRvLXdoaWxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImRve307d2hpbGUoKSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"12.1 - block '{ StatementListopt };' is not allowed: do-while","path":"TestCases/ch12/12.1/12.1-7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBTdGF0ZW1lbnRMaXN0ICBTdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3MKICogMS4gRXZhbHVhdGUgU3RhdGVtZW50LgogKiAyLiBJZiBhbiBleGNlcHRpb24gd2FzIHRocm93biwgcmV0dXJuICh0aHJvdywgViwgZW1wdHkpIHdoZXJlIFYgaXMgdGhlIGV4Y2VwdGlvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRocm93aW5nIGV4Y2VwdGlvbiB3aXRoaW4gYSBCbG9jawogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXgoKTsKCSRFUlJPUignIzE6ICJ4KCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCSRQUklOVChlLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnkgewogICAgdGhyb3cgImNhdGNobWUiOwkKICAgICRFUlJPUignIzI6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PSJjYXRjaG1lIikgewoJCSRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSAiY2F0Y2htZSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwoJfQp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production StatementList Statement is evaluated as follows\n1. Evaluate Statement.\n2. If an exception was thrown, return (throw, V, empty) where V is the exception","description":"Throwing exception within a Block","path":"TestCases/ch12/12.1/S12.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBCbG9jayBjYW4ndCBiZSBpbnNpZGUgb2YgZXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieT17X19mdW5jfSgpIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp5PXtfX2Z1bmN9KCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The production Block can't be inside of expression","description":"Checking if execution of \"y={__func}()\" fails","negative":"","path":"TestCases/ch12/12.1/S12.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBCbG9jayBjYW4ndCBiZSBpbnNpZGUgb2YgZXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEvUzEyLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieT17eH0iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCng9MTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKeT17eH07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The production Block can't be inside of expression","description":"Checking if execution of \"y={x}\" fails","negative":"","path":"TestCases/ch12/12.1/S12.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGF0ZW1lbnRMaXN0OiBTdGF0ZW1lbnRMaXN0IFN0YXRlbWVudCBpbnNpZGUgdGhlIEJsb2NrIGlzIGV2YWx1YXRlZCBmcm9tIGxlZnQgdG8gcmlnaHQKICoKICogQHBhdGggY2gxMi8xMi4xL1MxMi4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaHJvd2luZyBleGNlcHRpb25zIHdpdGhpbiBlbWJlZGRlZC9zZXF1ZW5jZSBCbG9ja3MKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl0aHJvdyAxOwogICAgdGhyb3cgMjsKICAgIHRocm93IDM7CiAgICAkRVJST1IoJzEuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMxLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7Cgl7CgkgICAgdGhyb3cgMTsKICAgICAgICB0aHJvdyAyOwogICAgfQogICAgdGhyb3cgMzsKICAgICRFUlJPUignIzIuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cgl0aHJvdyAxOwogICAgewogICAgICAgIHRocm93IDI7CiAgICAgICAgdGhyb3cgMzsKICAgIH0KICAgICRFUlJPUignIzMuMTogdGhyb3cgMSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSE9PTEpIHsKCQkkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiA9PT0gMS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwoJfQp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"StatementList: StatementList Statement inside the Block is evaluated from left to right","description":"Throwing exceptions within embedded/sequence Blocks","path":"TestCases/ch12/12.1/S12.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBkb2VzIG5vdCBjaGFuZ2UgZGVjbGFyYXRpb24gc2NvcGUgLSB2YXJzIGluIHdpdGggYXJlIHZpc2libGUgb3V0c2lkZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIHZhciBmID0gZnVuY3Rpb24gKCkgew0KCS8qIGNhcHR1cmUgZm9vIGJpbmRpbmcgYmVmb3JlIGV4ZWN1dGluZyB3aXRoICovDQoJcmV0dXJuIGZvbzsNCiAgICAgIH0NCg0KICB3aXRoIChvKSB7DQogICAgdmFyIGZvbyA9ICIxMi4xMC0wLTEiOw0KICB9DQoNCiAgcmV0dXJuIGYoKT09PSIxMi4xMC0wLTEiDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with does not change declaration scope - vars in with are visible outside","path":"TestCases/ch12/12.10/12.10-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGZ1bmN0aW9uIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGYobykgew0KDQogICAgZnVuY3Rpb24gaW5uZXJmKG8sIHgpIHsNCiAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvLCA0Mik7DQogIH0NCiAgDQogIGlmIChmKHt9KSA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with introduces scope - name lookup finds function parameter","path":"TestCases/ch12/12.10/12.10-0-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIGlubmVyIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgdmFyIHggPSA0MjsNCg0KICAgICAgd2l0aCAobykgew0KICAgICAgICByZXR1cm4geDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7fSkgPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with introduces scope - name lookup finds inner variable","path":"TestCases/ch12/12.10/12.10-0-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggaW50cm9kdWNlcyBzY29wZSAtIG5hbWUgbG9va3VwIGZpbmRzIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgd2l0aCAobykgew0KICAgICAgICByZXR1cm4geDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7eDo0Mn0pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - name lookup finds property","path":"TestCases/ch12/12.10/12.10-0-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdGhhdCBpcyBjYXB0dXJlZCBieSBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7cHJvcDogIjEyLjEwLTAtMyBiZWZvcmUifTsNCiAgdmFyIGY7DQoNCiAgd2l0aCAobykgew0KICAgIGYgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9wOyB9DQogIH0NCiAgby5wcm9wID0gIjEyLjEwLTAtMyBhZnRlciI7DQogIHJldHVybiBmKCk9PT0iMTIuMTAtMC0zIGFmdGVyIg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with introduces scope - that is captured by function expression","path":"TestCases/ch12/12.10/12.10-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC03LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgd2l0aCBzdGF0ZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHtmb286IDF9Ow0KDQogIHdpdGggKG8pIHsNCiAgICBmb28gPSA0MjsNCiAgfQ0KDQogIHRyeSB7DQogICAgZm9vOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - scope removed when exiting with statement","path":"TestCases/ch12/12.10/12.10-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC04LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIHNldHMgbGlrZSBuYW1lZCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge2ZvbzogNDJ9Ow0KDQogIHdpdGggKG8pIHsNCiAgICB2YXIgZm9vID0gInNldCBpbiB3aXRoIjsNCiAgfQ0KDQogIHJldHVybiBvLmZvbyA9PT0gInNldCBpbiB3aXRoIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with introduces scope - var initializer sets like named property","path":"TestCases/ch12/12.10/12.10-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMC05LmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgb3V0ZXIgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCiAgICB2YXIgeCA9IDQyOw0KDQogICAgZnVuY3Rpb24gaW5uZXJmKG8pIHsNCiAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvKTsNCiAgfQ0KICANCiAgaWYgKGYoe30pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - name lookup finds outer variable","path":"TestCases/ch12/12.10/12.10-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgTnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSAyOw0KICB2YXIgZm9vID0gMTsNCiAgdHJ5DQogIHsNCiAgICB3aXRoIChvKSB7DQogICAgICBmb28gPSA0MjsNCiAgICB9DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogIHJldHVybiB0cnVlOw0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with - expression being Number","path":"TestCases/ch12/12.10/12.10-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgQm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gdHJ1ZTsNCiAgdmFyIGZvbyA9IDE7DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgZm9vID0gNDI7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KICByZXR1cm4gdHJ1ZTsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with - expression being Boolean","path":"TestCases/ch12/12.10/12.10-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCAtIGV4cHJlc3Npb24gYmVpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSAic3RyIjsNCiAgdmFyIGZvbyA9IDE7DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgZm9vID0gNDI7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KICByZXR1cm4gdHJ1ZTsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with - expression being string","path":"TestCases/ch12/12.10/12.10-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAtNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gd2l0aCBpbnRyb2R1Y2VzIHNjb3BlIC0gcmVzdG9yZXMgdGhlIGVhcmxpZXIgZW52aXJvbm1lbnQgb24gZXhpdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gMTsNCg0KICB2YXIgbyA9IHthIDogMn07DQogIHRyeQ0KICB7DQogICAgd2l0aCAobykgew0KICAgICAgYSA9IDM7DQogICAgICB0aHJvdyAxOw0KICAgICAgYSA9IDQ7DQogICAgfQ0KICB9DQogIGNhdGNoKGUpDQogIHt9DQoNCiAgaWYgKGEgPT09IDEgJiYgby5hID09PSAzKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with introduces scope - restores the earlier environment on exit","path":"TestCases/ch12/12.10/12.10-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpbnRlcmF0aW9uIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGRvewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KICB3aGlsZShmYWxzZSk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using interation statement within \"with\" statement leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB3aXRoKG15T2JqKXsKICAgIGRvewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgd2hpbGUoZmFsc2UpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gIng0IikpewogICRFUlJPUignIzQ6IHA0ID09PSAieDQiLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement within \"with\" statement leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdG1lbnQgd2l0aGluZyAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogaXRlcmF0aW9uIHN0YXRlbWVudCBpbnNpZGUgd2l0aCBzdGF0ZW1lbnQgLSBleGNlcHRpb24gY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgZG97CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgICB3aGlsZShmYWxzZSk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statment withing \"with\" statement leading to completion by exception\niteration statement inside with statement - exception completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdHRoaW4gIndpdGgiIHN0YWVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBpdGVyYXRpb24gc3RhdGVtZW50IGluc2lkZSB3aXRoIHN0YXRlbWVudCAtIGJyZWFrIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKd2l0aChteU9iail7CiAgZG97CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9CiAgd2hpbGUoZmFsc2UpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement witthin \"with\" staement leading to completion by break\niteration statement inside with statement - break completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEwX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50IGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBkb3sKICAgIGJyZWFrOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KICB3aGlsZShmYWxzZSk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzQ6IHA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using iteration statement within \"with\" statement leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7Cn0KCndpdGgobXlPYmopewogIGYoKTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKdHJ5ewogIHAzOwogICRFUlJPUignIzM6IHAzIGlzIG5vZCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBzdF9wYXJzZUludCA9PT0gcGFyc2VJbnQuIEFjdHVhbDogIHN0X3BhcnNlSW50ID09PScrIHN0X3BhcnNlSW50ICApOwp9CgppZighaXNOYU4oc3RfTmFOKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gTmFOLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gZXZhbC4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdC4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSBpc05hTikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gaXNOYU4uIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gaXNGaW5pdGUuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgcmV0dXJuIHZhbHVlOwp9Cgp3aXRoKG15T2JqKXsKICByZXN1bHQgPSBmKCk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09ICJ4MSIuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9Cgp0cnl7CiAgcDM7CiAgJEVSUk9SKCcjMzogcDMgaXMgbm9kIGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IHN0X3BhcnNlSW50ID09PSBwYXJzZUludC4gQWN0dWFsOiAgc3RfcGFyc2VJbnQgPT09Jysgc3RfcGFyc2VJbnQgICk7Cn0KCmlmKCFpc05hTihzdF9OYU4pKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSBOYU4uIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gZXZhbCkpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSBldmFsLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSBwYXJzZUZsb2F0LiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSBpc05hTi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZS4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICByZXR1cm4gdmFsdWU7CiAgc3RfcDEgPSBwMTsKICBzdF9wMiA9IHAyOwogIHN0X3AzID0gcDM7CiAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICBzdF9OYU4gPSBOYU47CiAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICBzdF9ldmFsID0gZXZhbDsKICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICBzdF9pc05hTiA9IGlzTmFOOwogIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgcDEgPSAneDEnOwogIHRoaXMucDIgPSAneDInOwogIGRlbCA9IGRlbGV0ZSBwMzsKICB2YXIgcDQgPSAneDQnOwogIHA1ID0gJ3g1JzsKICB2YXIgdmFsdWUgPSAndmFsdWUnOwp9Cgp3aXRoKG15T2JqKXsKICByZXN1bHQgPSBmKCk7Cn0KCmlmKCEocmVzdWx0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5ewogIHA0OwogICRFUlJPUignIzQ6IHA0IGRvZXNuXCd0IGV4aXN0cycpOwp9CmNhdGNoKGUpewp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgdGhyb3cgdmFsdWU7CiAgfQogIHdpdGgobXlPYmopewogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKdHJ5ewogIHAzOwogICRFUlJPUignIzM6IHAzIGlzIG5vZCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBzdF9wYXJzZUludCA9PT0gcGFyc2VJbnQuIEFjdHVhbDogIHN0X3BhcnNlSW50ID09PScrIHN0X3BhcnNlSW50ICApOwp9CgppZighaXNOYU4oc3RfTmFOKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gTmFOLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gZXZhbC4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gcGFyc2VGbG9hdC4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSBpc05hTikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gaXNOYU4uIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gaXNGaW5pdGUuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgdGhyb3cgdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHdpdGgobXlPYmopewogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeXsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBkb2VzblwndCBleGlzdHMnKTsKfQpjYXRjaChlKXsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnkgewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.11_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KZigpOwoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5ewogIHA0OwogICRFUlJPUignIzQ6IHA0IGRvZXNuXCd0IGV4aXN0cycpOwp9CmNhdGNoKGUpewp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeSB7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeXsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBkb2VzblwndCBleGlzdHMnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHJldHVybiB2YWx1ZTsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9CgoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgd2l0aChteU9iail7CiAgICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5IHsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjEyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgd2l0aChteU9iail7CiAgICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.12_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBzdF9wMSA9IHAxOwogIHN0X3AyID0gcDI7CiAgc3RfcDMgPSBwMzsKICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogIHN0X05hTiA9IE5hTjsKICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogIHN0X2V2YWwgPSBldmFsOwogIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogIHN0X2lzTmFOID0gaXNOYU47CiAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICBwMSA9ICd4MSc7CiAgdGhpcy5wMiA9ICd4Mic7CiAgZGVsID0gZGVsZXRlIHAzOwogIHZhciBwNCA9ICd4NCc7CiAgcDUgPSAneDUnOwogIHZhciB2YWx1ZSA9ICd2YWx1ZSc7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgdGhyb3cgdmFsdWU7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBpbnNpZGUgb2YgZ2xvYmFsIGNvbnRleHQgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdGhyb3cgdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" inside of global context leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KZigpOwoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnZhciBmID0gZnVuY3Rpb24oKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB2YWx1ZTsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KcmVzdWx0ID0gZigpOwoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgd2l0aChteU9iail7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRob3V0ICJ3aXRoIiBzdGF0ZW1lbnQgd2hlbiB0aGUgc3RhdGVtZW50IGl0c2VsZiBpcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCnRyeSB7CiAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgd2l0aChteU9iail7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQogIGYoKTsKfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function without \"with\" statement when the statement itself is declared within the function declaration, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgcmV0dXJuIHZhbHVlOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdmFyIGYgPSBmdW5jdGlvbigpewogIHdpdGgobXlPYmopewogICAgcmV0dXJuIHZhbHVlOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp2YXIgb2JqID0gbmV3IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to normal completition by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpdGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgICB0aHJvdyB2YWx1ZTsKICAgIH0KICB9CiAgdmFyIG9iaiA9IG5ldyBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to completition by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjNfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpdGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgdGhyb3cgdmFsdWU7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIH0KICB9CiAgdmFyIG9iaiA9IG5ldyBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within function constructor, leading to completition by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKZG97CiAgd2l0aChteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CndoaWxlKGZhbHNlKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICBkb3sKICAgIHdpdGgobXlPYmopewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogIH0KICB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7CnRoaXMucDIgPSAyOwp0aGlzLnAzID0gMzsKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwp2YXIgbXlPYmogPSB7cDE6ICdhJywgCiAgICAgICAgICAgICBwMjogJ2InLCAKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CnZhciBkZWw7CnZhciBzdF9wMSA9ICJwMSI7CnZhciBzdF9wMiA9ICJwMiI7CnZhciBzdF9wMyA9ICJwMyI7CnZhciBzdF9wYXJzZUludCA9ICJwYXJzZUludCI7CnZhciBzdF9OYU4gPSAiTmFOIjsKdmFyIHN0X0luZmluaXR5ID0gIkluZmluaXR5IjsKdmFyIHN0X2V2YWwgPSAiZXZhbCI7CnZhciBzdF9wYXJzZUZsb2F0ID0gInBhcnNlRmxvYXQiOwp2YXIgc3RfaXNOYU4gPSAiaXNOYU4iOwp2YXIgc3RfaXNGaW5pdGUgPSAiaXNGaW5pdGUiOwoKdHJ5IHsKICBkb3sKICAgIHdpdGgobXlPYmopewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogIH0KICB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzQ6IHA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpkb3sKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgIGJyZWFrOwogIH0KfQp3aGlsZShmYWxzZSk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpkb3sKICB3aXRoKG15T2JqKXsKICAgIGJyZWFrOwogICAgc3RfcDEgPSBwMTsKICAgIHN0X3AyID0gcDI7CiAgICBzdF9wMyA9IHAzOwogICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIHN0X05hTiA9IE5hTjsKICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBzdF9ldmFsID0gZXZhbDsKICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgc3RfaXNOYU4gPSBpc05hTjsKICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICBwMSA9ICd4MSc7CiAgICB0aGlzLnAyID0gJ3gyJzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQp3aGlsZShmYWxzZSk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT11bmRlZmluZWQuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgpmb3IodmFyIHByb3AgaW4gbXlPYmopewogIHdpdGgobXlPYmopewogICAgaWYocHJvcCA9PT0gJ3AxJykgewogICAgICBzdF9wMSA9IHAxOwogICAgICBwMSA9ICd4MSc7CiAgICB9CiAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AzJykgewogICAgICBzdF9wMyA9IHAzOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB9CiAgICBpZihwcm9wID09PSAncGFyc2VJbnQnKSBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgIGlmKHByb3AgPT09ICdJbmZpbml0eScpIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBpZihwcm9wID09PSAnZXZhbCcpIHN0X2V2YWwgPSBldmFsOwogICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIGlmKHByb3AgPT09ICdpc05hTicpIHN0X2lzTmFOID0gaXNOYU47CiAgICBpZihwcm9wID09PSAnaXNGaW5pdGUnKSBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgICB0aHJvdyB2YWx1ZTsKICAgIH0KICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgdGhyb3cgdmFsdWU7CiAgICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgICBzdF9wMSA9IHAxOwogICAgICAgIHAxID0gJ3gxJzsKICAgICAgfQogICAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgICAgc3RfcDIgPSBwMjsKICAgICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgfQogICAgICBpZihwcm9wID09PSAncDMnKSB7CiAgICAgICAgc3RfcDMgPSBwMzsKICAgICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIH0KICAgICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgICAgaWYocHJvcCA9PT0gJ0luZmluaXR5Jykgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgaWYocHJvcCA9PT0gJ2lzTmFOJykgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgd2l0aChteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgcDEgPSAneDEnOwogICAgc3RfcDIgPSBwMjsKICAgIHRoaXMucDIgPSAneDInOwogICAgc3RfcDMgPSBwMzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjVfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgd2l0aChteU9iail7CiAgICBicmVhazsKICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AyJykgewogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgIH0KICAgIGlmKHByb3AgPT09ICdwMycpIHsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIGlmKHByb3AgPT09ICdOYU4nKSBzdF9OYU4gPSBOYU47CiAgICBpZihwcm9wID09PSAnSW5maW5pdHknKSBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgIGlmKHByb3AgPT09ICdwYXJzZUZsb2F0Jykgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBpZihwcm9wID09PSAnaXNOYU4nKSBzdF9pc05hTiA9IGlzTmFOOwogICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB3aXRoKG15T2JqKXsKICAgIHN0X3AxID0gcDE7CiAgICBzdF9wMiA9IHAyOwogICAgc3RfcDMgPSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgcDEgPSAneDEnOwogICAgdGhpcy5wMiA9ICd4Mic7CiAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB2YXIgcDQgPSAneDQnOwogICAgcDUgPSAneDUnOwogICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgd2l0aChteU9iail7CiAgICAgIHN0X3AxID0gcDE7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHN0X3AzID0gcDM7CiAgICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICAgIHN0X05hTiA9IE5hTjsKICAgICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgICAgc3RfZXZhbCA9IGV2YWw7CiAgICAgIHN0X3BhcnNlRmxvYXQgPSBwYXJzZUZsb2F0OwogICAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgICBwMSA9ICd4MSc7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICAgIHZhciBwNCA9ICd4NCc7CiAgICAgIHA1ID0gJ3g1JzsKICAgICAgdmFyIHZhbHVlID0gJ3ZhbHVlJzsKICAgICAgdGhyb3cgdmFsdWU7CiAgICB9CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgd2l0aChteU9iail7CiAgICAgIHRocm93IHZhbHVlOwogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICB9CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBwNCA9PT0nKyBwNCAgKTsKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9CgppZighKHZhbHVlID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxODogdmFsdWUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgdmFsdWUgPT09JysgdmFsdWUgICk7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIGYoKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICByZXR1cm4gdmFsdWU7CiAgfQogIHJlc3VsdCA9IGYoKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHJlc3VsdCA9IGYoKTsKfQoKaWYoIShyZXN1bHQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gInZhbHVlIikpewogICRFUlJPUignIzA6IHJlc3VsdCA9PT0gInZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gIngyIikpewogICRFUlJPUignIzI6IHAyID09PSAieDIiLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjdfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgYSBmdW5jdGlvbiB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCBkZWNsYXJlZCB3aXRoaW4gdGhlIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogICAgZigpOwogIH0KfSBjYXRjaChlKXsKICByZXN1bHQgPSBlOwp9CgppZighKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09IDIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gMi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9Cgp0cnkgewogIHA1OwogICRFUlJPUignIzU6IHA1IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSAiYyIpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gImMiLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCA9PT0gInBhcnNlSW50IikpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCA9PT0gInBhcnNlSW50Ii4gQWN0dWFsOiAgbXlPYmoucGFyc2VJbnQgPT09JysgbXlPYmoucGFyc2VJbnQgICk7Cn0KCmlmKCEoc3RfTmFOID09PSAiTmFOIikpewogICRFUlJPUignIzEyOiBzdF9OYU4gPT09ICJOYU4iLiBBY3R1YWw6ICBzdF9OYU4gPT09Jysgc3RfTmFOICApOwp9CgppZighKHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiKSl7CiAgJEVSUk9SKCcjMTM6IHN0X0luZmluaXR5ID09PSAiSW5maW5pdHkiLiBBY3R1YWw6ICBzdF9JbmZpbml0eSA9PT0nKyBzdF9JbmZpbml0eSAgKTsKfQoKaWYoIShzdF9ldmFsID09PSAiZXZhbCIpKXsKICAkRVJST1IoJyMxNDogc3RfZXZhbCA9PT0gImV2YWwiLiBBY3R1YWw6ICBzdF9ldmFsID09PScrIHN0X2V2YWwgICk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiKSl7CiAgJEVSUk9SKCcjMTU6IHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0Ii4gQWN0dWFsOiAgc3RfcGFyc2VGbG9hdCA9PT0nKyBzdF9wYXJzZUZsb2F0ICApOwp9CgppZighKHN0X2lzTmFOID09PSAiaXNOYU4iKSl7CiAgJEVSUk9SKCcjMTY6IHN0X2lzTmFOID09PSAiaXNOYU4iLiBBY3R1YWw6ICBzdF9pc05hTiA9PT0nKyBzdF9pc05hTiAgKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIikpewogICRFUlJPUignIzE3OiBzdF9pc0Zpbml0ZSA9PT0gImlzRmluaXRlIi4gQWN0dWFsOiAgc3RfaXNGaW5pdGUgPT09Jysgc3RfaXNGaW5pdGUgICk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Calling a function within \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKaWYoIShwNSA9PT0gIng1IikpewogICRFUlJPUignIzU6IHA1ID09PSAieDUiLiBBY3R1YWw6ICBwNSA9PT0nKyBwNSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ICE9PSBwYXJzZUludCkpewogICRFUlJPUignIzExOiBteU9iai5wYXJzZUludCAhPT0gcGFyc2VJbnQnKTsKfQoKaWYoIShzdF9OYU4gPT09ICJvYmpfTmFOIikpewogICRFUlJPUignIzEyOiBteU9iai5OYU4gIT09IE5hTicpOwp9CgppZighKHN0X0luZmluaXR5ICE9PSBJbmZpbml0eSkpewogICRFUlJPUignIzEzOiBteU9iai5JbmZpbml0eSAhPT0gSW5maW5pdHknKTsKfQoKaWYoIShzdF9ldmFsICE9PSBldmFsKSl7CiAgJEVSUk9SKCcjMTQ6IG15T2JqLmV2YWwgIT09IGV2YWwnKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0KSl7CiAgJEVSUk9SKCcjMTU6IG15T2JqLnBhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQnKTsKfQoKaWYoIShzdF9pc05hTiAhPT0gaXNOYU4pKXsKICAkRVJST1IoJyMxNjogbXlPYmouaXNOYU4gIT09IGlzTmFOJyk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgIT09IGlzRmluaXRlKSl7CiAgJEVSUk9SKCcjMTc6IG15T2JqLmlzRmluaXRlICE9PSBpc0Zpbml0ZScpOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICByZXR1cm4gdmFsdWU7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBzdF9wMSA9IHAxOwogICAgc3RfcDIgPSBwMjsKICAgIHN0X3AzID0gcDM7CiAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgc3RfTmFOID0gTmFOOwogICAgc3RfSW5maW5pdHkgPSBJbmZpbml0eTsKICAgIHN0X2V2YWwgPSBldmFsOwogICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBzdF9pc05hTiA9IGlzTmFOOwogICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHAxID0gJ3gxJzsKICAgIHRoaXMucDIgPSAneDInOwogICAgZGVsID0gZGVsZXRlIHAzOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQogIHZhciBvYmogPSBuZXcgZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9Cgp0cnkgewogIHA0OwogICRFUlJPUignIzQ6IHA0IGlzIG5vdCBkZWZpbmVkJyk7Cn0gY2F0Y2goZSkgeyAgICAKfQoKdHJ5IHsKICBwNTsKICAkRVJST1IoJyM1OiBwNSBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzY6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gImMiKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09ICJjIi4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgPT09ICJwYXJzZUludCIpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgPT09ICJwYXJzZUludCIuIEFjdHVhbDogIG15T2JqLnBhcnNlSW50ID09PScrIG15T2JqLnBhcnNlSW50ICApOwp9CgppZighKHN0X05hTiA9PT0gIk5hTiIpKXsKICAkRVJST1IoJyMxMjogc3RfTmFOID09PSAiTmFOIi4gQWN0dWFsOiAgc3RfTmFOID09PScrIHN0X05hTiAgKTsKfQoKaWYoIShzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5IikpewogICRFUlJPUignIzEzOiBzdF9JbmZpbml0eSA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiAgc3RfSW5maW5pdHkgPT09Jysgc3RfSW5maW5pdHkgICk7Cn0KCmlmKCEoc3RfZXZhbCA9PT0gImV2YWwiKSl7CiAgJEVSUk9SKCcjMTQ6IHN0X2V2YWwgPT09ICJldmFsIi4gQWN0dWFsOiAgc3RfZXZhbCA9PT0nKyBzdF9ldmFsICApOwp9CgppZighKHN0X3BhcnNlRmxvYXQgPT09ICJwYXJzZUZsb2F0IikpewogICRFUlJPUignIzE1OiBzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIuIEFjdHVhbDogIHN0X3BhcnNlRmxvYXQgPT09Jysgc3RfcGFyc2VGbG9hdCAgKTsKfQoKaWYoIShzdF9pc05hTiA9PT0gImlzTmFOIikpewogICRFUlJPUignIzE2OiBzdF9pc05hTiA9PT0gImlzTmFOIi4gQWN0dWFsOiAgc3RfaXNOYU4gPT09Jysgc3RfaXNOYU4gICk7Cn0KCmlmKCEoc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIpKXsKICAkRVJST1IoJyMxNzogc3RfaXNGaW5pdGUgPT09ICJpc0Zpbml0ZSIuIEFjdHVhbDogIHN0X2lzRmluaXRlID09PScrIHN0X2lzRmluaXRlICApOwp9Cgp0cnl7CiAgdmFsdWU7CiAgJEVSUk9SKCcjMTg6IHZhbHVlIGlzIG5vdCBkZWZpbmVkJyk7Cn0KY2F0Y2goZSl7Cn0KCmlmKCEobXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMxOTogbXlPYmoudmFsdWUgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIG15T2JqLnZhbHVlID09PScrIG15T2JqLnZhbHVlICApOwp9Cgo=","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBzdF9wMSA9IHAxOwogICAgICBzdF9wMiA9IHAyOwogICAgICBzdF9wMyA9IHAzOwogICAgICBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgICBzdF9OYU4gPSBOYU47CiAgICAgIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICAgIHN0X2V2YWwgPSBldmFsOwogICAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgICAgc3RfaXNOYU4gPSBpc05hTjsKICAgICAgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgICAgcDEgPSAneDEnOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgICB2YXIgcDQgPSAneDQnOwogICAgICBwNSA9ICd4NSc7CiAgICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBmKCk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMDogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAyKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09IDIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CnRyeSB7CiAgcDQ7CiAgJEVSUk9SKCcjNDogcDQgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCnRyeXsKICB2YWx1ZTsKICAkRVJST1IoJyMxODogdmFsdWUgaXMgbm90IGRlZmluZWQnKTsKfQpjYXRjaChlKXsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjhfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgc3RfcDIgPSBwMjsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgICAgc3RfTmFOID0gTmFOOwogICAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgICBzdF9ldmFsID0gZXZhbDsKICAgICAgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICAgIHN0X2lzRmluaXRlID0gaXNGaW5pdGU7CiAgICAgIHAxID0gJ3gxJzsKICAgICAgdGhpcy5wMiA9ICd4Mic7CiAgICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgICAgdmFyIHA0ID0gJ3g0JzsKICAgICAgcDUgPSAneDUnOwogICAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBmKCk7CiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IGU7Cn0KCmlmKCEocmVzdWx0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMwOiByZXN1bHQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKdHJ5IHsKICBwNDsKICAkRVJST1IoJyM0OiBwNCBpcyBub3QgZGVmaW5lZCcpOwp9IGNhdGNoKGUpIHsgICAgCn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKdHJ5ewogIHZhbHVlOwogICRFUlJPUignIzE4OiB2YWx1ZSBpcyBub3QgZGVmaW5lZCcpOwp9CmNhdGNoKGUpewp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKdGhpcy5wMiA9IDI7CnRoaXMucDMgPSAzOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHAyOiAnYicsIAogICAgICAgICAgICAgcDM6ICdjJywKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fSwKICAgICAgICAgICAgIHBhcnNlSW50IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUludCc7fSwKICAgICAgICAgICAgIE5hTiA6ICdvYmpfTmFOJywKICAgICAgICAgICAgIEluZmluaXR5IDogJ29ial9JbmZpbml0eScsCiAgICAgICAgICAgICBldmFsICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfZXZhbCc7fSwKICAgICAgICAgICAgIHBhcnNlRmxvYXQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlRmxvYXQnO30sCiAgICAgICAgICAgICBpc05hTiAgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc05hTic7fSwKICAgICAgICAgICAgIGlzRmluaXRlICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzRmluaXRlJzt9Cn0KdmFyIGRlbDsKdmFyIHN0X3AxID0gInAxIjsKdmFyIHN0X3AyID0gInAyIjsKdmFyIHN0X3AzID0gInAzIjsKdmFyIHN0X3BhcnNlSW50ID0gInBhcnNlSW50IjsKdmFyIHN0X05hTiA9ICJOYU4iOwp2YXIgc3RfSW5maW5pdHkgPSAiSW5maW5pdHkiOwp2YXIgc3RfZXZhbCA9ICJldmFsIjsKdmFyIHN0X3BhcnNlRmxvYXQgPSAicGFyc2VGbG9hdCI7CnZhciBzdF9pc05hTiA9ICJpc05hTiI7CnZhciBzdF9pc0Zpbml0ZSA9ICJpc0Zpbml0ZSI7Cgp3aXRoKG15T2JqKXsKICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgaWYocHJvcCA9PT0gJ3AxJykgewogICAgICBzdF9wMSA9IHAxOwogICAgICBwMSA9ICd4MSc7CiAgICB9CiAgICBpZihwcm9wID09PSAncDInKSB7CiAgICAgIHN0X3AyID0gcDI7CiAgICAgIHRoaXMucDIgPSAneDInOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AzJykgewogICAgICBzdF9wMyA9IHAzOwogICAgICBkZWwgPSBkZWxldGUgcDM7CiAgICB9CiAgICBpZihwcm9wID09PSAncGFyc2VJbnQnKSBzdF9wYXJzZUludCA9IHBhcnNlSW50OwogICAgaWYocHJvcCA9PT0gJ05hTicpIHN0X05hTiA9IE5hTjsKICAgIGlmKHByb3AgPT09ICdJbmZpbml0eScpIHN0X0luZmluaXR5ID0gSW5maW5pdHk7CiAgICBpZihwcm9wID09PSAnZXZhbCcpIHN0X2V2YWwgPSBldmFsOwogICAgaWYocHJvcCA9PT0gJ3BhcnNlRmxvYXQnKSBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIGlmKHByb3AgPT09ICdpc05hTicpIHN0X2lzTmFOID0gaXNOYU47CiAgICBpZihwcm9wID09PSAnaXNGaW5pdGUnKSBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgfQp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKHAyID09PSAieDIiKSl7CiAgJEVSUk9SKCcjMjogcDIgPT09ICJ4MiIuIEFjdHVhbDogIHAyID09PScrIHAyICApOwp9CgppZighKHAzID09PSAzKSl7CiAgJEVSUk9SKCcjMzogcDMgPT09IDMuIEFjdHVhbDogIHAzID09PScrIHAzICApOwp9CgppZighKHA0ID09PSAieDQiKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09ICJ4NCIuIEFjdHVhbDogIHA0ID09PScrIHA0ICApOwp9CgppZighKHA1ID09PSAieDUiKSl7CiAgJEVSUk9SKCcjNTogcDUgPT09ICJ4NSIuIEFjdHVhbDogIHA1ID09PScrIHA1ICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjNjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKG15T2JqLnAyID09PSAiYiIpKXsKICAkRVJST1IoJyM3OiBteU9iai5wMiA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMiA9PT0nKyBteU9iai5wMiAgKTsKfQoKaWYoIShteU9iai5wMyA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjODogbXlPYmoucDMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDMgPT09JysgbXlPYmoucDMgICk7Cn0KCmlmKCEobXlPYmoucDQgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzk6IG15T2JqLnA0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA0ID09PScrIG15T2JqLnA0ICApOwp9CgppZighKG15T2JqLnA1ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyMxMDogbXlPYmoucDUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDUgPT09JysgbXlPYmoucDUgICk7Cn0KCmlmKCEoc3RfcGFyc2VJbnQgIT09IHBhcnNlSW50KSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ICE9PSBwYXJzZUludCcpOwp9CgppZighKHN0X05hTiA9PT0gIm9ial9OYU4iKSl7CiAgJEVSUk9SKCcjMTI6IG15T2JqLk5hTiAhPT0gTmFOJyk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgIT09IEluZmluaXR5KSl7CiAgJEVSUk9SKCcjMTM6IG15T2JqLkluZmluaXR5ICE9PSBJbmZpbml0eScpOwp9CgppZighKHN0X2V2YWwgIT09IGV2YWwpKXsKICAkRVJST1IoJyMxNDogbXlPYmouZXZhbCAhPT0gZXZhbCcpOwp9CgppZighKHN0X3BhcnNlRmxvYXQgIT09IHBhcnNlRmxvYXQpKXsKICAkRVJST1IoJyMxNTogbXlPYmoucGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCcpOwp9CgppZighKHN0X2lzTmFOICE9PSBpc05hTikpewogICRFUlJPUignIzE2OiBteU9iai5pc05hTiAhPT0gaXNOYU4nKTsKfQoKaWYoIShzdF9pc0Zpbml0ZSAhPT0gaXNGaW5pdGUpKXsKICAkRVJST1IoJyMxNzogbXlPYmouaXNGaW5pdGUgIT09IGlzRmluaXRlJyk7Cn0KCmlmKCEodmFsdWUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE4OiB2YWx1ZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICB2YWx1ZSA9PT0nKyB2YWx1ZSAgKTsKfQoKaWYoIShteU9iai52YWx1ZSA9PT0gInZhbHVlIikpewogICRFUlJPUignIzE5OiBteU9iai52YWx1ZSA9PT0gInZhbHVlIi4gQWN0dWFsOiAgbXlPYmoudmFsdWUgPT09JysgbXlPYmoudmFsdWUgICk7Cn0KCg==","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICBzdF9wMSA9IHAxOwogICAgcDEgPSAneDEnOwogICAgc3RfcDIgPSBwMjsKICAgIHRoaXMucDIgPSAneDInOwogICAgc3RfcDMgPSBwMzsKICAgIGRlbCA9IGRlbGV0ZSBwMzsKICAgIHN0X3BhcnNlSW50ID0gcGFyc2VJbnQ7CiAgICBzdF9OYU4gPSBOYU47CiAgICBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgc3RfZXZhbCA9IGV2YWw7CiAgICBzdF9wYXJzZUZsb2F0ID0gcGFyc2VGbG9hdDsKICAgIHN0X2lzTmFOID0gaXNOYU47CiAgICBzdF9pc0Zpbml0ZSA9IGlzRmluaXRlOwogICAgdmFyIHA0ID0gJ3g0JzsKICAgIHA1ID0gJ3g1JzsKICAgIHZhciB2YWx1ZSA9ICd2YWx1ZSc7CiAgICBicmVhazsKICB9Cn0KCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEocDIgPT09ICJ4MiIpKXsKICAkRVJST1IoJyMyOiBwMiA9PT0gIngyIi4gQWN0dWFsOiAgcDIgPT09JysgcDIgICk7Cn0KCmlmKCEocDMgPT09IDMpKXsKICAkRVJST1IoJyMzOiBwMyA9PT0gMy4gQWN0dWFsOiAgcDMgPT09JysgcDMgICk7Cn0KCmlmKCEocDQgPT09ICJ4NCIpKXsKICAkRVJST1IoJyM0OiBwNCA9PT0gIng0Ii4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCmlmKCEocDUgPT09ICJ4NSIpKXsKICAkRVJST1IoJyM1OiBwNSA9PT0gIng1Ii4gQWN0dWFsOiAgcDUgPT09JysgcDUgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEobXlPYmoucDIgPT09ICJiIikpewogICRFUlJPUignIzc6IG15T2JqLnAyID09PSAiYiIuIEFjdHVhbDogIG15T2JqLnAyID09PScrIG15T2JqLnAyICApOwp9CgppZighKG15T2JqLnAzID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM4OiBteU9iai5wMyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wMyA9PT0nKyBteU9iai5wMyAgKTsKfQoKaWYoIShteU9iai5wNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjOTogbXlPYmoucDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlPYmoucDQgPT09JysgbXlPYmoucDQgICk7Cn0KCmlmKCEobXlPYmoucDUgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzEwOiBteU9iai5wNSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNSA9PT0nKyBteU9iai5wNSAgKTsKfQoKaWYoIShzdF9wYXJzZUludCAhPT0gcGFyc2VJbnQpKXsKICAkRVJST1IoJyMxMTogbXlPYmoucGFyc2VJbnQgIT09IHBhcnNlSW50Jyk7Cn0KCmlmKCEoc3RfTmFOID09PSAib2JqX05hTiIpKXsKICAkRVJST1IoJyMxMjogbXlPYmouTmFOICE9PSBOYU4nKTsKfQoKaWYoIShzdF9JbmZpbml0eSAhPT0gSW5maW5pdHkpKXsKICAkRVJST1IoJyMxMzogbXlPYmouSW5maW5pdHkgIT09IEluZmluaXR5Jyk7Cn0KCmlmKCEoc3RfZXZhbCAhPT0gZXZhbCkpewogICRFUlJPUignIzE0OiBteU9iai5ldmFsICE9PSBldmFsJyk7Cn0KCmlmKCEoc3RfcGFyc2VGbG9hdCAhPT0gcGFyc2VGbG9hdCkpewogICRFUlJPUignIzE1OiBteU9iai5wYXJzZUZsb2F0ICE9PSBwYXJzZUZsb2F0Jyk7Cn0KCmlmKCEoc3RfaXNOYU4gIT09IGlzTmFOKSl7CiAgJEVSUk9SKCcjMTY6IG15T2JqLmlzTmFOICE9PSBpc05hTicpOwp9CgppZighKHN0X2lzRmluaXRlICE9PSBpc0Zpbml0ZSkpewogICRFUlJPUignIzE3OiBteU9iai5pc0Zpbml0ZSAhPT0gaXNGaW5pdGUnKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAidmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgd2l0aCBzdGF0ZW1lbnQgYWRkcyBhIGNvbXB1dGVkIG9iamVjdCB0byB0aGUgZnJvbnQgb2YgdGhlCiAqIHNjb3BlIGNoYWluIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0ExLjlfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp0aGlzLnAyID0gMjsKdGhpcy5wMyA9IDM7CnZhciByZXN1bHQgPSAicmVzdWx0IjsKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30KfQp2YXIgZGVsOwp2YXIgc3RfcDEgPSAicDEiOwp2YXIgc3RfcDIgPSAicDIiOwp2YXIgc3RfcDMgPSAicDMiOwp2YXIgc3RfcGFyc2VJbnQgPSAicGFyc2VJbnQiOwp2YXIgc3RfTmFOID0gIk5hTiI7CnZhciBzdF9JbmZpbml0eSA9ICJJbmZpbml0eSI7CnZhciBzdF9ldmFsID0gImV2YWwiOwp2YXIgc3RfcGFyc2VGbG9hdCA9ICJwYXJzZUZsb2F0IjsKdmFyIHN0X2lzTmFOID0gImlzTmFOIjsKdmFyIHN0X2lzRmluaXRlID0gImlzRmluaXRlIjsKCndpdGgobXlPYmopewogIGZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICBicmVhazsKICAgIGlmKHByb3AgPT09ICdwMScpIHsKICAgICAgc3RfcDEgPSBwMTsKICAgICAgcDEgPSAneDEnOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3AyJykgewogICAgICBzdF9wMiA9IHAyOwogICAgICB0aGlzLnAyID0gJ3gyJzsKICAgIH0KICAgIGlmKHByb3AgPT09ICdwMycpIHsKICAgICAgc3RfcDMgPSBwMzsKICAgICAgZGVsID0gZGVsZXRlIHAzOwogICAgfQogICAgaWYocHJvcCA9PT0gJ3BhcnNlSW50Jykgc3RfcGFyc2VJbnQgPSBwYXJzZUludDsKICAgIGlmKHByb3AgPT09ICdOYU4nKSBzdF9OYU4gPSBOYU47CiAgICBpZihwcm9wID09PSAnSW5maW5pdHknKSBzdF9JbmZpbml0eSA9IEluZmluaXR5OwogICAgaWYocHJvcCA9PT0gJ2V2YWwnKSBzdF9ldmFsID0gZXZhbDsKICAgIGlmKHByb3AgPT09ICdwYXJzZUZsb2F0Jykgc3RfcGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQ7CiAgICBpZihwcm9wID09PSAnaXNOYU4nKSBzdF9pc05hTiA9IGlzTmFOOwogICAgaWYocHJvcCA9PT0gJ2lzRmluaXRlJykgc3RfaXNGaW5pdGUgPSBpc0Zpbml0ZTsKICAgIHZhciBwNCA9ICd4NCc7CiAgICBwNSA9ICd4NSc7CiAgICB2YXIgdmFsdWUgPSAndmFsdWUnOwogIH0KfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShwMiA9PT0gMikpewogICRFUlJPUignIzI6IHAyID09PSAyLiBBY3R1YWw6ICBwMiA9PT0nKyBwMiAgKTsKfQoKaWYoIShwMyA9PT0gMykpewogICRFUlJPUignIzM6IHAzID09PSAzLiBBY3R1YWw6ICBwMyA9PT0nKyBwMyAgKTsKfQoKaWYoIShwNCA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjNDogcDQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgcDQgPT09JysgcDQgICk7Cn0KCnRyeSB7CiAgcDU7CiAgJEVSUk9SKCcjNTogcDUgaXMgbm90IGRlZmluZWQnKTsKfSBjYXRjaChlKSB7ICAgIAp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyM2OiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShteU9iai5wMiA9PT0gImIiKSl7CiAgJEVSUk9SKCcjNzogbXlPYmoucDIgPT09ICJiIi4gQWN0dWFsOiAgbXlPYmoucDIgPT09JysgbXlPYmoucDIgICk7Cn0KCmlmKCEobXlPYmoucDMgPT09ICJjIikpewogICRFUlJPUignIzg6IG15T2JqLnAzID09PSAiYyIuIEFjdHVhbDogIG15T2JqLnAzID09PScrIG15T2JqLnAzICApOwp9CgppZighKG15T2JqLnA0ID09PSB1bmRlZmluZWQpKXsKICAkRVJST1IoJyM5OiBteU9iai5wNCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBteU9iai5wNCA9PT0nKyBteU9iai5wNCAgKTsKfQoKaWYoIShteU9iai5wNSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTA6IG15T2JqLnA1ID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnA1ID09PScrIG15T2JqLnA1ICApOwp9CgppZighKHN0X3BhcnNlSW50ID09PSAicGFyc2VJbnQiKSl7CiAgJEVSUk9SKCcjMTE6IG15T2JqLnBhcnNlSW50ID09PSAicGFyc2VJbnQiLiBBY3R1YWw6ICBteU9iai5wYXJzZUludCA9PT0nKyBteU9iai5wYXJzZUludCAgKTsKfQoKaWYoIShzdF9OYU4gPT09ICJOYU4iKSl7CiAgJEVSUk9SKCcjMTI6IHN0X05hTiA9PT0gIk5hTiIuIEFjdHVhbDogIHN0X05hTiA9PT0nKyBzdF9OYU4gICk7Cn0KCmlmKCEoc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIpKXsKICAkRVJST1IoJyMxMzogc3RfSW5maW5pdHkgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogIHN0X0luZmluaXR5ID09PScrIHN0X0luZmluaXR5ICApOwp9CgppZighKHN0X2V2YWwgPT09ICJldmFsIikpewogICRFUlJPUignIzE0OiBzdF9ldmFsID09PSAiZXZhbCIuIEFjdHVhbDogIHN0X2V2YWwgPT09Jysgc3RfZXZhbCAgKTsKfQoKaWYoIShzdF9wYXJzZUZsb2F0ID09PSAicGFyc2VGbG9hdCIpKXsKICAkRVJST1IoJyMxNTogc3RfcGFyc2VGbG9hdCA9PT0gInBhcnNlRmxvYXQiLiBBY3R1YWw6ICBzdF9wYXJzZUZsb2F0ID09PScrIHN0X3BhcnNlRmxvYXQgICk7Cn0KCmlmKCEoc3RfaXNOYU4gPT09ICJpc05hTiIpKXsKICAkRVJST1IoJyMxNjogc3RfaXNOYU4gPT09ICJpc05hTiIuIEFjdHVhbDogIHN0X2lzTmFOID09PScrIHN0X2lzTmFOICApOwp9CgppZighKHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiKSl7CiAgJEVSUk9SKCcjMTc6IHN0X2lzRmluaXRlID09PSAiaXNGaW5pdGUiLiBBY3R1YWw6ICBzdF9pc0Zpbml0ZSA9PT0nKyBzdF9pc0Zpbml0ZSAgKTsKfQoKaWYoISh2YWx1ZSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCcjMTg6IHZhbHVlID09PSB1bmRlZmluZWQuIEFjdHVhbDogIHZhbHVlID09PScrIHZhbHVlICApOwp9CgppZighKG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMTk6IG15T2JqLnZhbHVlID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICBteU9iai52YWx1ZSA9PT0nKyBteU9iai52YWx1ZSAgKTsKfQoK","commentary":"The with statement adds a computed object to the front of the\nscope chain of the current execution context","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBkb3sKICAgICAgICBwMSA9ICd4MSc7CiAgICB9IHdoaWxlKGZhbHNlKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGRvewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0gd2hpbGUoZmFsc2UpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGRvewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgIH0gd2hpbGUoZmFsc2UpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYmUgYnJlYWsKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIGRvewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0gd2hpbGUoZmFsc2UpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion be break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEwX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBpdGVyYXRpb24gc3RhdGVtZW50IHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIGNvbXBsZXRpb24gYmUgYnJlYWsKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIGRvewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0gd2hpbGUoZmFsc2UpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using iteration statement within \"with\" statement, leading completion be break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcDEgPSAneDEnOwp9Cgp3aXRoKG15T2JqKXsKICBmKCk7Cn0KCmlmKCEocDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gIngxIi4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcDEgPSAneDEnOwogIHJldHVybiB2YWx1ZTsKfQoKd2l0aChteU9iail7CiAgcmVzdWx0ID0gZigpOwp9CgppZighKHAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09ICJ4MSIuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIHZhbHVlOwogIHAxID0gJ3gxJzsKfQoKd2l0aChteU9iail7CiAgcmVzdWx0ID0gZigpOwp9CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJ2YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJ2YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHAxID0gJ3gxJzsKICAgIHRocm93IHZhbHVlOwogIH0KICAKICB3aXRoKG15T2JqKXsKICAgIGYoKTsKICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gIngxIikpewogICRFUlJPUignIzE6IHAxID09PSAieDEiLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aGluICJ3aXRoIiBzdGF0ZW1lbnQgZGVjbGFyZWQgd2l0aG91dCB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHZhciBmID0gZnVuY3Rpb24oKXsKICAgIHRocm93IHZhbHVlOwogICAgcDEgPSAneDEnOwogIH0KICB3aXRoKG15T2JqKXsKICAgIGYoKTsKICB9Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAidmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAidmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9CgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function within \"with\" statement declared without the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.11_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBwMSA9ICd4MSc7CiAgfQp9CgpmKCk7CgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9CgppZighKG15T2JqLnAxID09PSAieDEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICBwMSA9ICd4MScKICAgIHJldHVybiB2YWx1ZTsKICB9Cn0KCnJlc3VsdCA9IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJ4MSIpKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICB2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gdmFsdWU7CiAgICBwMSA9ICd4MSc7CiAgfQp9CnJlc3VsdCA9IGYoKTsKCmlmKCEocDEgPT09IDEpKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KCmlmKCEobXlPYmoucDEgPT09ICJhIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9CgppZighKHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIikpewogICRFUlJPUignIzM6IHJlc3VsdCA9PT0gIm15T2JqX3ZhbHVlIi4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICBwMSA9ICd4MSc7CiAgICAgIHRocm93IHZhbHVlOwogICAgfQogIH0KICBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gIngxIikpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQoKaWYoIShyZXN1bHQgPT09ICJteU9ial92YWx1ZSIpKXsKICAkRVJST1IoJyMzOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjEyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gd2l0aG91dCAid2l0aCIgc3RhdGVtZW50IGRlY2xhcmVkIHdpdGhpbiB0aGUgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciB2YWx1ZSA9ICJ2YWx1ZSI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogIHdpdGgobXlPYmopewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICB0aHJvdyB2YWx1ZTsKICAgICAgcDEgPSAneDEnOwogICAgfQogIH0KICBmKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gZTsKfQoKaWYoIShwMSA9PT0gMSkpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQoKaWYoIShteU9iai5wMSA9PT0gImEiKSl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KCmlmKCEocmVzdWx0ID09PSAibXlPYmpfdmFsdWUiKSl7CiAgJEVSUk9SKCcjMzogcmVzdWx0ID09PSAibXlPYmpfdmFsdWUiLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Cgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Calling a function without \"with\" statement declared within the statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.12_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0IC0gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9CgoKd2l0aChteU9iail7CiAgICBwMSA9ICd4MSc7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context - normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKCiAgICB3aXRoKG15T2JqKXsKICAKICAgICAgICBwMSA9ICd4MScKICAgICAgICB0aHJvdyB2YWx1ZTsKICAgIAogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAgICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChteU9iai5wMSAhPT0gIngxIikgewoJJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGdsb2JhbCBjb250ZXh0LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgcmVzdWx0ID0gInJlc3VsdCI7CnZhciBteU9iaiA9IHtwMTogJ2EnLCAKICAgICAgICAgICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgICAgICAgICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewoKICB3aXRoKG15T2JqKXsKICAKICAgIHRocm93IHZhbHVlOwogICAgcDEgPSAneDEnCiAgfQp9IGNhdGNoKGUpewogIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKCEocmVzdWx0ID09PSAxKSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZighKHAxID09PSAxKSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZighKG15T2JqLnAxID09PSAiYSIpKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within global context, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCmYoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQp9OwoKZigpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAgICRFUlJPUignIzE6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24gYnkgInJldHVybiIKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp2YXIgZiA9IGZ1bmN0aW9uKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQp9OwoKZigpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgdmFyIGYgPSBmdW5jdGlvbigpewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH07CiAgICAKICAgIGYoKTsKfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHksIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9OwoKdHJ5IHsKICAgIHZhciBmID0gZnVuY3Rpb24oKXsKICAgICAgICB3aXRoKG15T2JqKXsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICB9CiAgICB9OwogICAgZigpOwp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function body, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCnZhciBvYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQp9Cgp2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQp9Cgp2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywgdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjNfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyAid2l0aCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogIHAxOiAnYScsCiAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9OwoKZnVuY3Rpb24gX19GQUNUT1JZKCl7CiAgd2l0aChteU9iail7CiAgICB2YXIgcDEgPSAneDEnOwogICAgdGhyb3cgdmFsdWU7CiAgfQp9Cgp0cnkgewogIHZhciBvYmogPSBuZXcgX19GQUNUT1JZKCk7Cn0gY2F0Y2goZSl7CiAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMSkgewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAobXlPYmoucDEgIT09ICJ4MSIpIHsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state","description":"Declaring \"with\" statement within a function constructor, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gbm9ybWFsIGNvbXBsZXRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9CgpkbyB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0gd2hpbGUoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgZG97CiAgICAgICAgd2l0aChteU9iail7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgfQogICAgfSB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBleGNlcHRpb24KICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9IDE7Cgp2YXIgcmVzdWx0ID0gInJlc3VsdCI7Cgp2YXIgbXlPYmogPSB7CiAgICBwMTogJ2EnLCAKICAgIHZhbHVlOiAnbXlPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfdmFsdWVPZic7fQp9Cgp0cnkgewogICAgZG97CiAgICAgICAgd2l0aChteU9iail7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgfQogICAgfSB3aGlsZShmYWxzZSk7Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmRvIHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfSB3aGlsZShmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGl0ZXJhdGlvbiBzdGF0ZW1lbnQsIGxlYWRpbmcgdG8gY29tcGxldGlvbiBieSBicmVhawogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmRvIHsKICAgIHdpdGgobXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfSB3aGlsZShmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within iteration statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCmZvcih2YXIgcHJvcCBpbiBteU9iail7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHdpdGgobXlPYmopewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgIHdpdGgobXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjVfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluICJmb3ItaW4iIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgIHdpdGgobXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within \"for-in\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9Cgp3aXRoKG15T2JqKXsKICAgIHdpdGgodGhlaXJPYmopewogICAgICAgIHAxID0gJ3gxJzsKICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKHRoZWlyT2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiB0aGVpck9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgdGhlaXJPYmoucDEgPT09JysgdGhlaXJPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9CgoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHdpdGgodGhlaXJPYmopewogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgIH0KICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAiYSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAiYSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZih0aGVpck9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMzogdGhlaXJPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIHRoZWlyT2JqLnAxID09PScrIHRoZWlyT2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQgd2l0aGluIGFub3RoZXIgIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnZhciB0aGVpck9iaiA9IHsKICAgIHAxOiB0cnVlLCAKICAgIHZhbHVlOiAndGhlaXJPYmpfdmFsdWUnLAogICAgdmFsdWVPZiA6IGZ1bmN0aW9uKCl7cmV0dXJuICd0aHJfdmFsdWVPZic7fQp9CgoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIHdpdGgodGhlaXJPYmopewogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICAKICAgICAgICB9CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYodGhlaXJPYmoucDEgIT09IHRydWUpewogICRFUlJPUignIzM6IHRoZWlyT2JqLnAxID09PSB0cnVlLiBBY3R1YWw6ICB0aGVpck9iai5wMSA9PT0nKyB0aGVpck9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"with\" statement within another \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICAoZnVuY3Rpb24oKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICByZXN1bHQ9KGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0pKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocmVzdWx0ICE9PSAibXlPYmpfdmFsdWUiKXsKICAkRVJST1IoJyMyOiByZXN1bHQgPT09ICJteU9ial92YWx1ZSIuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIG5vcm1hbCBjb21wbGV0aW9uIGJ5ICJyZXR1cm4iCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICByZXN1bHQ9KGZ1bmN0aW9uKCl7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0pKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocmVzdWx0ICE9PSAnbXlPYmpfdmFsdWUnKXsKICAkRVJST1IoJyMyOiByZXN1bHQgPT09IFwnbXlPYmpfdmFsdWVcJy4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIChmdW5jdGlvbiAoKXsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICB9KSgpOwogICAgfQp9IGNhdGNoKGUpewogICAgcmVzdWx0ID0gcDE7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocmVzdWx0ICE9PSAxKXsKICAkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogIHJlc3VsdCA9PT0nKyByZXN1bHQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMyOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjdfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhbmQgY2FsbGluZyBhIGZ1bmN0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50LCBsZWFkaW5nIHRvIGNvbXBsZXRpb24gYnkgZXhjZXB0aW9uCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKdHJ5IHsKICAgIHdpdGgobXlPYmopewogICAgICAgIChmdW5jdGlvbiBmKCl7CiAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgICAgICBwMSA9ICd4MSc7CiAgICAgICAgfSkoKTsKICAgIH0KfSBjYXRjaChlKXsKICAgIHJlc3VsdCA9IHAxOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHJlc3VsdCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6ICByZXN1bHQgPT09JysgcmVzdWx0ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMjogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMzOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring and calling a function within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgfQogICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICAgICAgcDEgPSAneDEnOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICAgIHZhciBvYmogPSBuZXcgX19GQUNUT1JZOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKHAxICE9PSAxKXsKICAkRVJST1IoJyMxOiBwMSA9PT0gMS4gQWN0dWFsOiAgcDEgPT09JysgcDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSAieDEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gIngxIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbiBieSAicmV0dXJuIgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICBwMTogJ2EnLCAKICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogIHZhciBfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpewogICAgcmV0dXJuIHZhbHVlOwogICAgcDEgPSAneDEnOwogIH0KICB2YXIgb2JqID0gbmV3IF9fRkFDVE9SWTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to normal completion by \"return\"","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDQuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgICAgICAgICAgcDEgPSAneDEnOwogICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzM6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjhfVDUuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiBjb25zdHJ1Y3RvciB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGV4Y2VwdGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCnRyeSB7CiAgICB3aXRoKG15T2JqKXsKICAgICAgICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgICAgICAgICAgdGhyb3cgdmFsdWU7CiAgICAgICAgICAgIHAxID0gJ3gxJzsKICAgICAgICB9CiAgICAgICAgdmFyIG9iaiA9IG5ldyBfX0ZBQ1RPUlk7CiAgICB9Cn0gY2F0Y2goZSl7CiAgICByZXN1bHQgPSBwMTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihyZXN1bHQgIT09IDEpewogICRFUlJPUignIzE6IHJlc3VsdCA9PT0gMS4gQWN0dWFsOiAgcmVzdWx0ID09PScrIHJlc3VsdCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYocDEgIT09IDEpewogICRFUlJPUignIzI6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYobXlPYmoucDEgIT09ICJhIil7CiAgJEVSUk9SKCcjMzogbXlPYmoucDEgPT09ICJhIi4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Declaring function constructor within \"with\" statement, leading to completion by exception","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBub3JtYWwgY29tcGxldGlvbgogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gMTsKCnZhciByZXN1bHQgPSAicmVzdWx0IjsKCnZhciBteU9iaiA9IHsKICAgIHAxOiAnYScsIAogICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9Cn0KCndpdGgobXlPYmopewogICAgZm9yKHZhciBwcm9wIGluIG15T2JqKXsKICAgICAgICBwMSA9ICd4MSc7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYocDEgIT09IDEpewogICRFUlJPUignIzE6IHAxID09PSAxLiBBY3R1YWw6ICBwMSA9PT0nKyBwMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09ICJ4MSIpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSAieDEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to normal completion","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIHAxID0gJ3gxJzsKICAgICAgICBicmVhazsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gIngxIil7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09ICJ4MSIuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBObyBtYXR0ZXIgaG93IGNvbnRyb2wgbGVhdmVzIHRoZSBlbWJlZGRlZCAnU3RhdGVtZW50JywKICogdGhlIHNjb3BlIGNoYWluIGlzIGFsd2F5cyByZXN0b3JlZCB0byBpdHMgZm9ybWVyIHN0YXRlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTAvUzEyLjEwX0EzLjlfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJmb3ItaW4iIHN0YXRlbWVudCB3aXRoaW4gIndpdGgiIHN0YXRlbWVudCwgbGVhZGluZyB0byBjb21wbGV0aW9uIGJ5IGJyZWFrCiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwoKdmFyIHJlc3VsdCA9ICJyZXN1bHQiOwoKdmFyIG15T2JqID0gewogICAgcDE6ICdhJywgCiAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30KfQoKd2l0aChteU9iail7CiAgICBmb3IodmFyIHByb3AgaW4gbXlPYmopewogICAgICAgIGJyZWFrOwogICAgICAgIHAxID0gJ3gxJzsKICAgIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihwMSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogcDEgPT09IDEuIEFjdHVhbDogIHAxID09PScrIHAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gImEiKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gImEiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"No matter how control leaves the embedded 'Statement',\nthe scope chain is always restored to its former state","description":"Using \"for-in\" statement within \"with\" statement, leading to completion by break","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A3.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgc3RyaW5nIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgbXlPYmogPSB7CiAgcDE6ICdhJywgCn0KZXZhbCgid2l0aChteU9iail7cDE9J2InfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gJ2InKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSA9PT0gImIiLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgPT09IDEpewogICRFUlJPUignIzI6IG15T2JqLnAxICE9PSAxJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing string property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgbnVtYmVyIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMTogMSwgCn0KZXZhbCgid2l0aChteU9iail7cDE9Mn0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYobXlPYmoucDEgIT09IDIpewogICRFUlJPUignIzE6IG15T2JqLnAxID09PSAyLiBBY3R1YWw6ICBteU9iai5wMSA9PT0nKyBteU9iai5wMSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing number property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgYm9vbGVhbiBwcm9wZXJ0eQogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gJ2EnOwp2YXIgbXlPYmogPSB7CiAgcDE6IHRydWUsIAp9CmV2YWwoIndpdGgobXlPYmope3AxPWZhbHNlfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSAhPT0gZmFsc2UpewogICRFUlJPUignIzE6IG15T2JqLnAxID09PSBmYWxzZS4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzI6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing boolean property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgb2JqZWN0IHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMToge2E6ImhlbGxvIn0sIAp9CmV2YWwoIndpdGgobXlPYmope3AxPXtiOidoaSd9fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMS5hID09PSAiaGVsbG8iKXsKICAkRVJST1IoJyMxOiBteU9iai5wMS5hICE9PSAiaGVsbG8iJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxLmIgIT09ICJoaSIpewogICRFUlJPUignIzI6IG15T2JqLnAxLmIgPT09ICJoaSIuIEFjdHVhbDogIG15T2JqLnAxLmIgPT09JysgbXlPYmoucDEuYiAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzM6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing object property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgYXJyYXkgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBbMSwyLDNdLCAKfQpldmFsKCJ3aXRoKG15T2JqKXtwMT1bMywyLDFdfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMVsyXSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDFbMl0gPT09IDEuIEFjdHVhbDogIG15T2JqLnAxWzJdID09PScrIG15T2JqLnAxWzJdICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSAhPT0gXCdhXCcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing array property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgZnVuY3Rpb24gcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBmdW5jdGlvbigpe3JldHVybiAwO30sIAp9CmV2YWwoIndpdGgobXlPYmope3AxPWZ1bmN0aW9uKCl7cmV0dXJuIDE7fX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYobXlPYmoucDEoKSAhPT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDEgPT09IDEuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSAhPT0gXCdhXCcnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Changing property using \"eval\" statement containing \"with\" statement","description":"Changing function property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgc3RyaW5nIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAxOwp2YXIgbXlPYmogPSB7CiAgcDE6ICdhJywgCiAgZGVsOmZhbHNlCn0KZXZhbCgid2l0aChteU9iail7ZGVsID0gZGVsZXRlIHAxfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSA9PT0gJ2EnKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSAhPT0gImEiJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKG15T2JqLnAxICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzI6IG15T2JqLnAxID09PSB1bmRlZmluZWQuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZS4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09IDEpewogICRFUlJPUignIzQ6IG15T2JqLnAxICE9PSAxJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting string property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgbnVtYmVyIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMTogMSwKICBkZWw6ZmFsc2UgCn0KZXZhbCgid2l0aChteU9iail7ZGVsID0gZGVsZXRlIHAxfSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZihteU9iai5wMSA9PT0gMSl7CiAgJEVSUk9SKCcjMTogbXlPYmoucDEgIT09IDEnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09IHVuZGVmaW5lZCAuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZS4gQWN0dWFsOiBteU9iai5kZWwgPT09LiBBY3R1YWw6ICBteU9iai5kZWwgPT09JysgbXlPYmouZGVsICArbXlPYmouZGVsKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting number property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgYm9vbGVhbiBwcm9wZXJ0eQogKiBAbm9TdHJpY3QKICovCgp0aGlzLnAxID0gJ2EnOwp2YXIgbXlPYmogPSB7CiAgcDE6IHRydWUsCiAgZGVsOmZhbHNlIAp9CgpldmFsKCJ3aXRoKG15T2JqKXtkZWwgPSBkZWxldGUgcDF9Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKG15T2JqLnAxID09PSB0cnVlKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSAhPT0gdHJ1ZSAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYobXlPYmoucDEgIT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogbXlPYmoucDEgPT09IHVuZGVmaW5lZCAuIEFjdHVhbDogIG15T2JqLnAxID09PScrIG15T2JqLnAxICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihteU9iai5kZWwgIT09IHRydWUpewogICRFUlJPUignIzM6IG15T2JqLmRlbCA9PT0gdHJ1ZSAuIEFjdHVhbDogIG15T2JqLmRlbCA9PT0nKyBteU9iai5kZWwgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKG15T2JqLnAxID09PSAnYScpewogICRFUlJPUignIzQ6IG15T2JqLnAxICE9PSBcJ2FcJycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting boolean property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgb2JqZWN0IHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnRoaXMucDEgPSAnYSc7CnZhciBteU9iaiA9IHsKICBwMToge2E6ImhlbGxvIn0sCiAgZGVsOmZhbHNlIAp9CmV2YWwoIndpdGgobXlPYmope2RlbCA9IGRlbGV0ZSBwMX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewppZihteU9iai5wMS5hID09PSAiaGVsbG8iKXsKICAkRVJST1IoJyMxOiBteU9iai5wMS5hICE9PSAiaGVsbG8iICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting object property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgYXJyYXkgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBbMSwyLDNdLAogIGRlbDpmYWxzZSAKfQpldmFsKCJ3aXRoKG15T2JqKXtkZWwgPSBkZWxldGUgcDF9Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKaWYobXlPYmoucDFbMl0gPT09IDMpewogICRFUlJPUignIzE6IG15T2JqLnAxWzJdICE9PSAzICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting array property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBwcm9wZXJ0eSB1c2luZyAiZXZhbCIgc3RhdGVtZW50IGNvbnRhaW5pbmcgIndpdGgiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjEwL1MxMi4xMF9BNV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRGVsZXRpbmcgZnVuY3Rpb24gcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdGhpcy5wMSA9ICdhJzsKdmFyIG15T2JqID0gewogIHAxOiBmdW5jdGlvbigpe3JldHVybiAwO30sIAogIGRlbDpmYWxzZQp9CmV2YWwoIndpdGgobXlPYmope2RlbCA9IGRlbGV0ZSBwMX0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewppZihteU9iai5wMSgpID09PSAwKXsKICAkRVJST1IoJyMxOiBteU9iai5wMSgpICE9PSAwICcpOwp9Cn1jYXRjaChlKXt2YXIgeD0xfTsKaWYoeCAhPT0gMSl7CiAgJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiAgeCA9PT0nKyB4ICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZihteU9iai5wMSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiBteU9iai5wMSA9PT0gdW5kZWZpbmVkIC4gQWN0dWFsOiAgbXlPYmoucDEgPT09JysgbXlPYmoucDEgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKG15T2JqLmRlbCAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMzogbXlPYmouZGVsID09PSB0cnVlIC4gQWN0dWFsOiAgbXlPYmouZGVsID09PScrIG15T2JqLmRlbCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYobXlPYmoucDEgPT09ICdhJyl7CiAgJEVSUk9SKCcjNDogbXlPYmoucDEgIT09IFwnYVwnJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting property using \"eval\" statement containing \"with\" statement","description":"Deleting function property","noStrict":"","path":"TestCases/ch12/12.10/S12.10_A5_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IGZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHRyeSB7DQogICAgLy8gd3JhcHBpbmcgaXQgaW4gZXZhbCBzaW5jZSB0aGlzIG5lZWRzIHRvIGJlIGEgc3ludGF4IGVycm9yLiBUaGUNCiAgICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uDQogICAgZXZhbCgiXA0KICAgICAgICAgIGZ1bmN0aW9uIGYoKSB7XA0KICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7XA0KICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgd2l0aCAobykge307XA0KICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybihlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOyANCgl9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (strict function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB3aXRoIHN0YXRlbWVudCBpbiBzdHJpY3QgbW9kZSB0aHJvd3MgU3ludGF4RXJyb3IgKGV2YWwsIHdoZXJlIHRoZSBjb250YWluZXIgZnVuY3Rpb24gaXMgc3RyaWN0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAvLyB3cmFwcGluZyBpdCBpbiBldmFsIHNpbmNlIHRoaXMgbmVlZHMgdG8gYmUgYSBzeW50YXggZXJyb3IuIFRoZQ0KICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uIE5vdGUgdGhhdCBldmFsDQogIC8vIGluaGVyaXRzIHRoZSBzdHJpY3RuZXNzIG9mIGl0cyBjYWxsaW5nIGNvbnRleHQuICANCiAgdHJ5IHsNCiAgICBldmFsKCJcDQogICAgICAgICAgdmFyIG8gPSB7fTtcDQogICAgICAgICAgd2l0aCAobykge31cDQogICAgICAgIik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (eval, where the container function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHVzaW5nIFdpdGhTdGF0ZW1lbnQgaW4gc3RyaWN0IG1vZGUgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ3aXRoICh7fSkgeyB0aHJvdyBuZXcgRXJyb3IoKTt9Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when using WithStatement in strict mode code","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMi8xMi4xMC8xMi4xMC4xLzEyLjEwLjEtMTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIHdoZW4gdXNpbmcgd2l0aCBzdGF0ZW1lbnQNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0Kd2l0aCAoe30pIHsgfQ0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when using with statement","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-11gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB3aXRoIHN0YXRlbWVudCBpbiBzdHJpY3QgbW9kZSB0aHJvd3MgU3ludGF4RXJyb3IgKHN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGV2YWwoIlwNCiAgICAgICAgICAndXNlIHN0cmljdCc7IFwNCiAgICAgICAgICB2YXIgbyA9IHt9OyBcDQogICAgICAgICAgd2l0aCAobykge31cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict eval)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxMi8xMi4xMC8xMi4xMC4xLzEyLjEwLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIHdoZW4gV2l0aFN0YXRlbWVudCBib2R5IGlzIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHdpdGggKHt9KSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError isn't thrown when WithStatement body is in strict mode code","noStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBnZXR0ZXIgb2YgYSBsaXRlcmFsIG9iamVjdCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHsgZ2V0OiBmdW5jdGlvbiAoYSkgeyB3aXRoKGEpe30gfSB9OyAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when the getter of a literal object utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBSSFMgb2YgYSBkb3QgcHJvcGVydHkgYXNzaWdubWVudCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHt9OyBvYmouZ2V0ID0gZnVuY3Rpb24gKGEpIHsgd2l0aChhKXt9IH07ICIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown when the RHS of a dot property assignment utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biB3aGVuIHRoZSBSSFMgb2YgYW4gb2JqZWN0IGluZGV4ZXIgYXNzaWdubWVudCB1dGlsaXplcyBXaXRoU3RhdGVtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIG9iaiA9IHt9OyBvYmpbJ2dldCddID0gZnVuY3Rpb24gKGEpIHsgd2l0aChhKXt9IH07ICAiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown when the RHS of an object indexer assignment utilizes WithStatement","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAobmVzdGVkIGZ1bmN0aW9uIHdoZXJlIGNvbnRhaW5lciBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgLy8gd3JhcHBpbmcgaXQgaW4gZXZhbCBzaW5jZSB0aGlzIG5lZWRzIHRvIGJlIGEgc3ludGF4IGVycm9yLiBUaGUNCiAgICAvLyBleGNlcHRpb24gdGhyb3duIG11c3QgYmUgYSBTeW50YXhFcnJvciBleGNlcHRpb24uDQogICAgZXZhbCgiXA0KICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHtcDQogICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJzsgXA0KICAgICAgICAgICAgZnVuY3Rpb24gZigpIHtcDQogICAgICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9O1wNCiAgICAgICAgICAgIH1cDQogICAgICAgICAgfVwNCiAgICAgICAgIik7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"with statement in strict mode throws SyntaxError (nested function where container is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAobmVzdGVkIHN0cmljdCBmdW5jdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAvLyB3cmFwcGluZyBpdCBpbiBldmFsIHNpbmNlIHRoaXMgbmVlZHMgdG8gYmUgYSBzeW50YXggZXJyb3IuIFRoZQ0KICAgIC8vIGV4Y2VwdGlvbiB0aHJvd24gbXVzdCBiZSBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbi4NCiAgICBldmFsKCJcDQogICAgICAgICAgICBmdW5jdGlvbiBmb28oKSB7XA0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGYoKSB7XA0KICAgICAgICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7IFwNCiAgICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9O1wNCiAgICAgICAgICAgICAgICB9XA0KICAgICAgICAgICAgICB9XA0KICAgICAgICAiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (nested strict function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IEZ1bmN0aW9uKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIHZhciBmID0gRnVuY3Rpb24oIlwNCiAgICAgICAgICAgICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJzsgIFwNCiAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IHt9OyBcDQogICAgICAgICAgICAgICAgICAgICAgd2l0aCAobykge307XA0KICAgICAgICAgICAgICAgICAgICAiKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQoJDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict Function)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGFsbG93ZWQgaW4gbmVzdGVkIEZ1bmN0aW9uIGV2ZW4gaWYgaXRzIGNvbnRhaW5lciBGdW5jdGlvbiBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICAgIEZ1bmN0aW9uKCJcJ3VzZSBzdHJpY3RcJzsgdmFyIGYxID0gRnVuY3Rpb24oIFwidmFyIG8gPSB7fTsgd2l0aCAobykge307XCIpIik7DQogICAgcmV0dXJuIHRydWU7DQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement allowed in nested Function even if its container Function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoZnVuY3Rpb24gZXhwcmVzc2lvbiwgd2hlcmUgdGhlIGNvbnRhaW5lciBmdW5jdGlvbiBpcyBkaXJlY3RseSBldmFsZWQgZnJvbSBzdHJpY3QgY29kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgidmFyIGYgPSBmdW5jdGlvbiAoKSB7XA0KICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICB3aXRoIChvKSB7fTsgXA0KICAgICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement in strict mode throws SyntaxError (function expression, where the container function is directly evaled from strict code)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoZnVuY3Rpb24gZXhwcmVzc2lvbiwgd2hlcmUgdGhlIGNvbnRhaW5lciBGdW5jdGlvbiBpcyBzdHJpY3QpDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgRnVuY3Rpb24oIlwNCiAgICAgICAgICAgICAgXCd1c2Ugc3RyaWN0XCc7IFwNCiAgICAgICAgICAgICAgdmFyIGYxID0gZnVuY3Rpb24gKCkge1wNCiAgICAgICAgICAgICAgICAgIHZhciBvID0ge307IFwNCiAgICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9OyBcDQogICAgICAgICAgICAgICAgfVwNCiAgICAgICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"with statement in strict mode throws SyntaxError (function expression, where the container Function is strict)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTAvMTIuMTAuMS8xMi4xMC4xLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIHdpdGggc3RhdGVtZW50IGluIHN0cmljdCBtb2RlIHRocm93cyBTeW50YXhFcnJvciAoc3RyaWN0IGZ1bmN0aW9uIGV4cHJlc3Npb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgZXZhbCgiXA0KICAgICAgICAgIHZhciBmID0gZnVuY3Rpb24gKCkge1wNCiAgICAgICAgICAgICAgICBcJ3VzZSBzdHJpY3RcJztcDQogICAgICAgICAgICAgICAgdmFyIG8gPSB7fTsgXA0KICAgICAgICAgICAgICAgIHdpdGggKG8pIHt9OyBcDQogICAgICAgICAgICAgIH1cDQogICAgICAgICIpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"with statement in strict mode throws SyntaxError (strict function expression)","onlyStrict":"","path":"TestCases/ch12/12.10/12.10.1/12.10.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHRlc3QgdXNpbmcgc3dpdGNoIHN0YXRlbWVudAogKi8KCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICByZXN1bHQgKz0gMjsKICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSAyOgogICAgICByZXN1bHQgKz0gODsKICAgIGNhc2UgMzoKICAgICAgcmVzdWx0ICs9IDE2OwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGNhc2UgNDoKICAgICAgcmVzdWx0ICs9IDY0OwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9CiAgICAgICAgCmlmKCEoU3dpdGNoVGVzdCgwKSA9PT0gNikpewogICRFUlJPUigiIzE6IFN3aXRjaFRlc3QoMCkgPT09IDYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMCkgPT09IisgU3dpdGNoVGVzdCgwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDEpID09PSA0KSl7CiAgJEVSUk9SKCIjMjogU3dpdGNoVGVzdCgxKSA9PT0gNC4gQWN0dWFsOiAgU3dpdGNoVGVzdCgxKSA9PT0iKyBTd2l0Y2hUZXN0KDEpICApOwp9CgppZighKFN3aXRjaFRlc3QoMikgPT09IDU2KSl7CiAgJEVSUk9SKCIjMzogU3dpdGNoVGVzdCgyKSA9PT0gNTYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMikgPT09IisgU3dpdGNoVGVzdCgyKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDMpID09PSA0OCkpewogICRFUlJPUigiIzQ6IFN3aXRjaFRlc3QoMykgPT09IDQ4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDMpID09PSIrIFN3aXRjaFRlc3QoMykgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCg0KSA9PT0gNjQpKXsKICAkRVJST1IoIiM1OiBTd2l0Y2hUZXN0KDQpID09PSA2NC4gQWN0dWFsOiAgU3dpdGNoVGVzdCg0KSA9PT0iKyBTd2l0Y2hUZXN0KDQpICApOwp9CgppZighKFN3aXRjaFRlc3QodHJ1ZSkgPT09IDMyKSl7CiAgJEVSUk9SKCIjNjogU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QodHJ1ZSkgPT09IisgU3dpdGNoVGVzdCh0cnVlKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM3OiBTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoZmFsc2UpID09PSIrIFN3aXRjaFRlc3QoZmFsc2UpICApOwp9CgppZighKFN3aXRjaFRlc3QobnVsbCkgPT09IDMyKSl7CiAgJEVSUk9SKCIjODogU3dpdGNoVGVzdChudWxsKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QobnVsbCkgPT09IisgU3dpdGNoVGVzdChudWxsKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IDMyKSl7CiAgJEVSUk9SKCIjOTogU3dpdGNoVGVzdCh2b2lkIDApID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh2b2lkIDApID09PSIrIFN3aXRjaFRlc3Qodm9pZCAwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KCcwJykgPT09IDMyKSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoJzAnKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoJzAnKSA9PT0iKyBTd2l0Y2hUZXN0KCcwJykgICk7Cn0KCg==","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Simple test using switch statement","path":"TestCases/ch12/12.11/S12.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3dpdGNoIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIHZhcmlhYmxlcwogKi8KCnZhciB4ID0gbmV3IE51bWJlcigyKTsKCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICByZXN1bHQgKz0gMjsKICAgIGNhc2UgJzEnOgogICAgICByZXN1bHQgKz0gNDsKICAgICAgYnJlYWs7CiAgICBjYXNlIG5ldyBOdW1iZXIoMik6CiAgICAgIHJlc3VsdCArPSA4OwogICAgY2FzZSAzOgogICAgICByZXN1bHQgKz0gMTY7CiAgICBkZWZhdWx0OgogICAgICByZXN1bHQgKz0gMzI7CiAgICAgIGJyZWFrOwogICAgY2FzZSA0OgogICAgICByZXN1bHQgKz0gNjQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSB4OgogICAgICByZXN1bHQgKz0gMTI4OwogICAgICBicmVhazsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI1NjsKICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDUxMjsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQogICAgICAgIAppZighKFN3aXRjaFRlc3QoMCkgPT09IDYpKXsKICAkRVJST1IoIiMxOiBTd2l0Y2hUZXN0KDApID09PSA2LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDApID09PSIrIFN3aXRjaFRlc3QoMCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgxKSA9PT0gNTEyKSl7CiAgJEVSUk9SKCIjMjogU3dpdGNoVGVzdCgxKSA9PT0gNTEyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDEpID09PSIrIFN3aXRjaFRlc3QoMSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgyKSA9PT0gMzIpKXsKICAkRVJST1IoIiMzOiBTd2l0Y2hUZXN0KDIpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgyKSA9PT0iKyBTd2l0Y2hUZXN0KDIpICApOwp9CgppZighKFN3aXRjaFRlc3QoMykgPT09IDQ4KSl7CiAgJEVSUk9SKCIjNDogU3dpdGNoVGVzdCgzKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoMykgPT09IisgU3dpdGNoVGVzdCgzKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDQpID09PSA2NCkpewogICRFUlJPUigiIzU6IFN3aXRjaFRlc3QoNCkgPT09IDY0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDQpID09PSIrIFN3aXRjaFRlc3QoNCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM2OiBTd2l0Y2hUZXN0KHRydWUpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh0cnVlKSA9PT0iKyBTd2l0Y2hUZXN0KHRydWUpICApOwp9CgppZighKFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMikpewogICRFUlJPUigiIzc6IFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChmYWxzZSkgPT09IisgU3dpdGNoVGVzdChmYWxzZSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChudWxsKSA9PT0gMzIpKXsKICAkRVJST1IoIiM4OiBTd2l0Y2hUZXN0KG51bGwpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChudWxsKSA9PT0iKyBTd2l0Y2hUZXN0KG51bGwpICApOwp9CgppZighKFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMzIpKXsKICAkRVJST1IoIiM5OiBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IDMyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IisgU3dpdGNoVGVzdCh2b2lkIDApICApOwp9CgppZighKFN3aXRjaFRlc3QoJzAnKSA9PT0gMzIpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdCgnMCcpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgnMCcpID09PSIrIFN3aXRjaFRlc3QoJzAnKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KHgpID09PSAxMjgpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdCh4KSA9PT0gMTI4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHgpID09PSIrIFN3aXRjaFRlc3QoeCkgICk7Cn0KCg==","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Switch with different types of variables","path":"TestCases/ch12/12.11/S12.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY2FzZSB3aXRoIG51bGwsIE5hTiwgSW5maW5pdHkKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBjYXNlIDE6CiAgICAgIHJlc3VsdCArPSA0OwogICAgICBicmVhazsKICAgIGNhc2UgMjoKICAgICAgcmVzdWx0ICs9IDg7CiAgICBjYXNlIDM6CiAgICAgIHJlc3VsdCArPSAxNjsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgICBjYXNlIG51bGw6CiAgICAgIHJlc3VsdCArPSA2NDsKICAgIGNhc2UgTmFOOgogICAgICByZXN1bHQgKz0gMTI4OwogICAgICBicmVhazsKICAgIGNhc2UgSW5maW5pdHk6CiAgICAgIHJlc3VsdCArPSAyNTY7CiAgICBjYXNlIDIrMzoKICAgICAgcmVzdWx0ICs9IDUxMjsKICAgICAgYnJlYWs7CiAgICBjYXNlIHVuZGVmaW5lZDoKICAgICAgcmVzdWx0ICs9IDEwMjQ7CiAgfQogIAogIHJldHVybiByZXN1bHQ7Cn0KICAgICAgICAKaWYoIShTd2l0Y2hUZXN0KDApID09PSA2KSl7CiAgJEVSUk9SKCIjMTogU3dpdGNoVGVzdCgwKSA9PT0gNi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgwKSA9PT0iKyBTd2l0Y2hUZXN0KDApICApOwp9CgppZighKFN3aXRjaFRlc3QoMSkgPT09IDQpKXsKICAkRVJST1IoIiMyOiBTd2l0Y2hUZXN0KDEpID09PSA0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDEpID09PSIrIFN3aXRjaFRlc3QoMSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCgyKSA9PT0gNTYpKXsKICAkRVJST1IoIiMzOiBTd2l0Y2hUZXN0KDIpID09PSA1Ni4gQWN0dWFsOiAgU3dpdGNoVGVzdCgyKSA9PT0iKyBTd2l0Y2hUZXN0KDIpICApOwp9CgppZighKFN3aXRjaFRlc3QoMykgPT09IDQ4KSl7CiAgJEVSUk9SKCIjNDogU3dpdGNoVGVzdCgzKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoMykgPT09IisgU3dpdGNoVGVzdCgzKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KDQpID09PSAzMikpewogICRFUlJPUigiIzU6IFN3aXRjaFRlc3QoNCkgPT09IDMyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDQpID09PSIrIFN3aXRjaFRlc3QoNCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCg1KSA9PT0gNTEyKSl7CiAgJEVSUk9SKCIjNTogU3dpdGNoVGVzdCg1KSA9PT0gNTEyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KDUpID09PSIrIFN3aXRjaFRlc3QoNSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIpKXsKICAkRVJST1IoIiM2OiBTd2l0Y2hUZXN0KHRydWUpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdCh0cnVlKSA9PT0iKyBTd2l0Y2hUZXN0KHRydWUpICApOwp9CgppZighKFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMikpewogICRFUlJPUigiIzc6IFN3aXRjaFRlc3QoZmFsc2UpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChmYWxzZSkgPT09IisgU3dpdGNoVGVzdChmYWxzZSkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChudWxsKSA9PT0gMTkyKSl7CiAgJEVSUk9SKCIjODogU3dpdGNoVGVzdChudWxsKSA9PT0gMTkyLiBBY3R1YWw6ICBTd2l0Y2hUZXN0KG51bGwpID09PSIrIFN3aXRjaFRlc3QobnVsbCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdCh2b2lkIDApID09PSAxMDI0KSl7CiAgJEVSUk9SKCIjOTogU3dpdGNoVGVzdCh2b2lkIDApID09PSAxMDI0LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KHZvaWQgMCkgPT09IisgU3dpdGNoVGVzdCh2b2lkIDApICApOwp9CgppZighKFN3aXRjaFRlc3QoTmFOKSA9PT0gMzIpKXsKICAkRVJST1IoIiMxMDogU3dpdGNoVGVzdChOYU4pID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChOYU4pID09PSIrIFN3aXRjaFRlc3QoTmFOKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KEluZmluaXR5KSA9PT0gNzY4KSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoTmFOKSA9PT0gNzY4LiBBY3R1YWw6ICBTd2l0Y2hUZXN0KE5hTikgPT09IisgU3dpdGNoVGVzdChOYU4pICApOwp9Cgo=","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Using case with null, NaN, Infinity","path":"TestCases/ch12/12.11/S12.11_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQudHlwZSBpcyBicmVhayBhbmQgUmVzdWx0LnRhcmdldCBpcyBpbiB0aGUgY3VycmVudAogKiBsYWJlbCBzZXQsIHJldHVybiAobm9ybWFsLCBSZXN1bHQudmFsdWUsIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY2FzZSB3aXRoIGlzTmFOIGFuZCBpc05hTih2YWx1ZSkKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBjYXNlIDE6CiAgICAgIHJlc3VsdCArPSA0OwogICAgICBicmVhazsKICAgIGNhc2UgMjoKICAgICAgcmVzdWx0ICs9IDg7CiAgICBjYXNlIGlzTmFOKHZhbHVlKToKICAgICAgcmVzdWx0ICs9IDE2OwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGNhc2UgbnVsbDoKICAgICAgcmVzdWx0ICs9IDY0OwogICAgY2FzZSBpc05hTjoKICAgICAgcmVzdWx0ICs9IDEyODsKICAgICAgYnJlYWs7CiAgICBjYXNlIEluZmluaXR5OgogICAgICByZXN1bHQgKz0gMjU2OwogICAgY2FzZSAyKzM6CiAgICAgIHJlc3VsdCArPSA1MTI7CiAgICAgIGJyZWFrOwogICAgY2FzZSB1bmRlZmluZWQ6CiAgICAgIHJlc3VsdCArPSAxMDI0OwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9CiAgICAgICAgCmlmKCEoU3dpdGNoVGVzdChldmFsKCdOdW1iZXIoZmFsc2UpJykpID09PSA2KSl7CiAgJEVSUk9SKCIjMTogU3dpdGNoVGVzdCgwKSA9PT0gNi4gQWN0dWFsOiAgU3dpdGNoVGVzdCgwKSA9PT0iKyBTd2l0Y2hUZXN0KDApICApOwp9CgppZighKFN3aXRjaFRlc3QocGFyc2VJbnQpID09PSAzMikpewogICRFUlJPUigiIzI6IFN3aXRjaFRlc3QocGFyc2VJbnQpID09PSAzMi4gQWN0dWFsOiAgU3dpdGNoVGVzdChwYXJzZUludCkgPT09IisgU3dpdGNoVGVzdChwYXJzZUludCkgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChpc05hTikgPT09IDEyOCkpewogICRFUlJPUigiIzM6IFN3aXRjaFRlc3QoaXNOYU4pID09PSAxMjguIEFjdHVhbDogIFN3aXRjaFRlc3QoaXNOYU4pID09PSIrIFN3aXRjaFRlc3QoaXNOYU4pICApOwp9CgppZighKFN3aXRjaFRlc3QodHJ1ZSkgPT09IDMyKSl7CiAgJEVSUk9SKCIjNjogU3dpdGNoVGVzdCh0cnVlKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QodHJ1ZSkgPT09IisgU3dpdGNoVGVzdCh0cnVlKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gNDgpKXsKICAkRVJST1IoIiM3OiBTd2l0Y2hUZXN0KGZhbHNlKSA9PT0gNDguIEFjdHVhbDogIFN3aXRjaFRlc3QoZmFsc2UpID09PSIrIFN3aXRjaFRlc3QoZmFsc2UpICApOwp9CgppZighKFN3aXRjaFRlc3QobnVsbCkgPT09IDE5MikpewogICRFUlJPUigiIzg6IFN3aXRjaFRlc3QobnVsbCkgPT09IDE5Mi4gQWN0dWFsOiAgU3dpdGNoVGVzdChudWxsKSA9PT0iKyBTd2l0Y2hUZXN0KG51bGwpICApOwp9CgppZighKFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMTAyNCkpewogICRFUlJPUigiIzk6IFN3aXRjaFRlc3Qodm9pZCAwKSA9PT0gMTAyNC4gQWN0dWFsOiAgU3dpdGNoVGVzdCh2b2lkIDApID09PSIrIFN3aXRjaFRlc3Qodm9pZCAwKSAgKTsKfQoKaWYoIShTd2l0Y2hUZXN0KE5hTikgPT09IDMyKSl7CiAgJEVSUk9SKCIjMTA6IFN3aXRjaFRlc3QoTmFOKSA9PT0gMzIuIEFjdHVhbDogIFN3aXRjaFRlc3QoTmFOKSA9PT0iKyBTd2l0Y2hUZXN0KE5hTikgICk7Cn0KCmlmKCEoU3dpdGNoVGVzdChJbmZpbml0eSkgPT09IDc2OCkpewogICRFUlJPUigiIzEwOiBTd2l0Y2hUZXN0KE5hTikgPT09IDc2OC4gQWN0dWFsOiAgU3dpdGNoVGVzdChOYU4pID09PSIrIFN3aXRjaFRlc3QoTmFOKSAgKTsKfQoK","commentary":"If Result.type is break and Result.target is in the current\nlabel set, return (normal, Result.value, empty)","description":"Using case with isNaN and isNaN(value)","path":"TestCases/ch12/12.11/S12.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBjYW4gYmUgb25seSBvbmUgRGVmYXVsdENsYXVzZQogKgogKiBAcGF0aCBjaDEyLzEyLjExL1MxMi4xMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIERlZmF1bHRDbGF1c2UKICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoKHZhbHVlKSB7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIAogIHJldHVybiByZXN1bHQ7Cn0KCnZhciB4ID0gU3dpdGNoVGVzdCgwKTsKCg==","commentary":"There can be only one DefaultClause","description":"Duplicate DefaultClause","negative":"","path":"TestCases/ch12/12.11/S12.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCgpIHt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2goKSB7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch() {}\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCB7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoIHsKICAgIGNhc2UgMDoKICAgICAgcmVzdWx0ICs9IDI7CiAgICBkZWZhdWx0OgogICAgICByZXN1bHQgKz0gMzI7CiAgICAgIGJyZWFrOwogIH0KICAKICByZXR1cm4gcmVzdWx0Owp9Cgp2YXIgeCA9IFN3aXRjaFRlc3QoMCk7Cgo=","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch {}\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInN3aXRjaCh2YWx1ZSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnN3aXRjaCh2YWx1ZSk7Cgo=","commentary":"Syntax constructions of switch statement","description":"Checking if execution of \"switch(value)\" fails","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY2FzZSIgdGhhdCBoYXMgbm8gRXhwcmVzc29uIGFmdGVyIGl0LiAiQ2FzZUNsYXVzZTogY2FzZSBFeHByZXNzaW9uIDogW1N0YXRlbWVudExpc3RdIgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBTd2l0Y2hUZXN0KHZhbHVlKXsKICB2YXIgcmVzdWx0ID0gMDsKICAKICBzd2l0Y2godmFsdWUpIHsKICAgIGNhc2U6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Using \"case\" that has no Expresson after it. \"CaseClause: case Expression : [StatementList]\"","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnRyb2R1Y2luZyBzdGF0ZW1lbnQgbm90IGZvbGxvd2VkIGJ5ICJjYXNlIiBrZXl3b3JkCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uIFN3aXRjaFRlc3QodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIAogIHN3aXRjaCh2YWx1ZSkgewogIAlyZXN1bHQgPTI7CiAgICBjYXNlIDA6CiAgICAgIHJlc3VsdCArPSAyOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgCiAgcmV0dXJuIHJlc3VsdDsKfQoKdmFyIHggPSBTd2l0Y2hUZXN0KDApOwoK","commentary":"Syntax constructions of switch statement","description":"Introducing statement not followed by \"case\" keyword","negative":"","path":"TestCases/ch12/12.11/S12.11_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCBzeW50YXggY29uc3RydWN0aW9ucyBvZiBzd2l0Y2ggc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTEvUzEyLjExX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBOZXN0aW5nIG9uZSAic3dpdGNoIiBzdGF0ZW1lbnQgaW50byBTdGF0ZW1lbnRMaXN0IG9mIHRoZSBvdGhlcidzCiAqLwoKZnVuY3Rpb24gU3dpdGNoVGVzdCh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgCiAgc3dpdGNoKHZhbHVlKSB7CiAgICBjYXNlIDA6CiAgICAgIHN3aXRjaCh2YWx1ZSkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgcmVzdWx0ICs9IDM7CiAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgcmVzdWx0ICo9IDI7CiAgICAgIGJyZWFrOwogICAgICByZXN1bHQ9MzsKICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIHJldHVybiByZXN1bHQ7Cn0KCnZhciB4ID0gU3dpdGNoVGVzdCgwKTsKaWYoeCE9PTYpICRFUlJPUigiIzE6IFN3aXRjaFRlc3QoMCkgPT09IDYuIEFjdHVhbDogIFN3aXRjaFRlc3QoMCkgPT09IisgU3dpdGNoVGVzdCgwKSAgKTsKCg==","commentary":"Embedded syntax constructions of switch statement","description":"Nesting one \"switch\" statement into StatementList of the other's","path":"TestCases/ch12/12.11/S12.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYWJlbGxlZCBzdGF0ZW1lbnRzIGFyZSBvbmx5IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBsYWJlbGxlZAogKiBicmVhayBhbmQgY29udGludWUgc3RhdGVtZW50cwogKgogKiBAcGF0aCBjaDEyLzEyLjEyL1MxMi4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgbGFiZWxsZWQgYnJlYWsgd29ya3MuIFNlZSBjb250aW51ZSBhbmQgYnJlYWsgc2VjdGlvbnMKICovCgp2YXIgb2JqZWN0ID0ge3AxOiAxLCBwMjogMX07CnZhciByZXN1bHQgPSAwOwpsYmw6IGZvcih2YXIgaSBpbiBvYmplY3QpewogIHJlc3VsdCArPSBvYmplY3RbaV07CiAgYnJlYWsgbGJsOwp9CgppZighKHJlc3VsdCA9PT0gMSkpewogICRFUlJPUigiJ2JyZWFrIGxhYmVsJyBzaG91bGQgYnJlYWsgZXhlY3V0aW9uIG9mIGxhYmVsbGVkIGl0ZXJhdGlvbiBzdGF0ZW1lbnQiKTsKfQoK","commentary":"Labelled statements are only used in conjunction with labelled\nbreak and continue statements","description":"Checking if labelled break works. See continue and break sections","path":"TestCases/ch12/12.12/S12.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTYW5pdHkgdGVzdCBmb3IgdGhyb3cgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gdGhyb3cgZXhjZXB0aW9uIHdpdGggInRocm93IgogKiBAbmVnYXRpdmUKICovCgp0aHJvdyAiZXJyb3IiOwoK","commentary":"Sanity test for throw statement","description":"Trying to throw exception with \"throw\"","negative":"","path":"TestCases/ch12/12.13/S12.13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgdW5kZWZpbmVkOwp9CmNhdGNoKGUpewogIGlmIChlIT09dW5kZWZpbmVkKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing undefined","path":"TestCases/ch12/12.13/S12.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgbnVsbAogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IG51bGw7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT1udWxsKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IG51bGwuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing null","path":"TestCases/ch12/12.13/S12.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYm9vbGVhbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IHRydWU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzMKdmFyIGI9ZmFsc2U7CnRyeXsKICB0aHJvdyBiOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzQKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing boolean","path":"TestCases/ch12/12.13/S12.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3RyaW5nCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPSJleGNlcHRpb24gIzEiOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PSJleGNlcHRpb24gIzEiKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09ImV4Y2VwdGlvbiAjMSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing string","path":"TestCases/ch12/12.13/S12.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgbnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xMykgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTEzLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPTEzOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzMKdHJ5ewogIHRocm93IDIuMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yLjEzKSAkRVJST1IoJyMzOiBFeGNlcHRpb24gPT09Mi4xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgTmFOOwp9CmNhdGNoKGUpewogIGlmICghaXNOYU4oZSkpICRFUlJPUignIzQ6IEV4Y2VwdGlvbiBpcyBOYU4nKTsKfQoKLy8gQ0hFQ0sjNQp0cnl7CiAgdGhyb3cgK0luZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09K0luZmluaXR5KSAkRVJST1IoJyM1OiBFeGNlcHRpb24gPT09K0luZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyM2CnRyeXsKICB0aHJvdyAtSW5maW5pdHk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tSW5maW5pdHkpICRFUlJPUignIzY6IEV4Y2VwdGlvbiA9PT0tSW5maW5pdHkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzcKdHJ5ewogIHRocm93ICswOwp9CmNhdGNoKGUpewogIGlmIChlIT09KzApICRFUlJPUignIzc6IEV4Y2VwdGlvbiA9PT0rMC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjOAp0cnl7CiAgdGhyb3cgLTA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tMCkgJEVSUk9SKCcjODogRXhjZXB0aW9uID09PS0wLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing number","path":"TestCases/ch12/12.13/S12.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgb2JqZWN0CiAqLwoKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30sCiAgICAgICAgICAgICBpOjcKfQoKdHJ5ewogIHRocm93IG15T2JqOwp9CmNhdGNoKGUpewkKLy8gQ0hFQ0sjMQogIGlmIChlLnAxIT09ImEiKSAkRVJST1IoJyMxOiBlLnAxID09PSAiYSIuIEFjdHVhbDogIGUucDEgPT09JysgZS5wMSAgKTsKLy8gQ0hFQ0sjMgogIGlmIChlLnZhbHVlIT09J215T2JqX3ZhbHVlJykgJEVSUk9SKCcjMjogZS5wMSA9PT0gXCdteU9ial92YWx1ZVwnLiBBY3R1YWw6ICBlLnAxID09PScrIGUucDEgICk7Ci8vIENIRUNLIzMKICBpZiAoZS5ldmFsKCkhPT0nb2JqX2V2YWwnKSAkRVJST1IoJyMzOiBlLnAxID09PSBcJ29ial9ldmFsXCcuIEFjdHVhbDogIGUucDEgPT09JysgZS5wMSAgKTsKfQoKLy8gQ0hFQ0sjNApteU9iai5pPTYKdHJ5ewogIHRocm93IG15T2JqOwp9CmNhdGNoKGUpe30KaWYgKG15T2JqLmkhPT02KSAkRVJST1IoJyM0OiBIYW5kbGluZyBvZiBjYXRjaCBtdXN0IGJlIGNvcnJlY3QnKTsKCg==","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing object","path":"TestCases/ch12/12.13/S12.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidGhyb3cgRXhwcmVzc2lvbiIgcmV0dXJucyAodGhyb3csIEdldFZhbHVlKFJlc3VsdCgxKSksIGVtcHR5KSwgd2hlcmUgMSBldmFsdWF0ZXMgRXhwcmVzc2lvbgogKgogKiBAcGF0aCBjaDEyLzEyLjEzL1MxMi4xM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgQXJyYXkKICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzW2ldKSAkRVJST1IoJyMxLicraSsnOiBFeGNlcHRpb25bJytpKyddID09PSBteWNhcnNbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddID09PScrIGVbaV0gICk7CiAgfQp9Cgo=","commentary":"\"throw Expression\" returns (throw, GetValue(Result(1)), empty), where 1 evaluates Expression","description":"Throwing Array","path":"TestCases/ch12/12.13/S12.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCi8vIENIRUNLIzEKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGImJmZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gZmFsc2Uob3BlcmF0b24gJiYpLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9CgovLyBDSEVDSyMyCnZhciBiPXRydWU7CnRyeXsKICB0aHJvdyBifHxmYWxzZTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PXRydWUpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT0gdHJ1ZShvcGVyYXRvbiB8fCkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7Cn0KCi8vIENIRUNLIzMKdHJ5ewogIHRocm93ICFmYWxzZTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PXRydWUpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT0gdHJ1ZShvcGVyYXRvbiAhKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYj10cnVlOwp0cnl7CiAgdGhyb3cgIShiJiZmYWxzZSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09IHRydWUob3BlcmF0b24gJiYpLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating boolean expression","path":"TestCases/ch12/12.13/S12.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIHN0cmluZyBleHByZXNzaW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiIrIiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSAiZXhjZXB0aW9uICMxIihvcGVyYXRvbiArKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYj0iZXhjZXB0aW9uIgp2YXIgYT0iICMxIjsKdHJ5ewogIHRocm93IGIrYTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PSJleGNlcHRpb24gIzEiKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09ICJleGNlcHRpb24gIzEiKG9wZXJhdG9uICspLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating string expression","path":"TestCases/ch12/12.13/S12.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIG51bWJlciBleHByZXNzaW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTArMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09MTMob3BlcmF0b24gKykuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYj0xMDsKdmFyIGE9MzsKdHJ5ewogIHRocm93IGErYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMob3BlcmF0b24gKykuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgMy4xNS0xLjAyOwp9CmNhdGNoKGUpewogIGlmIChlIT09Mi4xMykgJEVSUk9SKCcjMzogRXhjZXB0aW9uID09PTIuMTMob3BlcmF0b24gLSkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgMioyOwp9CmNhdGNoKGUpewogIGlmIChlIT09NCkgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PTQob3BlcmF0b24gKikuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjNQp0cnl7CiAgdGhyb3cgMStJbmZpbml0eTsKfQpjYXRjaChlKXsKICBpZiAoZSE9PStJbmZpbml0eSkgJEVSUk9SKCcjNTogRXhjZXB0aW9uID09PStJbmZpbml0eShvcGVyYXRvbiArKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyM2CnRyeXsKICB0aHJvdyAxLUluZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09LUluZmluaXR5KSAkRVJST1IoJyM2OiBFeGNlcHRpb24gPT09LUluZmluaXR5KG9wZXJhdG9uIC0pLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cn0KCi8vIENIRUNLIzcKdHJ5ewogIHRocm93IDEwLzU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yKSAkRVJST1IoJyM3OiBFeGNlcHRpb24gPT09MihvcGVyYXRvbiAvKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyM4CnRyeXsKICB0aHJvdyA4Pj4yOwp9CmNhdGNoKGUpewogIGlmIChlIT09MikgJEVSUk9SKCcjODogRXhjZXB0aW9uID09PTIob3BlcmF0b24gPj4pLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cn0KCi8vIENIRUNLIzkKdHJ5ewogIHRocm93IDI8PDI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT04KSAkRVJST1IoJyM5OiBFeGNlcHRpb24gPT09OChvcGVyYXRvbiA8PCkuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoKLy8gQ0hFQ0sjMTAKdHJ5ewogIHRocm93IDEyMyUxMDA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yMykgJEVSUk9SKCcjMTA6IEV4Y2VwdGlvbiA9PT0yMyhvcGVyYXRvbiAlKS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating number expression","path":"TestCases/ch12/12.13/S12.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGFycmF5IGV4cHJlc3Npb24KICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChteWNhcnMyKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjMS4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10ob3BlcmF0aW9uIC5jb25jYXQpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KICBmb3IgKHZhciBpPTM7aTw2O2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaS0zXSkgJEVSUk9SKCcjMS4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJysoaS0zKSsnXShvcGVyYXRpb24gLmNvbmNhdCkuIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQp9CgovLyBDSEVDSyMyCnRyeXsKICB0aHJvdyBuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpXSkgJEVSUk9SKCcjMi4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJytpKyddKG9wZXJhdGlvbiBuZXcpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjMy4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10ob3BlcmF0aW9uIC5jb25jYXQobmV3KSkuIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQogIGZvciAodmFyIGk9MztpPDY7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpLTNdKSAkRVJST1IoJyMzLicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzMlsnKyhpLTMpKyddKG9wZXJhdGlvbiAuY29uY2F0KG5ldykpLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoK","commentary":"1. Evaluate Expression","description":"Evaluating array expression","path":"TestCases/ch12/12.13/S12.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGVxdWF0aW9uIGV4cHJlc3Npb24KICovCgovLyBDSEVDSyMxCnZhciBhPXRydWU7CnZhciBiPWZhbHNlOwp0cnl7CiAgdGhyb3cgKChhJiYoIWIpKT8iZXhjZXB0aW9uIjoiICMxIik7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24iKG9wZXJhdG9uID8gLCApLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlICApOwp9Cgo=","commentary":"1. Evaluate Expression","description":"Evaluating equation expression","path":"TestCases/ch12/12.13/S12.13_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLiBFdmFsdWF0ZSBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTMvUzEyLjEzX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFdmFsdWF0aW5nIGZ1bmN0aW9ucwogKi8KCi8vIENIRUNLIzEKdmFyIGk9MDsKZnVuY3Rpb24gYWRkaW5nMSgpewogIGkrKzsKICByZXR1cm4gMTsKfQp0cnl7CiAgdGhyb3cgKGFkZGluZzEoKSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09MS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUpOwp9CgovLyBDSEVDSyMyCnZhciBpPTA7CmZ1bmN0aW9uIGFkZGluZzIoKXsKICBpKys7CiAgcmV0dXJuIGk7Cn0KdHJ5ewogIHRocm93IGFkZGluZzIoKTsKfQpjYXRjaChlKXt9CmlmIChpIT09MSkgJEVSUk9SKCcjMjogaT09PTEuIEFjdHVhbDogaT09PScrIGkpOwoKLy8gQ0hFQ0sjMwp2YXIgaT0wOwpmdW5jdGlvbiBhZGRpbmczKCl7CiAgaSsrOwp9CnRyeXsKICB0aHJvdyBhZGRpbmczKCk7Cn0KY2F0Y2goZSl7fQppZiAoaSE9PTEpICRFUlJPUignIzM6IGk9PT0xLiBBY3R1YWw6IGk9PT0nK2kpOwoKLy8gQ0hFQ0sjNApmdW5jdGlvbiBhZGRpbmc0KGkpewogIGkrKzsKICByZXR1cm4gaTsKfQp0cnl7CiAgdGhyb3cgKGFkZGluZzQoMSkpOwp9CmNhdGNoKGUpewogIGlmIChlIT09MikgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PTIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKfQoK","commentary":"1. Evaluate Expression","description":"Evaluating functions","path":"TestCases/ch12/12.13/S12.13_A3_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGRvZXNuJ3QgY2hhbmdlIGRlY2xhcmF0aW9uIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIGluIGNhdGNoIHdpdGggc2FtZSBuYW1lIGFzIGNhdGNoIHBhcmFtZXRlciBjaGFuZ2VzIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvbyA9ICJwcmlvciB0byB0aHJvdyI7DQogIHRyeSB7DQogICAgdGhyb3cgbmV3IEVycm9yKCk7DQogIH0NCiAgY2F0Y2ggKGZvbykgew0KICAgIHZhciBmb28gPSAiaW5pdGlhbGl6ZXIgaW4gY2F0Y2giOw0KICB9DQogcmV0dXJuIGZvbyA9PT0gInByaW9yIHRvIHRocm93IjsNCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter","path":"TestCases/ch12/12.14/12.14-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgZnVuY3Rpb24gcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZihvKSB7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobywgeCkgew0KICAgICAgdHJ5IHsNCiAgICAgICAgdGhyb3cgbzsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB4Ow0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiBpbm5lcmYobywgNDIpOw0KICB9DQogIA0KICBpZiAoZih7fSkgPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch introduces scope - name lookup finds function parameter","path":"TestCases/ch12/12.14/12.14-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgaW5uZXIgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCg0KICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7DQogICAgICB2YXIgeCA9IDQyOw0KDQogICAgICB0cnkgew0KICAgICAgICB0aHJvdyBvOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHg7DQogICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuIGlubmVyZihvKTsNCiAgfQ0KICANCiAgaWYgKGYoe30pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch introduces scope - name lookup finds inner variable","path":"TestCases/ch12/12.14/12.14-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gbmFtZSBsb29rdXAgZmluZHMgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmKG8pIHsNCg0KICAgIGZ1bmN0aW9uIGlubmVyZihvKSB7DQogICAgICB0cnkgew0KICAgICAgICB0aHJvdyBvOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGUueDsNCiAgICAgIH0NCiAgICB9DQoNCiAgICByZXR1cm4gaW5uZXJmKG8pOw0KICB9DQogIA0KICBpZiAoZih7eDo0Mn0pID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"catch introduces scope - name lookup finds property","path":"TestCases/ch12/12.14/12.14-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gdXBkYXRlcyBhcmUgYmFzZWQgb24gc2NvcGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzMSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzMiA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzMyA9IGZhbHNlOw0KDQogICAgICAgIHZhciB4XzEyXzE0XzEzID0gJ2xvY2FsJzsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnhfMTJfMTRfMTMgPSAnaW5zdGFuY2UnOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHRocm93IGZvbzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzMSA9ICh4XzEyXzE0XzEzID09PSAnbG9jYWwnKTsNCiAgICAgICAgICAgICAgICBlKCk7DQogICAgICAgICAgICAgICAgcmVzMiA9ICh4XzEyXzE0XzEzID09PSAnbG9jYWwnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJlczMgPSAoeF8xMl8xNF8xMyA9PT0gJ2xvY2FsJyk7DQoNCiAgICAgICAgICAgIGlmIChyZXMxID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgcmVzMiA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgICAgIHJlczMgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnhfMTJfMTRfMTM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch introduces scope - updates are based on scope","path":"TestCases/ch12/12.14/12.14-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24sIHdoZW4gYW4gZXhjZXB0aW9uIHBhcmFtZXRlciBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiBpbiBjYXRjaCBibG9jaywgZ2xvYmFsIG9iamVjdCBpcyBwYXNzZWQgYXMgdGhlIHRoaXMgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuXzEyXzE0XzE0X2ZvbyA9ICJ0ZXN0IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpLl8xMl8xNF8xNF9mb28gPT09ICJ0ZXN0IjsNCiAgICAgICAgfQ0KICAgICAgICBmaW5hbGx5IHsNCiAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuXzEyXzE0XzE0X2ZvbzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Exception object is a function, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24gd2hpY2ggaXMgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QsIHdoZW4gYW4gZXhjZXB0aW9uIHBhcmFtZXRlciBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiBpbiBjYXRjaCBibG9jaywgZ2xvYmFsIG9iamVjdCBpcyBwYXNzZWQgYXMgdGhlIHRoaXMgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai50ZXN0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdGhpcy5fMTJfMTRfMTVfZm9vID0gInRlc3QiOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgb2JqLnRlc3Q7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiAgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTVfZm9vID09PSAidGVzdCI7DQogICAgICAgIH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTVfZm9vOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Exception object is a function which is a property of an object, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFeGNlcHRpb24gb2JqZWN0IGlzIGEgZnVuY3Rpb24gd2hpY2ggdXBkYXRlIGluIGNhdGNoIGJsb2NrLCB3aGVuIGFuIGV4Y2VwdGlvbiBwYXJhbWV0ZXIgaXMgY2FsbGVkIGFzIGEgZnVuY3Rpb24gaW4gY2F0Y2ggYmxvY2ssIGdsb2JhbCBvYmplY3QgaXMgcGFzc2VkIGFzIHRoZSB0aGlzIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHRocm93IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl8xMl8xNF8xNl9mb28gPSAidGVzdCI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBvYmoudGVzdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl8xMl8xNF8xNl9mb28gPSAidGVzdDEiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGUgPSBvYmoudGVzdDsNCiAgICAgICAgICAgIGUoKTsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpLl8xMl8xNF8xNl9mb28gPT09ICJ0ZXN0MSI7DQogICAgICAgIH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTJfMTRfMTZfZm9vOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Exception object is a function which update in catch block, when an exception parameter is called as a function in catch block, global object is passed as the this value","path":"TestCases/ch12/12.14/12.14-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGRvZXNuJ3QgY2hhbmdlIGRlY2xhcmF0aW9uIHNjb3BlIC0gdmFyIGluaXRpYWxpemVyIGluIGNhdGNoIHdpdGggc2FtZSBuYW1lIGFzIGNhdGNoIHBhcmFtZXRlciBjaGFuZ2VzIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNhcHR1cmVkRm9vKCkge3JldHVybiBmb299Ow0KICBmb28gPSAicHJpb3IgdG8gdGhyb3ciOw0KICB0cnkgew0KICAgIHRocm93IG5ldyBFcnJvcigpOw0KICB9DQogIGNhdGNoIChmb28pIHsNCiAgICB2YXIgZm9vID0gImluaXRpYWxpemVyIGluIGNhdGNoIjsNCiAgICByZXR1cm4gY2FwdHVyZWRGb28oKSAhPT0gImluaXRpYWxpemVyIGluIGNhdGNoIjsNCiAgfQ0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter","path":"TestCases/ch12/12.14/12.14-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBkb2Vzbid0IGNoYW5nZSBkZWNsYXJhdGlvbiBzY29wZSAtIHZhciBkZWNsYXJhdGlvbiBhcmUgdmlzaWJsZSBvdXRzaWRlIHdoZW4gbmFtZSBkaWZmZXJlbnQgZnJvbSBjYXRjaCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIHRocm93IG5ldyBFcnJvcigpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9ICJkZWNsYXJhdGlvbiBpbiBjYXRjaCI7DQogIH0NCiAgDQogIHJldHVybiBmb28gPT09ICJkZWNsYXJhdGlvbiBpbiBjYXRjaCI7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch doesn't change declaration scope - var declaration are visible outside when name different from catch parameter","path":"TestCases/ch12/12.14/12.14-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgdmFycyBtdXN0IHNoYWRvdyBvdXRlciB2YXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IGZvbyA6IDQyfTsNCg0KICB0cnkgew0KICAgIHRocm93IG87DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICB2YXIgZm9vOw0KDQogICAgaWYgKGZvbyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - block-local vars must shadow outer vars","path":"TestCases/ch12/12.14/12.14-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gYmxvY2stbG9jYWwgZnVuY3Rpb24gZXhwcmVzc2lvbiBtdXN0IHNoYWRvdyBvdXRlciBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7Zm9vIDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDI7fX07DQoNCiAgdHJ5IHsNCiAgICB0aHJvdyBvOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgIGlmIChmb28oKSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - block-local function expression must shadow outer function expression","path":"TestCases/ch12/12.14/12.14-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgY2F0Y2ggYmxvY2sNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgdmFyIG8gPSB7Zm9vOiAxfTsNCiAgICAgIHZhciBjYXRjaEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICANCiAgICAgIHRyeSB7DQogICAgICAgIHRocm93IG87DQogICAgICB9DQogICAgICBjYXRjaCAoZXhwT2JqKSB7DQogICAgICAgIGNhdGNoQWNjZXNzZWQgPSAoZXhwT2JqLmZvbyA9PSAxKTsNCiAgICAgIH0NCg0KICAgICAgdHJ5IHsNCiAgICAgICAgZXhwT2JqOw0KICAgICAgfQ0KICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGNhdGNoQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yDQogICAgICB9DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - scope removed when exiting catch block","path":"TestCases/ch12/12.14/12.14-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGxvY2FsIHZhcnMgbXVzdCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgd2l0aCBibG9jaw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIHNob3VsZCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHdpdGggYmxvY2sNCiAqIGxvY2FsIHZhcnMgbXVzdCBzaGFkb3cgb3V0ZXIgdmFycw0KICogbG9jYWwgZnVuY3Rpb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9ucw0KICogbG9jYWwgZnVuY3Rpb24gZXhwcmVzc3Npb25zIG11c3Qgc2hhZG93IG91dGVyIGZ1bmN0aW9uIGV4cHJlc3Npb25zDQogKiBldmFsIHNob3VsZCB1c2UgdGhlIGFwcGVuZGVkIG9iamVjdCB0byB0aGUgc2NvcGUgY2hhaW4NCiAqDQogKiBAcGF0aCBjaDEyLzEyLjE0LzEyLjE0LTguanMNCiAqIEBkZXNjcmlwdGlvbiBjYXRjaCBpbnRyb2R1Y2VzIHNjb3BlIC0gc2NvcGUgcmVtb3ZlZCB3aGVuIGV4aXRpbmcgY2F0Y2ggYmxvY2sgKHByb3BlcnRpZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7Zm9vOiA0Mn07DQoNCiAgdHJ5IHsNCiAgICB0aHJvdyBvOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgdmFyIGZvbyA9IDE7DQogIH0NCg0KICBpZiAoby5mb28gPT09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"local vars must not be visible outside with block\nlocal functions must not be visible outside with block\nlocal function expresssions should not be visible outside with block\nlocal vars must shadow outer vars\nlocal functions must shadow outer functions\nlocal function expresssions must shadow outer function expressions\neval should use the appended object to the scope chain","description":"catch introduces scope - scope removed when exiting catch block (properties)","path":"TestCases/ch12/12.14/12.14-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIGNhdGNoIGludHJvZHVjZXMgc2NvcGUgLSBuYW1lIGxvb2t1cCBmaW5kcyBvdXRlciB2YXJpYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGYobykgew0KICAgIHZhciB4ID0gNDI7DQoNCiAgICBmdW5jdGlvbiBpbm5lcmYobykgew0KICAgICAgdHJ5IHsNCiAgICAgICAgdGhyb3cgbzsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB4Ow0KICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiBpbm5lcmYobyk7DQogIH0NCiAgDQogIGlmIChmKHt9KSA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"catch introduces scope - name lookup finds outer variable","path":"TestCases/ch12/12.14/12.14-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQgOiB0cnkgQmxvY2sgQ2F0Y2ggaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6IDIuIElmIFJlc3VsdCgxKS50eXBlIGlzIG5vdCB0aHJvdywgcmV0dXJuIFJlc3VsdCgxKQogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIFRyeVN0YXRlbWVudCA6IHRyeSBCbG9jayBDYXRjaC4gVGhlIHN0YXRlbWVudHMgZG9lc24ndCBjYXVzZSBhY3R1YWwgZXhjZXB0aW9ucwogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB2YXIgeD0wOwp9CmNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogSWYgUmVzdWx0KDEpLnR5cGUgaXMgbm90IHRocm93LCByZXR1cm4gUmVzdWx0KDEpLiBBY3R1YWw6IDQgUmV0dXJuKFJlc3VsdCgzKSknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzE9MDsKdHJ5ewogIHZhciB4MT0xOwp9CmZpbmFsbHkKewogIGMxPTE7Cn0KaWYoeDEhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJ0cnkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkLiBBY3R1YWw6IHRyeSBCbG9jayBoYXMgbm90IGJlZW4gZXZhbHVhdGVkJyk7Cn0KaWYgKGMxIT09MSl7CiAgJEVSUk9SKCcjMi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQuIEFjdHVhbDogZmluYWxseSBCbG9jayBoYXMgbm90IGJlZW4gZXZhbHVhdGVkJyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMyPTA7CnRyeXsKICB2YXIgeDI9MTsKfQpjYXRjaChlKXsKICAkRVJST1IoJyMzLjE6IElmIFJlc3VsdCgxKS50eXBlIGlzIG5vdCB0aHJvdywgcmV0dXJuIFJlc3VsdCgxKS4gQWN0dWFsOiA0IFJldHVybihSZXN1bHQoMykpJyk7CQp9CmZpbmFsbHl7CiAgYzI9MTsKfQppZih4MiE9PTEpewogICRFUlJPUignIzMuMjogInRyeSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQuIEFjdHVhbDogdHJ5IEJsb2NrIGhhcyBub3QgYmVlbiBldmFsdWF0ZWQnKTsKfQppZiAoYzIhPT0xKXsKICAkRVJST1IoJyMzLjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZC4gQWN0dWFsOiBmaW5hbGx5IEJsb2NrIGhhcyBub3QgYmVlbiBldmFsdWF0ZWQnKTsKfQoK","commentary":"The production TryStatement : try Block Catch is evaluated as follows: 2. If Result(1).type is not throw, return Result(1)","description":"Executing TryStatement : try Block Catch. The statements doesn't cause actual exceptions","path":"TestCases/ch12/12.14/S12.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgZXhjZXB0aW9uIHdoaWxlIGV4ZWN1dGluZyBpdGVyYXRpb24gc3RhdGVtZW50IHBsYWNlZCBpbnRvIHRyeSBCbG9jawogKi8KCi8vIENIRUNLIzEKdmFyIGk9MDsKdHJ5ewp3aGlsZShpPDEwKXsKICBpZihpPT09NSkgdGhyb3cgaTsKICBpKys7Cn0KfQpjYXRjaChlKXsKICBpZihlIT09NSkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Throwing exception while executing iteration statement placed into try Block","path":"TestCases/ch12/12.14/S12.14_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgdXNlIGNvbnRpbnVlIGxvb3AKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwp3aGlsZShjMTwyKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKd2hpbGUoYzI8Mil7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwp3aGlsZShjMzwyKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgY29udGludWU7CiAgfQogIGZpbjM9MDsKfQppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMzogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnkgY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyM0CnZhciBjND0wLGZpbjQ9MDsKd2hpbGUoYzQ8Mil7CiAgdHJ5ewogICAgYzQrPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluYWxseXsKICAgIGZpbjQ9MTsKICB9CiAgZmluND0tMTsKfTsKaWYoZmluNCE9PTEpewogICRFUlJPUignIzQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCBhdCAidHJ5e2NvbnRpbnVlfSBmaW5hbGx5IiBjb25zdHJ1Y3Rpb24nKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKd2hpbGUoYzU8Mil7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjNSs9MTsKICAgIGNvbnRpbnVlOwogIH0KfQppZihjNSE9PTIpewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTAsZmluNj0wOwp3aGlsZShjNjwyKXsKICB0cnl7CiAgICBjNis9MTsKICAgIHRocm93ICJleDEiCiAgfQogIGZpbmFsbHl7CiAgICBmaW42PTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluNj0tMTsKfQppZihmaW42IT09MSl7CiAgJEVSUk9SKCcjNi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjNiE9PTIpewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgdXNlIGJyZWFrCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKd2hpbGUoYzE8Mil7CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogIH0KICBmaW49LTE7CiAgYzErPTI7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTEpewogICRFUlJPUignIzEuMjogInRyeXticmVha31jYXRjaCBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwp3aGlsZShjMjwyKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgfQogIGMyKz0yOwogIGZpbjI9LTE7Cn0KaWYoZmluMiE9PTEpewogICRFUlJPUignIzIuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzIhPT0xKXsKICAkRVJST1IoJyMyLjI6ICJ0cnkgY2F0Y2h7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MCxmaW4zPTA7CndoaWxlKGMzPDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzMrPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4zPTE7CiAgICBicmVhazsKICB9CiAgYzMrPTI7CiAgZmluMz0wOwp9CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4yOiAidHJ5IGNhdGNoIGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTAsZmluND0wOwp3aGlsZShjNDwyKXsKICB0cnl7CiAgICBjNCs9MTsKICAgIGJyZWFrOwogIH0KICBmaW5hbGx5ewogICAgZmluND0xOwogIH0KICBmaW40PS0xOwogIGM0Kz0yOwp9CmlmKGZpbjQhPT0xKXsKICAkRVJST1IoJyM0LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM0IT09MSl7CiAgJEVSUk9SKCcjNC4yOiAidHJ5e2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CndoaWxlKGM1PDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgfQp9CmlmKGM1IT09MCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKd2hpbGUoYzY8Mil7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn0KaWYoYzYhPT0xKXsKICAkRVJST1IoJyM2OiAidHJ5e2JyZWFrfSBjYXRjaCIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wLGZpbjc9MDsKdHJ5ewogIHdoaWxlKGM3PDIpewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A10_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UNC5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHN0YXRlbWVudCBpbnNpZGUgbG9vcCwgd2hlcmUgY29tYmluYXRlIHVzaW5nIGJyZWFrIGFuZCBjb250aW51ZQogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTAsZmluPTA7CndoaWxlKGMxPDIpewogIHRyeXsKICAgIGMxKz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW49LTE7CiAgYzErPTI7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTIpewogICRFUlJPUignIzEuMjogInRyeXticmVha30gY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CndoaWxlKGMyPDIpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09Mil7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5e2NvbnRpbnVlfSBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A10_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aGlsZSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExMF9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3cgc29tZSBleGNlcHRpb25zIGZyb20gZGlmZmVyZW50IHBsYWNlIG9mIGxvb3AgYm9keQogKi8KCi8vIENIRUNLIzEKdmFyIGM9MCwgaT0wOwp2YXIgZmluPTA7CndoaWxlKGk8MTApewogIGkrPTE7CiAgdHJ5ewogICAgaWYoYz09PTApewogICAgICB0aHJvdyAiZXgxIjsKICAgICAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiZXgxIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfQogICAgYys9MjsKICAgIGlmKGM9PT0xKXsKICAgICAgdGhyb3cgImV4MiI7CiAgICAgICRFUlJPUignIzEuMjogdGhyb3cgImV4MiIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0KICB9CiAgY2F0Y2goZXIxKXsKICAgIGMtPTE7CiAgICBjb250aW51ZTsKICAgICRFUlJPUignIzEuMzogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwogIH0KICBmaW5hbGx5ewogICAgZmluKz0xOwogIH0KfQppZihmaW4hPT0xMCl7CiAgJEVSUk9SKCcjMS40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"while\" statement","description":"Throw some exceptions from different place of loop body","path":"TestCases/ch12/12.14/S12.14_A10_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIExvb3AgaW5zaWRlIHRyeSBCbG9jaywgd2hlcmUgdGhyb3cgZXhjZXB0aW9uCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgZm9yKHZhciBpPTA7aTwxMDtpKyspewogICAgaWYoaT09PTUpIHRocm93IGk7CiAgfQp9CmNhdGNoKGUpewogIGlmKGUhPT01KSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gNS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Loop inside try Block, where throw exception","path":"TestCases/ch12/12.14/S12.14_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBjb250aW51ZSBsb29wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgZmluPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIGkrPTE7CiAgICBjb250aW51ZTsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogIH0KICBmaW49LTE7Cn0KaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09NSl7CiAgJEVSUk9SKCcjMi4xOiAidHJ5IGNhdGNoe2NvbnRpbnVlfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgY29udGludWU7CiAgfQogIGZpbjM9MDsKfQppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMy4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMyE9PTUpewogICRFUlJPUignIzMuMjogInRyeSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM0CnZhciBmaW49MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgaSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyM1CnZhciBjNT0wOwpmb3IodmFyIGM1PTA7YzU8MTA7KXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGM1Kz0xOwogICAgY29udGludWU7CiAgfQogIGM1Kz0xMjsKfTsKaWYoYzUhPT0xMCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHtjb250aW51ZX0gbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wLGZpbjY9MDsKZm9yKHZhciBjNj0wO2M2PDEwOyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICB0aHJvdyAiZXgxIgogIH0KICBmaW5hbGx5ewogICAgZmluNj0xOwogICAgY29udGludWU7CiAgfQogIGZpbjY9LTE7Cn07CmlmKGZpbjYhPT0xKXsKICAkRVJST1IoJyM2LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM2IT09MTApewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBicmVhawogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTAsZmluPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIGMxKz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9OwppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09MSl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfWNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfTsKaWYoZmluMiE9PTEpewogICRFUlJPUignIzIuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzIhPT0xKXsKICAkRVJST1IoJyMyLjI6ICJ0cnkgY2F0Y2h7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MCxmaW4zPTA7CmZvcih2YXIgaT0wO2k8NTtpKyspewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzMrPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4zPTE7CiAgICBicmVhazsKICB9CiAgYzMrPTI7CiAgZmluMz0wOwp9OwppZihmaW4zIT09MSl7CiAgJEVSUk9SKCcjMy4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMyE9PTEpewogICRFUlJPUignIzMuMjogInRyeSBjYXRjaCBmaW5hbGx5e2JyZWFrfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM0CnZhciBjND0wLGZpbjQ9MDsKZm9yKHZhciBpPTA7aTw1O2krKyl7CiAgdHJ5ewogICAgYzQrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjQ9MTsKICB9CiAgZmluND0tMTsKICBjNCs9MjsKfTsKaWYoZmluNCE9PTEpewogICRFUlJPUignIzQuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzQhPT0xKXsKICAkRVJST1IoJyM0LjI6ICJ0cnl7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNQpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGJyZWFrOwogIH0KfTsKaWYoaSE9PTApewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTA7CmZvcih2YXIgYzY9MDtjNjw1Oyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn07CmlmKGM2IT09MSl7CiAgJEVSUk9SKCcjNjogInRyeXticmVha30gY2F0Y2giIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNwp2YXIgYzc9MCxmaW43PTA7CnRyeXsKICBmb3IodmFyIGM3PTA7Yzc8NTspewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3IiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIGNvbWJpbmF0ZSB1c2luZyBicmVhayBhbmQgY29udGludWUKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9CmlmKGZpbiE9PTEpewogICRFUlJPUignIzEuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzEhPT01KXsKICAkRVJST1IoJyMxLjI6ICJ0cnl7YnJlYWt9IGNhdGNoIGZpbmFsbHl7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwpmb3IodmFyIGk9MDtpPDU7aSsrKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgICBjb250aW51ZTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTUpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIExvb3AgaW5zaWRlIHRyeSBCbG9jaywgd2hlcmUgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIHg7CnZhciBteWNhcnMgPSBuZXcgQXJyYXkoKTsKbXljYXJzWzBdID0gIlNhYWIiOwpteWNhcnNbMV0gPSAiVm9sdm8iOwpteWNhcnNbMl0gPSAiQk1XIjsKCi8vIENIRUNLIzEKdHJ5ewogIGZvciAoeCBpbiBteWNhcnMpewogICAgaWYgKG15Y2Fyc1t4XT09PSJCTVciKSB0aHJvdyAiZXgiOwogIH0KfQpjYXRjaChlKXsKICBpZihlIT09ImV4IikkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09ImV4Ii4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCgoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Loop inside try Block, where throw exception","path":"TestCases/ch12/12.14/S12.14_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBjb250aW51ZSBsb29wCiAqLwoKdmFyIHg7CnZhciBteWNhcnMgPSBuZXcgQXJyYXkoKTsKbXljYXJzWzBdID0gIlNhYWIiOwpteWNhcnNbMV0gPSAiVm9sdm8iOwpteWNhcnNbMl0gPSAiQk1XIjsKCi8vIENIRUNLIzEKdmFyIGZpbj0wOwp2YXIgaT0wOwpmb3IgKHggaW4gbXljYXJzKXsKICB0cnl7CiAgICBpKz0xOwogICAgY29udGludWU7CiAgfQogIGNhdGNoKGVyMSl7fQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwp9CmlmKGZpbiE9PTEpewogICRFUlJPUignIzEuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoaSE9PTMpewogICRFUlJPUignIzEuMjogICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTMpewogICRFUlJPUignIzIuMTogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW4zPTA7Cn0KaWYoYzMhPT0zKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgZmluPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfQppZihmaW4hPT0xKXsKICAkRVJST1IoJyM0OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeXtjb250aW51ZX0gZmluYWxseSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzUrPTE7CiAgICBjb250aW51ZTsKICB9CiAgYzUrPTEyOwp9CmlmKGM1IT09Myl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MCxmaW42PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGM2Kz0xOwogICAgdGhyb3cgImV4MSI7CiAgfQogIGZpbmFsbHl7CiAgICBmaW42PTE7CiAgICBjb250aW51ZTsKICB9CiAgZmluNj0tMTsKfQppZihmaW42IT09MSl7CiAgJEVSUk9SKCcjNi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjNiE9PTMpewogICRFUlJPUignIzYuMjogInRyeSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where use continue loop","path":"TestCases/ch12/12.14/S12.14_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIHVzZSBicmVhawogKi8KCnZhciB4Owp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7CgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpmb3IgKHggaW4gbXljYXJzKXsKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpewogICAgYzErPTE7CiAgfQogIGZpbmFsbHl7CiAgICBmaW49MTsKICB9CiAgZmluPS0xOwogIGMxKz0yOwp9OwppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09MSl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfWNhdGNoIGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICB9CiAgYzIrPTI7CiAgZmluMj0tMTsKfQppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTEpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGJyZWFrOwogIH0KICBjMys9MjsKICBmaW4zPTA7Cn0KaWYoZmluMyE9PTEpewogICRFUlJPUignIzMuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MCxmaW40PTA7CmZvciAoeCBpbiBteWNhcnMpewogIHRyeXsKICAgIGM0Kz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW40PTE7CiAgfQogIGZpbjQ9LTE7CiAgYzQrPTI7Cn0KaWYoZmluNCE9PTEpewogICRFUlJPUignIzQuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzQhPT0xKXsKICAkRVJST1IoJyM0LjI6ICJ0cnl7YnJlYWt9IGZpbmFsbHkiIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICBjNSsrOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgICBjNSsrOwogIH0KICBjNSsrOwp9CmlmKGM1IT09MCl7CiAgJEVSUk9SKCcjNTogInRyeSBjYXRjaHticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgYzYrPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgYzYrPTI7Cn0KaWYoYzYhPT0xKXsKICAkRVJST1IoJyM2OiAidHJ5e2JyZWFrfSBjYXRjaCIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wLGZpbjc9MDsKdHJ5ewogIGZvciAoeCBpbiBteWNhcnMpewogICAgdHJ5ewogICAgICBjNys9MTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBmaW43PTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgZmluNz0tMTsKICAgIGM3Kz0yOwogIH0KfQpjYXRjaChleDEpewogIGM3PTEwOwp9CmlmKGZpbjchPT0xKXsKICAkRVJST1IoJyM3LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAidHJ5IGZpbmFsbHl7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where use break","path":"TestCases/ch12/12.14/S12.14_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJmb3ItaW4iIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTJfVDQuanMKICogQGRlc2NyaXB0aW9uIFRyeSBzdGF0ZW1lbnQgaW5zaWRlIGxvb3AsIHdoZXJlIGNvbWJpbmF0ZSB1c2luZyBicmVhayBhbmQgY29udGludWUKICovCgp2YXIgeDsKdmFyIG15Y2FycyA9IG5ldyBBcnJheSgpOwpteWNhcnNbMF0gPSAiU2FhYiI7Cm15Y2Fyc1sxXSA9ICJWb2x2byI7Cm15Y2Fyc1syXSA9ICJCTVciOwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogICAgY29udGludWU7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQppZihmaW4hPT0xKXsKICAkRVJST1IoJyMxLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMxIT09Myl7CiAgJEVSUk9SKCcjMS4yOiAidHJ5e2JyZWFrfSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZm9yICh4IGluIG15Y2Fycyl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGJyZWFrOwogIH0KICBmaW5hbGx5ewogIAlmaW4yPTE7CiAgCWNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09Myl7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5e2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9Cgo=","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"for-in\" statement","description":"Try statement inside loop, where combinate using break and continue","path":"TestCases/ch12/12.14/S12.14_A12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2NhdGNoIHN5bnRheCBjb25zdHJ1Y3Rpb24KICovCgovLyBDSEVDSyMxCmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfQogIGNhdGNoKGVycil7CiAgCSRFUlJPUignIzEuMTogInJldHVybiAxIiBpbnNpZGUgZnVuY3Rpb24gZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIHJldHVybiAwOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDE9bXlGdW5jdGlvbjEoKTsKaWYoeDEhPT0xKXsKICAkRVJST1IoJyMxLjI6IHgxPT09MS4gQWN0dWFsOiB4MT09PScreDEpOwp9CgovLyBDSEVDSyMyCmZ1bmN0aW9uIG15RnVuY3Rpb24yKCl7CiAgdHJ5ewogICAgdGhyb3cgImV4YyI7CiAgICByZXR1cm4gMTsKICB9Y2F0Y2goZXJyKXsgIAkKICAgIHJldHVybiAyOwogIH0KICByZXR1cm4gMzsKfQp2YXIgeDI9bXlGdW5jdGlvbjIoKTsKaWYgKHgyIT09Mil7CiAgJEVSUk9SKCcjMjogeDI9PT0yLiBBY3R1YWw6IHgyPT09Jyt4Mik7Cn0KCi8vIENIRUNLIzMKZnVuY3Rpb24gbXlGdW5jdGlvbjMoKXsKICB0cnl7CiAgICByZXR1cm4gc29tZVZhbHVlOwogIH1jYXRjaChlcnIpeyAgCQogICAgcmV0dXJuIDE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4Mz1teUZ1bmN0aW9uMygpOwppZiAoeDMhPT0xKXsKICAkRVJST1IoJyMzOiB4Mz09PTEuIEFjdHVhbDogeDM9PT0nK3gzKTsKfQoKLy8gQ0hFQ0sjNApmdW5jdGlvbiBteUZ1bmN0aW9uNCgpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIgogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzQuMjogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNC4zOiBFeGNlcHRpb24gPT09ImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/catch syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2ZpbmFsbHkgc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfWZpbmFsbHl7CiAgICBjMT0xOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDE9bXlGdW5jdGlvbjEoKTsKaWYoeDEhPT0xKXsKICAkRVJST1IoJyMxLjE6IHgxPT09MS4gQWN0dWFsOiB4MT09PScreDEpOwp9CmlmIChjMSE9PTEpewogICRFUlJPUignIzEuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24yKCl7CiAgdHJ5ewogICAgdGhyb3cgImV4YyI7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGMyPTE7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDI9bXlGdW5jdGlvbjIoKTsKICAkRVJST1IoJyMyLjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGMyIT09MSl7CiAgICAkRVJST1IoJyMyLjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjMwp2YXIgYzM9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjMoKXsKICB0cnl7CiAgICByZXR1cm4gc29tZVZhbHVlOwogIH1maW5hbGx5ewogICAgYzM9MTsKICB9CiAgcmV0dXJuIDI7Cn0KdHJ5ewogIHZhciB4Mz1teUZ1bmN0aW9uMygpOwogICRFUlJPUignIzMuMTogVGhyb3dpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQpjYXRjaChlKXsKICBpZiAoYzMhPT0xKXsKICAgICRFUlJPUignIzMuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CiAgfQp9CgovLyBDSEVDSyM0CnZhciBjND0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNCgpewogIHRyeXsKICAgIHJldHVybiAxOwogIH1maW5hbGx5ewogICAgYzQ9MTsKICAgIHRocm93ICJleGMiOwogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjI6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGM0IT09MSl7CiAgICAkRVJST1IoJyM0LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjUoKXsKICB0cnl7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGM1PTE7CiAgICByZXR1cm4gc29tZVZhbHVlOwogICAgcmV0dXJuIDA7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDU9bXlGdW5jdGlvbjUoKTsKICAkRVJST1IoJyM1LjI6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYgKGM1IT09MSl7CiAgICAkRVJST1IoJyM1LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNgp2YXIgYzY9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjYoKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICAgIHJldHVybiAxOwogIH1maW5hbGx5ewogICAgYzY9MTsKICAgIHRocm93ICJleDIiOwogICAgcmV0dXJuIDI7CiAgfQogIHJldHVybiAzOwp9CnRyeXsKICB2YXIgeDY9bXlGdW5jdGlvbjYoKTsKICAkRVJST1IoJyM2LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzYuMjogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNi4zOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogJytlKTsKICB9CiAgaWYgKGM2IT09MSl7CiAgICAkRVJST1IoJyM2LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0KfQoKLy8gQ0hFQ0sjNwp2YXIgYzc9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjcoKXsKICB0cnl7CiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGM3PTE7CiAgICByZXR1cm4gMjsKICB9CiAgcmV0dXJuIDM7Cn0KdmFyIHg3PW15RnVuY3Rpb243KCk7CmlmKHg3IT09Mil7CiAgJEVSUk9SKCcjNy4xOiAiY2F0Y2giIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYgKGM3IT09MSl7CiAgJEVSUk9SKCcjNy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoKLy8gQ0hFQ0sjOAp2YXIgYzg9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjgoKXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9ZmluYWxseXsKICAgIGM4PTE7CiAgICByZXR1cm4gMjsKICB9CiAgcmV0dXJuIDM7Cn0KdHJ5ewogIHZhciB4OD1teUZ1bmN0aW9uOCgpOwp9CmNhdGNoKGV4MSl7CiAgYzg9MTA7Cn0KaWYgKGM4IT09MSl7CiAgJEVSUk9SKCcjODogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCg==","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoIGEgInJldHVybiIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExM19UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgdHJ5L2NhdGNoL2ZpbmFsbHkgc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CmZ1bmN0aW9uIG15RnVuY3Rpb24xKCl7CiAgdHJ5ewogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICAkRVJST1IoJyMxLjE6ICJyZXR1cm4gMSIgaW5zaWRlIGZ1bmN0aW9uIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGMxPTE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4MT1teUZ1bmN0aW9uMSgpOwppZih4MSE9PTEpewogICRFUlJPUignIzEuMzogeDE9PT0xLiBBY3R1YWw6IHgxPT09Jyt4MSk7Cn0KaWYgKGMxIT09MSl7CiAgJEVSUk9SKCcjMS40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKZnVuY3Rpb24gbXlGdW5jdGlvbjIoKXsKICB0cnl7CiAgICB0aHJvdyAiZXhjIjsKICAgIHJldHVybiAxOwogIH1jYXRjaChlcnIpeyAgCQogICAgcmV0dXJuIDA7CiAgfWZpbmFsbHl7CiAgICBjMj0xOwogIH0KICByZXR1cm4gMjsKfQp2YXIgeDI9bXlGdW5jdGlvbjIoKTsKaWYgKGMyIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZiAoeDIhPT0wKXsKICAkRVJST1IoJyMyLjI6IHgyPT09MC4gQWN0dWFsOiB4Mj09PScreDIpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uMygpewogIHRyeXsKICAgIHJldHVybiBzb21lVmFsdWU7CiAgfWNhdGNoKGVycil7ICAJCiAgICByZXR1cm4gMTsKICB9ZmluYWxseXsKICAgIGMzPTE7CiAgfQogIHJldHVybiAyOwp9CnZhciB4Mz1teUZ1bmN0aW9uMygpOwppZiAoYzMhPT0xKXsKICAkRVJST1IoJyMzLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmICh4MyE9PTEpewogICRFUlJPUignIzMuMjogeDM9PT0xLiBBY3R1YWw6IHgzPT09Jyt4Myk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTA7CmZ1bmN0aW9uIG15RnVuY3Rpb240KCl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICByZXR1cm4gMTsKICB9Y2F0Y2goZXJyKXsKICAgIHRocm93ICJleDIiCiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGM0PTE7CiAgfQogIHJldHVybiAyOwp9CnRyeXsKICB2YXIgeDQ9bXlGdW5jdGlvbjQoKTsKICAkRVJST1IoJyM0LjE6IFRocm93aW5nIGV4Y2VwdGlvbiBpbnNpZGUgZnVuY3Rpb24gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb3V0c2lkZSB0aGlzIGZ1bmN0aW9uJyk7Cn0KY2F0Y2goZSl7CiAgaWYoZT09PSJleDEiKXsKICAgICRFUlJPUignIzQuMjogRXhjZXB0aW9uICE9PSAiZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBleGNlcHRpb24nKTsKICB9CiAgaWYoZSE9PSJleDIiKXsKICAgICRFUlJPUignIzQuMzogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7CiAgfQogIGlmIChjNCE9PTEpewogICAgJEVSUk9SKCcjNC40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9CQp9CgovLyBDSEVDSyM1CnZhciBjNT0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNSgpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICByZXR1cm4gMDsKICB9ZmluYWxseXsKICAgIGM1PTE7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgcmV0dXJuIDI7Cn0KdHJ5ewogIHZhciB4NT1teUZ1bmN0aW9uNSgpOwogICRFUlJPUignIzUuMTogVGhyb3dpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQpjYXRjaChlKXsKICBpZihlPT09ImV4MSIpewogICAgJEVSUk9SKCcjNS4yOiBFeGNlcHRpb24gIT09ICJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGV4Y2VwdGlvbicpOwogIH0KICBpZihlIT09ImV4MiIpewogICAgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICB9CiAgaWYgKGM1IT09MSl7CiAgICAkRVJST1IoJyM1LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwogIH0gCQp9CgovLyBDSEVDSyM2CnZhciBjNj0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNigpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIjsKICAgIHJldHVybiAwOwogIH1maW5hbGx5ewogICAgYzY9MTsKICAgIHRocm93ICJleDMiOwogIH0KICByZXR1cm4gMjsKfQp0cnl7CiAgdmFyIHg2PW15RnVuY3Rpb242KCk7CiAgJEVSUk9SKCcjNi4xOiBUaHJvd2luZyBleGNlcHRpb24gaW5zaWRlIGZ1bmN0aW9uIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG91dHNpZGUgdGhpcyBmdW5jdGlvbicpOwp9CmNhdGNoKGUpewogIGlmKGU9PT0iZXgxIil7CiAgICAkRVJST1IoJyM2LjI6IEV4Y2VwdGlvbiAhPT0gImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZXhjZXB0aW9uJyk7CiAgfQogIGlmKGU9PT0iZXgyIil7CiAgICAkRVJST1IoJyM2LjM6IEV4Y2VwdGlvbiAhPT0gImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZXhjZXB0aW9uJyk7CiAgfQogIGlmKGUhPT0iZXgzIil7CiAgICAkRVJST1IoJyM2LjQ6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0JCiAgaWYoYzYhPT0xKSAkRVJST1IoJyM2LjU6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CgovLyBDSEVDSyM3CnZhciBjNz0wOwpmdW5jdGlvbiBteUZ1bmN0aW9uNygpewogIHRyeXsKICAgIHRocm93ICJleDEiOwogICAgcmV0dXJuIDE7CiAgfWNhdGNoKGVycil7CiAgICB0aHJvdyAiZXgyIjsKICAgIHJldHVybiAwOwogIH1maW5hbGx5ewogICAgYzc9MTsKICAgIHJldHVybiAyOwogIH0KICByZXR1cm4gMzsKfQp0cnl7CiAgdmFyIHg3PW15RnVuY3Rpb243KCk7CiAgaWYoeDchPT0yKSAkRVJST1IoJyM3LjE6IHg3PT09Mi4gQWN0dWFsOiB4Nz09PScreDcpOwp9CmNhdGNoKGUpe30KaWYoYzchPT0xKSAkRVJST1IoJyM3LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement with a \"return\" statement","description":"Using try/catch/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJ3aXRoIiBzdGF0ZW1lbnQKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0cnkvY2F0Y2gvZmluYWxseSBpbiBXaXRoIGFuZCBXaXRoIGluIHRyeS9jYXRjaC9maW5hbGx5CiAqIEBub1N0cmljdAogKi8KCnZhciBteU9iaiA9IHtwMTogJ2EnLAogICAgICAgICAgICAgcDI6ICdiJywKICAgICAgICAgICAgIHAzOiAnYycsCiAgICAgICAgICAgICB2YWx1ZTogJ215T2JqX3ZhbHVlJywKICAgICAgICAgICAgIHZhbHVlT2YgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3ZhbHVlT2YnO30sCiAgICAgICAgICAgICBwYXJzZUludCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VJbnQnO30sCiAgICAgICAgICAgICBOYU4gOiAnb2JqX05hTicsCiAgICAgICAgICAgICBJbmZpbml0eSA6ICdvYmpfSW5maW5pdHknLAogICAgICAgICAgICAgZXZhbCAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2V2YWwnO30sCiAgICAgICAgICAgICBwYXJzZUZsb2F0IDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9wYXJzZUZsb2F0Jzt9LAogICAgICAgICAgICAgaXNOYU4gICAgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNOYU4nO30sCiAgICAgICAgICAgICBpc0Zpbml0ZSAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9pc0Zpbml0ZSc7fQp9CgovLyBDSEVDSyMxCnRyeXsKICB3aXRoKG15T2JqKXsKICAgIHRocm93ICJleCI7CiAgfQp9CmNhdGNoKGUpewogIGlmIChlIT09ImV4IikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMyCndpdGgobXlPYmopewogIHRyeXsKICAgIHRocm93IHAxOwogIH0KICBjYXRjaChlKXsKICAgIGlmIChlIT09ImEiKSAkRVJST1IoJyMyLjE6IEV4Y2VwdGlvbiA9PT0iYSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogICAgcDE9J3Bhc3MnOwogIH0KfQppZihteU9iai5wMSE9PSdwYXNzJykgJEVSUk9SKCcjMi4yOiAidGhyb3cgcDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CgovLyBDSEVDSyMzCndpdGgobXlPYmopewogIHRyeXsKICAgIHAxPSdmYWlsJzsKICAgIHRocm93IHAyOwogIH0KICBjYXRjaChlKXsKICAgIGlmIChlIT09ImIiKSAkRVJST1IoJyMzLjE6IEV4Y2VwdGlvbiA9PT0iYiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogICAgcDE9J3Bhc3MnOwogIH0KICBmaW5hbGx5ewogICAgcDI9J3Bhc3MnOwogIH0KfQppZihteU9iai5wMSE9PSdwYXNzJykgJEVSUk9SKCcjMy4yOiAidGhyb3cgcDIiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CmlmKG15T2JqLnAyIT09J3Bhc3MnKSAkRVJST1IoJyMzLjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNApteU9iai5wMT0nZmFpbCc7CnRyeXsKICB3aXRoKG15T2JqKXsKICAgIHRyeXsKICAgICAgdGhyb3cgcDM7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBwMT0ncGFzcyc7CiAgICB9CiAgfQp9CmNhdGNoKGUpe30KaWYobXlPYmoucDEhPT0ncGFzcycpICRFUlJPUignIzQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"with\" statement","description":"Using try/catch/finally in With and With in try/catch/finally","noStrict":"","path":"TestCases/ch12/12.14/S12.14_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhICJzd2l0Y2giIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIEluc2VydCB0cnkvY2F0Y2gvZmluYWxseSB0byBzd2l0Y2ggc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiBTd2l0Y2hUZXN0MSh2YWx1ZSl7CiAgdmFyIHJlc3VsdCA9IDA7CiAgdHJ5eyAgCiAgICBzd2l0Y2godmFsdWUpIHsKICAgICAgY2FzZSAxOgogICAgICAgIHJlc3VsdCArPSA0OwogICAgICAgIHRocm93IHJlc3VsdDsKICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXN1bHQgKz0gMzI7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICByZXN1bHQgKz0gNjQ7CiAgICAgICAgdGhyb3cgImV4IjsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQogIGNhdGNoKGUpewkKICAgIGlmICgodmFsdWU9PT0xKSYmKGUhPT00KSkgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09NC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7CiAgICBpZiAoKHZhbHVlPT09NCkmJihlIT09ImV4IikpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSJleCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KICBmaW5hbGx5ewogICAgcmV0dXJuIHJlc3VsdDsKICB9Cn0KaWYgKFN3aXRjaFRlc3QxKDEpIT09NCkgJEVSUk9SKCcjMS4zOiBTd2l0Y2hUZXN0MSgxKT09PTQuIEFjdHVhbDogIFN3aXRjaFRlc3QxKDEpPT09JysgU3dpdGNoVGVzdDEoMSkgKTsKaWYgKFN3aXRjaFRlc3QxKDQpIT09NjQpICRFUlJPUignIzEuNDogU3dpdGNoVGVzdDEoNCk9PT02NC4gQWN0dWFsOiAgU3dpdGNoVGVzdDEoNCk9PT0nKyBTd2l0Y2hUZXN0MSg0KSApOwoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKZnVuY3Rpb24gU3dpdGNoVGVzdDIodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICB0cnl7ICAKICAgICAgICByZXN1bHQgKz0gMjsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBmaW5hbGx5ewogICAgICAgIGMyPTE7CiAgICAgIH0KICAgIGNhc2UgMToKICAgICAgcmVzdWx0ICs9IDQ7CiAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgcmVzdWx0ICs9IDMyOwogICAgICBicmVhazsKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQppZiAoU3dpdGNoVGVzdDIoMSkhPT00KSAkRVJST1IoJyMyLjE6IFN3aXRjaFRlc3QxKDEpPT09NC4gQWN0dWFsOiAgU3dpdGNoVGVzdDEoMSk9PT0nKyBTd2l0Y2hUZXN0MSgxKSApOwppZiAoYzI9PT0xKSAkRVJST1IoJyMyLjI6IEV2YWx1YXRlIGZpbmFsbHkgYmxvY2snKTsKaWYgKFN3aXRjaFRlc3QyKDApIT09MikgJEVSUk9SKCcjMi4zOiBTd2l0Y2hUZXN0MSgwKT09PTIuIEFjdHVhbDogIFN3aXRjaFRlc3QxKDApPT09JysgU3dpdGNoVGVzdDEoMCkgKTsKaWYgKGMyIT09MSkgJEVSUk9SKCcjMi40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzMKZnVuY3Rpb24gU3dpdGNoVGVzdDModmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHN3aXRjaCh2YWx1ZSkgewogICAgY2FzZSAwOgogICAgICB0cnl7ICAKICAgICAgICByZXN1bHQgKz0gMjsKICAgICAgICB0aHJvdyAiZXgiOwogICAgICB9CiAgICAgIGZpbmFsbHl7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIGRlZmF1bHQ6CiAgICAgIHJlc3VsdCArPSAzMjsKICAgICAgYnJlYWs7CiAgfQogIHJldHVybiByZXN1bHQ7Cn0KdHJ5ewogIHZhciB4Mz1Td2l0Y2hUZXN0MygwKTsKICBpZiAoeDMhPT0yKSAkRVJST1IoJyMzLjE6IHgzPT09Mi4gQWN0dWFsOiB4Mz09PScreDMpOwp9CmNhdGNoKGUpewogICRFUlJPUignIzMuMjogQ2F0Y2hpbmcgZXhjZXB0aW9uIGluc2lkZSBmdW5jdGlvbiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvdXRzaWRlIHRoaXMgZnVuY3Rpb24nKTsKfQoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement within/without a \"switch\" statement","description":"Insert try/catch/finally to switch statement","path":"TestCases/ch12/12.14/S12.14_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHB1cmUgInRyeSIgc3ludGF4IGNvbnN0cnVjdGlvbiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnkKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if pure \"try\" syntax construction passes","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5e30KY2F0Y2goKXt9CmZpbmFsbHl7fQoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\"","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaCBhbmQgRmluYWxseSBhcmUgcGxhY2VkIGludG8gdGhlIEJsb2NrIG9mICJ0cnkiICh3aGl0bGUgZXhwZWN0ZWQgb3V0c2lkZSkKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgewogIH0KICBjYXRjaChlKXt9CiAgZmluYWxseXt9Cn0KCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch and Finally are placed into the Block of \"try\" (whitle expected outside)","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFbWJlZGRlZCAidHJ5IiBzdGF0ZW1lbnRzIGZvbGxvd2VkIGJ5IHR3byAiY2F0Y2giIHN0YXRlbWVudHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnkKewogIHRyeQogIHsKICB9Cn0KY2F0Y2goZTEpe30KY2F0Y2goZTIpe30KCgoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Embedded \"try\" statements followed by two \"catch\" statements","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjIyIiBwYXNzZXMgYXQgdGhlIHBsYWNlIG9mIElkZW50aWZpZXIgb2YgImNhdGNoIgogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeQp7Cn0KY2F0Y2goIjIyIikKewp9CgoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"22\" passes at the place of Identifier of \"catch\"","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBwYXNzaW5nIGFyZ3VtZW50IHRvICJ0cnkiIHN0YXRlbWVudCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeShlMSl7CQp9CmNhdGNoKGUpe30KCgoKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if passing argument to \"try\" statement fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBGaW5hbGx5OiAiZmluYWxseSBCbG9jayIuIENoZWNraW5nIGlmIHBhc3NpbmcgYXJndW1lbnQgdG8gInRyeSIgc3RhdGVtZW50IGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5ewkKfQpmaW5hbGx5KGUpe30KCgoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Finally: \"finally Block\". Checking if passing argument to \"try\" statement fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHdpdGggbm8gInRyeSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpjYXRjaAoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"catch\" with no \"try\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmluYWxseSIgd2l0aCBubyAidHJ5IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCmZpbmFsbHkKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"finally\" with no \"try\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENhdGNoOiAiY2F0Y2ggKElkZW50aWZpZXIgKSBCbG9jayIuIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHRoYXQgdGFrZXMgbm8gYXJndW1lbnRzIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vIENIRUNLIzEKdHJ5e30KY2F0Y2h7fQoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"catch\" that takes no arguments fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENhdGNoOiAiY2F0Y2ggKElkZW50aWZpZXIgKSBCbG9jayIuIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2giIHdpdGggbm8gQmxvY2sgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7fQpjYXRjaCgpCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Catch: \"catch (Identifier ) Block\". Checking if execution of \"catch\" with no Block fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDYuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXsgY2F0Y2h7fXt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXsKY2F0Y2goKXt9Cgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Checking if execution of \"try{ catch{}{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXt9IGNhdGNoKCl7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXt9CmNhdGNoKCl7CgoK","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Checking if execution of \"try{} catch(){\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDguanMKICogQGRlc2NyaXB0aW9uIEJsb2NrOiAieyBTdGF0ZW1lbnRMaXN0IH0iLiBDYXRjaDogImNhdGNoIChJZGVudGlmaWVyICkgQmxvY2siLiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInRyeXt9IGNhdGNoKCl7ZmluYWxseXt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLyBDSEVDSyMxCnRyeXt9CmNhdGNoKCl7CmZpbmFsbHl7fQoKCgo=","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Block: \"{ StatementList }\". Catch: \"catch (Identifier ) Block\". Checking if execution of \"try{} catch(){finally{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2giIG9yICJ0cnkgQmxvY2sgRmluYWxseSIgb3IgInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMTZfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiY2F0Y2goKXt9IGZpbmFsbHl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8gQ0hFQ0sjMQpjYXRjaCgpe30KZmluYWxseXt9CgoKCg==","commentary":"TryStatement: \"try Block Catch\" or \"try Block Finally\" or \"try Block Catch Finally\"","description":"Checking if execution of \"catch(){} finally{}\" fails","negative":"","path":"TestCases/ch12/12.14/S12.14_A16_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCBpbiBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExNy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgZXhjZXB0aW9ucyB3aXRoaW4gY29uc3RydWN0b3IKICovCgp2YXIgaT0xOwpmdW5jdGlvbiBJbnRlZ2VyKCB2YWx1ZSwgZXhjZXB0aW9uICkgewogIHRyeXsKICAgIHRoaXMudmFsdWUgPSBjaGVja1ZhbHVlKCB2YWx1ZSApOwogICAgaWYoZXhjZXB0aW9uKSAkRVJST1IoJyMnK2krJy4xOiBNdXN0IGJlIGV4Y2VwdGlvbicpOwogIH0KICBjYXRjaChlKXsKICAgIHRoaXMudmFsdWUgPSBlLnRvU3RyaW5nKCk7CiAgICBpZighZXhjZXB0aW9uKSAkRVJST1IoJyMnK2krJy4yOiBEb25gdCBtdXN0IGJlIGV4Y2VwdGlvbicpOwogIH0KICBpKys7Cn0KCmZ1bmN0aW9uIGNoZWNrVmFsdWUodmFsdWUpewogIGlmKE1hdGguZmxvb3IodmFsdWUpIT12YWx1ZXx8aXNOYU4odmFsdWUpKXsKICAgIHRocm93IChJTlZBTElEX0lOVEVHRVJfVkFMVUUgKyI6ICIgKyB2YWx1ZSk7CiAgfQogIGVsc2V7CiAgICByZXR1cm4gdmFsdWU7CiAgfQp9CgovLyBDSEVDSyMxCm5ldyBJbnRlZ2VyKDEzLCBmYWxzZSk7Ci8vIENIRUNLIzIKbmV3IEludGVnZXIoTmFOLCB0cnVlKTsKLy8gQ0hFQ0sjMwpuZXcgSW50ZWdlcigwLCBmYWxzZSk7Ci8vIENIRUNLIzQKbmV3IEludGVnZXIoSW5maW5pdHksIGZhbHNlKTsKLy8gQ0hFQ0sjNQpuZXcgSW50ZWdlcigtMS4yMywgdHJ1ZSk7Ci8vIENIRUNLIzYKbmV3IEludGVnZXIoTWF0aC5MTjIsIHRydWUpOwoK","commentary":"Using \"try\" with \"catch\" or \"finally\" statement in a constructor","description":"Creating exceptions within constructor","path":"TestCases/ch12/12.14/S12.14_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgdW5kZWZpbmVkOwp9CmNhdGNoKGUpewogIGlmIChlIT09dW5kZWZpbmVkKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK2UpOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching undefined","path":"TestCases/ch12/12.14/S12.14_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgbnVsbAogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IG51bGw7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT1udWxsKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09bnVsbC4gQWN0dWFsOiAnK2UpOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching null","path":"TestCases/ch12/12.14/S12.14_A18_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgYm9vbGVhbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IHRydWU7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzI6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzMKdmFyIGI9ZmFsc2U7CnRyeXsKICB0aHJvdyBiOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzM6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzQKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT10cnVlKSAkRVJST1IoJyM0OiBFeGNlcHRpb24gPT09dHJ1ZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGImJmZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09ZmFsc2UpICRFUlJPUignIzU6IEV4Y2VwdGlvbiA9PT1mYWxzZS4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdmFyIGI9dHJ1ZTsKdHJ5ewogIHRocm93IGJ8fGZhbHNlOwp9CmNhdGNoKGUpewogIGlmIChlIT09dHJ1ZSkgJEVSUk9SKCcjNjogRXhjZXB0aW9uID09PXRydWUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching boolean","path":"TestCases/ch12/12.14/S12.14_A18_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgc3RyaW5nCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgImV4Y2VwdGlvbiIrIiAjMSI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMjogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgYj0iZXhjZXB0aW9uICMxIjsKdHJ5ewogIHRocm93IGI7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjMzogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYT0iZXhjZXB0aW9uIjsKdmFyIGI9IiAjMSI7CnRyeXsKICB0aHJvdyBhK2I7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0iZXhjZXB0aW9uICMxIikgJEVSUk9SKCcjNDogRXhjZXB0aW9uID09PSJleGNlcHRpb24gIzEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoK","commentary":"Catching objects with try/catch/finally statement","description":"Catching string","path":"TestCases/ch12/12.14/S12.14_A18_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgTnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0xMykgJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTEzLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgMTArMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMzCnZhciBiPTEzOwp0cnl7CiAgdGhyb3cgYjsKfQpjYXRjaChlKXsKICBpZiAoZSE9PTEzKSAkRVJST1IoJyMzOiBFeGNlcHRpb24gPT09MTMuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyM0CnZhciBhPTM7CnZhciBiPTEwOwp0cnl7CiAgdGhyb3cgYStiOwp9CmNhdGNoKGUpewogIGlmIChlIT09MTMpICRFUlJPUignIzQ6IEV4Y2VwdGlvbiA9PT0xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzUKdHJ5ewogIHRocm93IDIuMTM7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0yLjEzKSAkRVJST1IoJyM1OiBFeGNlcHRpb24gPT09Mi4xMy4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCi8vIENIRUNLIzYKdmFyIGV4PTIvMzsKdHJ5ewogIHRocm93IDIvMzsKfQpjYXRjaChlKXsKICBpZiAoZSE9PWV4KSAkRVJST1IoJyM2OiBFeGNlcHRpb24gPT09Mi8zLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjNwp0cnl7CiAgdGhyb3cgTmFOOwp9CmNhdGNoKGUpewogIGlmICghaXNOYU4oZSkpICRFUlJPUignIzc6IEV4Y2VwdGlvbiBpcyBOYU4nKTsKfQoKLy8gQ0hFQ0sjOAp0cnl7CiAgdGhyb3cgK0luZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09K0luZmluaXR5KSAkRVJST1IoJyM4OiBFeGNlcHRpb24gPT09K0luZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjOQp0cnl7CiAgdGhyb3cgLUluZmluaXR5Owp9CmNhdGNoKGUpewogIGlmIChlIT09LUluZmluaXR5KSAkRVJST1IoJyM5OiBFeGNlcHRpb24gPT09LUluZmluaXR5LiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKfQoKLy8gQ0hFQ0sjMTAKdHJ5ewogIHRocm93ICswOwp9CmNhdGNoKGUpewogIGlmIChlIT09KzApICRFUlJPUignIzEwOiBFeGNlcHRpb24gPT09KzAuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9CgovLyBDSEVDSyMxMQp0cnl7CiAgdGhyb3cgLTA7Cn0KY2F0Y2goZSl7CiAgaWYgKGUhPT0tMCkgJEVSUk9SKCcjMTE6IEV4Y2VwdGlvbiA9PT0tMC4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGUgICk7Cn0KCg==","commentary":"Catching objects with try/catch/finally statement","description":"Catching Number","path":"TestCases/ch12/12.14/S12.14_A18_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgT2JqZWN0CiAqLwoKdmFyIG15T2JqID0ge3AxOiAnYScsIAogICAgICAgICAgICAgcDI6ICdiJywgCiAgICAgICAgICAgICBwMzogJ2MnLAogICAgICAgICAgICAgdmFsdWU6ICdteU9ial92YWx1ZScsCiAgICAgICAgICAgICB2YWx1ZU9mIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial92YWx1ZU9mJzt9LAogICAgICAgICAgICAgcGFyc2VJbnQgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX3BhcnNlSW50Jzt9LAogICAgICAgICAgICAgTmFOIDogJ29ial9OYU4nLAogICAgICAgICAgICAgSW5maW5pdHkgOiAnb2JqX0luZmluaXR5JywKICAgICAgICAgICAgIGV2YWwgICAgIDogZnVuY3Rpb24oKXtyZXR1cm4gJ29ial9ldmFsJzt9LAogICAgICAgICAgICAgcGFyc2VGbG9hdCA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfcGFyc2VGbG9hdCc7fSwKICAgICAgICAgICAgIGlzTmFOICAgICAgOiBmdW5jdGlvbigpe3JldHVybiAnb2JqX2lzTmFOJzt9LAogICAgICAgICAgICAgaXNGaW5pdGUgICA6IGZ1bmN0aW9uKCl7cmV0dXJuICdvYmpfaXNGaW5pdGUnO30sCiAgICAgICAgICAgICBpOjcsCn0KCnRyeXsKICB0aHJvdyBteU9iajsKfQpjYXRjaChlKXsJCi8vIENIRUNLIzEKICBpZiAoZS5wMSE9PSJhIikgJEVSUk9SKCcjMTogZS5wMT09PSJhIi4gQWN0dWFsOiAgZS5wMT09PScrIGUucDEgKTsKLy8gQ0hFQ0sjMgogIGlmIChlLnZhbHVlIT09J215T2JqX3ZhbHVlJykgJEVSUk9SKCcjMjogZS52YWx1ZT09PVwnbXlPYmpfdmFsdWVcJy4gQWN0dWFsOiAgZS52YWx1ZT09PScrIGUudmFsdWUgKTsKLy8gQ0hFQ0sjMwogIGlmIChlLmV2YWwoKSE9PSdvYmpfZXZhbCcpICRFUlJPUignIzM6IGUuZXZhbCgpPT09XCdvYmpfZXZhbFwnLiBBY3R1YWw6ICBlLmV2YWwoKT09PScrIGUuZXZhbCgpICk7Cn0KCi8vIENIRUNLIzQKbXlPYmouaT02Owp0cnl7CiAgdGhyb3cgbXlPYmo7Cn0KY2F0Y2goZSl7fQppZiAobXlPYmouaSE9PTYpICRFUlJPUignIzQ6IEhhbmRsaW5nIG9mIGNhdGNoIG11c3QgYmUgY29ycmVjdCcpOwoKLy8gQ0hFQ0sjNQpteU9iai5pPTY7CnRyeXsKICB0aHJvdyBteU9iajsKfQpjYXRjaChlKXsKICBlLmk9MTA7Cn0KaWYgKG15T2JqLmkhPT0xMCkgJEVSUk9SKCcjNTogSGFuZGxpbmcgb2YgY2F0Y2ggbXVzdCBiZSBjb3JyZWN0Jyk7Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching Object","path":"TestCases/ch12/12.14/S12.14_A18_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBvYmplY3RzIHdpdGggdHJ5L2NhdGNoL2ZpbmFsbHkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOF9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2F0Y2hpbmcgQXJyYXkKICovCgp2YXIgbXljYXJzID0gbmV3IEFycmF5KCk7Cm15Y2Fyc1swXSA9ICJTYWFiIjsKbXljYXJzWzFdID0gIlZvbHZvIjsKbXljYXJzWzJdID0gIkJNVyI7Cgp2YXIgbXljYXJzMiA9IG5ldyBBcnJheSgpOwpteWNhcnMyWzBdID0gIk1lcmNlZGVzIjsKbXljYXJzMlsxXSA9ICJKZWVwIjsKbXljYXJzMlsyXSA9ICJTdXp1a2kiOwoKLy8gQ0hFQ0sjMQp0cnl7CiAgdGhyb3cgbXljYXJzOwp9CmNhdGNoKGUpewogIGZvciAodmFyIGk9MDtpPDM7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzW2ldKSAkRVJST1IoJyMxLicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzWycraSsnXS4gQWN0dWFsOiAgRXhjZXB0aW9uWycraSsnXT09PScrIGVbaV0gKTsKICB9Cn0KCi8vIENIRUNLIzIKdHJ5ewogIHRocm93IG15Y2Fycy5jb25jYXQobXljYXJzMik7Cn0KY2F0Y2goZSl7CiAgZm9yICh2YXIgaT0wO2k8MztpKyspewogICAgaWYgKGVbaV0hPT1teWNhcnNbaV0pICRFUlJPUignIzIuJytpKyc6IEV4Y2VwdGlvblsnK2krJ109PT1teWNhcnNbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KICBmb3IgKHZhciBpPTM7aTw2O2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaS0zXSkgJEVSUk9SKCcjMi4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2FyczJbJytpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSApOwogIH0KfQoKLy8gQ0hFQ0sjMwp0cnl7CiAgdGhyb3cgbmV3IEFycmF5KCJNZXJjZWRlcyIsIkplZXAiLCJTdXp1a2kiKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2FyczJbaV0pICRFUlJPUignIzMuJytpKyc6IEV4Y2VwdGlvblsnK2krJ109PT1teWNhcnMyWycraSsnXS4gQWN0dWFsOiAgRXhjZXB0aW9uWycraSsnXT09PScrIGVbaV0pOwogIH0KfQoKLy8gQ0hFQ0sjNAp0cnl7CiAgdGhyb3cgbXljYXJzLmNvbmNhdChuZXcgQXJyYXkoIk1lcmNlZGVzIiwiSmVlcCIsIlN1enVraSIpKTsKfQpjYXRjaChlKXsKICBmb3IgKHZhciBpPTA7aTwzO2krKyl7CiAgICBpZiAoZVtpXSE9PW15Y2Fyc1tpXSkgJEVSUk9SKCcjNC4nK2krJzogRXhjZXB0aW9uWycraSsnXT09PW15Y2Fyc1snK2krJ10uIEFjdHVhbDogIEV4Y2VwdGlvblsnK2krJ109PT0nKyBlW2ldICk7CiAgfQogIGZvciAodmFyIGk9MztpPDY7aSsrKXsKICAgIGlmIChlW2ldIT09bXljYXJzMltpLTNdKSAkRVJST1IoJyM0LicraSsnOiBFeGNlcHRpb25bJytpKyddPT09bXljYXJzMlsnKyhpLTMpKyddLiBBY3R1YWw6ICBFeGNlcHRpb25bJytpKyddPT09JysgZVtpXSk7CiAgfQp9Cgo=","commentary":"Catching objects with try/catch/finally statement","description":"Catching Array","path":"TestCases/ch12/12.14/S12.14_A18_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9ucyBvZiBkaWZmZXJlbnQgdHlwZXMgd2l0aCB0cnkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGluZyB0cnkvY2F0Y2ggc3ludGF4IGNvbnN0cnVjdGlvbgogKi8KCi8vIENIRUNLIzEKdHJ5ewogIHRocm93IChFcnJvcigiaGVsbG8iKSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFcnJvcjogaGVsbG8iKSAkRVJST1IoJyMxOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyMyCnRyeXsKICB0aHJvdyAobmV3IEVycm9yKCJoZWxsbyIpKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IkVycm9yOiBoZWxsbyIpICRFUlJPUignIzI6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IkVycm9yOiBoZWxsbyIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTA7CnRyeXsKICB0aHJvdyBFdmFsRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFdmFsRXJyb3I6IDEiKSAkRVJST1IoJyMzOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFdmFsRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM0CnRyeXsKICB0aHJvdyBSYW5nZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iUmFuZ2VFcnJvcjogMSIpICRFUlJPUignIzQ6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJhbmdlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM1CnRyeXsKICB0aHJvdyBSZWZlcmVuY2VFcnJvcigxKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlJlZmVyZW5jZUVycm9yOiAxIikgJEVSUk9SKCcjNTogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iUmVmZXJlbmNlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdGhyb3cgVHlwZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iVHlwZUVycm9yOiAxIikgJEVSUk9SKCcjNjogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iVHlwZUVycm9yOiAxIi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQoKLy8gQ0hFQ0sjNwp0cnl7CiAgdGhyb3cgVVJJRXJyb3IoIm1lc3NhZ2UiLCAiZmlsZU5hbWUiLCAiMSIpOyAKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlVSSUVycm9yOiBtZXNzYWdlIikgJEVSUk9SKCcjNzogRXhjZXB0aW9uLnRvU3RyaW5nKCk9PT0iVVJJRXJyb3I6IG1lc3NhZ2UiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Cgo=","commentary":"Catching system exceptions of different types with try statement","description":"Testing try/catch syntax construction","path":"TestCases/ch12/12.14/S12.14_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9ucyBvZiBkaWZmZXJlbnQgdHlwZXMgd2l0aCB0cnkgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0ExOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGluZyB0cnkvY2F0Y2gvZmluYWxseSBzeW50YXggY29uc3RydWN0aW9uCiAqLwoKdmFyIGZpbj0wOwovLyBDSEVDSyMxCnRyeXsKICB0aHJvdyAoRXJyb3IoImhlbGxvIikpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iRXJyb3I6IGhlbGxvIikgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzEuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjMgpmaW49MDsKdHJ5ewogIHRocm93IChuZXcgRXJyb3IoImhlbGxvIikpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iRXJyb3I6IGhlbGxvIikgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJFcnJvcjogaGVsbG8iLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzIuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjMwpmaW49MDsKdmFyIGMzPTA7CnRyeXsKICB0aHJvdyBFdmFsRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJFdmFsRXJyb3I6IDEiKSAkRVJST1IoJyMzLjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IkV2YWxFcnJvcjogMSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjMy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgovLyBDSEVDSyM0CmZpbj0wOwp0cnl7CiAgdGhyb3cgUmFuZ2VFcnJvcigxKTsKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlJhbmdlRXJyb3I6IDEiKSAkRVJST1IoJyM0LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJhbmdlRXJyb3I6IDEiLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmZpbmFsbHl7CiAgZmluPTE7Cn0KaWYgKGZpbiE9PTEpICRFUlJPUignIzQuMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7IAoKLy8gQ0hFQ0sjNQpmaW49MDsKdHJ5ewogIHRocm93IFJlZmVyZW5jZUVycm9yKDEpOwp9CmNhdGNoKGUpewogIGlmIChlLnRvU3RyaW5nKCkhPT0iUmVmZXJlbmNlRXJyb3I6IDEiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlJlZmVyZW5jZUVycm9yOiAxIi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQpmaW5hbGx5ewogIGZpbj0xOwp9CmlmIChmaW4hPT0xKSAkRVJST1IoJyM1LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOyAKCi8vIENIRUNLIzYKZmluPTA7CnRyeXsKICB0aHJvdyBUeXBlRXJyb3IoMSk7Cn0KY2F0Y2goZSl7CiAgaWYgKGUudG9TdHJpbmcoKSE9PSJUeXBlRXJyb3I6IDEiKSAkRVJST1IoJyM2LjE6IEV4Y2VwdGlvbi50b1N0cmluZygpPT09IlR5cGVFcnJvcjogMSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgovLyBDSEVDSyM3CmZpbj0wOwp0cnl7CiAgdGhyb3cgVVJJRXJyb3IoIm1lc3NhZ2UiLCAiZmlsZU5hbWUiLCAiMSIpOyAKfQpjYXRjaChlKXsKICBpZiAoZS50b1N0cmluZygpIT09IlVSSUVycm9yOiBtZXNzYWdlIikgJEVSUk9SKCcjNy4xOiBFeGNlcHRpb24udG9TdHJpbmcoKT09PSJVUklFcnJvcjogbWVzc2FnZSIuIEFjdHVhbDogRXhjZXB0aW9uIGlzICcrZSk7Cn0KZmluYWxseXsKICBmaW49MTsKfQppZiAoZmluIT09MSkgJEVSUk9SKCcjNy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsgCgo=","commentary":"Catching system exceptions of different types with try statement","description":"Testing try/catch/finally syntax construction","path":"TestCases/ch12/12.14/S12.14_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaHJvd2luZyBleGNlcHRpb24gd2l0aCAidGhyb3ciIGFuZCBjYXRjaGluZyBpdCB3aXRoICJ0cnkiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJjYXRjaCIgY2F0Y2hlcyBhbiBleGNlcHRpb24gdGhyb3duIHdpdGggInRocm93IgogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB0aHJvdyAiY2F0Y2htZSI7CQogICRFUlJPUignIzE6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGUpe30KCi8vIENIRUNLIzIKdmFyIGMyPTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXhjIjsKICAgICRFUlJPUignIzIuMTogdGhyb3cgImV4YyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICB9ZmluYWxseXsKICAgIGMyPTE7CiAgfQp9CmNhdGNoKGUpewogIGlmIChjMiE9PTEpewogICAgJEVSUk9SKCcjMi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9Cn0KIAovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgdGhyb3cgImV4YyI7CiAgJEVSUk9SKCcjMy4xOiB0aHJvdyAiZXhjIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVycil7ICAJCiAgdmFyIHgzPTE7Cn0KZmluYWxseXsKICBjMz0xOwp9CmlmICh4MyE9PTEpewogICRFUlJPUignIzMuMjogImNhdGNoIiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9ICAKaWYgKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4zOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Throwing exception with \"throw\" and catching it with \"try\" statement","description":"Checking if execution of \"catch\" catches an exception thrown with \"throw\"","path":"TestCases/ch12/12.14/S12.14_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYXRjaGluZyBzeXN0ZW0gZXhjZXB0aW9uIHdpdGggInRyeSIgc3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNhdGNoIiBjYXRjaGVzIHN5c3RlbSBleGNlcHRpb25zCiAqLwoKLy8gQ0hFQ0sjMQp0cnl7CiAgeTsKICAkRVJST1IoJyMxOiAieSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQpjYXRjaChlKXt9CgovLyBDSEVDSyMyCnZhciBjMj0wOwp0cnl7CiAgdHJ5ewogICAgc29tZVZhbHVlOwogICAgJEVSUk9SKCcjMy4xOiAic29tZVZhbHVlcyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICB9CiAgZmluYWxseXsKICAgIGMyPTE7CiAgfQp9CmNhdGNoKGUpewogIGlmIChjMiE9PTEpewogICAgJEVSUk9SKCcjMy4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKICB9Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAseDM9MDsKdHJ5ewogIHgzPXNvbWVWYWx1ZTsKICAkRVJST1IoJyMzLjE6ICJ4Mz1zb21lVmFsdWVzIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVycil7ICAJCiAgeDM9MTsKfQpmaW5hbGx5ewogIGMzPTE7Cn0KaWYgKHgzIT09MSl7CiAgJEVSUk9SKCcjMy4yOiAiY2F0Y2giIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYgKGMzIT09MSl7CiAgJEVSUk9SKCcjMy4zOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQoK","commentary":"Catching system exception with \"try\" statement","description":"Checking if execution of \"catch\" catches system exceptions","path":"TestCases/ch12/12.14/S12.14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTYW5pdHkgdGVzdCBmb3IgImNhdGNoKEluZGV0aWZpZXIpIHN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGFuIGV4Y2VwdGlvbiBmYWlscwogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCnRyeSB7CiAgdGhyb3cgImNhdGNobWUiOwogICRFUlJPUignIzEuMTogdGhyb3cgImNhdGNobWUiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZGVsZXRlIGUpewogICAgJEVSUk9SKCcjMS4yOiBFeGNlcHRpb24gaGFzIERvbnREZWxldGUgcHJvcGVydHknKTsKICB9CiAgaWYgKGUhPT0iY2F0Y2htZSIpIHsKICAgICRFUlJPUignIzEuMzogRXhjZXB0aW9uID09PSAiY2F0Y2htZSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwogIH0KfQoKLy8gQ0hFQ0sjMgp0cnkgewogIHRocm93ICJjYXRjaG1lIjsKICAkRVJST1IoJyMyLjE6IHRocm93ICJjYXRjaG1lIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGUpe30KdHJ5ewogIGU7CiAgJEVSUk9SKCcjMi4yOiBEZWxldGluZyBjYXRjaGluZyBleGNlcHRpb24gYWZ0ZXIgZW5kaW5nICJjYXRjaCIgYmxvY2snKTsKfQpjYXRjaChlcnIpe30KCg==","commentary":"Sanity test for \"catch(Indetifier) statement\"","description":"Checking if deleting an exception fails","noStrict":"","path":"TestCases/ch12/12.14/S12.14_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgRmluYWxseSIgYW5kIHRoZSBwcm9kdWN0aW9uIFRyeVN0YXRlbWVudDogInRyeSBCbG9jayBDYXRjaCBGaW5hbGx5IgogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgImNhdGNoIiBjYXRjaGVzIHRoZSBJZGVudGlmaWVyIGluIGFwcHJvcHJpYXRlIHdheQogKi8KCi8vIENIRUNLIzEKdHJ5IHsKICB0aHJvdyAiY2F0Y2htZSI7CQogIHRocm93ICJkb250Y2F0Y2htZSI7CiAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiY2F0Y2htZSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQpjYXRjaCAoZSkgewogIGlmKGU9PT0iZG9udGNhdGNobWUiKXsKICAgICRFUlJPUignIzEuMjogRXhjZXB0aW9uICE9PSAiZG9udGNhdGNobWUiJyk7CiAgfQogIGlmIChlIT09ImNhdGNobWUiKSB7CiAgICAkRVJST1IoJyMxLjM6IEV4Y2VwdGlvbiA9PT0gImNhdGNobWUiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICB9Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gU3dpdGNoVGVzdDEodmFsdWUpewogIHZhciByZXN1bHQgPSAwOwogIHRyeXsgIAogICAgc3dpdGNoKHZhbHVlKSB7CiAgICAgIGNhc2UgMToKICAgICAgICByZXN1bHQgKz0gNDsKICAgICAgICB0aHJvdyByZXN1bHQ7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICByZXN1bHQgKz0gNjQ7CiAgICAgICAgdGhyb3cgImV4IjsKICAgIH0KICByZXR1cm4gcmVzdWx0OwogIH0KICBjYXRjaChlKXsJCiAgICBpZiAoKHZhbHVlPT09MSkmJihlIT09NCkpICRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSA0LiBBY3R1YWw6ICcrZSk7CiAgICBpZiAoKHZhbHVlPT09NCkmJihlIT09ImV4IikpJEVSUk9SKCcjMi4yOiBFeGNlcHRpb24gPT09ICJleCIuIEFjdHVhbDogJytlKTsKICB9CiAgZmluYWxseXsKICAgIHJldHVybiByZXN1bHQ7CiAgfQp9CmlmIChTd2l0Y2hUZXN0MSgxKSE9PTQpICRFUlJPUignIzIuMzogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CmlmIChTd2l0Y2hUZXN0MSg0KSE9PTY0KSRFUlJPUignIzIuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cgo=","commentary":"The production TryStatement: \"try Block Finally\" and the production TryStatement: \"try Block Catch Finally\"","description":"Checking \"catch\" catches the Identifier in appropriate way","path":"TestCases/ch12/12.14/S12.14_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBUcnlTdGF0ZW1lbnQ6ICJ0cnkgQmxvY2sgQ2F0Y2ggRmluYWxseSIKICoKICogQHBhdGggY2gxMi8xMi4xNC9TMTIuMTRfQTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGluZyBzZXF1ZW5jZSBvZiAidHJ5IiBzdGF0ZW1lbnRzLCB1c2luZyBjb3VudGVycyB3aXRoIHZhcnlpbmcgdmFsdWVzIHdpdGhpbgogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTA7CnRyeSB7CiAgYzErPTE7CiAgeTsKICAkRVJST1IoJyMxLjE6ICJ5IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoIChlKSB7CiAgYzEqPTI7Cn0KaWYgKGMxIT09Mil7CiAgJEVSUk9SKCcjMS4yOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9jYXRjaCBpcyAxLiB0cnksIDIuIGNhdGNoJyk7CQp9CgovLyBDSEVDSyMyCnZhciBjMj0wOwp0cnl7CiAgYzIrPTE7Cn0KZmluYWxseXsKICBjMio9MjsKfQppZiAoYzIhPT0yKXsKICAkRVJST1IoJyMyOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9maW5hbGx5IGlzIDEuIHRyeSwgMi4gZmluYWxseScpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgYzM9MTsKICB6Owp9CmNhdGNoKGVycil7CiAgYzMqPTI7Cn0KZmluYWxseXsKICBjMys9MTsKfQppZiAoYzMhPT0zKXsKICAkRVJST1IoJyMzOiBTZXF1ZW5jZSBldmFsdWF0aW9uIG9mIGNvbW1hbmRzIHRyeS9jYXRjaC9maW5hbGx5KHdpdGggZXhjZXB0aW9uKSBpcyAxLiB0cnksIDIuIGNhdGNoLCAzLiBmaW5hbGx5Jyk7Cn0JCgovLyBDSEVDSyM0CnZhciBjND0wOwp0cnl7CiAgYzQ9MTsKfQpjYXRjaChlcnIpewogIGM0Kj0zOwp9CmZpbmFsbHl7CiAgYzQrPTE7Cn0KaWYgKGM0IT09Mil7CiAgJEVSUk9SKCcjNDogU2VxdWVuY2UgZXZhbHVhdGlvbiBvZiBjb21tYW5kcyB0cnkvY2F0Y2gvZmluYWxseSh3aXRob3V0IGV4Y2VwdGlvbikgaXMgMS4gdHJ5LCAyLiBmaW5hbGx5Jyk7Cn0JCgo=","commentary":"The production TryStatement: \"try Block Catch Finally\"","description":"Executing sequence of \"try\" statements, using counters with varying values within","path":"TestCases/ch12/12.14/S12.14_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIyKXsKICAgIGlmIChlcjIhPT0iZXgyIikKICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsKICAgICAgdGhyb3cgImV4MSI7CiAgICB9CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAnK2VyMSk7CiAgICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSAiZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24gIT09ICJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7CiAgfQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMi4zOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjMi40OiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwp9CgovLyBDSEVDSyMzCnRyeXsKICB0aHJvdyAiZXgxIjsKfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMy4xOiBFeGNlcHRpb24gPT09ImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7Cn0KZmluYWxseXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjMy4yOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7CiAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzMuMzogRXhjZXB0aW9uID09PSJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIH0KfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MDsKdHJ5ewogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MiI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxPT09ImV4MSIpICRFUlJPUignIzQuMTogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoaW5nIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM0LjI6IEV4Y2VwdGlvbiA9PT0iZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICB9CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM0LjM6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzQuNDogRXhjZXB0aW9uICE9PSJleDIiLiBBY3R1YWw6IENhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwp9CmZpbmFsbHl7CiAgYzQ9MTsKfQppZiAoYzQhPT0xKSAkRVJST1IoJyM0LjU6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBjYXRjaChlcjEpewogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbiA9PT0iZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKICB9CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzUuMjogRXhjZXB0aW9uID09PSJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gIT09ImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZXIxICApOwogIH0KfQpmaW5hbGx5ewogIGM2PTE7CQkKfQppZiAoYzYhPT0xKSAkRVJST1IoJyM2LjI6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNwp2YXIgYzc9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBmaW5hbGx5ewogICAgdHJ5ewogICAgICBjNz0xOwogICAgICB0aHJvdyAiZXgyIjsKICAgIH0KICAgIGNhdGNoKGVyMSl7CiAgICAgIGlmIChlcjEhPT0iZXgyIikgJEVSUk9SKCcjNy4xOiBFeGNlcHRpb24gPT09ImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlcjEgICk7CiAgICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNy4yOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7CiAgICAgIGM3Kys7CiAgICB9CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM3LjM6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrIGVyMSAgKTsKfQppZiAoYzchPT0yKSAkRVJST1IoJyM3LjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgZmluYWxseXsKICAgIHRocm93ICJleDEiOwogIH0KfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMS4yOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSAiZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzIuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7CiAgICB0cnl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogICAgZmluYWxseXsKICAgICAgdGhyb3cgImV4MyI7CiAgICB9CiAgICAkRVJST1IoJyMyLjI6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyMyLjM6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwp9CgovLyBDSEVDSyMzCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMy4xOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICB9CQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwp9CgovLyBDSEVDSyM0CnZhciBjND0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzQuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7CiAgICB0cnl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogICAgZmluYWxseXsKICAgICAgdGhyb3cgImV4MyI7CiAgICB9CiAgfQogIGZpbmFsbHl7CiAgICBjND0xOwogIH0KfQpjYXRjaChlcjEpewogIGlmIChlcjEhPT0iZXgzIikgJEVSUk9SKCcjNC4yOiBFeGNlcHRpb24gPT09ICJleDMiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEgKTsKfQppZiAoYzQhPT0xKSAkRVJST1IoJyM0LjM6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBmaW5hbGx5ewogICAgdGhyb3cgImV4MyI7CiAgfQogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyM1LjE6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSApOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjNS4yOiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwogIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNS4zOiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdHJ5ewogICAgICB0aHJvdyAiZXgxIjsKICAgIH0KICAgIGZpbmFsbHl7CiAgICAgIHRocm93ICJleDIiOwogICAgfQogIH0KICBmaW5hbGx5ewogICAgYzY9MTsKICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7Cn0KaWYgKGM2IT09MSkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzcKdmFyIGM3PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgYzc9MTsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBjNysrOwogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MyIpICRFUlJPUignIzcuMTogRXhjZXB0aW9uID09PSAiZXgzIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxICk7Cn0KaWYgKGM3IT09MikgJEVSUk9SKCcjNy4yOiBFbWJlZGRlZCAidHJ5L2ZpbmFsbHkiIGJsb2NrcyBtdXN0IGJlIGV2YWx1YXRlZCcpOwoK","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmFsdWF0aW5nIHRoZSBuZXN0ZWQgcHJvZHVjdGlvbnMgVHJ5U3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuMTQvUzEyLjE0X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB0aGUgcHJvZHVjdGlvbiBvZiBuZXN0ZWQgVHJ5U3RhdGVtZW50IHN0YXRlbWVudHMgZXZhbHVhdGVzIGNvcnJlY3QKICovCgovLyBDSEVDSyMxCnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIyKXsKICAgIGlmIChlcjIhPT0iZXgyIikgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjIpOwogICAgdGhyb3cgImV4MSI7CiAgfQogIGZpbmFsbHl7CiAgICB0aHJvdyAiZXgzIjsKICB9Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MyIpICRFUlJPUignIzEuMjogRXhjZXB0aW9uID09PSAiZXgzIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICBpZiAoZXIxPT09ImV4MiIpICRFUlJPUignIzEuMzogRXhjZXB0aW9uICE9PSJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoZWQgZXhjZXB0aW9uJyk7CiAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyMxLjQ6IEV4Y2VwdGlvbiAhPT0iZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MDsKdHJ5ewogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MiI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxPT09ImV4MSIpICRFUlJPUignIzIuMTogRXhjZXB0aW9uICE9PSJleDEiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGNhdGNoZWQgZXhjZXB0aW9uJyk7CiAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzIuMjogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9CiAgZmluYWxseXsKICAgIGMyPTE7CiAgfQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMi4zOiBFeGNlcHRpb24gPT09ICJleDEiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogIGlmIChlcjE9PT0iZXgyIikgJEVSUk9SKCcjMi40OiBFeGNlcHRpb24gIT09ICJleDIiLiBBY3R1YWw6IGNhdGNoIHByZXZpb3VzIGVtYmVkZGVkIGV4Y2VwdGlvbicpOwp9CmlmIChjMiE9PTEpCSRFUlJPUignIzIuNTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyMzCnZhciBjMz0wOwp0cnl7CiAgdGhyb3cgImV4MSI7Cn0KY2F0Y2goZXIxKXsKICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzMuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKfQpmaW5hbGx5ewogIHRyeXsKICAgIHRocm93ICJleDIiOwogIH0KICBjYXRjaChlcjEpewogICAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyMzLjI6IEV4Y2VwdGlvbiAhPT0iZXgxIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyMzLjM6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgfQogIGZpbmFsbHl7CiAgICBjMz0xOwogIH0KfQppZiAoYzMhPT0xKQkkRVJST1IoJyMzLjQ6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MDsKdHJ5ewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgdHJ5ewogICAgICB0aHJvdyAiZXgyIjsKICAgIH0KICAgIGNhdGNoKGVyMSl7CiAgICAgIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNC4xOiBFeGNlcHRpb24gIT09ImV4MiIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgY2F0Y2hlZCBleGNlcHRpb24nKTsKICAgICAgaWYgKGVyMSE9PSJleDIiKSAkRVJST1IoJyM0LjI6IEV4Y2VwdGlvbiA9PT0gImV4MiIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgICB9CiAgICBmaW5hbGx5ewogICAgICBjND0yOwogICAgICB0aHJvdyAiZXgzIjsKICAgIH0KICAgIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjNC4zOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogICAgaWYgKGVyMT09PSJleDIiKSAkRVJST1IoJyM0LjQ6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgaWYgKGVyMT09PSJleDMiKSAkRVJST1IoJyM0LjU6IEV4Y2VwdGlvbiAhPT0iZXgzIi4gQWN0dWFsOiBDYXRjaCBwcmV2aW91cyBlbWJlZGRlZCBleGNlcHRpb24nKTsKICB9CiAgZmluYWxseXsKICAgIGM0Kj0yOwogIH0KfQpjYXRjaChlcjEpe30KaWYgKGM0IT09NCkgJEVSUk9SKCcjNC42OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzUKdmFyIGM1PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgyIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGlmIChlcjEhPT0iZXgyIikgJEVSUk9SKCcjNS4xOiBFeGNlcHRpb24gPT09ICJleDIiLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JytlcjEpOwogIH0KICBmaW5hbGx5ewogICAgdGhyb3cgImV4MyI7CiAgfQogIHRocm93ICJleDEiOwp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDMiKSAkRVJST1IoJyM1LjI6IEV4Y2VwdGlvbiA9PT0gImV4MyIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7CiAgaWYgKGVyMT09PSJleDIiKSAkRVJST1IoJyM1LjM6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogIGlmIChlcjE9PT0iZXgxIikgJEVSUk9SKCcjNS40OiBFeGNlcHRpb24gIT09ImV4MSIuIEFjdHVhbDogY2F0Y2ggcHJldmlvdXMgZW1iZWRkZWQgZXhjZXB0aW9uJyk7Cn0KZmluYWxseXsKICBjNT0xOwp9CmlmIChjNSE9PTEpICRFUlJPUignIzUuNTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7CgovLyBDSEVDSyM2CnZhciBjNj0wOwp0cnl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZiAoZXIxIT09ImV4MSIpICRFUlJPUignIzYuMTogRXhjZXB0aW9uID09PSAiZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9CiAgZmluYWxseXsKICAgIGM2PTI7CiAgfQp9CmZpbmFsbHl7CiAgYzYqPTI7Cn0KaWYgKGM2IT09NCkgJEVSUk9SKCcjNi4yOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCi8vIENIRUNLIzcKdmFyIGM3PTA7CnRyeXsKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgZmluYWxseXsKICAgIHRyeXsKICAgICAgYzc9MTsKICAgICAgdGhyb3cgImV4MiI7CiAgICB9CiAgICBjYXRjaChlcjEpewogICAgICBpZiAoZXIxIT09ImV4MiIpICRFUlJPUignIzcuMTogRXhjZXB0aW9uID09PSAiZXgyIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICAgICAgaWYgKGVyMT09PSJleDEiKSAkRVJST1IoJyM3LjI6IEV4Y2VwdGlvbiAhPT0iZXgyIi4gQWN0dWFsOiBjYXRjaCBwcmV2aW91cyBjYXRjaGVkIGV4Y2VwdGlvbicpOwogICAgICBjNysrOwogICAgfQogICAgZmluYWxseXsKICAgICAgYzcqPTI7CiAgICB9CiAgfQp9CmNhdGNoKGVyMSl7CiAgaWYgKGVyMSE9PSJleDEiKSAkRVJST1IoJyM3LjM6IEV4Y2VwdGlvbiA9PT0gImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7Cn0KaWYgKGM3IT09NCkgJEVSUk9SKCcjNy40OiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKCg==","commentary":"Evaluating the nested productions TryStatement","description":"Checking if the production of nested TryStatement statements evaluates correct","path":"TestCases/ch12/12.14/S12.14_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiaWYiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgZXhjZXB0aW9uIHdpdGhpbiBhbiAiaWYiIHN0YXRlbWVudAogKi8KCi8vIENIRUNLIzEKdmFyIGMxPTE7CnRyeXsKICBpZihjMT09PTEpewogICAgdGhyb3cgImV4MSI7CiAgICAkRVJST1IoJyMxLjE6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQogICRFUlJPUignIzEuMjogdGhyb3cgImV4MSIgaW5zaWRlIHRoZSAiaWYiIHN0YXRlbWVudCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9CmNhdGNoKGVyMSl7CQogIGlmIChlcjEhPT0iZXgxIikgJEVSUk9SKCcjMS4zOiBFeGNlcHRpb24gPT09ImV4MSIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2VyMSk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTE7CmlmKGMyPT09MSl7CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgICAkRVJST1IoJyMyLjE6IHRocm93ICJleDEiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBpZihlcjEhPSJleDEiKSAkRVJST1IoJyMyLjI6IEV4Y2VwdGlvbiA9PT0iZXgxIi4gQWN0dWFsOiAgRXhjZXB0aW9uID09PScrZXIxKTsKICB9Cn0KCg==","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"if\" statement","description":"Throwing exception within an \"if\" statement","path":"TestCases/ch12/12.14/S12.14_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gTG9vcCB3aXRoaW4gYSAidHJ5IiBCbG9jaywgZnJvbSB3aGVyZSBleGNlcHRpb24gaXMgdGhyb3duCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgaT0wOwp0cnl7CiAgZG97CiAgICBpZihpPT09NSkgdGhyb3cgaTsKICAgIGkrKzsKICB9CiAgd2hpbGUoaTwxMCk7Cn0KY2F0Y2goZSl7CiAgaWYoZSE9PTUpJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PTUuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICApOwp9Cgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"Loop within a \"try\" Block, from where exception is thrown","path":"TestCases/ch12/12.14/S12.14_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImNvbnRpbnVlIiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpkb3sKICB0cnl7CiAgICBjMSs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGNhdGNoIGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMyCnZhciBjMj0wLGZpbjI9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMis9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluMj0xOwogIH0KICBmaW4yPS0xOwp9CndoaWxlKGMyPDIpOwppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMjogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnkgY2F0Y2h7Y29udGludWV9IGZpbmFsbHkiIGNvbnN0cnVjdGlvbicpOwp9CgovLyBDSEVDSyMzCnZhciBjMz0wLGZpbjM9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjMys9MTsKICB9CiAgZmluYWxseXsKICAgIGZpbjM9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW4zPTA7Cn0Kd2hpbGUoYzM8Mik7CmlmKGZpbjMhPT0xKXsKICAkRVJST1IoJyMzOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQgYXQgInRyeSBjYXRjaCBmaW5hbGx5e2NvbnRpbnVlfSIgY29uc3RydWN0aW9uJyk7Cn0KCi8vIENIRUNLIzQKdmFyIGM0PTAsZmluND0wOwpkb3sKICB0cnl7CiAgICBjNCs9MTsKICAgIGNvbnRpbnVlOwogIH0KICBmaW5hbGx5ewogICAgZmluND0xOwogIH0KICBmaW40PS0xOwp9CndoaWxlKGM0PDIpOwppZihmaW40IT09MSl7CiAgJEVSUk9SKCcjNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkIGF0ICJ0cnl7Y29udGludWV9IGZpbmFsbHkiICBjb25zdHJ1Y3Rpb24nKTsKfQoKLy8gQ0hFQ0sjNQp2YXIgYzU9MDsKZG97CiAgdHJ5ewogICAgdGhyb3cgImV4MSI7CiAgfQogIGNhdGNoKGVyMSl7CiAgICBjNSs9MTsKICAgIGNvbnRpbnVlOwogIH0KfQp3aGlsZShjNTwyKTsKaWYoYzUhPT0yKXsKICAkRVJST1IoJyM1OiAidHJ5IGNhdGNoe2NvbnRpbnVlfSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwp9CgovLyBDSEVDSyM2CnZhciBjNj0wLGZpbjY9MDsKZG97CiAgdHJ5ewogICAgYzYrPTE7CiAgICB0aHJvdyAiZXgxIgogIH0KICBmaW5hbGx5ewogICAgZmluNj0xOwogICAgY29udGludWU7CiAgfQogIGZpbjY9LTE7Cn0Kd2hpbGUoYzY8Mik7CmlmKGZpbjYhPT0xKXsKICAkRVJST1IoJyM2LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM2IT09Mil7CiAgJEVSUk9SKCcjNi4yOiAidHJ5IGZpbmFsbHl7Y29udGludWV9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCg==","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"continue\" statement","path":"TestCases/ch12/12.14/S12.14_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImJyZWFrIiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCnZhciBjMT0wLGZpbj0wOwpkb3sKICB0cnl7CiAgICBjMSs9MTsKICAgIGJyZWFrOwogIH0KICBjYXRjaChlcjEpe30KICBmaW5hbGx5ewogICAgZmluPTE7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTEpewogICRFUlJPUignIzEuMjogInRyeXticmVha31jYXRjaCBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzIKdmFyIGMyPTAsZmluMj0wOwpkb3sKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMyKz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW4yPTE7CiAgfQogIGMyKz0yOwogIGZpbjI9LTE7Cn0Kd2hpbGUoYzI8Mik7CmlmKGZpbjIhPT0xKXsKICAkRVJST1IoJyMyLjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGMyIT09MSl7CiAgJEVSUk9SKCcjMi4yOiAidHJ5IGNhdGNoe2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzMKdmFyIGMzPTAsZmluMz0wOwpkb3sKICB0cnl7CiAgICB0aHJvdyAiZXgxIjsKICB9CiAgY2F0Y2goZXIxKXsKICAgIGMzKz0xOwogIH0KICBmaW5hbGx5ewogICAgZmluMz0xOwogICAgYnJlYWs7CiAgfQogIGMzKz0yOwogIGZpbjM9MDsKfQp3aGlsZShjMzwyKTsKaWYoZmluMyE9PTEpewogICRFUlJPUignIzMuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzMhPT0xKXsKICAkRVJST1IoJyMzLjI6ICJ0cnkgY2F0Y2ggZmluYWxseXticmVha30iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjNAp2YXIgYzQ9MCxmaW40PTA7CmRvewogIHRyeXsKICAgIGM0Kz0xOwogICAgYnJlYWs7CiAgfQogIGZpbmFsbHl7CiAgICBmaW40PTE7CiAgfQogIGZpbjQ9LTE7CiAgYzQrPTI7Cn0Kd2hpbGUoYzQ8Mik7CmlmKGZpbjQhPT0xKXsKICAkRVJST1IoJyM0LjE6ICJmaW5hbGx5IiBibG9jayBtdXN0IGJlIGV2YWx1YXRlZCcpOwp9CmlmKGM0IT09MSl7CiAgJEVSUk9SKCcjNC4yOiAidHJ5e2JyZWFrfSBmaW5hbGx5IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzUKdmFyIGM1PTA7CmRvewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYnJlYWs7CiAgfQp9CndoaWxlKGM1PDIpOwppZihjNSE9PTApewogICRFUlJPUignIzU6ICJ0cnkgY2F0Y2h7YnJlYWt9IiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzYKdmFyIGM2PTA7CmRvewogIHRyeXsKICAgIGM2Kz0xOwogICAgYnJlYWs7CiAgfQogIGNhdGNoKGVyMSl7fQogIGM2Kz0yOwp9CndoaWxlKGM2PDIpOwppZihjNiE9PTEpewogICRFUlJPUignIzY6ICJ0cnl7YnJlYWt9IGNhdGNoIiBtdXN0IHdvcmsgY29ycmVjdGx5Jyk7Cn0KCi8vIENIRUNLIzcKdmFyIGM3PTAsZmluNz0wOwp0cnl7CiAgZG97CiAgICB0cnl7CiAgICAgIGM3Kz0xOwogICAgICB0aHJvdyAiZXgxIjsKICAgIH0KICAgIGZpbmFsbHl7CiAgICAgIGZpbjc9MTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBmaW43PS0xOwogICAgYzcrPTI7CiAgfQogIHdoaWxlKGM3PDIpOwp9CmNhdGNoKGV4MSl7CiAgYzc9MTA7Cn0KaWYoZmluNyE9PTEpewogICRFUlJPUignIzcuMTogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KaWYoYzchPT0xKXsKICAkRVJST1IoJyM3LjI6IHRyeSBmaW5hbGx5e2JyZWFrfSBlcnJvcicpOwp9Cgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"break\" statement","path":"TestCases/ch12/12.14/S12.14_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UNC5qcwogKiBAZGVzY3JpcHRpb24gInRyeSIgc3RhdGVtZW50IHdpdGhpbiBhIGxvb3AsIHRoZSBzdGF0ZW1lbnQgY29udGFpbnMgImNvbnRpbnVlIiBhbmQgImJyZWFrIiBzdGF0ZW1lbnRzCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgYzE9MCxmaW49MDsKZG97CiAgdHJ5ewogICAgYzErPTE7CiAgICBicmVhazsKICB9CiAgY2F0Y2goZXIxKXt9CiAgZmluYWxseXsKICAgIGZpbj0xOwogICAgY29udGludWU7CiAgfQogIGZpbj0tMTsKICBjMSs9MjsKfQp3aGlsZShjMTwyKTsKaWYoZmluIT09MSl7CiAgJEVSUk9SKCcjMS4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMSE9PTIpewogICRFUlJPUignIzEuMjogInRyeXticmVha30gY2F0Y2ggZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgYzI9MCxmaW4yPTA7CmRvewogIHRyeXsKICAgIHRocm93ICJleDEiOwogIH0KICBjYXRjaChlcjEpewogICAgYzIrPTE7CiAgICBicmVhazsKICB9CiAgZmluYWxseXsKICAgIGZpbjI9MTsKICAgIGNvbnRpbnVlOwogIH0KICBjMis9MjsKICBmaW4yPS0xOwp9CndoaWxlKGMyPDIpOwppZihmaW4yIT09MSl7CiAgJEVSUk9SKCcjMi4xOiAiZmluYWxseSIgYmxvY2sgbXVzdCBiZSBldmFsdWF0ZWQnKTsKfQppZihjMiE9PTIpewogICRFUlJPUignIzIuMjogInRyeSBjYXRjaHticmVha30gZmluYWxseXtjb250aW51ZX0iIG11c3Qgd29yayBjb3JyZWN0bHknKTsKfQoK","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"\"try\" statement within a loop, the statement contains \"continue\" and \"break\" statements","path":"TestCases/ch12/12.14/S12.14_A9_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidHJ5IiB3aXRoICJjYXRjaCIgb3IgImZpbmFsbHkiIHN0YXRlbWVudCB3aXRoaW4vd2l0aG91dCBhbiAiZG8gd2hpbGUiIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjE0L1MxMi4xNF9BOV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhjZXB0aW9ucyBhcmUgdGhyb3duIGNvcnJlY3RseSBmcm9tIHdoZXJldmVyIG9mIGxvb3AgYm9keQogKi8KCi8vIENIRUNLIzEKdmFyIGM9MCwgaT0wOwp2YXIgZmluPTA7CmRvewogIGkrPTE7CiAgdHJ5ewogICAgaWYoYz09PTApewogICAgICB0aHJvdyAiZXgxIjsKICAgICAgJEVSUk9SKCcjMS4xOiB0aHJvdyAiZXgxIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfQogICAgYys9MjsKICAgIGlmKGM9PT0xKXsKICAgICAgdGhyb3cgImV4MiI7CiAgICAgICRFUlJPUignIzEuMjogdGhyb3cgImV4MiIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0KICB9CiAgY2F0Y2goZXIxKXsKICAgIGMtPTE7CiAgICBjb250aW51ZTsKICAgICRFUlJPUignIzEuMzogInRyeSBjYXRjaHtjb250aW51ZX0gZmluYWxseSIgbXVzdCB3b3JrIGNvcnJlY3RseScpOwogIH0KICBmaW5hbGx5ewogICAgZmluKz0xOwogIH0KfQp3aGlsZShpPDEwKTsKaWYoZmluIT09MTApewogICRFUlJPUignIzEuNDogImZpbmFsbHkiIGJsb2NrIG11c3QgYmUgZXZhbHVhdGVkJyk7Cn0KCgo=","commentary":"\"try\" with \"catch\" or \"finally\" statement within/without an \"do while\" statement","description":"Checking if exceptions are thrown correctly from wherever of loop body","path":"TestCases/ch12/12.14/S12.14_A9_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXA0KICAgICAgICAgICAgICAgICAgIHRyeSB7fSBjYXRjaCAoZXZhbCkgeyB9XA0KICAgICAgICAgICAgIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is eval","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMi8xMi4xNC8xMi4xNC4xLzEyLjE0LjEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBUcnlTdGF0ZW1lbnQgd2l0aCBhIENhdGNoIG9jY3VycyB3aXRoaW4gc3RyaWN0IGNvZGUgYW5kIHRoZSBJZGVudGlmaWVyIG9mIHRoZSBDYXRjaCBwcm9kdWN0aW9uIGlzIGV2YWwNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdHJ5IHsgfSBjYXRjaCAoZXZhbCkgeyB9DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is eval","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJcDQogICAgICAgICAgICAgICAgICAgdHJ5IHt9IGNhdGNoIChhcmd1bWVudHMpIHsgfVwNCiAgICAgICAgICAgICIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is arguments","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBFVkFMIGJ1dCB0aHJvd3MgU3ludGF4RXJyb3IgaWYgaXQgaXMgZXZhbA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICB0cnl7IGV2YWwoIiB0cnkgeyBcDQogICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiLi4uXCIpO1wNCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XA0KICAgICAgICAgfSBjYXRjaCAoRVZBTCkge1wNCiAgICAgICAgICAgICB0cnlcDQogICAgICAgICAgICAge1wNCiAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIi4uLlwiKTtcDQogICAgICAgICAgICAgfWNhdGNoKGV2YWwpXA0KICAgICAgICAgICAgIHtcDQogICAgICAgICAgICAgICAgIHJldHVybiBFVkFMIGluc3RhbmNlb2YgRXJyb3I7XA0KICAgICAgICAgICAgICB9XA0KICAgICAgICAgfSIpOw0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL but throws SyntaxError if it is eval","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBFVkFMDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCIuLi4iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoRVZBTCkgew0KICAgICAgICAgICAgcmV0dXJuIEVWQUwgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBBcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIi4uLiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChBcmd1bWVudHMpIHsNCiAgICAgICAgICAgIHJldHVybiBBcmd1bWVudHMgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is Arguments","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMTQvMTIuMTQuMS8xMi4xNC4xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXNuJ3QgdGhyb3duIGlmIGEgVHJ5U3RhdGVtZW50IHdpdGggYSBDYXRjaCBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCB0aGUgSWRlbnRpZmllciBvZiB0aGUgQ2F0Y2ggcHJvZHVjdGlvbiBpcyBBUkdVTUVOVFMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIi4uLiIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChBUkdVTUVOVFMpIHsNCiAgICAgICAgICAgIHJldHVybiBBUkdVTUVOVFMgaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is ARGUMENTS","onlyStrict":"","path":"TestCases/ch12/12.14/12.14.1/12.14.1-6-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZXMgYXJlIGNyZWF0ZWQgd2hlbiB0aGUgcHJvZ3JhbSBpcyBlbnRlcmVkLiBWYXJpYWJsZXMgYXJlIGluaXRpYWxpc2VkIHRvICJ1bmRlZmluZWQiCiAqIHdoZW4gY3JlYXRlZC4gQSB2YXJpYWJsZSB3aXRoIGFuIEluaXRpYWxpc2VyIGlzIGFzc2lnbmVkIHRoZSB2YWx1ZSBvZiBpdHMgQXNzaWdubWVudEV4cHJlc3Npb24gd2hlbiB0aGUKICogVmFyaWFibGVTdGF0ZW1lbnQgaXMgZXhlY3V0ZWQsIG5vdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyBjcmVhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgdmFyaWFibGVzIGFmdGVyIGVudGVyaW5nIHRoZSBleGVjdXRpb24gc2NvcGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX3ggPSBfX3g7CiAgICBfX3kgPSBfX3ggPyAiZ29vZCBmZWxsb3ciIDogImxpYXIiOyAvLyBfX3kgYXNzaWduZWQgdG8gImxpYXIiIHNpbmNlIF9feCB1bmRlZmluZWQKICAgIF9feiA9IF9feiA9PT0gX194ID8gMSA6IDA7IC8vIF9feiBhc3NpZ25lZCB0byAxIHNpbmNlIGJvdGggX194IGFuZCBfX3ogYXJlIHVuZGVmaW5lZAp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiBVc2luZyBkZWNsYXJhdGVkIHZhcmlhYmxlIGJlZm9yZSBpdCBkZWNsYXJhdGlvbiBpcyBhZG1pdHRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnl7CiAgICBfX3NvbWV0aGluZ19fdW5kZWZpbmVkID0gX19zb21ldGhpbmdfX3VuZGVmaW5lZDsKICAgICRFUlJPUignIzI6ICJfX3NvbWV0aGluZ19fdW5kZWZpbmVkID0gX19zb21ldGhpbmdfX3VuZGVmaW5lZCIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKICAgICRQUklOVChlLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoKF9feSAhPT0gImxpYXIiKSYoX196ICE9PSAxKSkgewoJJEVSUk9SKCcjMzogKF9feSA9PT0gImxpYXIiKSBhbmQgKF9feiA9PT0gMSkuIEFjdHVhbDogIF9feSA9PT0nK19feSsnIGFuZCBfX3ogPT09JytfX3ogICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX194LCBfX3kgPSB0cnVlLCBfX3ogPSBfX3kgPyAic21lYWdvbCIgOiAiZ29sdW0iOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIV9feSYhKF9feiA9ICJzbWVhZ29sIikpIHsKCSRFUlJPUignIzQ6IEEgdmFyaWFibGUgd2l0aCBhbiBJbml0aWFsaXNlciBpcyBhc3NpZ25lZCB0aGUgdmFsdWUgb2YgaXRzIEFzc2lnbm1lbnRFeHByZXNzaW9uIHdoZW4gdGhlIFZhcmlhYmxlU3RhdGVtZW50IGlzIGV4ZWN1dGVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Variables are created when the program is entered. Variables are initialised to \"undefined\"\nwhen created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the\nVariableStatement is executed, not when the variable is created","description":"Creating variables after entering the execution scope","path":"TestCases/ch12/12.2/S12.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBzdGF0ZW1lbnQgd2l0aGluICJmb3IiIHN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gYSAiZm9yIiBJdGVyYXRpb25TdGF0ZW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2luZD1fX2luZDsKfSBjYXRjaCAoZSkgewogICAgJEVSUk9SKCcjMTogdmFyIGluc2lkZSAiZm9yIiBpcyBhZG1pdHRlZCAnK2UubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmb3IgKHZhciBfX2luZDs7KXsKICAgIGJyZWFrOwp9Cgo=","commentary":"\"var\" statement within \"for\" statement is allowed","description":"Declaring variable within a \"for\" IterationStatement","path":"TestCases/ch12/12.2/S12.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtSZWFkT25seX0gaXMgbm90IHVzZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hhbmdpbmcgdmFyaWFibGUgdmFsdWUgdXNpbmcgcHJvcGVydHkgYXR0cmlidXRlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdGhpc1snX19kZWNsYXJlZF9fdmFyJ10gPSAiYmFsb29uIjsKaWYgKHRoaXNbJ19fZGVjbGFyZWRfX3ZhciddICE9PSAiYmFsb29uIikgewoJJEVSUk9SKCcjMTogdGhpc1tcJ19fZGVjbGFyZWRfX3ZhclwnXSA9PT0gImJhbG9vbiIuIEFjdHVhbDogIHRoaXNbXCdfX2RlY2xhcmVkX192YXJcJ10gPT09JysgdGhpc1snX19kZWNsYXJlZF9fdmFyJ10gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RlY2xhcmVkX192YXIgIT09ICJiYWxvb24iKSB7CgkkRVJST1IoJyMyOiBfX2RlY2xhcmVkX192YXIgPT09ICJiYWxvb24iLiBBY3R1YWw6ICBfX2RlY2xhcmVkX192YXIgPT09JysgX19kZWNsYXJlZF9fdmFyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZGVjbGFyZWRfX3ZhcjsKCg==","commentary":"When using property attributes, {ReadOnly} is not used","description":"Changing variable value using property attributes","path":"TestCases/ch12/12.2/S12.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAiZG8td2hpbGUiIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgdmFyaWFibGUgd2l0aGluICJkby13aGlsZSIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJeD14Owp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiBEZWNsYXJhdGlvbiB2YXJpYWJsZSBpbnNpZGUgImRvLXdoaWxlIiBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmRvIHZhciB4OyB3aGlsZSAoZmFsc2UpOwoK","commentary":"VariableDeclaration within \"do-while\" loop is allowed","description":"Declaring variable within \"do-while\" statement","path":"TestCases/ch12/12.2/S12.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZXMgYXJlIGRlZmluZWQgd2l0aCBnbG9iYWwgc2NvcGUgKHRoYXQgaXMsIHRoZXkgYXJlIGNyZWF0ZWQgYXMgbWVtYmVycyBvZiB0aGUgZ2xvYmFsIG9iamVjdCwgYXMgZGVzY3JpYmVkIGluIDEwLjEuMykgdXNpbmcgcHJvcGVydHkgYXR0cmlidXRlcyB7IERvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IGhhdmUgdGhlIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlKF9fdmFyaWFibGUpKSB7CgkkRVJST1IoJyMxOiBkZWxldGUoX192YXJpYWJsZSk9PT1mYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZGVsZXRlKHRoaXNbIl9fdmFyaWFibGUiXSkpIHsKCSRFUlJPUignIzI6IGRlbGV0ZSh0aGlzWyJfX3ZhcmlhYmxlIl0pPT09ZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgp2YXIgX192YXJpYWJsZTsKdmFyIF9fdmFyaWFibGUgPSAiZGVmaW5lZCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUoX192YXJpYWJsZSkgfCBkZWxldGUodGhpc1siX192YXJpYWJsZSJdKSkgewoJJEVSUk9SKCcjMzogKGRlbGV0ZShfX3ZhcmlhYmxlKSB8IGRlbGV0ZSh0aGlzWyJfX3ZhcmlhYmxlIl0pKT09PWZhbHNlJyApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoKF9fdmFyaWFibGUgIT09ICJkZWZpbmVkIil8KHRoaXNbIl9fdmFyaWFibGUiXSAhPT0iZGVmaW5lZCIpKSB7CgkkRVJST1IoJyM0OiBfX3ZhcmlhYmxlID09PSAiZGVmaW5lZCIgYW5kIHRoaXNbIl9fdmFyaWFibGUiXSA9PT0iZGVmaW5lZCInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Variables are defined with global scope (that is, they are created as members of the global object, as described in 10.1.3) using property attributes { DontDelete}","description":"Checking if deleting global variables that have the attributes {DontDelete} fails","path":"TestCases/ch12/12.2/S12.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHByb2R1Y2VzIGEgbmV3IHNjb3BlCiAqCiAqIEBwYXRoIGNoMTIvMTIuMi9TMTIuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgR2xvYmFsIHNjb3BlIGFuZCBGdW5jdGlvbiBzY29wZSB0b2dldGhlcgogKi8KCnZhciBfX3ZhciA9ICJPVVQiOwoKKGZ1bmN0aW9uKCl7CiAgICB2YXIgX192YXIgPSJJTiI7CgkoZnVuY3Rpb24oKXtfX3ZhciA9ICJJTk5FUl9TUEFDRSI7fSkoKTsKCShmdW5jdGlvbigpe3ZhciBfX3ZhciA9ICJJTk5FUl9TVU4iO30pKCk7CgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCS8vQ0hFQ0sjMQogICAgaWYgKF9fdmFyICE9PSAiSU5ORVJfU1BBQ0UiKSB7CiAgICAJJEVSUk9SKCcjMTogX192YXIgPT09ICJJTk5FUl9TUEFDRSIuIEFjdHVhbDogIF9fdmFyID09PScrIF9fdmFyICApOwogICAgfQoJLy8KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX192YXIgIT09ICJPVVQiKSB7CgkkRVJST1IoJyMyOiBfX3ZhciA9PT0gIk9VVCIuIEFjdHVhbDogIF9fdmFyID09PScrIF9fdmFyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCihmdW5jdGlvbigpewogICAgX192YXIgPSJJTiI7CgkoZnVuY3Rpb24oKXtfX3ZhciA9ICJJTk5FUkVEIn0pKCk7CgkoZnVuY3Rpb24oKXt2YXIgX192YXIgPSAiSU5OQUdFUiJ9KSgpOwoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgkvL0NIRUNLIzMKICAgIGlmIChfX3ZhciE9PSJJTk5FUkVEIikgewogICAgCSRFUlJPUignIzM6IF9fdmFyPT09IklOTkVSRUQiLiBBY3R1YWw6ICBfX3Zhcj09PScrIF9fdmFyICk7CiAgICB9CgkvLwoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3ZhciE9PSJJTk5FUkVEIikgewoJJEVSUk9SKCcjNDogX192YXI9PT0iSU5ORVJFRCIuIEFjdHVhbDogIF9fdmFyPT09JysgX192YXIgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration produces a new scope","description":"Using Global scope and Function scope together","path":"TestCases/ch12/12.2/S12.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gdmFyaWFibGUgSWRlbnRpZmllciBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhbmQgdXNlIHVuaWNvZGUgY2hhcmFjdGVycyBpbiB2YXJpYWJsZSBJZGVudGlmaWVyCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX192YXI9X192YXI7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IFVuaWNvZGUgY2hhcmFjdGVycyBpbiB2YXJpYWJsZSBJZGVudGlmaWVyIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBcdTAwNWZcdTAwNWZcdTAwNzZcdTAwNjFcdTAwNzIgPSAxOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX192YXIgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fdmFyID09PSAxLiBBY3R1YWw6ICBfX3ZhciA9PT0nKyBfX3ZhciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Unicode characters in variable Identifier are allowed","description":"Create and use unicode characters in variable Identifier","path":"TestCases/ch12/12.2/S12.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiBFdmFsIHN0YXRlbWVudCBpcyBpbml0aWFsaXplZCBhcyB0aGUgcHJvZ3JhbSByZWFjaGVzIHRoZSBldmFsIHN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGluZyBldmFsKCJ2YXIgeCIpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7Cgl4PXg7CgkkRVJST1IoJyMxOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Y2F0Y2goZSl7CgkkUFJJTlQoZS5tZXNzYWdlKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpldmFsKCJ2YXIgeCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnl7Cgl4PXg7Cn1jYXRjaChlKXsKCSRFUlJPUignIzI6IFZhcmlhYmxlRGVjbGFyYXRpb24gaW5zaWRlIEV2YWwgc3RhdGVtZW50IGlzIGluaXRpYWxpemVkIHdoZW4gcHJvZ3JhbSByZWFjaGVzIHRoZSBldmFsIHN0YXRlbWVudCAnK2UubWVzc2FnZSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"VariableDeclaration within Eval statement is initialized as the program reaches the eval statement","description":"Executing eval(\"var x\")","path":"TestCases/ch12/12.2/S12.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAidHJ5LWNhdGNoIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gInRyeS1jYXRjaCIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglpbnRyeV9fdmFyPWludHJ5X192YXI7Cn1jYXRjaChlKXsKCSRFUlJPUignIzE6IFZhcmlhYmxlIGRlY2xhcmF0aW9uIGluc2lkZSAidHJ5IiBibG9jayBpcyBhZG1pdHRlZCcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5ewoJaW5jYXRjaF9fdmFyPWluY2F0Y2hfX3ZhcjsKfWNhdGNoKGUpewoJJEVSUk9SKCcjMjogVmFyaWFibGUgZGVjbGFyYXRpb24gaW5zaWRlICJjYXRjaCIgYmxvY2sgaXMgYWRtaXR0ZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp0cnl7CiAgdmFyIGludHJ5X192YXI7Cn1jYXRjaChlKXsKICAgIHZhciBpbmNhdGNoX192YXI7Cn07Cgo=","commentary":"VariableDeclaration within \"try-catch\" statement is allowed","description":"Declaring variable within \"try-catch\" statement","path":"TestCases/ch12/12.2/S12.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAidHJ5LWNhdGNoIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZXMgd2l0aGluICJ0cnktY2F0Y2giIHN0YXRlbWVudAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJaW50cnlfX2ludHJ5X192YXI9aW50cnlfX2ludHJ5X192YXI7CglpbnRyeV9faW5jYXRjaF9fdmFyPWludHJ5X19pbmNhdGNoX192YXI7CglpbmNhdGNoX19pbnRyeV9fdmFyPWluY2F0Y2hfX2ludHJ5X192YXI7CglpbmNhdGNoX19pbmNhdGNoX192YXI9aW5jYXRjaF9faW5jYXRjaF9fdmFyOwp9Y2F0Y2goZSl7CgkkRVJST1IoJyMxOiBWYXJpYWJsZSBkZWNsYXJhdGlvbiBpbnNpZGUgInRyeS1jYXRjaCIgYmxvY2sgaXMgYWRtaXR0ZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp0cnl7CiAgICB0cnkgewogICAgCXZhciBpbnRyeV9faW50cnlfX3ZhcjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgIAl2YXIgaW50cnlfX2luY2F0Y2hfX3ZhcjsKICAgIH0KfWNhdGNoKGUpewogICAgdHJ5IHsKICAgIAl2YXIgaW5jYXRjaF9faW50cnlfX3ZhcjsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICB2YXIgaW5jYXRjaF9faW5jYXRjaF9fdmFyOwogICAgfQogICAgCn07Cgo=","commentary":"VariableDeclaration within \"try-catch\" statement is allowed","description":"Declaring variables within \"try-catch\" statement","path":"TestCases/ch12/12.2/S12.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIHdpdGhpbiAiZm9yIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjIvUzEyLjJfQTcuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyB2YXJpYWJsZSB3aXRoaW4gImZvciIgc3RhdGVtZW50CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglpbmZvcl92YXIgPSBpbmZvcl92YXI7Cn1jYXRjaChlKXsKCSRFUlJPUignIzE6IFZhcmlhYmxlIGRlY2xhcmF0aW9uIGluc2lkZSAiZm9yIiBsb29wIGlzIGFkbWl0dGVkJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZm9yICg7Oyl7CiAgICBicmVhazsKICAgIHZhciBpbmZvcl92YXI7Cn0KCg==","commentary":"VariableDeclaration within \"for\" statement is allowed","description":"Declaring variable within \"for\" statement","path":"TestCases/ch12/12.2/S12.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ICs9IDEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggKz0gMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x += 1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4IHwgdHJ1ZSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeCB8IHRydWU7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x | true\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ICYmIDEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggJiYgMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x && 1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4KysiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHgrKzsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x++\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciAtLXgiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIC0teDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var --x\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4KjEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHgqMTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x*1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4Pj4xIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4Pj4xOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x>>1\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IEFzc2lnbm1lbnRFeHByZXNzaW9uIGlzIGFkbWl0dGVkIHdoZW4gdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E4X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4IGluIF9fYXJyIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpfX2FyciA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeCBpbiBfX2FycjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Only AssignmentExpression is admitted when variable is initialized","description":"Checking if execution of \"var x in __arr\" fails","negative":"","path":"TestCases/ch12/12.2/S12.2_A8_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtEb250RW51bX0gaXMgbm90IHVzZWQKICoKICogQHBhdGggY2gxMi8xMi4yL1MxMi4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBFbnVtZXJhdGluZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIG9mICJ0aGlzIiBhbmQgdGhlbiBzZWFyY2hpbmcgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yIChfX3Byb3AgaW4gdGhpcyl7CiAgICBpZiAoX19wcm9wID09PSAiX19kZWNsYXJlZF9fdmFyIikKICAgICAgICBlbnVtZWQ9dHJ1ZTsKfQppZiAoIShlbnVtZWQpKSB7CgkkRVJST1IoJyMxOiBXaGVuIHVzaW5nIHByb3BlcnR5IGF0dHJpYnV0ZXMsIHtEb250RW51bX0gbm90IHVzZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2RlY2xhcmVkX192YXI7Cgo=","commentary":"When using property attributes, {DontEnum} is not used","description":"Enumerating property attributes of \"this\" and then searching for the declared variable","path":"TestCases/ch12/12.2/S12.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGV2YWw7IH0nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a function declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBhc3NpZ25pbmcgaW50byAnZXZhbCcgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ2V2YWwgPSA0MjsnKTsNCiAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode: an indirect eval assigning into 'eval' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzIGFzIHZhciBpZGVudGlmaWVyIGluIGV2YWwgY29kZSBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICBldmFsKCJ2YXIgYXJndW1lbnRzOyIpOw0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments as var identifier in eval code is allowed","path":"TestCases/ch12/12.2/12.2.1/12.2.1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGFyZ3VtZW50czt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGlzIGFsbG93ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGV2YWwoIihmdW5jdGlvbiAoKXt2YXIgYXJndW1lbnRzO30pIik7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments as local var identifier is allowed","path":"TestCases/ch12/12.2/12.2.1/12.2.1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXNzaWdubWVudCB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyBhcmd1bWVudHMgPSA0MjsgfTsgZm9vKCknKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments assignment throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgLSBhIGZ1bmN0aW9uIGV4cHIgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdhcmd1bWVudHMnIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnKGZ1bmN0aW9uICgpe3ZhciBhcmd1bWVudHM7fSk7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments - a function expr declaring a var named 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgLSBhIGZ1bmN0aW9uIGV4cHIgYXNzaWduaW5nIGludG8gJ2FyZ3VtZW50cycgdGhyb3dzIGEgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJyhmdW5jdGlvbiAoKSB7YXJndW1lbnRzID0gNDI7fSkoKScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments - a function expr assigning into 'arguments' throws a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIChjYWxsZWQgYXMgYSBmdW5jdGlvbikgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdhcmd1bWVudHMnIGRvZXMgbm90IHRocm93IGEgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQogICAgDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAndXNlIHN0cmljdCc7DQogICAgICAgIEZ1bmN0aW9uKCd2YXIgYXJndW1lbnRzOycpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"A Function constructor (called as a function) declaring a var named 'arguments' does not throw a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIChjYWxsZWQgYXMgYSBmdW5jdGlvbikgYXNzaWduaW5nIGludG8gJ2FyZ3VtZW50cycgd2lsbCBub3QgdGhyb3cgYW55IGVycm9yIGlmIGNvbnRhaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUgYW5kIGl0cyBib2R5IGRvZXMgbm90IHN0YXJ0IHdpdGggc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgDQogICAgdmFyIGYgPSBGdW5jdGlvbignYXJndW1lbnRzID0gNDI7Jyk7DQogICAgZigpOw0KICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"A Function constructor (called as a function) assigning into 'arguments' will not throw any error if contained within strict mode and its body does not start with strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIGRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnYXJndW1lbnRzJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ3ZhciBhcmd1bWVudHM7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"A direct eval declaring a var named 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTE5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIGRpcmVjdCBldmFsIGFzc2lnbmluZyBpbnRvICdhcmd1bWVudHMnIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnYXJndW1lbnRzID0gNDI7Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIDsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"A direct eval assigning into 'arguments' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMi8xMi4yLzEyLjIuMS8xMi4yLjEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBWYXJpYWJsZURlY2xhcmF0aW9uIG9jY3VycyB3aXRoaW4gc3RyaWN0IGNvZGUgYW5kIGl0cyBJZGVudGlmaWVyIGlzIGV2YWwNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmZvciAodmFyIGV2YWwgaW4gYXJyT2JqKSB7IH0=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a VariableDeclaration occurs within strict code and its Identifier is eval","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGFzc2lnbmluZyBpbnRvICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyBldmFsID0gNDI7IH07IGZvbygpJyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a function assigning into 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBkZWNsYXJpbmcgYSB2YXIgbmFtZWQgJ2FyZ3VtZW50cycgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCiAgdmFyIHMgPSBldmFsOw0KICBzKCd2YXIgYXJndW1lbnRzOycpOw0KICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode: an indirect eval declaring a var named 'arguments' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZTogYW4gaW5kaXJlY3QgZXZhbCBhc3NpZ25pbmcgaW50byAnYXJndW1lbnRzJyBkb2VzIG5vdCB0aHJvdw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ2FyZ3VtZW50cyA9IDQyOycpOw0KICByZXR1cm4gdHJ1ZTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode: an indirect eval assigning into 'arguments' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgZ2xvYmFsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBpbmRpcmVjdEV2YWwgPSBldmFsOw0KCQ0KICAgIHRyeSB7DQoJICAgIGluZGlyZWN0RXZhbCgiJ3VzZSBzdHJpY3QnOyB2YXIgYXJndW1lbnRzOyIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQoJfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCgl9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as global var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTIzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhcmd1bWVudHMgPSA0Mjt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCA9IDQyO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhcmd1bWVudHMsIGE7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgYSwgZXZhbDt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"eval as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCA9IDQyLCBhO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhLCBhcmd1bWVudHMgPSA0Mjt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier assigned to throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTI5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZnVuY3Rpb24gZm9vKCkgeyB2YXIgZXZhbCwgYSA9IDQyO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGV4cHIgZGVjbGFyaW5nIGEgdmFyIG5hbWVkICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnKGZ1bmN0aW9uICgpIHsgdmFyIGV2YWw7IH0pJyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a function expr declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhID0gNDIsIGFyZ3VtZW50czt9Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIGFzIGxvY2FsIHZhciBpZGVudGlmaWVyIGRlZmluZWQgdHdpY2UgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBldmFsLCBldmFsO30nKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"eval as local var identifier defined twice throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgZGVmaW5lZCB0d2ljZSBhbmQgYXNzaWduZWQgb25jZSB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2Z1bmN0aW9uIGZvbygpIHsgdmFyIGFyZ3VtZW50cywgYXJndW1lbnRzID0gNDI7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier defined twice and assigned once throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTMzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMgYXMgbG9jYWwgdmFyIGlkZW50aWZpZXIgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oKSB7IHZhciBhLCBhcmd1bWVudHMsIGI7fScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"arguments as local var identifier throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBldmFsIGluIC4uLikgey4uLn0nIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdHJ5IHsNCiAgICBldmFsKCdmb3IgKHZhciBldmFsIGluIG51bGwpIHt9OycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'for(var eval in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBldmFsID0gNDIgaW4gLi4uKSB7Li4ufScgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2ZvciAodmFyIGV2YWwgPSA0MiBpbiBudWxsKSB7fTsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'for(var eval = 42 in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBhcmd1bWVudHMgaW4gLi4uKSB7Li4ufScgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ2ZvciAodmFyIGFyZ3VtZW50cyBpbiBudWxsKSB7fTsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'for(var arguments in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiAnZm9yKHZhciBhcmd1bWVudHMgPSA0MiBpbiAuLi4pIHsuLi59JyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZm9yICh2YXIgYXJndW1lbnRzID0gNDIgaW4gbnVsbCkge307Jyk7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'for(var arguments = 42 in ...) {...}' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGZ1bmN0aW9uIGV4cHIgYXNzaWduaW5nIGludG8gJ2V2YWwnIHRocm93cyBhIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJyhmdW5jdGlvbiAoKSB7IGV2YWwgPSA0MjsgfSkoKScpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval - a function expr assigning into 'eval' throws a SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMi8xMi4yLzEyLjIuMS8xMi4yLjEtNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBvY2N1cnMgd2l0aGluIHN0cmljdCBjb2RlIGFuZCBpdHMgSWRlbnRpZmllciBpcyBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBhcmd1bWVudHM7","commentary":"","description":"Strict Mode - SyntaxError is thrown if a VariableDeclarationNoIn occurs within strict code and its Identifier is arguments","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYSBGdW5jdGlvbiBkZWNsYXJpbmcgdmFyIG5hbWVkICdldmFsJyBkb2VzIG5vdCB0aHJvdyBTeW50YXhFcnJvcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAndXNlIHN0cmljdCc7DQogICAgICAgIEZ1bmN0aW9uKCd2YXIgZXZhbDsnKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - a Function declaring var named 'eval' does not throw SyntaxError","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIEZ1bmN0aW9uIGFzc2lnbmluZyBpbnRvICdldmFsJyB3aWxsIG5vdCB0aHJvdyBhbnkgZXJyb3IgaWYgY29udGFpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSBhbmQgaXRzIGJvZHkgZG9lcyBub3Qgc3RhcnQgd2l0aCBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIA0KICAgIHZhciBmID0gRnVuY3Rpb24oJ2V2YWwgPSA0MjsnKTsNCiAgICBmKCk7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval - a Function assigning into 'eval' will not throw any error if contained within strict mode and its body does not start with strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB0cnkgew0KICAgIGV2YWwoJ3ZhciBldmFsOycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval - a direct eval declaring a var named 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgLSBhIGRpcmVjdCBldmFsIGFzc2lnbmluZyBpbnRvICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KDQogIHRyeSB7DQogICAgZXZhbCgnZXZhbCA9IDQyOycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSA7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a direct eval assigning into 'eval' throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuMi8xMi4yLjEvMTIuMi4xLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlOiBhbiBpbmRpcmVjdCBldmFsIGRlY2xhcmluZyBhIHZhciBuYW1lZCAnZXZhbCcgZG9lcyBub3QgdGhyb3cNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICB2YXIgcyA9IGV2YWw7DQogIHMoJ3ZhciBldmFsOycpOw0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode: an indirect eval declaring a var named 'eval' does not throw","onlyStrict":"","path":"TestCases/ch12/12.2/12.2.1/12.2.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFbXB0eVN0YXRlbWVudCA7IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzIFJldHVybiAobm9ybWFsLCBlbXB0eSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuMy9TMTIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRW1wdHlTdGF0ZW1lbnQgOwogKi8KCjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cjs7Ozs7ICAgOzs7Ozs7ICA7OyAgICAgIDs7ICA7Ozs7OzsgICA7Ozs7Ozs7OyAgOzsgICAgOzsgICAgIDs7Ozs7Cjs7Ozs7ICAgOzsgICAgICA7Ozs7ICA7Ozs7ICA7OyAgIDs7ICAgICA7OyAgICAgIDs7ICA7OyAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzs7OyAgICA7OyA7Ozs7IDs7ICA7Ozs7OzsgICAgICA7OyAgICAgICA7Ozs7ICAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzsgICAgICA7OyAgOzsgIDs7ICA7OyAgICAgICAgICA7OyAgICAgICAgOzsgICAgICAgIDs7Ozs7Cjs7Ozs7ICAgOzs7Ozs7ICA7OyAgICAgIDs7ICA7OyAgICAgICAgICA7OyAgICAgICAgOzsgICAgICAgIDs7Ozs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cgo=","commentary":"The production EmptyStatement ; is evaluated as follows Return (normal, empty, empty)","description":"Using EmptyStatement","path":"TestCases/ch12/12.3/S12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBFeHByZXNzaW9uU3RhdGVtZW50IGNhbiBub3Qgc3RhcnQgd2l0aCB0aGUgZnVuY3Rpb24ga2V5d29yZCBiZWNhdXNlIHRoYXQgbWlnaHQgbWFrZSBpdCBhbWJpZ3VvdXMgd2l0aCBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi40L1MxMi40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZ1bmN0aW9uKCl7fSgpIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZ1bmN0aW9uKCl7fSgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"An ExpressionStatement can not start with the function keyword because that might make it ambiguous with a FunctionDeclaration","description":"Checking if execution of \"function(){}()\" fails","negative":"","path":"TestCases/ch12/12.4/S12.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFeHByZXNzaW9uU3RhdGVtZW50IDogW2xvb2thaGVhZCBcbm90aW4ge3ssIGZ1bmN0aW9ufV0gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6CiAqIDEuIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIDIuIENhbGwgR2V0VmFsdWUoUmVzdWx0KDEpKS4KICogMy4gUmV0dXJuIChub3JtYWwsIFJlc3VsdCgyKSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuNC9TMTIuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCAiKGV2YWwoIngrMSt4PT0xIikpIgogKi8KCng9MTsKCl9fZXZhbHVhdGVkID0gZXZhbCgieCsxK3g9PTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IGZhbHNlLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fZXZhbHVhdGVkID0gZXZhbCgiMSsxKzE9PTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IGZhbHNlLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production ExpressionStatement : [lookahead \\notin {{, function}] Expression; is evaluated as follows:\n1. Evaluate Expression.\n2. Call GetValue(Result(1)).\n3. Return (normal, Result(2), empty)","description":"Checking by using eval \"(eval(\"x+1+x==1\"))\"","path":"TestCases/ch12/12.4/S12.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBFeHByZXNzaW9uU3RhdGVtZW50IDogW2xvb2thaGVhZCBcbm90aW4ge3ssIGZ1bmN0aW9ufV0gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzIGZvbGxvd3M6CiAqIDEuIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIDIuIENhbGwgR2V0VmFsdWUoUmVzdWx0KDEpKS4KICogMy4gUmV0dXJuIChub3JtYWwsIFJlc3VsdCgyKSwgZW1wdHkpCiAqCiAqIEBwYXRoIGNoMTIvMTIuNC9TMTIuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbChldmFsKHgpLCB3aGVyZSB4IGlzIGFueSBzdHJpbmcpCiAqLwoKeD0iNSsxfDA9PT0wIjsKCl9fZXZhbHVhdGVkID0gZXZhbCh4KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSA3KSB7CgkkRVJST1IoJyMxOiBfX2V2YWx1YXRlZCA9PT0gNy4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX2V2YWx1YXRlZCA9IGV2YWwoIjIqIit4KyI+LTEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSAxMSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDExLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production ExpressionStatement : [lookahead \\notin {{, function}] Expression; is evaluated as follows:\n1. Evaluate Expression.\n2. Call GetValue(Result(1)).\n3. Return (normal, Result(2), empty)","description":"Checking by using eval(eval(x), where x is any string)","path":"TestCases/ch12/12.4/S12.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAwLCBudWxsLCB1bmRlZmluZWQsIGZhbHNlLCBlbXB0eSBzdHJpbmcsIE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZQogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImlmIiB3aXRob3V0ICJlbHNlIiBjb25zdHJ1Y3Rpb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCgppZigwKQoJJEVSUk9SKCcjMTogMCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKGZhbHNlKQogICAgJEVSUk9SKCcjMjogZmFsc2UgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UgJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihudWxsKQoJJEVSUk9SKCcjMzogbnVsbCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKHVuZGVmaW5lZCkKCSRFUlJPUignIzQ6IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCIiKQogICAgJEVSUk9SKCcjNTogZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoTmFOKQogICAgJEVSUk9SKCcjNTogTmFOIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"0, null, undefined, false, empty string, NaN in expression is evaluated to false","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAwLCBudWxsLCB1bmRlZmluZWQsIGZhbHNlLCBlbXB0eSBzdHJpbmcsIE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZQogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbgogKi8KCnZhciBjPTA7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoMCkKCSRFUlJPUignIzEuMTogMCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTEpICRFUlJPUignIzEuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoZmFsc2UpCiAgICAkRVJST1IoJyMyLjE6IGZhbHNlIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwplbHNlCiAgYysrOwppZiAoYyE9MikgJEVSUk9SKCcjMi4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZihudWxsKQoJJEVSUk9SKCcjMy4xOiBudWxsIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlICcpOwplbHNlCiAgYysrOwppZiAoYyE9MykgJEVSUk9SKCcjMy4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZih1bmRlZmluZWQpCgkkRVJST1IoJyM0LjE6IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTQpICRFUlJPUignIzQuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYoIiIpCiAgICAkRVJST1IoJyM1LjE6IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTUpICRFUlJPUignIzUuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoTmFOKQogICAgJEVSUk9SKCcjNi4xOiBOYU4gaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UgJyk7CmVsc2UKICBjKys7CmlmIChjIT02KSAkRVJST1IoJyM2LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"0, null, undefined, false, empty string, NaN in expression is evaluated to false","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGFuZCBvdGhlcnMgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSB3aGVuIHVzaW5nIG9wZXJhdG9yICJuZXciCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoIShuZXcgTnVtYmVyKDEpKSkKCSRFUlJPUignIzE6IG5ldyAxIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKCEobmV3IEJvb2xlYW4odHJ1ZSkpKQoJJEVSUk9SKCcjMjogbmV3IHRydWUgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYoIShuZXcgU3RyaW5nKCIxIikpKQoJJEVSUk9SKCcjMzogbmV3ICIxIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZighKG5ldyBTdHJpbmcoIkEiKSkpCgkkRVJST1IoJyM0OiBuZXcgIkEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCEobmV3IEJvb2xlYW4oZmFsc2UpKSkKICAgICRFUlJPUignIzI6IG5ldyBmYWxzZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYoIShuZXcgTnVtYmVyKE5hTikpKQogICAgJEVSUk9SKCcjNjogbmV3IE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcKaWYoIShuZXcgTnVtYmVyKG51bGwpKSkKICAkRVJST1IoJyM3OiBuZXcgbnVsbCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYoIShuZXcgU3RyaW5nKHVuZGVmaW5lZCkpKQogICRFUlJPUignIzg6IG5ldyB1bmRlZmluZWQgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSAnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM5CmlmKCEobmV3IFN0cmluZygiIikpKQogICAgJEVSUk9SKCcjOTogbmV3IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"1, true, non-empty string and others in expression is evaluated to true when using operator \"new\"","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGFuZCBvdGhlcnMgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSB3aGVuIHVzaW5nIG9wZXJhdG9yICJuZXciCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYvZWxzZSIgY29uc3RydWN0aW9uCiAqLwoKdmFyIGM9MDsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZighKG5ldyBOdW1iZXIoMSkpKQoJJEVSUk9SKCcjMS4xOiBuZXcgMSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0xKSAkRVJST1IoJyMxLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmKCEobmV3IEJvb2xlYW4odHJ1ZSkpKQoJJEVSUk9SKCcjMi4xOiBuZXcgdHJ1ZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0yKSAkRVJST1IoJyMyLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKCEobmV3IFN0cmluZygiMSIpKSkKCSRFUlJPUignIzMuMTogbmV3ICIxIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0zKSAkRVJST1IoJyMzLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKCEobmV3IFN0cmluZygiQSIpKSkKCSRFUlJPUignIzQuMTogbmV3ICJBIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT00KSAkRVJST1IoJyM0LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmKCEobmV3IEJvb2xlYW4oZmFsc2UpKSkKICAgICRFUlJPUignIzUuMTogbmV3IGZhbHNlIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUgJyk7CmVsc2UKICBjKys7CmlmIChjIT01KSAkRVJST1IoJyM1LjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmKCEobmV3IE51bWJlcihOYU4pKSkKICAgICRFUlJPUignIzYuMTogbmV3IE5hTiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9NikgJEVSUk9SKCcjNi4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZighKG5ldyBOdW1iZXIobnVsbCkpKQogICRFUlJPUignIzcuMTogbmV3IG51bGwgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSAnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTcpICRFUlJPUignIzcuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYoIShuZXcgU3RyaW5nKHVuZGVmaW5lZCkpKQogICRFUlJPUignIzguMTogbmV3IHVuZGVmaW5lZCBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9OCkgJEVSUk9SKCcjOC4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjOQppZighKG5ldyBTdHJpbmcoIiIpKSkKICAgICRFUlJPUignIzkuMTogbmV3IGVtcHR5IHN0cmluZyBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlICcpOwplbHNlCiAgYysrOwppZiAoYyE9OSkgJEVSUk9SKCcjOS4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"1, true, non-empty string and others in expression is evaluated to true when using operator \"new\"","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24gaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEwX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBmdW5jdGlvbiBleHBlc3Npb24oZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSkgaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYoZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSl7CiAgICA7Cn1lbHNlIHsKICAgICRFUlJPUignIzE6IEZ1bmN0aW9uIGV4cGVzc2lvbiBpbnNpZGUgdGhlICJpZiIgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function expession inside the \"if\" expression is allowed","description":"Using function expession(function __func(){return 0;}) inside the \"if\" expression","path":"TestCases/ch12/12.5/S12.5_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIHRoZSAiaWYiIGV4cHJlc3Npb24gaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEwX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBmdW5jdGlvbiBleHBlc3Npb24gImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAwO30oKSIgd2l0aGluICJpZiIgZXhwcmVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZihmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkpewogICAgJEVSUk9SKCcjMTogRnVuY3Rpb24gZXhwZXNzaW9uIGluc2lkZSB0aGUgaWYgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn1lbHNlIHsKICAgIDsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function expession inside the \"if\" expression is allowed","description":"Using function expession \"function __func(){return 0;}()\" within \"if\" expression","path":"TestCases/ch12/12.5/S12.5_A10_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB7fSB3aXRoaW4gdGhlICJpZiIgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmKHsxfSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZih7MX0pCiAgewogICAgOwogIH1lbHNlCiAgewogICAgOwogIH0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"{} within the \"if\" expression is not allowed","description":"Checking if execution of \"if({1})\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYvZWxzZSIgaW50byAiaWYvZWxzZSIgY29uc3RydWN0aW9ucwogKi8KCi8vQ0hFQ0sjIDEKaWYodHJ1ZSkKICBpZiAoZmFsc2UpCiAgICAkRVJST1IoJyMxLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgIDsKZWxzZSAKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzEuMjogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjMS4zOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCi8vQ0hFQ0sjIDIKaWYodHJ1ZSkKICBpZiAodHJ1ZSkKICAgIDsKICBlbHNlCiAgICAkRVJST1IoJyMyLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwplbHNlIAogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjMi4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICAkRVJST1IoJyMyLjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgMwppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzMuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjMy4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKZWxzZSAKICBpZiAodHJ1ZSkKICAgIDsKICBlbHNlCiAgICAkRVJST1IoJyMzLjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgNAppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzQuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CiAgZWxzZQogICAgJEVSUk9SKCcjNC4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKZWxzZSAKICBpZiAoZmFsc2UpCiAgICAkRVJST1IoJyM0LjM6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgIDsKCg==","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if/else\" into \"if/else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYiIGludG8gImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMKICovCgovL0NIRUNLIyAxCmlmKHRydWUpewogIGlmIChmYWxzZSkKICAgICRFUlJPUignIzEuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7Cn0KZWxzZXsgCiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMxLjI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwp9CgovL0NIRUNLIyAyCmlmKHRydWUpewogIGlmICh0cnVlKQogICAgOwp9CmVsc2V7IAogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjMi4yOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKfQoKLy9DSEVDSyMgMwppZihmYWxzZSl7CiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMzLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwp9CmVsc2V7IAogIGlmICh0cnVlKQogICAgOwp9CgovL0NIRUNLIyA0CmlmKGZhbHNlKXsKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzQuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7Cn0KZWxzZXsgCiAgaWYgKGZhbHNlKQogICAgJEVSUk9SKCcjNC4zOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKfQoK","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if\" into \"if/else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYvZWxzZSIgaW50byAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbnMKICovCgovL0NIRUNLIyAxCmlmKHRydWUpCiAgaWYgKGZhbHNlKQogICAgJEVSUk9SKCcjMS4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICA7CgovL0NIRUNLIyAyCmlmKHRydWUpCiAgaWYgKHRydWUpCiAgICA7CiAgZWxzZQogICAgJEVSUk9SKCcjMi4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCi8vQ0hFQ0sjIDMKaWYoZmFsc2UpCiAgaWYgKHRydWUpCiAgICAkRVJST1IoJyMzLjE6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwogIGVsc2UKICAgICRFUlJPUignIzMuMjogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyA0CmlmKGZhbHNlKQogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjNC4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKICBlbHNlCiAgICAkRVJST1IoJyM0LjI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoK","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if/else\" into \"if\" without \"else\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTEyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBlbWJlZGRlZCAiaWYiIGludG8gImlmIiBjb25zdHJ1Y3Rpb25zCiAqLwoKLy9DSEVDSyMgMQppZih0cnVlKQogIGlmIChmYWxzZSkKICAgICRFUlJPUignIzEuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyAyCnZhciBjPTA7CmlmKHRydWUpCiAgaWYgKHRydWUpCiAgICBjPTI7CmlmIChjIT09MikKICAgICRFUlJPUignIzI6IEF0IGVtYmVkZGVkICJpZi9lbHNlIiBjb25zdHJ1Y3Rpb25zIGVuZ2luZSBtdXN0IHNlbGVjdCByaWdodCBicmFuY2hlcycpOwoKLy9DSEVDSyMgMwppZihmYWxzZSkKICBpZiAodHJ1ZSkKICAgICRFUlJPUignIzMuMTogQXQgZW1iZWRkZWQgImlmL2Vsc2UiIGNvbnN0cnVjdGlvbnMgZW5naW5lIG11c3Qgc2VsZWN0IHJpZ2h0IGJyYW5jaGVzJyk7CgovL0NIRUNLIyA0CmlmKGZhbHNlKQogIGlmICh0cnVlKQogICAgJEVSUk9SKCcjNC4xOiBBdCBlbWJlZGRlZCAiaWYvZWxzZSIgY29uc3RydWN0aW9ucyBlbmdpbmUgbXVzdCBzZWxlY3QgcmlnaHQgYnJhbmNoZXMnKTsKCg==","commentary":"Embedded \"if/else\" constructions are allowed","description":"Using embedded \"if\" into \"if\" constructions","path":"TestCases/ch12/12.5/S12.5_A12_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYiIHdpdGhvdXQgImVsc2UiIGNvbnN0cnVjdGlvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoISgxKSkKCSRFUlJPUignIzE6IDEgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoISh0cnVlKSkKCSRFUlJPUignIzI6IHRydWUgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYoISgiMSIpKQoJJEVSUk9SKCcjMzogIjEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmKCEoIkEiKSkKCSRFUlJPUignIzQ6ICJBIiBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"1, true, non-empty string in expression is evaluated to true","description":"Using \"if\" without \"else\" construction","path":"TestCases/ch12/12.5/S12.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAxLCB0cnVlLCBub24tZW1wdHkgc3RyaW5nIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiaWYvZWxzZSIgY29uc3RydWN0aW9uCiAqLwoKdmFyIGM9MDsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZighKDEpKQoJJEVSUk9SKCcjMS4xOiAxIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTEpICRFUlJPUignIzEuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoISh0cnVlKSkKCSRFUlJPUignIzIuMTogdHJ1ZSBpbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlJyk7CmVsc2UKICBjKys7CmlmIChjIT0yKSAkRVJST1IoJyMyLjI6IGVsc2UgYnJhbmNoIGRvbmB0IGV4ZWN1dGUnKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmKCEoIjEiKSkKCSRFUlJPUignIzMuMTogIjEiIGluIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHRydWUnKTsKZWxzZQogIGMrKzsKaWYgKGMhPTMpICRFUlJPUignIzMuMjogZWxzZSBicmFuY2ggZG9uYHQgZXhlY3V0ZScpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYoISgiQSIpKQoJJEVSUk9SKCcjNC4xOiAiQSIgaW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZScpOwplbHNlCiAgYysrOwppZiAoYyE9NCkgJEVSUk9SKCcjNC4yOiBlbHNlIGJyYW5jaCBkb25gdCBleGVjdXRlJyk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"1, true, non-empty string in expression is evaluated to true","description":"Using \"if/else\" construction","path":"TestCases/ch12/12.5/S12.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBTdGF0ZW1lbnQgZXZhbCBpbiBFeHByZXNzaW9uIGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCAiZXZhbCgidHJ1ZSIpIgogKiBAbmVnYXRpdmUKICovCgppZiAoZXZhbCgidHJ1ZSIpKSAkRkFJTCgnIzE6IEluIHRoZSAiaWYiIFN0YXRlbWVudCBldmFsIGFzIEV4cHJlc3Npb24gaXMgYWRtaXR0ZWQnKTsKCg==","commentary":"In the \"if\" Statement eval in Expression is admitted","description":"Checking by using eval \"eval(\"true\")\"","negative":"","path":"TestCases/ch12/12.5/S12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJJZlN0YXRlbWVudDogaWYgKCBFeHByZXNzaW9uICkgU3RhdGVtZW50IGVsc2UgU3RhdGVtZW50IiBpcyBldmFsdWF0ZWQsIEV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIEV4cHJlc3Npb24gaXMgIihmdW5jdGlvbigpe3Rocm93IDF9KSgpIgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWlmICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgYWJyYWNhZGFicmEKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKCWlmICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgYWJyYWNhZGFicmE7IGVsc2UgYmxhYmxhY2hhdDsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the production \"IfStatement: if ( Expression ) Statement else Statement\" is evaluated, Expression is evaluated first","description":"The Expression is \"(function(){throw 1})()\"","path":"TestCases/ch12/12.5/S12.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJJZlN0YXRlbWVudDogaWYgKCBFeHByZXNzaW9uICkgU3RhdGVtZW50IGVsc2UgU3RhdGVtZW50IiBpcyBldmFsdWF0ZWQsIFN0YXRlbWVudChzKSBpcyhhcmUpIGV2YWx1YXRlZCBzZWNvbmQKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3Qgc3RhdGVtZW50IGlzICIoZnVuY3Rpb24oKXt0aHJvdyAiaW5zdGF0ZW1lbnQifSkoKSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglpZiAodHJ1ZSkgKGZ1bmN0aW9uKCl7dGhyb3cgImluc3RhdGVtZW50In0pKCk7CgkkRkFJTCgiIzEgZmFpbGVkIikKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnN0YXRlbWVudCIpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09ICJpbnN0YXRlbWVudCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKCWlmIChmYWxzZSkgKGZ1bmN0aW9uKCl7dGhyb3cgInRydWVicmFuY2gifSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIm1pc3NicmFuY2gifSkoKTsKCSRGQUlMKCIjMiBmYWlsZWQiKQp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gIm1pc3NicmFuY2giKSB7CgkJJEVSUk9SKCcjMjogRXhjZXB0aW9uID09PSAibWlzc2JyYW5jaCIuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the production \"IfStatement: if ( Expression ) Statement else Statement\" is evaluated, Statement(s) is(are) evaluated second","description":"The first statement is \"(function(){throw \"instatement\"})()\"","path":"TestCases/ch12/12.5/S12.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSB0aGUgImlmIiBFeHByZXNzaW9uIGlzIGV2YWx1YXRlZCBhcyB0cnVlIGFuZCBmdW5jdGlvbiB3aWxsIG5vdCBiZSBkZWNsYXJhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNS9TMTIuNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJpZiIgRXhwcmVzc2lvbiBpcyAiZnVuY3Rpb24gX19mdW5jKCl7dGhyb3cgIkZ1bmN0aW9uRXhwcmVzc2lvbiI7fSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2Z1bmM9X19mdW5jOwoJJEVSUk9SKCcjMTogIl9fZnVuYz1fX2Z1bmMiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CglpZihmdW5jdGlvbiBfX2Z1bmMoKXt0aHJvdyAiRnVuY3Rpb25FeHByZXNzaW9uIjt9KSAoZnVuY3Rpb24oKXt0aHJvdyAiVHJ1ZUJyYW5jaCJ9KSgpOyBlbHNlIChmdW5jdGlvbigpeyJNaXNzQnJhbmNoIn0pKCk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiVHJ1ZUJyYW5jaCIpIHsKCQkkRVJST1IoJyMyOiBFeGNlcHRpb24gPT09IlRydWVCcmFuY2giLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7CglfX2Z1bmM9X19mdW5jOwoJJEVSUk9SKCcjMzogIl9fZnVuYz1fX2Z1bmMiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"FunctionDeclaration inside the \"if\" Expression is evaluated as true and function will not be declarated","description":"The \"if\" Expression is \"function __func(){throw \"FunctionExpression\";}\"","path":"TestCases/ch12/12.5/S12.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgSWYgc3RhdGVtZW50IGV4cHJlc3Npb24gbXVzdCBiZSBlbmNsb3NlZCBpbiBicmFjZXMKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmIHRydWUiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgdHJ1ZTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if true\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgSWYgc3RhdGVtZW50IGV4cHJlc3Npb24gbXVzdCBiZSBlbmNsb3NlZCBpbiBicmFjZXMKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImlmIGZhbHNlIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIGZhbHNlOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"In the If statement expression must be enclosed in braces","description":"Checking if execution of \"if false\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBzdGF0ZW1lbnQgZW1wdHkgc3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIGlzIGV2YWx1YXRlZCB0byAidW5kZWZpbmVkIgogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwgImV2YWwoImlmKDEpOyIpKSIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgX19ldmFsdWF0ZWQgPSBldmFsKCJpZigxKTsiKTsKCWlmIChfX2V2YWx1YXRlZCAhPT0gdW5kZWZpbmVkKSB7CgkJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cgl9Cgp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxLjE6ICJfX2V2YWx1YXRlZCA9IGV2YWwoImlmKDEpOyIpIiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"In the \"if\" statement empty statement is allowed and is evaluated to \"undefined\"","description":"Checking by using eval \"eval(\"if(1);\"))\"","path":"TestCases/ch12/12.5/S12.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiB0aGUgImlmIiBTdGF0ZW1lbnQgZW1wdHkgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjUvUzEyLjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiaWYoKSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZigpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"In the \"if\" Statement empty expression is not allowed","description":"Checking if execution of \"if()\" fails","negative":"","path":"TestCases/ch12/12.5/S12.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiB3aXRoaW4gYW4gImlmIiBzdGF0ZW1lbnQgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi41L1MxMi41X0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgZnVuY3Rpb24gd2l0aGluIGFuICJpZiIgc3RhdGVtZW50IHRoYXQgaXMgZGVjbGFyZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbigpewoKaWYgKHRydWUpIHsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn0gZWxzZSB7CiAgICBmdW5jdGlvbiBfX2Z1bmMoKXt9Owp9Cgp9OwoK","commentary":"Function declaration within an \"if\" statement is not allowed","description":"Declaring function within an \"if\" statement that is declared within the function declaration","negative":"","path":"TestCases/ch12/12.5/S12.5_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiIGlzIGV2YWx1YXRlZCwgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBmaXJzdAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIEV2YWx1YXRpbmcgdmFyaW91cyBFeHByZXNzaW9ucwogKi8KCnZhciBfX2luX19kbzsKCmRvIF9faW5fX2RvPTE7IHdoaWxlICggZmFsc2UgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvIT09MSkgewoJJEVSUk9SKCcjMTogZmFsc2UgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkbyBfX2luX19kbz0yOyB3aGlsZSAoIDAgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5fX2RvIT09MikgewoJJEVSUk9SKCcjMjogMCBldmFsdWF0ZXMgdG8gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmRvIF9faW5fX2RvPTM7IHdoaWxlICggIiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5fX2RvIT09MykgewoJJEVSUk9SKCcjMzogIiIgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the production \"do Statement while ( Expression )\" is evaluated, Statement is evaluated first","description":"Evaluating various Expressions","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZCwgYnV0IG5vIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIG5hbWUgd2lsbCBhcHBlYXIgaW4gdGhlIGdsb2JhbCBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMTAuanMKICogQGRlc2NyaXB0aW9uIEFsc28gdGhpcyBhIHRlc3Qgb24gRnVuY3Rpb25FeHByZXNzaW9uCiAqLwoKdmFyIGNoZWNrID0gMDsKZG8geyAgICAKICBpZih0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpewogICAgY2hlY2sgPSAtMTsgICAgICAgIAogICAgYnJlYWs7IAogIH0gZWxzZSB7CiAgICBjaGVjayA9IDE7ICAgICAgICAKICAgIGJyZWFrOyAKICB9Cn0gd2hpbGUoZnVuY3Rpb24gZigpe30pOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2hlY2sgIT09IDEpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoaW4gYSAiZG8td2hpbGUiIHN0YXRlbWVudCBpcyBhbGxvd2VkLCBidXQgbm8gZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gbmFtZSB3aWxsIGFwcGVhciBpbiB0aGUgZ2xvYmFsIGNvbnRleHQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"do-while\" statement is allowed, but no function with the given name will appear in the global context","description":"Also this a test on FunctionExpression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayAie30iIGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG8ge30gd2hpbGUoe30pIiBwYXNzZXMKICovCgpkbyB7CiAgICB2YXIgX19pbl9fZG89MTsKICAgIGlmKF9faW5fX2RvKWJyZWFrOwp9IHdoaWxlKHt9KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvICE9PSAxKSB7CgkkRVJST1IoJyMxOiAie30iIGluIGRvLXdoaWxlIGV4cHJlc3Npb24gZXZhbHVhdGVzIHRvIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block \"{}\" in a \"do-while\" Expression is evaluated to true","description":"Checking if execution of \"do {} while({})\" passes","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgc3RhdGVtZW50IHdpdGhpbiAiZG8td2hpbGUiIGNvbnN0cnVjdGlvbiBtdXN0IGJlIGEgY29tcG91bmQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJkbyB2YXIgeD0xOyB2YXIgeSA9Mjsgd2hpbGUgKDApIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIHZhciB4PTE7IHZhciB5ID0yOyB3aGlsZSAoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any statement within \"do-while\" construction must be a compound","description":"Checking if execution of \"do var x=1; var y =2; while (0)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJkby13aGlsZSIgQmxvY2sgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aGluIGEgImRvLXdoaWxlIiBsb29wIHRoYXQgaXMgd2l0aGluIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gaXRzZWxmCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uKCl7Cgpkb3sKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn13aGlsZSgwKTsKCn07Cgo=","commentary":"FunctionDeclaration within a \"do-while\" Block is not allowed","description":"Declaring a function within a \"do-while\" loop that is within a function declaration itself","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRnVuY3Rpb25FeHByZXNzaW9uICJmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9IiBhcyBhbiBFeHByZXNzaW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmRvewogICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn13aGlsZShmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3JlYWNoZWQgIT09IDEpIHsKCSRFUlJPUignIzI6IGZ1bmN0aW9uIGV4cGVzc2lvbiBpbnNpZGUgb2YgZG8td2hpbGUgZXhwcmVzc2lvbiBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"FunctionExpression within a \"do-while\" Expression is allowed","description":"Using FunctionExpression \"function __func(){return 0;}\" as an Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgImRvLXdoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgRnVuY3Rpb25FeHByZXNzaW9uICJmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkiIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKZG97CiAgICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn13aGlsZShmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMDt9KCkpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fcmVhY2hlZCAhPT0gMSkgewoJJEVSUk9SKCcjMjogZnVuY3Rpb24gZXhwZXNzaW9uIGluc2lkZSBvZiBkby13aGlsZSBleHByZXNzaW9uIGlzIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"do-while\" Expression is allowed","description":"Using FunctionExpression \"function __func(){return 0;}()\" as an Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAiZG8td2hpbGUiIEV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInswfSIgQmxvY2sgYXMgYW4gRXhwcmVzc2lvbgogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKZG97CiAgICA7Cn13aGlsZSh7MH0pOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block within a \"do-while\" Expression is not allowed","description":"Using \"{0}\" Block as an Expression","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiLCBTdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0IGFuZCBvbmx5IGFmdGVyIGl0IGlzIGRvbmUgRXhwcmVzc2lvbiBpcyBjaGVja2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbHVhdGluZyBTdGF0ZW1lbnQgd2l0aCBlcnJvciBFeHByZXNzaW9uCiAqLwoKdHJ5IHsKCWRvIF9faW5fX2RvID0gInJlYWNoZWQiOyB3aGlsZSAoYWJicmFjYWRhYnJhKTsKCSRFUlJPUignIzE6IFwnZG8gX19pbl9fZG8gPSAicmVhY2hlZCI7IHdoaWxlIChhYmJyYWNhZGFicmEpXCcgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzEuMTogX19pbl9fZG8gPT09ICJyZWFjaGVkIi4gQWN0dWFsOiAgX19pbl9fZG8gPT09JysgX19pbl9fZG8gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"While evaluating \"do Statement while ( Expression )\", Statement is evaluated first and only after it is done Expression is checked","description":"Evaluating Statement with error Expression","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9kdWN0aW9uICJkbyBTdGF0ZW1lbnQgd2hpbGUgKCBFeHByZXNzaW9uICkiIGlzIGV2YWx1YXRlZCwgdGhlbiAobm9ybWFsLCBWLCBlbXB0eSkgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsICJldmFsKCJkbyBfX2luX19kbz0xOyB3aGlsZSAoZmFsc2UpIikiCiAqLwoKX19ldmFsdWF0ZWQgPSBldmFsKCJkbyBfX2luX19kbz0xOyB3aGlsZSAoZmFsc2UpIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYgKF9faW5fX2RvICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX2luX19kbyA9PT0gMS4gQWN0dWFsOiAgX19pbl9fZG8gPT09JysgX19pbl9fZG8gICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDEuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the production \"do Statement while ( Expression )\" is evaluated, then (normal, V, empty) is returned","description":"Using eval \"eval(\"do __in__do=1; while (false)\")\"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJicmVhayIgd2l0aGluIGEgImRvLXdoaWxlIiBsb29wCiAqLwoKZG8gewogICAgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9InJlYWNoZWQiOyAKICAgIGJyZWFrOyAKICAgIF9faW5fX2RvX19hZnRlcl9fYnJlYWs9IndoZXJlIGFtIGkiOwp9IHdoaWxlKDI9PT0xKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PScrIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrID09PScrIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"Using \"break\" within a \"do-while\" loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9ImJsYWNrIjsKICAgIGRvX2luIDogZG8gewogICAgICAgIHZhciBfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWs9ImhvbGUiOwogICAgICAgIGJyZWFrIGRvX2luOyAKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InN1biI7CiAgICB9IHdoaWxlICgwKTsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJ3b24ndCB5b3UgY29tZSI7Cn0gd2hpbGUoMj09MSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IChfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJl9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09dHJ1ZS4gQWN0dWFsOiAgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhayk9PT0nKyAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9Im9uY2UiOwogICAgZG9faW4gOiBkbyB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0iaW4iOwogICAgICAgIGJyZWFrIGRvX291dDsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InRoZSI7CiAgICB9IHdoaWxlICgwKTsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJsaWZldGltZSI7Cn0gd2hpbGUoMj09PTEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJiFfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09dHJ1ZS4gQWN0dWFsOiAgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspPT09JysgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmIV9faW5fX2RvX19hZnRlcl9fYnJlYWspICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgImRvLXdoaWxlIiBzdGF0ZW1lbnQKICovCgpkb19vdXQgOiBkbyB7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9InJlYWNoZWQiOwogICAgZG9faW4gOiBkbyB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0icmVhY2hlZCI7CiAgICAgICAgYnJlYWs7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrPSJ3aGVyZSBhbSBpIjsKICAgIH0gd2hpbGUgKDApOwogICAgdmFyIF9faW5fX2RvX19hZnRlcl9fYnJlYWs9IndoZXJlIGFtIGkiOwp9IHdoaWxlKDI9PT0xKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhayk9PT10cnVlLiBBY3R1YWw6ICAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsmJl9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhayYmIV9faW5fX2RvX19JTl9fYWZ0ZXJfX2JyZWFrJiZfX2luX19kb19fYWZ0ZXJfX2JyZWFrKT09PScrIChfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJl9faW5fX2RvX19hZnRlcl9fYnJlYWspICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"do-while\" statement","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJkby13aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGxhYmVsZWQgImJyZWFrIiBpbiBvcmRlciB0byBjb250aW51ZSBhIGxvb3AKICovCgovL0NIRUNLIzEKdmFyIGk9MDsKd29vaG9vOnsKICBkb3sKICAgIGkrKzsKICAgIGlmICggISAoaSA8IDEwKSApIHsKICAgICAgYnJlYWsgd29vaG9vOwogICAgICAkRVJST1IoJyMxLjE6ICJicmVhayB3b29ob28iIG11c3QgYnJlYWsgbG9vcCcpOwogICAgfQogIH0gd2hpbGUgKCB0cnVlICk7CiAgaWYgKGkhPT0xMCkgJEVSUk9SKCcjMS4yOiBpPT09MTAuIEFjdHVhbDogIGk9PT0nKyBpICk7Cn0KCg==","commentary":"\"break\" within a \"do-while\" Statement is allowed and performed as described in 12.8","description":"Using labeled \"break\" in order to continue a loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBZnRlciAiZG8td2hpbGUiIGlzIGJyb2tlbiwgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCl9fZXZhbHVhdGVkID0gZXZhbCgiZG8ge19faW5fX2RvX19iZWZvcmVfX2JyZWFrPTE7IGJyZWFrOyBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPTI7fSB3aGlsZSgwKSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsgIT09IDEpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAxLiBBY3R1YWw6ICBfX2luX19kb19fYmVmb3JlX19icmVhayA9PT0nKyBfX2luX19kb19fYmVmb3JlX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0nKyB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZXZhbHVhdGVkICE9PSAxKSB7CgkkRVJST1IoJyMzOiBfX2V2YWx1YXRlZCA9PT0gMS4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"After \"do-while\" is broken, (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fSB3aGlsZSAxIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{} while 1\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fSB3aGlsZSAwIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAwOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{} while 0\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlIHRydWUiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZG8gYnJlYWs7IHdoaWxlIHRydWU7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while true\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlIGZhbHNlIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSBmYWxzZTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while false\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlICcnIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIGJyZWFrOyB3aGlsZSAnJzsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while ''\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJkby13aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4xL1MxMi42LjFfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZG97fXdoaWxlICdob29kJyIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpkbyBicmVhazsgd2hpbGUgJ2hvb2QnOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"do-while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"do{}while 'hood'\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImRvLXdoaWxlIiBTdGF0ZW1lbnQgaXMgZXZhbHV0ZWQgYWNjb3JkaW5nIHRvIDEyLjYuMSBhbmQgcmV0dXJucyAobm9ybWFsLCBWLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMS9TMTIuNi4xX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsCiAqLwoKdmFyIF9fY29uZGl0aW9uPTAKCl9fZXZhbHVhdGVkID0gZXZhbCgiZG8gZXZhbChcIl9fY29uZGl0aW9uKytcIik7IHdoaWxlIChfX2NvbmRpdGlvbjw1KSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19jb25kaXRpb24gIT09IDUpIHsKCSRFUlJPUignIzE6IFRoZSAiZG8td2hpbGUiIHN0YXRlbWVudCBpcyBldmFsdXRlZCBhY2NvcmRpbmcgdG8gdGhlIFN0YW5kYXJkICcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ldmFsdWF0ZWQgIT09IDQpIHsKCSRFUlJPUignIzI6IFRoZSAiZG8td2hpbGUiIHN0YXRlbWVudCByZXR1cm5zIChub3JtYWwsIFYsIGVtcHR5KScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The \"do-while\" Statement is evaluted according to 12.6.1 and returns (normal, V, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY29udGludWUiIHN0YXRlbWVudCB3aXRoaW4gYSAiZG8td2hpbGUiIFN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BOC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCnZhciBfX2NvbmRpdGlvbiA9IDAsIF9fb2Rkcz0wOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJkbyB7IF9fY29uZGl0aW9uKys7IGlmICgoKCcnK19fY29uZGl0aW9uLzIpLnNwbGl0KCcuJykpLmxlbmd0aD4xKSBjb250aW51ZTsgX19vZGRzKys7fSB3aGlsZShfX2NvbmRpdGlvbiA8IDEwKSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vZGRzICE9PSA1KSB7CgkkRVJST1IoJyMxOiBfX29kZHMgPT09IDUuIEFjdHVhbDogIF9fb2RkcyA9PT0nKyBfX29kZHMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"continue\" statement within a \"do-while\" Statement is allowed","description":"Using eval","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZG8td2hpbGUiIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgd2l0aG91dCBzeW50YXggY2hlY2tzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjEvUzEyLjYuMV9BOS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3lzdGVtIGV4Y2VwdGlvbiB3aGl0aGluIGEgImRvLXdoaWxlIiBsb29wCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZG8gewoJICAgIHZhciB4ID0gMTsgCgkgICAgYWJhcmFjYWRhYmFyYTsKCX0gd2hpbGUoMCk7CgkkRVJST1IoJyMxOiAiYWJicmFjYWRhYnJhIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfSBjYXRjaCAoZSkge30KCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMxLjE6IHggPT09IDEuIEFjdHVhbDogIHggPT09JysgeCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"\"do-while\" Statement is evaluated without syntax checks","description":"Throwing system exception whithin a \"do-while\" loop","path":"TestCases/ch12/12.6/12.6.1/S12.6.1_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGZyb20gIndoaWxlIiBJdGVyYXRpb25TdGF0ZW1lbnQgaXMgZXZhbHVhdGVkIGZpcnN0OyAiZmFsc2UiLCAiMCIsICJudWxsIiwgInVuZGVmaW5lZCIgYW5kICJlbXB0eSIgc3RyaW5ncyB1c2VkIGFzIHRoZSBFeHByZXNzaW9uIGFyZSBldmFsdWF0ZWQgdG8gImZhbHNlIgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIEV2YWx1YXRpbmcgdmFyaW91cyBFeHByZXNzaW9ucwogKi8KCnZhciBfX2luX19kbzsKCndoaWxlICggZmFsc2UgKSBfX2luX19kbz0xOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogZmFsc2UgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aGlsZSAoIDAgKSBfX2luX19kbz0yOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogMCBldmFsdWF0ZXMgdG8gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCndoaWxlICggIiIgKSBfX2luX19kbz0zOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogZW1wdHkgc3RyaW5nIGV2YWx1YXRlcyB0byBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKd2hpbGUgKCBudWxsICkgX19pbl9fZG89NDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9faW5fX2RvICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzQ6IG51bGwgZXZhbHVhdGVzIHRvIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aGlsZSAoIHVuZGVmaW5lZCApIF9faW5fX2RvPTM1OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19pbl9fZG8gIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogdW5kZWZpbmVkIGV2YWx1YXRlcyB0byBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression from \"while\" IterationStatement is evaluated first; \"false\", \"0\", \"null\", \"undefined\" and \"empty\" strings used as the Expression are evaluated to \"false\"","description":"Evaluating various Expressions","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBJdGVyYXRpb25TdGF0ZW1lbnQgaXMgYWxsb3dlZCwgYnV0IG5vIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIG5hbWUgd2lsbCBhcHBlYXIgaW4gdGhlIGdsb2JhbCBjb250ZXh0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIFRlc3RpbmcgRnVuY3Rpb25FeHByZXNzaW9uIHRvbwogKi8KCnZhciBjaGVjaz0wOwp3aGlsZShmdW5jdGlvbiBmKCl7fSl7ICAgIAogIGlmKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgewogICAgY2hlY2sgPSAtMTsKICAgIGJyZWFrOyAKICB9IGVsc2UgewogICAgY2hlY2sgPSAxOwogICAgYnJlYWs7IAogIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2hlY2sgIT09IDEpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgd2hpbGUgY29uc3RydWN0aW9uIGV4cHJlc3Npb24gYWxsb3dlZCBidXQgZnVuY3Rpb24gbm90IGRlY2xhcmUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"while\" IterationStatement is allowed, but no function with the given name will appear in the global context","description":"Testing FunctionExpression too","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAie30iIEJsb2NrIHdpdGhpbiBhICJ3aGlsZSIgRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZQogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIndoaWxlKHt9KXt9IiBwYXNzZXMKICovCgp3aGlsZSh7fSl7CiAgICB2YXIgX19pbl9fZG89MTsKICAgIGlmKF9faW5fX2RvKWJyZWFrOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG8gIT09IDEpIHsKCSRFUlJPUignIzE6ICJ7fSIgaW4gd2hpbGUgZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"{}\" Block within a \"while\" Expression is evaluated to true","description":"Checking if execution of \"while({}){}\" passes","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IHRoYXQgaXMgaW4gYSBmdW5jdGlvbiBib2R5IGxlYWRzIHRvIGFuIGV4Y2VwdGlvbgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbigpewoKd2hpbGUoMCl7CiAgICBmdW5jdGlvbiBfX2Z1bmMoKXt9Owp9OwoKfTsKCg==","commentary":"FunctionDeclaration within a \"while\" Statement is not allowed","description":"Checking if declaring a function within a \"while\" Statement that is in a function body leads to an exception","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAwO30iIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKd2hpbGUoZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIDA7fSl7CiAgIHZhciBfX3JlYWNoZWQgPSAxOwogICBicmVhazsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3JlYWNoZWQgIT09IDEpIHsKCSRFUlJPUignIzI6IGZ1bmN0aW9uIGV4cHJlc3Npb24gaW5zaWRlIG9mIHdoaWxlIGV4cHJlc3Npb24gaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"FunctionExpression within a \"while\" Expression is allowed","description":"Using \"function __func(){return 0;}\" as an Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgIndoaWxlIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZnVuY3Rpb24gY2FsbCBhcyBhbiBFeHByZXNzaW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCndoaWxlKGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAxO30oKSl7CiAgICB2YXIgX19yZWFjaGVkID0gMTsKICAgYnJlYWs7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19yZWFjaGVkICE9PSAxKSB7CgkkRVJST1IoJyMyOiBmdW5jdGlvbiBleHByZXNzaW9uIGluc2lkZSBvZiB3aGlsZSBleHByZXNzaW9uIGlzIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a \"while\" Expression is allowed","description":"Using function call as an Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAid2hpbGUiIEV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBpcyAiezB9IgogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKd2hpbGUoezF9KXsKICAgYnJlYWsgOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Block within a \"while\" Expression is not allowed","description":"Expression is \"{0}\"","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nIFRoZSBwcm9kdWN0aW9uIEl0ZXJhdGlvblN0YXRlbWVudDogIndoaWxlICggRXhwcmVzc2lvbiApIFN0YXRlbWVudCIsIEV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbHVhdGluZyBTdGF0ZW1lbnQgd2l0aCBlcnJvciBFeHByZXNzaW9uCiAqLwoKdHJ5IHsKCXdoaWxlICgoZnVuY3Rpb24oKXt0aHJvdyAxfSkoKSkgX19pbl9fd2hpbGUgPSAicmVhY2hlZCI7IAoJJEVSUk9SKCcjMTogXCd3aGlsZSAoKGZ1bmN0aW9uKCl7dGhyb3cgMX0pKCkpIF9faW5fX3doaWxlID0gInJlYWNoZWQiXCcgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09IDEpIHsKCQkkRVJST1IoJyMxOiBFeGNlcHRpb24gPT09IDEuIEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nK2UpOwoJfQp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19pbl9fd2hpbGUgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxLjE6IHR5cGVvZiBfX2luX193aGlsZSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9faW5fX3doaWxlID09PScrdHlwZW9mIF9faW5fX3doaWxlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"While evaluating The production IterationStatement: \"while ( Expression ) Statement\", Expression is evaluated first","description":"Evaluating Statement with error Expression","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGV2YWx1YXRlZCwgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCnZhciBfX2luX19kbzsKCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUgKGZhbHNlKSBfX2luX19kbz0xOyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX2luX19kbyAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luX19kbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBfX2luX19kbyA9PT0nKyBfX2luX19kbyAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZXZhbHVhdGVkICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fZXZhbHVhdGVkID09PSB1bmRlZmluZWQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"while\" IterationStatement is evaluated, (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgp3aGlsZSgxPT09MSl7CiAgICBfX2luX19kb19fYmVmb3JlX19icmVhaz0icmVhY2hlZCI7IAogICAgYnJlYWs7CiAgICAgX19pbl9fZG9fX2FmdGVyX19icmVhaz0id2hlcmUgYW0gaSI7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICE9PSAicmVhY2hlZCIpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PScrIF9faW5fX2RvX19iZWZvcmVfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrID09PScrIHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrKSBicmVhazsKICAgIHZhciBfX2luX19kb19fYmVmb3JlX19icmVhaz0iYmxhY2siOwogICAgZG9faW4gOiB3aGlsZSAoMSkgewogICAgICAgIHZhciBfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWs9ImhvbGUiOwogICAgICAgIGJyZWFrIGRvX2luOyAKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InN1biI7CiAgICB9IDsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJ3b24ndCB5b3UgY29tZSI7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IEJyZWFrIGluc2lkZSBkby13aGlsZSBpcyBhbGxvd2VkIGFzIGl0cyBkZXNjcmliZWQgYXQgc3RhbmRhcmQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYgKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrKSBicmVhazsKICAgIHZhciBfX2luX19kb19fYmVmb3JlX19icmVhaz0ib25jZSI7CiAgICBkb19pbiA6IHdoaWxlICgxKSB7CiAgICAgICAgdmFyIF9faW5fX2RvX19JTl9fYmVmb3JlX19icmVhaz0iaW4iOwogICAgICAgIGJyZWFrIGRvX291dDsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWs9InRoZSI7CiAgICB9IDsKICAgIHZhciBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPSJsaWZldGltZSI7Cn0gOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX2luX19kb19fYmVmb3JlX19icmVhayYmX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrJiYhX19pbl9fZG9fX0lOX19hZnRlcl9fYnJlYWsmJiFfX2luX19kb19fYWZ0ZXJfX2JyZWFrKSkgewoJJEVSUk9SKCcjMTogQnJlYWsgaW5zaWRlIGRvLXdoaWxlIGlzIGFsbG93ZWQgYXMgaXRzIGRlc2NyaWJlZCBhdCBzdGFuZGFyZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJicmVhayIgYW5kIFZhcmlhYmxlRGVjbGFyYXRpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQKICovCgpkb19vdXQgOiB3aGlsZSgxPT09MSkgewogICAgaWYoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWspYnJlYWs7CiAgICB2YXIgX19pbl9fZG9fX2JlZm9yZV9fYnJlYWs9ImNhbid0IjsKICAgIGRvX2luIDogd2hpbGUgKDEpIHsKICAgICAgICB2YXIgX19pbl9fZG9fX0lOX19iZWZvcmVfX2JyZWFrPSJnZXQiOwogICAgICAgIGJyZWFrOwogICAgICAgIHZhciBfX2luX19kb19fSU5fX2FmdGVyX19icmVhaz0ibm8iOwogICAgfSA7CiAgICB2YXIgX19pbl9fZG9fX2FmdGVyX19icmVhaz0iU2F0aXNmYWN0aW9uIjsKfSA7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9faW5fX2RvX19iZWZvcmVfX2JyZWFrJiZfX2luX19kb19fSU5fX2JlZm9yZV9fYnJlYWsmJiFfX2luX19kb19fSU5fX2FmdGVyX19icmVhayYmX19pbl9fZG9fX2FmdGVyX19icmVhaykpIHsKCSRFUlJPUignIzE6IEJyZWFrIGluc2lkZSBkby13aGlsZSBpcyBhbGxvd2VkIGFzIGl0cyBkZXNjcmliZWQgYXQgc3RhbmRhcmQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"\"break\" and VariableDeclaration within a \"while\" Statement","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYnJlYWsiIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIGFsbG93ZWQgYW5kIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgaW4gMTIuOAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGxhYmVsZWQgImJyZWFrIiBpbiBvcmRlciB0byBjb250aW51ZSBhICJ3aGlsZSIgbG9vcAogKi8KCi8vQ0hFQ0sjMQp2YXIgaT0wOwp3b29ob286ewogIHdoaWxlKHRydWUpewogICAgaSsrOwogICAgaWYgKCAhIChpIDwgMTApICkgewogICAgICBicmVhayB3b29ob287CiAgICAgICRFUlJPUignIzEuMTogImJyZWFrIHdvb2hvbyIgbXVzdCBicmVhayBsb29wJyk7CiAgICB9CiAgfQogIGlmIChpIT09MTApICRFUlJPUignIzEuMjogaT09PTEwLiBBY3R1YWw6ICBpPT09JysgaSApOwp9Cgo=","commentary":"\"break\" within a \"while\" Statement is allowed and performed as described in 12.8","description":"Using labeled \"break\" in order to continue a \"while\" loop","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSB1c2luZyAid2hpbGUiIHdpdGhpbiBhbiBldmFsIHN0YXRlbWVudCwgc291cmNlICJicmVhayIgaXMgYWxsb3dlZCBhbmQgKG5vcm1hbCwgViwgZW1wdHkpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbAogKi8KCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUoMSkge19faW5fX2RvX19iZWZvcmVfX2JyZWFrPTE7IGJyZWFrOyBfX2luX19kb19fYWZ0ZXJfX2JyZWFrPTI7fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbl9fZG9fX2JlZm9yZV9fYnJlYWsgIT09IDEpIHsKCSRFUlJPUignIzE6IF9faW5fX2RvX19iZWZvcmVfX2JyZWFrID09PSAxLiBBY3R1YWw6ICBfX2luX19kb19fYmVmb3JlX19icmVhayA9PT0nKyBfX2luX19kb19fYmVmb3JlX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2luX19kb19fYWZ0ZXJfX2JyZWFrICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9faW5fX2RvX19hZnRlcl9fYnJlYWsgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayA9PT0nKyB0eXBlb2YgX19pbl9fZG9fX2FmdGVyX19icmVhayAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZXZhbHVhdGVkICE9PSAxKSB7CgkkRVJST1IoJyMzOiBfX2V2YWx1YXRlZCA9PT0gMS4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While using \"while\" within an eval statement, source \"break\" is allowed and (normal, V, empty) is returned","description":"Using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgMSBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSAxIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 1 break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgMCBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSAwIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 0 break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgdHJ1ZSBicmVhayIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aGlsZSB0cnVlIGJyZWFrOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while true break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgZmFsc2UgYnJlYWsiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2hpbGUgZmFsc2UgYnJlYWs7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while false break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgJycgYnJlYWsiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2hpbGUgJycgYnJlYWs7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while '' break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFeHByZXNzaW9uIGluICJ3aGlsZSIgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGJyYWNrZXRlZCB3aXRoIGJyYWNlcwogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4yL1MxMi42LjJfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAid2hpbGUgJ2hvb2QnIGJyZWFrIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndoaWxlICdob29kJyBicmVhazsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Expression in \"while\" IterationStatement is bracketed with braces","description":"Checking if execution of \"while 'hood' break\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgIndoaWxlIiBTdGF0ZW1lbnQgaXMgZXZhbHV0ZWQgYWNjb3JkaW5nIHRvIDEyLjYuMiBhbmQgcmV0dXJucyAobm9ybWFsLCBWLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMi9TMTIuNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiB1c2luZyBldmFsCiAqLwoKdmFyIF9fY29uZGl0aW9uPTAKCl9fZXZhbHVhdGVkID0gZXZhbCgid2hpbGUgKF9fY29uZGl0aW9uPDUpIGV2YWwoXCJfX2NvbmRpdGlvbisrXCIpOyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19jb25kaXRpb24gIT09IDUpIHsKCSRFUlJPUignIzE6IFRoZSAid2hpbGUiIHN0YXRlbWVudCBpcyBldmFsdWF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBTdGFuZGFyZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ldmFsdWF0ZWQgIT09IDQpIHsKCSRFUlJPUignIzI6IFRoZSAid2hpbGUiIHN0YXRlbWVudCByZXR1cm5zIChub3JtYWwsIFYsIGVtcHR5KScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The \"while\" Statement is evaluted according to 12.6.2 and returns (normal, V, empty)","description":"using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY29udGludWUiIHN0YXRlbWVudCB3aXRoaW4gYSAid2hpbGUiIFN0YXRlbWVudCBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BOC5qcwogKiBAZGVzY3JpcHRpb24gdXNpbmcgZXZhbAogKi8KCnZhciBfX2NvbmRpdGlvbiA9IDAsIF9fb2Rkcz0wOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJ3aGlsZShfX2NvbmRpdGlvbiA8IDEwKSB7IF9fY29uZGl0aW9uKys7IGlmICgoKCcnK19fY29uZGl0aW9uLzIpLnNwbGl0KCcuJykpLmxlbmd0aD4xKSBjb250aW51ZTsgX19vZGRzKys7fSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vZGRzICE9PSA1KSB7CgkkRVJST1IoJyMxOiBfX29kZHMgPT09IDUuIEFjdHVhbDogIF9fb2RkcyA9PT0nKyBfX29kZHMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJJEVSUk9SKCcjMjogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"continue\" statement within a \"while\" Statement is allowed","description":"using eval","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAid2hpbGUiIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgd2l0aG91dCBzeW50YXggY2hlY2tzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjIvUzEyLjYuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgc3lzdGVtIGV4Y2VwdGlvbiBpbnNpZGUgIndoaWxlIiBsb29wCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJd2hpbGUoeCE9MSkgewoJICAgIHZhciB4ID0gMTsgCgkgICAgYWJhcmFjYWRhYmFyYTsKCX07CgkkRVJST1IoJyMxOiAiYWJicmFjYWRhYnJhIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwoKfSBjYXRjaCAoZSkge30KCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMxLjE6IHdoaWxlIHN0YXRlbWVudCBldmFsdWF0ZXMgYXMgaXMsIHdpdGhvdXQgc3ludGF4IGNoZWNrcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"while\" Statement is evaluated without syntax checks","description":"Throwing system exception inside \"while\" loop","path":"TestCases/ch12/12.6/12.6.2/S12.6.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhbiBPYmplY3Qgd2l0aCB2YWx1ZSBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyB2YWx1ZTogZmFsc2UgfTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG9iajsgKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is an Object with value false","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBTdHJpbmcgb2JqZWN0ICh2YWx1ZSBpcyAnMScpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCIxIik7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBzdHJPYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is '1')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNvdW50ID0gMDsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IHVuZGVmaW5lZDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is undefined","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudWxsOykgew0KICAgICAgICAgICAgY291bnQrKzsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gY291bnQgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is null","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgZmFsc2U7KSB7DQogICAgICAgICAgICBjb3VudCsrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a boolean (value is false)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgTmFOOykgew0KICAgICAgICAgICAgY291bnQrKzsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gY291bnQgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is NaN)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyArMDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is +0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjb3VudCA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyAtMDspIHsNCiAgICAgICAgICAgIGNvdW50Kys7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGNvdW50ID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is -0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBudW1iZXIgKHZhbHVlIGlzIGEgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyAyOykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is a positive)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzIGVtcHR5IHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY291bnQgPSAwOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgIiI7KSB7DQogICAgICAgICAgICBjb3VudCsrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is empty string)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICd1bmRlZmluZWQnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgInVuZGVmaW5lZCI7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'undefined')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgYm9vbE9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Boolean object","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdudWxsJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7ICJudWxsIjspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'null')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIGZvciBTdGF0ZW1lbnQgLSAobm9ybWFsLCBWLCBlbXB0eSkgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGZpcnN0IEV4cHJlc3Npb24gaXMgYSBzdHJpbmcgKHZhbHVlIGlzICcxJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7ICIxIjspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is '1')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoTmFOKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG51bU9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is NaN)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigrMCk7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudW1PYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is +0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMCk7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBudW1PYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is -0)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIE51bWJlciBvYmplY3QgKHZhbHVlIGlzIGEgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDEyKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IG51bU9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is a positive)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzIGVtcHR5IHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoIiIpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgc3RyT2JqOykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is empty string)","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzICd1bmRlZmluZWQnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7DQogICAgICAgIGZvciAodmFyIGkgPSAwOyBzdHJPYmo7KSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'undefined')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEyLjYuMzsgDQogKiBUaGUgcHJvZHVjdGlvbiANCiAqICAgICBJdGVyYXRpb25TdGF0ZW1lbnQgOiBmb3IgKCB2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIDsgRXhwcmVzc2lvbm9wdCA7IEV4cHJlc3Npb25vcHQgKSBTdGF0ZW1lbnQNCiAqIGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvMTIuNi4zXzItMy1hLWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yIFN0YXRlbWVudCAtIChub3JtYWwsIFYsIGVtcHR5KSB3aWxsIGJlIHJldHVybmVkIHdoZW4gZmlyc3QgRXhwcmVzc2lvbiBpcyBhIFN0cmluZyBvYmplY3QgKHZhbHVlIGlzICdudWxsJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoIm51bGwiKTsNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IHN0ck9iajspIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 12.6.3;\nThe production\n IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement\nis evaluated as follows:","description":"The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'null')","path":"TestCases/ch12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImZvciB7Ozt9IiBmb3IgU3RhdGVtZW50IHdpdGggZW1wdHkgZXhwcmVzc2lvbnMgaXMgYWxsb3dlZCBhbmQgbGVhZHMgdG8gcGVyZm9ybWluZyBhbiBpbmZpbml0ZSBsb29wCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWtpbmcgYW4gaW5maW5pdGUgbG9vcCBieSB0aHJvd2luZyBleGNlcHRpb24KICovCgp2YXIgX19pbl9fZm9yID0gMDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWZvciAoOzspewogICAgLy9fX2luX19mb3IrKzsKICAgIGlmKCsrX19pbl9fZm9yPjEwMCl0aHJvdyAxOwp9Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAxKSB7CgkJJEVSUk9SKCcjMTogZm9yIHs7O30gaXMgYWRtaXR0ZWQgYW5kIGxlYWRzIHRvIGluZmluaXRlIGxvb3AnKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5fX2ZvciAhPT0gMTAxKSB7CgkkRVJST1IoJyMyOiBfX2luX19mb3IgPT09IDEwMS4gQWN0dWFsOiAgX19pbl9fZm9yID09PScrIF9faW5fX2ZvciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The \"for {;;}\" for Statement with empty expressions is allowed and leads to performing an infinite loop","description":"Breaking an infinite loop by throwing exception","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTAuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW5nIG5lc3RlZCAidmFyLWxvb3BzIiBuaW5lIGJsb2NrcyBkZXB0aCBpcyBldmFsdWF0ZWQgcHJvcGVybHkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3A7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6ICJfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3AiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CglpbmRleDA9aW5kZXgwOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMyOiAiaW5kZXgwPWluZGV4MCIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5IHsKCWluZGV4MT1pbmRleDE7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzM6ICJpbmRleDE9aW5kZXgxIiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp0cnkgewoJaW5kZXg0PWluZGV4NDsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjNDogImluZGV4ND1pbmRleDQiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CnRyeSB7CglpbmRleDU9aW5kZXg1Owp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyM0OiAiaW5kZXg1PWluZGV4NSIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKdHJ5IHsKCWluZGV4Nz1pbmRleDc7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzY6ICJpbmRleDc9aW5kZXg3IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwp0cnkgewoJaW5kZXg4PWluZGV4ODsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjNzogImluZGV4OD1pbmRleDgiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCmZvciggdmFyIGluZGV4MD0wOyBpbmRleDA8PTE7IGluZGV4MCsrKSB7Cglmb3IodmFyIGluZGV4MT0wOyBpbmRleDE8PWluZGV4MDsgaW5kZXgxKyspIHsKCQlmb3IoIGluZGV4Mj0wOyBpbmRleDI8PWluZGV4MTsgaW5kZXgyKyspIHsKCQkJZm9yKCBpbmRleDM9MDsgaW5kZXgzPD1pbmRleDI7IGluZGV4MysrKSB7CgkJCQlmb3IodmFyIGluZGV4ND0wOyBpbmRleDQ8PWluZGV4MzsgaW5kZXg0KyspIHsKCQkJCQlmb3IodmFyIGluZGV4NT0wOyBpbmRleDU8PWluZGV4NDsgaW5kZXg1KyspIHsKCQkJCQkJZm9yKCBpbmRleDY9MDsgaW5kZXg2PD1pbmRleDU7IGluZGV4NisrKSB7CgkJCQkJCQlmb3IodmFyIGluZGV4Nz0wOyBpbmRleDc8PWluZGV4NjsgaW5kZXg3KyspIHsKCQkJCQkJCQlmb3IodmFyIGluZGV4OD0wOyBpbmRleDg8PWluZGV4MTsgaW5kZXg4KyspIHsKCQkJCQkJCQkJdmFyIF9faW5fX2RlZXBlc3RfX2xvb3A7CgkJCQkJCQkJCV9fc3RyKz0iIitpbmRleDAraW5kZXgxK2luZGV4MitpbmRleDMraW5kZXg0K2luZGV4NStpbmRleDYraW5kZXg3K2luZGV4OCsnXG4nOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIhPT0gIjAwMDAwMDAwMFxuMTAwMDAwMDAwXG4xMTAwMDAwMDBcbjExMDAwMDAwMVxuMTExMDAwMDAwXG4xMTEwMDAwMDFcbjExMTEwMDAwMFxuMTExMTAwMDAxXG4xMTExMTAwMDBcbjExMTExMDAwMVxuMTExMTExMDAwXG4xMTExMTEwMDFcbjExMTExMTEwMFxuMTExMTExMTAxXG4xMTExMTExMTBcbjExMTExMTExMVxuIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDAwMDAwMDBcXG4xMDAwMDAwMDBcXG4xMTAwMDAwMDBcXG4xMTAwMDAwMDFcXG4xMTEwMDAwMDBcXG4xMTEwMDAwMDFcXG4xMTExMDAwMDBcXG4xMTExMDAwMDFcXG4xMTExMTAwMDBcXG4xMTExMTAwMDFcXG4xMTExMTEwMDBcXG4xMTExMTEwMDFcXG4xMTExMTExMDBcXG4xMTExMTExMDFcXG4xMTExMTExMTBcXG4xMTExMTExMTFcXG4iLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Nested \"var-loops\" nine blocks depth is evaluated properly","description":"Checking if executing nested \"var-loops\" nine blocks depth is evaluated properly","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A10.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyBuZXN0ZWQgInZhci1sb29wcyIgbmluZSBibG9ja3MgZGVwdGggaXMgZXZhbHVhdGVkIHByb3Blcmx5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7CglfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3A7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6ICJfX2luX19kZWVwZXN0X19sb29wPV9faW5fX2RlZXBlc3RfX2xvb3AiIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCmZvciggaW5kZXgwPTA7IGluZGV4MDw9MTsgaW5kZXgwKyspIHsKCWZvciggaW5kZXgxPTA7IGluZGV4MTw9aW5kZXgwOyBpbmRleDErKykgewoJCWZvciggaW5kZXgyPTA7IGluZGV4Mjw9aW5kZXgxOyBpbmRleDIrKykgewoJCQlmb3IoIGluZGV4Mz0wOyBpbmRleDM8PWluZGV4MjsgaW5kZXgzKyspIHsKCQkJCWZvciggaW5kZXg0PTA7IGluZGV4NDw9aW5kZXgzOyBpbmRleDQrKykgewoJCQkJCWZvciggaW5kZXg1PTA7IGluZGV4NTw9aW5kZXg0OyBpbmRleDUrKykgewoJCQkJCQlmb3IoIGluZGV4Nj0wOyBpbmRleDY8PWluZGV4NTsgaW5kZXg2KyspIHsKCQkJCQkJCWZvciggaW5kZXg3PTA7IGluZGV4Nzw9aW5kZXg2OyBpbmRleDcrKykgewoJCQkJCQkJCWZvciggaW5kZXg4PTA7IGluZGV4ODw9aW5kZXgxOyBpbmRleDgrKykgewoJCQkJCQkJCQl2YXIgX19pbl9fZGVlcGVzdF9fbG9vcDsKCQkJCQkJCQkJX19zdHIrPSIiK2luZGV4MCtpbmRleDEraW5kZXgyK2luZGV4MytpbmRleDQraW5kZXg1K2luZGV4NitpbmRleDcraW5kZXg4Kydcbic7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciE9PSAiMDAwMDAwMDAwXG4xMDAwMDAwMDBcbjExMDAwMDAwMFxuMTEwMDAwMDAxXG4xMTEwMDAwMDBcbjExMTAwMDAwMVxuMTExMTAwMDAwXG4xMTExMDAwMDFcbjExMTExMDAwMFxuMTExMTEwMDAxXG4xMTExMTEwMDBcbjExMTExMTAwMVxuMTExMTExMTAwXG4xMTExMTExMDFcbjExMTExMTExMFxuMTExMTExMTExXG4iKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gIjAwMDAwMDAwMFxcbjEwMDAwMDAwMFxcbjExMDAwMDAwMFxcbjExMDAwMDAwMVxcbjExMTAwMDAwMFxcbjExMTAwMDAwMVxcbjExMTEwMDAwMFxcbjExMTEwMDAwMVxcbjExMTExMDAwMFxcbjExMTExMDAwMVxcbjExMTExMTAwMFxcbjExMTExMTAwMVxcbjExMTExMTEwMFxcbjExMTExMTEwMVxcbjExMTExMTExMFxcbjExMTExMTExMVxcbiIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Nested \"var-loops\" nine blocks depth is evaluated properly","description":"Checking if executing nested \"var-loops\" nine blocks depth is evaluated properly","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImNvbnRpbnVlIiBpbiBvcmRlciB0byBjb250aW51ZSBhIGxvb3AKICovCgpfX3N0cj0iIgoKZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTEpIHsKCWlmIChpbmRleDw1KWNvbnRpbnVlOwoJX19zdHIrPWluZGV4Owp9CgppZiAoX19zdHIhPT0iNTY3ODkiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjU2Nzg5Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Using \"continue\" in order to continue a loop","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRW1iZWRkZWQgbG9vcHMKICovCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgbmVzdGVkOwoJX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9IAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ciAhPT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDAxMDExMjAyMTIyMzAzMTMzIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgOwoJX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9IAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3N0ciAhPT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIpIHsKCSRFUlJPUignIzM6IF9fc3RyID09PSAiMDAxMDExMjAyMTIyMzAzMTMzIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkICJ2YXItbG9vcCIgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNvbnRpbnVlIG5vbi1leGlzdGVudCBsYWJlbAogKiBAbmVnYXRpdmUKICovCgpfX3N0cj0iIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKb3V0ZXI6Zm9yKHZhciBpbmRleD0wO2luZGV4PDQ7aW5kZXgrPTEpewogICAgbmVzdGVkOmZvcih2YXIgaW5kZXhfbj0wO2luZGV4X248PWluZGV4O2luZGV4X24rKyl7CiAgICAgICAgaWYoaW5kZXgqaW5kZXhfbiA9PSA2KWNvbnRpbnVlIG5vbmV4aXN0OwogICAgICAgIF9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled \"var-loop\" breaks","description":"Trying to continue non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFNpbXBsZSB0ZXN0IG9mIGNvbnRpbnVlIGxvb3Agd2l0aCB1c2luZyAiY29udGludWUiCiAqLwoKX19zdHI9IiIKCmZvcihpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTEpIHsKCWlmIChpbmRleDw1KWNvbnRpbnVlOwoJX19zdHIrPWluZGV4Owp9CgppZiAoX19zdHIhPT0iNTY3ODkiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjU2Nzg5Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Simple test of continue loop with using \"continue\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEVtYmVkZGVkIGxvb3BzCiAqLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcihpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPT0gNiljb250aW51ZSBuZXN0ZWQ7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTIyMzAzMTMzIikgewoJJEVSUk9SKCcjMTogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxMzMiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IoaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcihpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID09IDYpY29udGludWUgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxIikgewoJJEVSUk9SKCcjMjogX19zdHIgPT09ICIwMDEwMTEyMDIxMjIzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IoaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA9PSA2KWNvbnRpbnVlIDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMjIzMDMxMzMiKSB7CgkkRVJST1IoJyMzOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEyMjMwMzEzMyIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJjb250aW51ZSIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIGl0ZXJhdGlvbiBvZiBsYWJlbGVkIGxvb3AgYnJlYWtzCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBjb250aW51ZSBub24tZXhpc3RlbnQgbGFiZWwKICogQG5lZ2F0aXZlCiAqLwoKX19zdHI9IiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKb3V0ZXI6Zm9yKGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKGluZGV4X249MDtpbmRleF9uPD1pbmRleDtpbmRleF9uKyspewogICAgICAgIGlmKGluZGV4KmluZGV4X24gPT0gNiljb250aW51ZSBub25leGlzdDsKICAgICAgICBfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"If (Evaluate Statement).type is \"continue\" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks","description":"Trying to continue non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBCcmVha2luZyBhIGxvb3Agd2l0aCAiYnJlYWsiCiAqLwoKX19zdHI9IiIKCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz0xKSB7CglpZiAoaW5kZXg+NSlicmVhazsKCV9fc3RyKz1pbmRleDsKfQoKaWYgKF9fc3RyIT09IjAxMjM0NSIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDEyMzQ1Ii4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Breaking a loop with \"break\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFbWJlZGRlZCBsb29wcwogKi8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IodmFyIGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IodmFyIGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPj0gNClicmVhayBuZXN0ZWQ7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTMwMzEiKSB7CgkkRVJST1IoJyMxOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKHZhciBpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKHZhciBpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID49IDQpYnJlYWsgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMSIpIHsKCSRFUlJPUignIzI6IF9fc3RyID09PSAiMDAxMDExMjAyMSIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcih2YXIgaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA+PSA0KWJyZWFrIDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMzAzMSIpIHsKCSRFUlJPUignIzM6IF9fc3RyID09PSAiMDAxMDExMjAyMTMwMzEiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhICJ2YXItbG9vcCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gYnJlYWsgbm9uLWV4aXN0ZW50IGxhYmVsCiAqIEBuZWdhdGl2ZQogKi8KCl9fc3RyPSIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpvdXRlcjpmb3IodmFyIGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKHZhciBpbmRleF9uPTA7aW5kZXhfbjw9aW5kZXg7aW5kZXhfbisrKXsKICAgICAgICBpZihpbmRleCppbmRleF9uID49IDQpYnJlYWsgbm9uZXhpc3Q7CiAgICAgICAgX19zdHIrPSIiK2luZGV4K2luZGV4X247CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a \"var-loop\"","description":"Trying to break non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWtpbmcgYSBsb29wIHdpdGggImJyZWFrIgogKi8KCl9fc3RyPSIiCgpmb3IoaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz0xKSB7CglpZiAoaW5kZXg+NSlicmVhazsKCV9fc3RyKz1pbmRleDsKfQoKaWYgKF9fc3RyIT09IjAxMjM0NSIpIHsKCSRFUlJPUignIzE6X19zdHIgPT09ICIwMTIzNDUiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgICk7Cn0KCg==","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Breaking a loop with \"break\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRW1iZWRkZWQgbG9vcHMKICovCgpfX3N0cj0iIjsKCm91dGVyIDogZm9yKGluZGV4PTA7IGluZGV4PDQ7IGluZGV4Kz0xKSB7CiAgICBuZXN0ZWQgOiBmb3IoaW5kZXhfbj0wOyBpbmRleF9uPD1pbmRleDsgaW5kZXhfbisrKSB7CglpZiAoaW5kZXgqaW5kZXhfbiA+PSA0KWJyZWFrIG5lc3RlZDsKCV9fc3RyKz0iIitpbmRleCtpbmRleF9uOwogICAgfSAKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIgIT09ICIwMDEwMTEyMDIxMzAzMSIpIHsKCSRFUlJPUignIzE6IF9fc3RyID09PSAiMDAxMDExMjAyMTMwMzEiLiBBY3R1YWw6ICBfX3N0ciA9PT0nKyBfX3N0ciAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyPSIiOwoKb3V0ZXIgOiBmb3IoaW5kZXg9MDsgaW5kZXg8NDsgaW5kZXgrPTEpIHsKICAgIG5lc3RlZCA6IGZvcihpbmRleF9uPTA7IGluZGV4X248PWluZGV4OyBpbmRleF9uKyspIHsKCWlmIChpbmRleCppbmRleF9uID49IDQpYnJlYWsgb3V0ZXI7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMSIpIHsKCSRFUlJPUignIzI6IF9fc3RyID09PSAiMDAxMDExMjAyMSIuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHI9IiI7CgpvdXRlciA6IGZvcihpbmRleD0wOyBpbmRleDw0OyBpbmRleCs9MSkgewogICAgbmVzdGVkIDogZm9yKGluZGV4X249MDsgaW5kZXhfbjw9aW5kZXg7IGluZGV4X24rKykgewoJaWYgKGluZGV4KmluZGV4X24gPj0gNClicmVhayA7CglfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0gCn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyICE9PSAiMDAxMDExMjAyMTMwMzEiKSB7CgkkRVJST1IoJyMzOiBfX3N0ciA9PT0gIjAwMTAxMTIwMjEzMDMxIi4gQWN0dWFsOiAgX19zdHIgPT09JysgX19zdHIgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Embedded loops","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiAoRXZhbHVhdGUgU3RhdGVtZW50KS50eXBlIGlzICJicmVhayIgYW5kIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLnRhcmdldCBpcyBpbiB0aGUgY3VycmVudCBsYWJlbCBzZXQsIChub3JtYWwsIChFdmFsdWF0ZSBTdGF0ZW1lbnQpLCBlbXB0eSkgaXMgcmV0dXJuZWQgd2hpbGUgZXZhbHVhdGluZyBhIGxvb3AKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGJyZWFrIG5vbi1leGlzdGVudCBsYWJlbAogKiBAbmVnYXRpdmUKICovCgpfX3N0cj0iIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKb3V0ZXI6Zm9yKGluZGV4PTA7aW5kZXg8NDtpbmRleCs9MSl7CiAgICBuZXN0ZWQ6Zm9yKGluZGV4X249MDtpbmRleF9uPD1pbmRleDtpbmRleF9uKyspewogICAgICAgIGlmKGluZGV4KmluZGV4X24gPj0gNClicmVhayBub25leGlzdDsKICAgICAgICBfX3N0cis9IiIraW5kZXgraW5kZXhfbjsKICAgIH0KfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"If (Evaluate Statement).type is \"break\" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop","description":"Trying to break non-existent label","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZURlY2xhcmF0aW9uIGluICJ2YXIgVmFyaWFibGVEZWNsYXJhdGlvbkxpc3ROb0luIiBvZiBmb3IgSXRlcmF0aW9uU3RhdGVtZW50IGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIHZhcmlhYmxlIGluICJmb3IiIEV4cHJlc3Npb25Ob0luCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJaW5kZXggPSBpbmRleDsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogVmFyaWFibGVEZWNsYXJhdGlvbiBpbiAidmFyIFZhcmlhYmxlRGVjbGFyYXRpb25MaXN0Tm9JbiIgb2YgZm9yIEl0ZXJhdGlvblN0YXRlbWVudCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKZm9yKHZhciBpbmRleD0wOyBpbmRleDw2OyBpbmRleCsrKSB7Cgk7Cn0KCg==","commentary":"VariableDeclaration in \"var VariableDeclarationListNoIn\" of for IterationStatement is allowed","description":"Declaring variable in \"for\" ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTGlzdE5vSW47IEV4cHJlc3Npb247IEV4cHJlc3Npb24pIFN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgKywqLC8sIGFzIHRoZSBzZWNvbmQgRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIGk9MDtpPDEwO2krKyl7fQppZiAoaSE9PTEwKQkkRVJST1IoJyMxOiBpID09PSAxMC4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwoKLy9DSEVDSyMyCnZhciBqPTA7CmZvcih2YXIgaT0xO2k8MTA7aSo9Mil7CglqKys7Cn0KaWYgKGkhPT0xNikgICRFUlJPUignIzIuMTogaSA9PT0gMTYuIEFjdHVhbDogIGkgPT09JysgaSAgKTsKaWYgKGohPT00KSAgJEVSUk9SKCcjMi4yOiBqID09PSA0LiBBY3R1YWw6ICBqID09PScrIGogICk7CgovL0NIRUNLIzMKdmFyIGo9MDsKZm9yKHZhciBpPTE2O2k+MTtpPWkvMil7CiAgaisrOwp9CmlmIChpIT09MSkgICRFUlJPUignIzMuMTogaSA9PT0gMS4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTQpICAkRVJST1IoJyMzLjI6IGogPT09IDQuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCi8vQ0hFQ0sjNAp2YXIgaj0wOwpmb3IodmFyIGk9MTA7aT4xO2ktLSl7CiAgaisrOwp9CmlmIChpIT09MSkgICRFUlJPUignIzQuMTogaSA9PT0gMS4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTkpICAkRVJST1IoJyM0LjI6IGogPT09IDkuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCi8vQ0hFQ0sjNQp2YXIgaj0wOwpmb3IodmFyIGk9MjtpPDEwO2kqPWkpewogIGorKzsKfQppZiAoaSE9PTE2KSAgJEVSUk9SKCcjNS4xOiBpID09PSAxNi4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwppZiAoaiE9PTIpICAkRVJST1IoJyM1LjI6IGogPT09IDIuIEFjdHVhbDogIGogPT09JysgaiAgKTsKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationListNoIn; Expression; Expression) Statement\"","description":"Using +,*,/, as the second Expression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTGlzdE5vSW47IEV4cHJlc3Npb247IEV4cHJlc3Npb24pIFN0YXRlbWVudCIKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0ExNS5qcwogKiBAZGVzY3JpcHRpb24gU3RhdGVtZW50IG11c3QgYmUgZXZhbHVhdGVkIGJlZm9yZSBzZWNvbmQgRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQKICovCgovL0NIRUNLIzEKZm9yKHZhciBpPTA7aTwxMDtpKyspewoJaSo9MjsKICBicmVhazsJCn0KaWYgKGkhPT0wKSAgJEVSUk9SKCcjMTogaSA9PT0gMC4gQWN0dWFsOiAgaSA9PT0nKyBpICApOwoKLy9DSEVDSyMyCmZvcih2YXIgaT0wO2k8MTA7aSsrKXsKICBpKj0yOwogIGlmIChpPT09MykgICRFUlJPUignIzI6IGkgIT09IDMnKTsKfQoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationListNoIn; Expression; Expression) Statement\"","description":"Statement must be evaluated before second Expression is evaluated","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luIDsgIDsgRXhwcmVzc2lvbikgU3RhdGVtZW50IiwgU3RhdGVtZW50IGlzIGV2YXVsYXRlZCBmaXJzdAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgIihmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiJ9KSgpIiBhcyBFeHByZXNzaW9uTm9JbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCWZvcigoZnVuY3Rpb24oKXt0aHJvdyAiTm9JbkV4cHJlc3Npb24ifSkoKTsgOyhmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0pKCkpIHsKCQl0aHJvdyAiU3RhdGVtZW50IjsKCX0KCSRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiJ9KSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiTm9JbkV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMjogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgIDsgRXhwcmVzc2lvbikgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBOb0luRXhwcmVzc2lvbiBldmFsdWF0ZXMgZmlyc3QnKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"While evaluating \"for (ExpressionNoIn ; ; Expression) Statement\", Statement is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOzspIFN0YXRlbWVudCIsIFN0YXRlbWVudCBpcyBldmF1bGF0ZWQgZmlyc3QKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICIoZnVuY3Rpb24oKXt0aHJvdyAiTm9JbkV4cHJlc3Npb24ifSkoKSIgYXMgRXhwcmVzc2lvbk5vSW4KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCk7OykgewoJCXRocm93ICJTdGF0ZW1lbnQiOwoJfQoJJEVSUk9SKCcjMTogKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJOb0luRXhwcmVzc2lvbiIpIHsKCQkkRVJST1IoJyMxOiBXaGVuIGZvciAoRXhwcmVzc2lvbk5vSW4gOyAgOyApIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgTm9JbkV4cHJlc3Npb24gZXZhbHVhdGVzIGZpcnN0Jyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn;;) Statement\", Statement is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOyBFeHByZXNzaW9uOyBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiLCBFeHByZXNzaW9uTm9JbiBpcyBldmF1bGF0ZWQgZmlyc3QKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIn0pKCkiIGFzIEV4cHJlc3Npb25Ob0luCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZm9yKChmdW5jdGlvbigpe3Rocm93ICJOb0luRXhwcmVzc2lvbiI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIlNlY29uZEV4cHJlc3Npb24iO30pKCkpIHsKCQl2YXIgaW5fZm9yID0gInJlYWNoZWQiOwoJfQoJJEVSUk9SKCcjMTogKGZ1bmN0aW9uKCl7dGhyb3cgIk5vSW5FeHByZXNzaW9uIjt9KSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiTm9JbkV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgRXhwcmVzc2lvbiA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgRXhwcmVzc2lvbk5vSW4gZXZhbHVhdGVzIGZpcnN0Jyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChpbl9mb3IgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogaW5fZm9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogIGluX2ZvciA9PT0nKyBpbl9mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn; Expression; Expression) Statement\", ExpressionNoIn is evaulated first","description":"Using \"(function(){throw \"NoInExpression\"})()\" as ExpressionNoIn","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKEV4cHJlc3Npb25Ob0luOyBGaXJzdEV4cHJlc3Npb247IFNlY29uZEV4cHJlc3Npb24pIFN0YXRlbWVudCIsIEV4cHJlc3Npb25Ob0luIGlzIGV2YXVsYXRlZCBmaXJzdCwgRmlyc3RFeHByZXNzb2luIGlzIGV2YWx1YXRlZCBzZWNvbmQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiJ9KSgpIiBhcyBGaXJzdEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoKGZ1bmN0aW9uKCl7X19pbl9fTm90SW5FeHByZXNzaW9uX18gPSAiY2hlY2tlZCI7X19pbl9fTm90SW5FeHByZXNzaW9uX18yID0gInBhc3NlZCI7fSkoKTsgKGZ1bmN0aW9uKCl7dGhyb3cgIkZpcnN0RXhwcmVzc2lvbiJ9KSgpOyAoZnVuY3Rpb24oKXt0aHJvdyAiU2Vjb25kRXhwcmVzc2lvbiJ9KSgpKSB7CgkJX19pbl9fZm9yPSJyZWFjaGVkIjsKCX0KCSRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0gbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJGaXJzdEV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKEV4cHJlc3Npb25Ob0luIDsgRmlyc3RFeHByZXNzaW9uIDsgU2Vjb25kRXhwcmVzc2lvbikgU3RhdGVtZW50IGlzIGV2YWx1YXRlZCBmaXJzdCBldmFsdWF0ZXMgRXhwcmVzc2lvbk5vSW4gdGhlbiBGaXJzdEV4cHJlc3Npb24nKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKChfX2luX19Ob3RJbkV4cHJlc3Npb25fXyAhPT0gImNoZWNrZWQiKSYoX19pbl9fTm90SW5FeHByZXNzaW9uX18yIT09InBhc3NlZCIpKSB7CgkkRVJST1IoJyMyOiAoX19pbl9fTm90SW5FeHByZXNzaW9uX18gPT09ICJjaGVja2VkIikmKF9faW5fX05vdEluRXhwcmVzc2lvbl9fMj09PSJwYXNzZWQiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9faW5fX2ZvciAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzM6IHR5cGVvZiBfX2luX19mb3IgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19pbl9fZm9yID09PScrIHR5cGVvZiBfX2luX19mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\", ExpressionNoIn is evaulated first, FirstExpressoin is evaluated second","description":"Using \"(function(){throw \"FirstExpression\"})()\" as FirstExpression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmb3IgKHZhciBhIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyIGEgaW4gYXJyOzE7KXsKICAgIGJyZWFrOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (var a in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yIChhIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAoYSBpbiBhcnI7MTspewogICAgYnJlYWs7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (a in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgYXMgYSBFeHByZXNzaW9uTm9JbiBpbiAiZm9yIChFeHByZXNzaW9uTm9JbjsgRmlyc3RFeHByZXNzaW9uOyBTZWNvbmRFeHByZXNzaW9uKSBTdGF0ZW1lbnQiIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yICgxIGluIGFycjsxOyl7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKYXJyID0gWzEsMiwzLDQsNV07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcigxIGluIGFycjsxOykgewogICAgYnJlYWs7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"\"in\"-expression is not allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Checking if execution of \"for (1 in arr;1;){}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiaW4iLWV4cHJlc3Npb24gd3JhcHBlZCBpbnRvICJldmFsIiBzdGF0ZW1lbnQgaXMgYWxsb3dlZCBhcyBhIEV4cHJlc3Npb25Ob0luIGluICJmb3IgKEV4cHJlc3Npb25Ob0luOyBGaXJzdEV4cHJlc3Npb247IFNlY29uZEV4cHJlc3Npb24pIFN0YXRlbWVudCIgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZXZhbCAiZm9yKGV2YWwoImkgaW4gYXJyIik7MTspIgogKi8KCmFyciA9IFsxLDIsMyw0LDVdOwppID0gMTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJZm9yKGV2YWwoImkgaW4gYXJyIik7MTspIHticmVhazt9OwkKfSBjYXRjaCAoZSkgewkKCQkkRVJST1IoJyMxLjE6IGZvcihldmFsKCJpIGluIGFyciIpOzE7KSB7YnJlYWs7fTsgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsJCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7Cglmb3IoZXZhbCgidmFyIGkgPSAxIGluIGFyciIpOzE7KSB7YnJlYWs7fTsJCn0gY2F0Y2ggKGUpIHsJCgkJJEVSUk9SKCcjMi4xOiBmb3IoZXZhbCgidmFyIGkgPSAxIGluIGFyciIpOzE7KSB7YnJlYWs7fTsgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsJCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cglmb3IoZXZhbCgiMSBpbiBhcnIiKTsxOykge2JyZWFrO307Cn0gY2F0Y2ggKGUpIHsJCgkJJEVSUk9SKCcjMy4xOiBmb3IoZXZhbCgiMSBpbiBhcnIiKTsxOykge2JyZWFrO307IGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"in\"-expression wrapped into \"eval\" statement is allowed as a ExpressionNoIn in \"for (ExpressionNoIn; FirstExpression; SecondExpression) Statement\" IterationStatement","description":"Using eval \"for(eval(\"i in arr\");1;)\"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGlsZSBldmFsdWF0aW5nICJmb3IgKCA7ICA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCIsIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgZmlyc3QgYW5kIHRoZW4gRXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiKGZ1bmN0aW9uKCl7dGhyb3cgIlNlY29uZEV4cHJlc3Npb24iO30pKCkiIGFzIGFuIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoOzsoZnVuY3Rpb24oKXt0aHJvdyAiU2Vjb25kRXhwcmVzc2lvbiI7fSkoKSl7CiAgICAgICAgdmFyIF9faW5fX2ZvciA9ICJyZWFjaGVkIjsKICAgIH0KICAgICRFUlJPUignIzE6IChmdW5jdGlvbigpe3Rocm93ICJTZWNvbmRFeHByZXNzaW9uIn0oKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gIlNlY29uZEV4cHJlc3Npb24iKSB7CgkJJEVSUk9SKCcjMTogV2hlbiBmb3IgKCA7ICA7IEV4cHJlc3Npb24pIFN0YXRlbWVudCBpcyBldmFsdWF0ZWQgU3RhdGVtZW50IGV2YWx1YXRlcyBmaXJzdCB0aGVuIEV4cHJlc3Npb24gZXZhbHVhdGVzJyk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2luX19mb3IgIT09ICJyZWFjaGVkIikgewoJJEVSUk9SKCcjMjogX19pbl9fZm9yID09PSAicmVhY2hlZCIuIEFjdHVhbDogIF9faW5fX2ZvciA9PT0nKyBfX2luX19mb3IgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"While evaluating \"for ( ; ; Expression) Statement\", Statement is evaluated first and then Expression is evaluated","description":"Using \"(function(){throw \"SecondExpression\";})()\" as an Expression","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yKHdpdGggdmFyKSIgYnJhY2VzIGFyZSBhbGxvd2VkLgogKiBBcHBlYXJpbmcgb2YgZm9yIChFeHByZXNzaW9uTm9Jbl9vcHQgOyBFeHByZXNzaW9uX29wdCA7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDsgRXhwcmVzc2lvbl9vcHQ7KSBzdGF0ZW1lbnQgbGVhZHMgdG8gU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E3LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrKzsgaW5kZXgtLSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrKzsgaW5kZXgtLSk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only three expressions and two semicolons in \"for(with var)\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(var index=0; index<10; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yKHdpdGggdmFyKSIgYnJhY2VzIGFyZSBhbGxvd2VkLgogKiBBcHBlYXJpbmcgb2YgZm9yIChFeHByZXNzaW9uTm9Jbl9vcHQgOyBFeHByZXNzaW9uX29wdCA7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDsgRXhwcmVzc2lvbl9vcHQ7KSBzdGF0ZW1lbnQgbGVhZHMgdG8gU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E3LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKHZhciBpbmRleD0wOyBpbmRleDwxMDsgaW5kZXgrPTQ7IGluZGV4Kys7IGluZGV4LS0pIiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kz00OyBpbmRleCsrOyBpbmRleC0tKSA7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Only three expressions and two semicolons in \"for(with var)\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(var index=0; index<10; index+=4; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yIiBicmFjZXMgYXJlIGFsbG93ZWQuCiAqIEFwcGVhcmluZyBvZiBmb3IgKEV4cHJlc3Npb25Ob0luX29wdCA7IEV4cHJlc3Npb25fb3B0IDsgRXhwcmVzc2lvbl9vcHQ7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDspIHN0YXRlbWVudCBsZWFkcyB0byBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCsrOyBpbmRleC0tKSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IoaW5kZXg9MDsgaW5kZXg8MTA7IGluZGV4Kys7IGluZGV4LS0pIDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Only three expressions and two semicolons in \"for\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(index=0; index<10; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmx5IHRocmVlIGV4cHJlc3Npb25zIGFuZCB0d28gc2VtaWNvbG9ucyBpbiAiZm9yIiBicmFjZXMgYXJlIGFsbG93ZWQuCiAqIEFwcGVhcmluZyBvZiBmb3IgKEV4cHJlc3Npb25Ob0luX29wdCA7IEV4cHJlc3Npb25fb3B0IDsgRXhwcmVzc2lvbl9vcHQ7IEV4cHJlc3Npb25fb3B0OyBFeHByZXNzaW9uX29wdDspIHN0YXRlbWVudCBsZWFkcyB0byBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi4zL1MxMi42LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCs9NDsgaW5kZXgrKzsgaW5kZXgtLSkiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IGluZGV4PDEwOyBpbmRleCs9NDsgaW5kZXgrKzsgaW5kZXgtLSkgOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Only three expressions and two semicolons in \"for\" braces are allowed.\nAppearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError","description":"Checking if execution of \"for(index=0; index<10; index+=4; index++; index--)\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTAwOyB7aW5kZXgrKzsgaW5kZXgqMjt9KSB7ICBhcnIuYWRkKCIiK2luZGV4KTt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgYXJyID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8MTAwOyB7aW5kZXgrKzsgaW5kZXgqMjt9KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for(var index=0; index<100; {index++; index*2;}) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih2YXIgaW5kZXg9MDsge2luZGV4Kys7aW5kZXg8MTAwO307IGluZGV4KjI7KSB7ICBhcnIuYWRkKCIiK2luZGV4KTt9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgYXJyID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaW5kZXg9MDsge2luZGV4Kys7aW5kZXg8MTAwO307IGluZGV4KjI7KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for(var index=0; {index++;index<100;}; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3Iod2l0aCB2YXIpIiBicmFjZXMgYXJlIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjMvUzEyLjYuM19BOC4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih7dmFyIGluZGV4PTA7IGluZGV4Kz0xO30gaW5kZXgrKzw9MTA7IGluZGV4KjI7KSB7IGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHt2YXIgaW5kZXg9MDsgaW5kZXgrPTE7fSBpbmRleCsrPD0xMDsgaW5kZXgqMjspIHsJYXJyLmFkZCgiIitpbmRleCk7fTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgo=","commentary":"Blocks within \"for(with var)\" braces are not allowed","description":"Checking if execution of \"for({var index=0; index+=1;} index++<=10; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcihpbmRleD0wOyBpbmRleDwxMDA7IHtpbmRleCsrOyBpbmRleCoyO30pIHsgIGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IGluZGV4PDEwMDsge2luZGV4Kys7IGluZGV4KjI7fSkgewlhcnIuYWRkKCIiK2luZGV4KTt9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for(index=0; index<100; {index++; index*2;}) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcihpbmRleD0wOyB7aW5kZXgrKztpbmRleDwxMDA7fTsgaW5kZXgqMjspIHsgIGFyci5hZGQoIiIraW5kZXgpO30iIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBhcnIgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKGluZGV4PTA7IHtpbmRleCsrO2luZGV4PDEwMDt9OyBpbmRleCoyOykgewlhcnIuYWRkKCIiK2luZGV4KTt9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for(index=0; {index++;index<100;}; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9ja3Mgd2l0aGluICJmb3IiIGJyYWNlcyBhcmUgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImZvcih7aW5kZXg9MDsgaW5kZXgrPTE7fSBpbmRleCsrPD0xMDsgaW5kZXgqMjspIHsgYXJyLmFkZCgiIitpbmRleCk7fSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIGFyciA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3Ioe2luZGV4PTA7IGluZGV4Kz0xO30gaW5kZXgrKzw9MTA7IGluZGV4KjI7KSB7CWFyci5hZGQoIiIraW5kZXgpO307Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Blocks within \"for\" braces are not allowed","description":"Checking if execution of \"for({index=0; index+=1;} index++<=10; index*2;) { arr.add(\"\"+index);}\" fails","negative":"","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgImZvciggRXhwTm9JbjtFeHA7RXhwKSIgbG9vcCBpcyByZXR1cm5pbmcgKG5vcm1hbCwgZXZhbFZhbHVlLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E5LjEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGV2YWwKICovCgpzdXByZW1lPTU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXZhciBfX2V2YWx1YXRlZCA9ICBldmFsKCJmb3IoY291bnQ9MDs7KSB7aWYgKGNvdW50PT09c3VwcmVtZSlicmVhaztlbHNlIGNvdW50Kys7IH0iKTsKCWlmIChfX2V2YWx1YXRlZCAhPT0gNCkgewoJCSRFUlJPUignIzE6IF9fZXZhbHVhdGVkID09PSA0LiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKCX0KfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogdmFyIF9fZXZhbHVhdGVkID0gIGV2YWwoImZvcihjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The result of evaluating \"for( ExpNoIn;Exp;Exp)\" loop is returning (normal, evalValue, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A9.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgImZvcih2YXIgRXhwTm9JbjtFeHA7RXhwKSIgbG9vcCBpcyByZXR1cm5pbmcgKG5vcm1hbCwgZXZhbFZhbHVlLCBlbXB0eSkKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuMy9TMTIuNi4zX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsCiAqLwoKc3VwcmVtZT01OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl2YXIgX19ldmFsdWF0ZWQgPSAgZXZhbCgiZm9yKHZhciBjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOwoJaWYgKF9fZXZhbHVhdGVkICE9PSA0KSB7CgkJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IDQuIEFjdHVhbDogIF9fZXZhbHVhdGVkID09PScrIF9fZXZhbHVhdGVkICApOwoJfQp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgX19ldmFsdWF0ZWQgPSAgZXZhbCgiZm9yKHZhciBjb3VudD0wOzspIHtpZiAoY291bnQ9PT1zdXByZW1lKWJyZWFrO2Vsc2UgY291bnQrKzsgfSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The result of evaluating \"for(var ExpNoIn;Exp;Exp)\" loop is returning (normal, evalValue, empty)","description":"Using eval","path":"TestCases/ch12/12.6/12.6.3/S12.6.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvMTIuNi40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yLWluIFN0YXRlbWVudCAtIGEgcHJvcGVydHkgbmFtZSBtdXN0IG5vdCBiZSB2aXNpdGVkIG1vcmUgdGhhbiBvbmNlIGluIGFueSBlbnVtZXJhdGlvbi4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogImFiYyIsIHByb3AyOiAiYmJjIiwgcHJvcDM6ICJjbm4iIH07DQoNCiAgICAgICAgdmFyIGNvdW50UHJvcDEgPSAwOw0KICAgICAgICB2YXIgY291bnRQcm9wMiA9IDA7DQogICAgICAgIHZhciBjb3VudFByb3AzID0gMDsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcDEiKSB7DQogICAgICAgICAgICAgICAgICAgIGNvdW50UHJvcDErKzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wMiIpIHsNCiAgICAgICAgICAgICAgICAgICAgY291bnRQcm9wMisrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AzIikgew0KICAgICAgICAgICAgICAgICAgICBjb3VudFByb3AzKys7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBjb3VudFByb3AxID09PSAxICYmIGNvdW50UHJvcDIgPT09IDEgJiYgY291bnRQcm9wMyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The for-in Statement - a property name must not be visited more than once in any enumeration.","path":"TestCases/ch12/12.6/12.6.4/12.6.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvMTIuNi40LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgZm9yLWluIFN0YXRlbWVudCAtIHRoZSB2YWx1ZXMgb2YgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlcyBhcmUgbm90IGNvbnNpZGVyZWQgd2hlbiBkZXRlcm1pbmluZyBpZiBhIHByb3BlcnR5IG9mIGEgcHJvdG90eXBlIG9iamVjdCBpcyBzaGFkb3dlZCBieSBhIHByZXZpb3VzIG9iamVjdCBvbiB0aGUgcHJvdG90eXBlIGNoYWluDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZFZhbHVlIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3ZlcnJpZGVkVmFsdWUxIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3ZlcnJpZGVkVmFsdWUyIiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBhY2Nlc3NlZFByb3AxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZFByb3AyID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjaGlsZCkgew0KICAgICAgICAgICAgaWYgKGNoaWxkLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWRQcm9wMSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcDIiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkUHJvcDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkUHJvcDEgJiYgYWNjZXNzZWRQcm9wMiAmJiBjaGlsZC5wcm9wMSA9PT0gIm92ZXJyaWRlZFZhbHVlMSIgJiYgY2hpbGQucHJvcDIgPT09ICJvdmVycmlkZWRWYWx1ZTIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The for-in Statement - the values of [[Enumerable]] attributes are not considered when determining if a property of a prototype object is shadowed by a previous object on the prototype chain","path":"TestCases/ch12/12.6/12.6.4/12.6.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZm9yKGtleSBpbiB1bmRlZmluZWQpIiBTdGF0ZW1lbnQgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi40L1MxMi42LjRfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZm9yKGtleSBpbiB1bmRlZmluZWQpIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cglmb3IoX19rZXkgaW4gdW5kZWZpbmVkKXsKCSAgICB2YXIga2V5PV9fa2V5OwoJfTsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogImZvcihrZXkgaW4gdW5kZWZpbmVkKXt9IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGtleSE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjoga2V5ID09PSB1bmRlZmluZWQuIEFjdHVhbDoga2V5ID09PSAnK2tleSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"\"for(key in undefined)\" Statement is allowed","description":"Checking if execution of \"for(key in undefined)\" passes","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJmb3ItaW4iIFN0YXRlbWVudCBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjYvMTIuNi40L1MxMi42LjRfQTEzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgZnVuY3Rpb24gd2l0aGluIGEgImZvci1pbiIgU3RhdGVtZW50IHRoYXQgaXMgd2l0aGluIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uKCl7Cgpmb3IoeCBpbiB0aGlzKXsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn07Cgp9OwoK","commentary":"FunctionDeclaration within a \"for-in\" Statement is not allowed","description":"Declaring function within a \"for-in\" Statement that is within function declaration","negative":"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cGVzc2lvbiB3aXRoaW4gYSAiZm9yLWluIiBFeHByZXNzaW9uIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiB7YToxfTt9KCkiIGFzIEV4cGVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwpmb3IoeCBpbiBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4ge2E6MX07fSgpKXsKICAgIHZhciBfX3JlYWNoZWQgPSB4Owp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fcmVhY2hlZCAhPT0gImEiKSB7CgkkRVJST1IoJyMyOiBmdW5jdGlvbiBleHBlc3Npb24gaW5zaWRlIG9mIGZvci1pbiBleHByZXNzaW9uIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpession within a \"for-in\" Expression is allowed","description":"Using \"function __func(){return {a:1};}()\" as Expession","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCbG9jayB3aXRoaW4gYSAiZm9yLWluIiBFeHByZXNzaW9uIGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGJsb2NrIHdpdGhpbiAiZm9yLWluIiBFeHByZXNzaW9uCiAqIEBuZWdhdGl2ZQogKi8KCnZhciBfX2Fycj1bMSwyLDNdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmZvcih4IGluIHtfX2Fycn0pewogICBicmVhayA7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Block within a \"for-in\" Expression is not allowed","description":"Using block within \"for-in\" Expression","negative":"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiZm9yKGtleSBpbiBudWxsKSIgRXhwcmVzc2lvbiBpcyBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmb3Ioa2V5IGluIG51bGwpIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCWZvcihfX2tleSBpbiBudWxsKXsKCSAgICB2YXIga2V5PV9fa2V5OwoJfTsKfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjMTogImZvcihfX2tleSBpbiBudWxsKXt9IiBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoa2V5IT09dW5kZWZpbmVkKSB7CgkkRVJST1IoJyMyOiBrZXkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBrZXkgPT09JytrZXkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"\"for(key in null)\" Expression is allowed","description":"Checking if execution of \"for(key in null)\" passes","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBhbiBhcnJheSBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBIZXJlIEV4cHJlc3Npb24gaXMgYW4gYXJyYXkgb2YgbnVtYmVycwogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IodmFyIGluZCBpbiAoYXJyPVsyLDEsNCwzXSkpX19zdHIrPWFycltpbmRdIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2V2YWx1YXRlZCAhPT0gX19zdHIpIHsKCSRFUlJPUignIzE6IF9fZXZhbHVhdGVkID09PSBfX3N0ci4gQWN0dWFsOiAgX19ldmFsdWF0ZWQgPT09JysgX19ldmFsdWF0ZWQgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKCAoX19zdHIuaW5kZXhPZigiMiIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiMSIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiNCIpIT09LTEpJiYoX19zdHIuaW5kZXhPZigiMyIpIT09LTEpICkpIHsKCSRFUlJPUignIzI6IChfX3N0ci5pbmRleE9mKCIyIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIxIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCI0IikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIzIikhPT0tMSknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using an array as an Expression is appropriate. Here Expression is an array of numbers","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgYW4gYXJyYXkgYXMgYW4gRXhwcmVzc2lvbiBpcyBhcHByb3ByaWF0ZS4gSGVyZSBFeHByZXNzaW9uIGlzIGFuIGFycmF5IG9mIG51bWJlcnMuIEV2YWwgaXMgdXNlZAogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IoaW5kIGluIChhcnI9WzIsMSw0LDNdKSlfX3N0cis9YXJyW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZXZhbHVhdGVkICE9PSBfX3N0cikgewoJJEVSUk9SKCcjMTogX19ldmFsdWF0ZWQgPT09IF9fc3RyLiBBY3R1YWw6ICBfX2V2YWx1YXRlZCA9PT0nKyBfX2V2YWx1YXRlZCAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoIChfX3N0ci5pbmRleE9mKCIyIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIxIikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCI0IikhPT0tMSkmJihfX3N0ci5pbmRleE9mKCIzIikhPT0tMSkgKSkgewoJJEVSUk9SKCcjMjogKF9fc3RyLmluZGV4T2YoIjIiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjEiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjQiKSE9PS0xKSYmKF9fc3RyLmluZGV4T2YoIjMiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using an array as an Expression is appropriate. Here Expression is an array of numbers. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBPYmplY3QgYXMgYW4gRXhwcmVzc2lvbiBpcyBhcHByb3ByaWF0ZS4gRXZhbCBpcyB1c2VkCiAqLwoKX19zdHI9IiI7CgpfX2V2YWx1YXRlZCA9IGV2YWwoImZvcih2YXIgaW5kIGluIChoYXNoPXsyOidiJywxOidhJyw0OidkJywzOidjJ30pKV9fc3RyKz1oYXNoW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCAhKCAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYSIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYiIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYyIpIT09LTEpJihfX2V2YWx1YXRlZC5pbmRleE9mKCJkIikhPT0tMSkgKSApIHsKCSRFUlJPUignIzE6IChfX2V2YWx1YXRlZC5pbmRleE9mKCJhIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJiIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJjIikhPT0tMSkmKF9fZXZhbHVhdGVkLmluZGV4T2YoImQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09IF9fZXZhbHVhdGVkKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gX19ldmFsdWF0ZWQuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object as an Expression is appropriate. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgT2JqZWN0IGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIEV2YWwgaXMgdXNlZAogKi8KCl9fc3RyPSIiOwoKX19ldmFsdWF0ZWQgPSBldmFsKCJmb3IoaW5kIGluIChoYXNoPXsyOidiJywxOidhJyw0OidkJywzOidjJ30pKV9fc3RyKz1oYXNoW2luZF0iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCAhKCAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYSIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYiIpIT09LTEpJiAoX19ldmFsdWF0ZWQuaW5kZXhPZigiYyIpIT09LTEpJihfX2V2YWx1YXRlZC5pbmRleE9mKCJkIikhPT0tMSkgKSApIHsKCSRFUlJPUignIzE6IChfX2V2YWx1YXRlZC5pbmRleE9mKCJhIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJiIikhPT0tMSkmIChfX2V2YWx1YXRlZC5pbmRleE9mKCJjIikhPT0tMSkmKF9fZXZhbHVhdGVkLmluZGV4T2YoImQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09IF9fZXZhbHVhdGVkKSB7CgkkRVJST1IoJyMyOiBfX3N0ciA9PT0gX19ldmFsdWF0ZWQuIEFjdHVhbDogIF9fc3RyID09PScrIF9fc3RyICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object as an Expression is appropriate. Eval is used","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBoaWVyYXJjaGljYWwgT2JqZWN0IGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIFRoZSBkZXB0aCBpcyB0d28KICovCgpfX2hhc2hfX21hcD17YTp7YWE6MSxhYjoyLGFjOjMsYWQ6NH0sYjp7YmE6MSxiYjoyLGJjOjMsYmQ6NH0sYzp7Y2E6MSxjYjoyLGNjOjMsY2Q6NH0sZDp7ZGE6MSxkYjoyLGRjOjMsZGQ6NH19OwoKX19hcnIgPSAiIjsKCmZvcih2YXIgX19rZXkgaW4gX19oYXNoX19tYXApewogICAgZm9yICh2YXIgX19pbmQgaW4gX19oYXNoX19tYXBbX19rZXldKXsKICAgICAgICBfX2Fycis9KCIiICsgX19pbmQgKyBfX2hhc2hfX21hcFtfX2tleV1bX19pbmRdKTsKICAgIH0KfQoKaWYoISgKKF9fYXJyLmluZGV4T2YoImFhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYWIyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJhYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImFkNCIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImJjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmQ0IikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjYTEiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNiMiIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiY2MzIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjZDQiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGIyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJkYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRkNCIpIT09LTEpCikpICRFUlJPUignIzE6IFRoZSBuZXN0ZWQgZm9yLWluIFN0YXRlbWVudCBhcHBsaWVkIHRvIGhpZXJhcmNoaWFsIG9iamVjdCB3b3JrcyBwcm9wZXJseSBhcyBkZXNjcmliZWQgaW4gdGhlIFN0YW5kYXJkJyk7CgoKCgo=","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using hierarchical Object as an Expression is appropriate. The depth is two","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgaGllcmFyY2hpY2FsIE9iamVjdCBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBUaGUgZGVwdGggaXMgdHdvCiAqLwoKX19oYXNoX19tYXA9e2E6e2FhOjEsYWI6MixhYzozLGFkOjR9LGI6e2JhOjEsYmI6MixiYzozLGJkOjR9LGM6e2NhOjEsY2I6MixjYzozLGNkOjR9LGQ6e2RhOjEsZGI6MixkYzozLGRkOjR9fTsKCl9fYXJyID0gIiI7Cgpmb3IoX19rZXkgaW4gX19oYXNoX19tYXApewogICAgZm9yIChfX2luZCBpbiBfX2hhc2hfX21hcFtfX2tleV0pewogICAgICAgIF9fYXJyKz0oIiIgKyBfX2luZCArIF9faGFzaF9fbWFwW19fa2V5XVtfX2luZF0pOwogICAgfQp9CgppZighKAooX19hcnIuaW5kZXhPZigiYWExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJhYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImFjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYWQ0IikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiYTEiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImJiMiIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiYmMzIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJiZDQiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNhMSIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiY2IyIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJjYzMiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImNkNCIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGExIikhPT0tMSkmCihfX2Fyci5pbmRleE9mKCJkYjIiKSE9PS0xKSYKKF9fYXJyLmluZGV4T2YoImRjMyIpIT09LTEpJgooX19hcnIuaW5kZXhPZigiZGQ0IikhPT0tMSkKKSkgJEVSUk9SKCcjMTogVGhlIG5lc3RlZCBmb3ItaW4gU3RhdGVtZW50IGFwcGxpZWQgdG8gaGllcmFyY2hpYWwgb2JqZWN0IHdvcmtzIHByb3Blcmx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgU3RhbmRhcmQnKTsKCgoKCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using hierarchical Object as an Expression is appropriate. The depth is two","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBPYmplY3Qgd2l0aCBjdXN0b20gcHJvdG90eXBlIGFzIGFuIEV4cHJlc3Npb24gaXMgYXBwcm9wcmlhdGUuIFRoZSBwcm90b3R5cGUgaXMgIntmZWF0OjIsaGludDoicHJvdG9oaW50In0iCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpe3RoaXMucHJvcD0xO3RoaXMuaGludD0iaGludGVkIn07CgpGQUNUT1JZLnByb3RvdHlwZSA9IHtmZWF0OjIsaGludDoicHJvdG9oaW50In07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKX19hY2N1bT0iIjsKCmZvciAodmFyIGtleSBpbiBfX2luc3RhbmNlKXsKCV9fYWNjdW0rPShrZXkgKyBfX2luc3RhbmNlW2tleV0pOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKSkpIHsKCSRFUlJPUignIzE6IChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikhPT0tMSkgewoJJEVSUk9SKCcjMjogX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSA9PT0nKyBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object with custom prototype as an Expression is appropriate. The prototype is \"{feat:2,hint:\"protohint\"}\"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBJdGVyYXRpb25TdGF0ZW1lbnQ6ICJmb3IgKHZhciBWYXJpYWJsZURlY2xhcmF0aW9uTm9JbiBpbiBFeHByZXNzaW9uKSBTdGF0ZW1lbnQiCiAqCiAqIEBwYXRoIGNoMTIvMTIuNi8xMi42LjQvUzEyLjYuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgT2JqZWN0IHdpdGggY3VzdG9tIHByb3RvdHlwZSBhcyBhbiBFeHByZXNzaW9uIGlzIGFwcHJvcHJpYXRlLiBUaGUgcHJvdG90eXBlIGlzICJ7ZmVhdDoyLGhpbnQ6InByb3RvaGludCJ9IgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt0aGlzLnByb3A9MTt0aGlzLmhpbnQ9ImhpbnRlZCJ9OwoKRkFDVE9SWS5wcm90b3R5cGUgPSB7ZmVhdDoyLGhpbnQ6InByb3RvaGludCJ9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCl9fYWNjdW09IiI7Cgpmb3IgKGtleSBpbiBfX2luc3RhbmNlKXsKCV9fYWNjdW0rPShrZXkgKyBfX2luc3RhbmNlW2tleV0pOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKSkpIHsKCSRFUlJPUignIzE6IChfX2FjY3VtLmluZGV4T2YoInByb3AxIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImZlYXQyIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImhpbnRoaW50ZWQiKSE9PS0xKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikhPT0tMSkgewoJJEVSUk9SKCcjMjogX19hY2N1bS5pbmRleE9mKCJoaW50cHJvdG9oaW50IikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSA9PT0nKyBfX2FjY3VtLmluZGV4T2YoImhpbnRwcm90b2hpbnQiKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production IterationStatement: \"for (var VariableDeclarationNoIn in Expression) Statement\"","description":"Using Object with custom prototype as an Expression is appropriate. The prototype is \"{feat:2,hint:\"protohint\"}\"","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBvYmplY3QgYmVpbmcgZW51bWVyYXRlZCBtYXkgYmUgZGVsZXRlZCBkdXJpbmcgZW51bWVyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyAiZm9yIChMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGluIEV4cHJlc3Npb24pIFN0YXRlbWVudCIgY2FzZQogKi8KCl9fb2JqPXthYToxLGJhOjIsY2E6M307CgpfX2FjY3VtPSIiOwoKZm9yIChfX2tleSBpbiBfX29iail7CgkKICAgIGVyYXNhdG9yX1RfMTAwMChfX29iaiwiYiIpOwogIAoJX19hY2N1bSs9KF9fa2V5K19fb2JqW19fa2V5XSk7CgkKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpKSkgewoJJEVSUk9SKCcjMTogKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2FjY3VtLmluZGV4T2YoImJhMiIpIT09LTEpIHsKCSRFUlJPUignIzI6IF9fYWNjdW0uaW5kZXhPZigiYmEyIikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImJhMiIpID09PScrIF9fYWNjdW0uaW5kZXhPZigiYmEyIikgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8gZXJhc2F0b3IgaXMgdGhlIGhhc2ggbWFwIHRlcm1pbmF0b3IKZnVuY3Rpb24gZXJhc2F0b3JfVF8xMDAwKGhhc2hfbWFwLCBjaGFyYWN0cil7Cglmb3IgKGtleSBpbiBoYXNoX21hcCl7CgkJaWYgKGtleS5pbmRleE9mKGNoYXJhY3RyKT09PTApIHsKCQkJZGVsZXRlIGhhc2hfbWFwW2tleV07CgkJfTsKCX0KfQoK","commentary":"Properties of the object being enumerated may be deleted during enumeration","description":"Checking \"for (LeftHandSideExpression in Expression) Statement\" case","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBvYmplY3QgYmVpbmcgZW51bWVyYXRlZCBtYXkgYmUgZGVsZXRlZCBkdXJpbmcgZW51bWVyYXRpb24KICoKICogQHBhdGggY2gxMi8xMi42LzEyLjYuNC9TMTIuNi40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyAiZm9yICh2YXIgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4gaW4gRXhwcmVzc2lvbikgU3RhdGVtZW50IiBjYXNlCiAqLwoKX19vYmo9e2FhOjEsYmE6MixjYTozfTsKCl9fYWNjdW09IiI7Cgpmb3IgKHZhciBfX2tleSBpbiBfX29iail7CgkKICAgIGVyYXNhdG9yX1RfMTAwMChfX29iaiwiYiIpOwogIAoJX19hY2N1bSs9KF9fa2V5K19fb2JqW19fa2V5XSk7CgkKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpKSkgewoJJEVSUk9SKCcjMTogKF9fYWNjdW0uaW5kZXhPZigiYWExIikhPT0tMSkmJihfX2FjY3VtLmluZGV4T2YoImNhMyIpIT09LTEpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2FjY3VtLmluZGV4T2YoImJhMiIpIT09LTEpIHsKCSRFUlJPUignIzI6IF9fYWNjdW0uaW5kZXhPZigiYmEyIikgPT09IC0xLiBBY3R1YWw6ICBfX2FjY3VtLmluZGV4T2YoImJhMiIpID09PScrIF9fYWNjdW0uaW5kZXhPZigiYmEyIikgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8gZXJhc2F0b3IgaXMgdGhlIGhhc2ggbWFwIHRlcm1pbmF0b3IKZnVuY3Rpb24gZXJhc2F0b3JfVF8xMDAwKGhhc2hfbWFwLCBjaGFyYWN0cil7Cglmb3IgKGtleSBpbiBoYXNoX21hcCl7CgkJaWYgKGtleS5pbmRleE9mKGNoYXJhY3RyKT09PTApIHsKCQkJZGVsZXRlIGhhc2hfbWFwW2tleV07CgkJfTsKCX0KfQoK","commentary":"Properties of the object being enumerated may be deleted during enumeration","description":"Checking \"for (var VariableDeclarationNoIn in Expression) Statement\" case","path":"TestCases/ch12/12.6/12.6.4/S12.6.4_A7_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuNy8xMi43LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgY29udGludWUgU3RhdGVtZW50IC0gYSBjb250aW51ZSBzdGF0ZW1lbnQgd2l0aG91dCBhbiBpZGVudGlmaWVyIG1heSBoYXZlIGEgTGluZVRlcm1pbmF0b3IgYmVmb3JlIHRoZSBzZW1pLWNvbG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN1bSA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgIGNvbnRpbnVlDQogICAgICAgICAgICA7DQogICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gc3VtID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The continue Statement - a continue statement without an identifier may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.7/12.7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mIHNpbmdsZSAiY29udGludWUiIHdpdGhvdXQgYW55IEl0ZXJhdGlvblN0YXRlbWVudCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmNvbnRpbnVlOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if execution of single \"continue\" without any IterationStatement fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgc2luZ2xlICJjb250aW51ZSIgd2l0aCBMYWJlbCBidXQgd2l0aG91dCBhbnkgSXRlcmF0aW9uU3RhdGVtZW50IGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCkxBQkVMIDogeD0zLjE0OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeD0xOwpjb250aW51ZSBMQUJFTDsKdmFyIHk9MjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if single \"continue\" with Label but without any IterationStatement fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgbGFiYWxsZWQgImNvbnRpbnVlIiB3aXRoIG5vIEl0ZXJhdGlvblN0YXRlbWVudCwgcGxhY2VkIGludG8gYSBibG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUwgOiB4PTMuMTQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnsKICAgIHZhciB4PTE7CiAgICBjb250aW51ZSBMQUJFTDsKICAgIHZhciB5PTI7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if laballed \"continue\" with no IterationStatement, placed into a block, fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuNy9TMTIuN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJjb250aW51ZSIgd2l0aCBubyBJdGVyYXRpb25TdGF0ZW1lbnQsIHBsYWNlZCBpbnRvIGEgYmxvY2ssIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIGNvbnRpbnVlOwogICAgdmFyIHk9MjsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Appearing of continue without an IterationStatement leads to syntax error","description":"Checking if execution of \"continue\" with no IterationStatement, placed into a block, fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBMaW5lVGVybWluYXRvciBiZXR3ZWVuICJjb250aW51ZSIgYW5kIElkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQsICJjb250aW51ZSIgaXMgZXZhbHVhdGVkIHdpdGhvdXQgbGFiZWwKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsLCBpbnNlcnRpbmcgTGluZVRlcm1pbmF0b3IgYmV0d2VlbiBjb250aW51ZSBhbmQgSWRlbnRpZmllcgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjFORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXHUwMDBBRk9SMTsgfSB3aGlsZSgwKTt9Iik7CglpZiAoaiE9PTIpIHsKCQkkRVJST1IoJyMxOiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTAwMEEpIGJldHdlZW4gY29udGludWUgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgY29udGludWUgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzEuMTogZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjFORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXFx1MDAwQUZPUjE7IH0gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeXsKCWV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXtGT1IyTkVTVEVEIDogZm9yKHZhciBqPTE7ajwyO2orKykgeyBjb250aW51ZVx1MDAwREZPUjI7IH0gd2hpbGUoMCk7fSIpOwoJaWYgKGohPT0yKSB7CgkJJEVSUk9SKCcjMjogU2luY2UgTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIGNvbnRpbnVlIGFuZCBJZGVudGlmaWVyIG5vdCBhbGxvd2VkIGNvbnRpbnVlIGV2YWx1YXRlcyB3aXRob3V0IGxhYmVsJyk7Cgl9Cn0gY2F0Y2goZSl7CgkkRVJST1IoJyMyLjE6IGV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXtGT1IyTkVTVEVEIDogZm9yKHZhciBqPTE7ajwyO2orKykgeyBjb250aW51ZVxcdTAwMERGT1IyOyB9IHdoaWxlKDApO30iKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp0cnl7CglldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7Rk9SM05FU1RFRCA6IGZvcih2YXIgaj0xO2o8MjtqKyspIHsgY29udGludWVcdTIwMjhGT1IzOyB9IHdoaWxlKDApO30iKTsKCWlmIChqIT09MikgewoJCSRFUlJPUignIzM6IFNpbmNlIExpbmVUZXJtaW5hdG9yKFUtMjAyOCkgYmV0d2VlbiBjb250aW51ZSBhbmQgSWRlbnRpZmllciBub3QgYWxsb3dlZCBjb250aW51ZSBldmFsdWF0ZXMgd2l0aG91dCBsYWJlbCcpOwoJfQp9IGNhdGNoKGUpewoJJEVSUk9SKCcjMy4xOiBldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7Rk9SM05FU1RFRCA6IGZvcih2YXIgaj0xO2o8MjtqKyspIHsgY29udGludWVcXHUyMDI4Rk9SMzsgfSB3aGlsZSgwKTt9IikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjRORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXHUyMDI5Rk9SNDsgfSB3aGlsZSgwKTt9Iik7CglpZiAoaiE9PTIpIHsKCQkkRVJST1IoJyM0OiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gY29udGludWUgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgY29udGludWUgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzQuMTogZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspe0ZPUjRORVNURUQgOiBmb3IodmFyIGo9MTtqPDI7aisrKSB7IGNvbnRpbnVlXFx1MjAyOUZPUjQ7IH0gd2hpbGUoMCk7fSIpOyBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgo=","commentary":"Since LineTerminator between \"continue\" and Identifier is not allowed, \"continue\" is evaluated without label","description":"Checking by using eval, inserting LineTerminator between continue and Identifier","path":"TestCases/ch12/12.7/S12.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeWluZyB0byBjb250aW51ZSBhbm90aGVyIGxhYmVsZWQgbG9vcAogKiBAbmVnYXRpdmUKICovCgpMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTA7CkxBQkVMX0RPX0xPT1AgOiBkbyB7CiAgIExBQkVMX0lOIDogeCsrOwogICBpZih4PT09MTApYnJlYWs7CiAgIGNvbnRpbnVlIExBQkVMX0FOT1RIRVJfTE9PUDsKICAgTEFCRUxfSU5fMiA6IHkrKzsKICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KfSB3aGlsZSgwKTsKCkxBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgIDsKfSB3aGlsZSgwKTsKCmZ1bmN0aW9uIE9VVF9GVU5DKCl7fQoK","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Trying to continue another labeled loop","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIElkZW50aWZpZXIgaXMgYSBmdW5jdGlvbiBuYW1lCiAqIEBuZWdhdGl2ZQogKi8KCkxBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgTEFCRUxfSU4gOiB4Kys7CiAgIGlmKHg9PT0xMClicmVhazsKICAgY29udGludWUgSU5fRE9fRlVOQzsKICAgTEFCRUxfSU5fMiA6IHkrKzsKICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KfSB3aGlsZSgwKTsKCkxBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgIDsKfSB3aGlsZSgwKTsKCmZ1bmN0aW9uIE9VVF9GVU5DKCl7fTsKCg==","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Identifier is a function name","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJjb250aW51ZSBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQgSWRlbnRpZmllciBtdXN0IGJlIGxhYmVsIGluIHRoZSBsYWJlbCBzZXQgb2YgYW4gZW5jbG9zaW5nIChidXQgbm90IGNyb3NzaW5nIGZ1bmN0aW9uIGJvdW5kYXJpZXMpIEl0ZXJhdGlvblN0YXRlbWVudAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIElkZW50aWZpZXIgaXMgd2l0aGluIGxvb3AgbGFiZWwKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwoKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgTEFCRUxfSU4gOiB4Kys7CiAgIGlmKHg9PT0xMClicmVhazsKICAgY29udGludWUgTEFCRUxfSU47CiAgIExBQkVMX0lOXzIgOiB5Kys7CiAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KCg==","commentary":"When \"continue Identifier\" is evaluated Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Identifier is within loop label","negative":"","path":"TestCases/ch12/12.7/S12.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsIHRoYXQgaXMgd2l0aGluIGFuIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBsYWJhbGVkICJjb250aW51ZSBJZGVudGlmaWVyIiB3aXRoaW4gYSBmdW5jdGlvbiBib2R5CiAqIEBuZWdhdGl2ZQogKi8KCnZhciB4PTAseT0wOwoKTEFCRUwxIDogZG8gewogICAgeCsrOwogICAgKGZ1bmN0aW9uKCl7Y29udGludWUgTEFCRUwxO30pKCk7CiAgICB5Kys7Cn0gd2hpbGUoMCk7Cgo=","commentary":"Appearing of \"continue\" within a function call that is within an IterationStatement yields SyntaxError","description":"Using labaled \"continue Identifier\" within a function body","negative":"","path":"TestCases/ch12/12.7/S12.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgY29udGludWUgd2l0aGluIGV2YWwgc3RhdGVtZW50IHRoYXQgaXMgd2l0aGluIGFuIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyBldmFsICJldmFsKCJjb250aW51ZSBMQUJFTDEiKSIKICovCgp2YXIgeD0wLHk9MDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJTEFCRUwxIDogZG8gewogICAgICAgIHgrKzsKICAgICAgICBldmFsKCJjb250aW51ZSBMQUJFTDEiKTsKICAgICAgICB5Kys7CiAgICB9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogZXZhbCgiY29udGludWUgTEFCRUwxIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCIxLjE6IEFwcGVhcmluZyBvZiBjb250aW51ZSB3aXRoaW4gZXZhbCBzdGF0ZW1lbnQgaW5zaWRlIG9mIEl0ZXJhdGlvblN0YXRlbWVudCB5aWVsZHMgU3ludGF4RXJyb3IiKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of continue within eval statement that is within an IterationStatement yields SyntaxError","description":"Using eval \"eval(\"continue LABEL1\")\"","path":"TestCases/ch12/12.7/S12.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSAidHJ5L2NhdGNoIiBCbG9jayB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNvbnRpbnVlIElkZW50aWZpZXIiIHdpdGhpbiBjYXRjaCBCbG9jayBmYWlscwogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJY29udGludWUgTEFCRUwyOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9OwoK","commentary":"Appearing of \"continue\" within a \"try/catch\" Block yields SyntaxError","description":"Checking if execution of \"continue Identifier\" within catch Block fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImNvbnRpbnVlIiB3aXRoaW4gYSAidHJ5L2NhdGNoIiBCbG9jayB5aWVsZHMgU3ludGF4RXJyb3IKICoKICogQHBhdGggY2gxMi8xMi43L1MxMi43X0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgImNvbnRpbnVlIiB3aXRoaW4gY2F0Y2ggQmxvY2sgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHg9MCx5PTA7Cgp0cnl7CglMQUJFTDEgOiBkbyB7CgkJeCsrOwoJCXRocm93ICJnb25uYSBsZWF2ZSBpdCI7CgkJeSsrOwoJfSB3aGlsZSgwKTsKCSRFUlJPUignIzE6IHRocm93ICJnb25uYSBsZWF2ZSBpdCIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWNvbnRpbnVlOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9OwoK","commentary":"Appearing of \"continue\" within a \"try/catch\" Block yields SyntaxError","description":"Checking if execution of \"continue\" within catch Block fails","negative":"","path":"TestCases/ch12/12.7/S12.7_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb250aW51ZSBpbnNpZGUgb2YgdHJ5LWNhdGNoIG5lc3RlZCBpbiBhIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTlfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJjb250aW51ZSBJZGVudGlmaWVyIiB3aXRoaW4gY2F0Y2ggQmxvY2sgdGhhdCBpcyB3aXRoaW4gYSBsb29wCiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQljb250aW51ZSBGT1I7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MTApIHsKCSRFUlJPUignIzE6IENvbnRpbnVlIGluc2lkZSBvZiB0cnktY2F0Y2ggbmVzdGVkIGluIGxvb3AgaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Continue inside of try-catch nested in a loop is allowed","description":"Using \"continue Identifier\" within catch Block that is within a loop","path":"TestCases/ch12/12.7/S12.7_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb250aW51ZSBpbnNpZGUgb2YgdHJ5LWNhdGNoIG5lc3RlZCBpbiBhIGxvb3AgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEyLzEyLjcvUzEyLjdfQTlfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJjb250aW51ZSIgd2l0aGluIGNhdGNoIEJsb2NrIHRoYXQgaXMgd2l0aGluIGEgbG9vcAogKi8KCnZhciB4PTAseT0wOwoKKGZ1bmN0aW9uKCl7CkZPUiA6IGZvcig7Oyl7Cgl0cnl7CgkJeCsrOwoJCWlmKHg9PT0xMClyZXR1cm47CgkJdGhyb3cgMTsKCX0gY2F0Y2goZSl7CgkJY29udGludWU7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MTApIHsKCSRFUlJPUignIzE6IENvbnRpbnVlIGluc2lkZSBvZiB0cnktY2F0Y2ggbmVzdGVkIGluIGxvb3AgaXMgYWxsb3dlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Continue inside of try-catch nested in a loop is allowed","description":"Using \"continue\" within catch Block that is within a loop","path":"TestCases/ch12/12.7/S12.7_A9_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuOC8xMi44LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgYnJlYWsgU3RhdGVtZW50IC0gYSBicmVhayBzdGF0ZW1lbnQgd2l0aG91dCBhbiBpZGVudGlmaWVyIG1heSBoYXZlIGEgTGluZVRlcm1pbmF0b3IgYmVmb3JlIHRoZSBzZW1pLWNvbG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN1bSA9IDA7DQogICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgIGlmIChpID09PSA2KSB7DQogICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gc3VtID09PSAxNTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The break Statement - a break statement without an identifier may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.8/12.8-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgc3RhdGVtZW50IHdpdGggbm8gbG9vcCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmJyZWFrOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break statement with no loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgSWRlbnRpZmllciB3aXRoIG5vIGxvb3AgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKTEFCRUwgOiB4PTMuMTQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CmJyZWFrIExBQkVMOwp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break Identifier with no loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgc3RhdGVtZW50IHdpdGggbm8gbG9vcCwgcGxhY2VkIGludG8gYSBibG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp7CiAgICB2YXIgeD0xOwogICAgYnJlYWs7CiAgICB2YXIgeT0yOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break statement with no loop, placed into a block, fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgYnJlYWsgd2l0aG91dCBhbiBJdGVyYXRpb25TdGF0ZW1lbnQgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWsgSWRlbnRpZmllciB3aXRoIG5vIGxvb3AsIHBsYWNlZCBpbnRvIGEgIGJsb2NrLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgpMQUJFTCA6IHg9My4xNDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIGJyZWFrIExBQkVMOwogICAgdmFyIHk9MjsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of break without an IterationStatement leads to syntax error","description":"Checking if break Identifier with no loop, placed into a block, fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBMaW5lVGVybWluYXRvciBiZXR3ZWVuICJicmVhayIgYW5kIElkZW50aWZpZXIgaXMgbm90IGFsbG93ZWQsICJicmVhayIgaXMgZXZhbHVhdGVkIHdpdGhvdXQgbGFiZWwKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsLCBpbnNlcnRpbmcgTGluZVRlcm1pbmF0b3IgYmV0d2VlbiBicmVhayBhbmQgSWRlbnRpZmllcgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDEgOiBkbyB7dmFyIHggPTE7YnJlYWtcdTAwMEFGT1IxO3ZhciB5PTI7fSB3aGlsZSgwKTt9Iik7CglpZiAoaSE9PTIpIHsKCQkkRVJST1IoJyMxOiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTAwMEEpIGJldHdlZW4gYnJlYWsgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgYnJlYWsgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzEuMTogZXZhbCgiRk9SMSA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDEgOiBkbyB7dmFyIHggPTE7YnJlYWtcXHUwMDBBRk9SMTt2YXIgeT0yO30gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeXsKCWV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXsgTEFCRUwyIDogZG8ge3ZhciB4ID0xO2JyZWFrXHUwMDBERk9SMjt2YXIgeT0yO30gd2hpbGUoMCk7fSIpOwoJaWYgKGkhPT0yKSB7CgkJJEVSUk9SKCcjMjogU2luY2UgTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIGJyZWFrIGFuZCBJZGVudGlmaWVyIG5vdCBhbGxvd2VkIGJyZWFrIGV2YWx1YXRlcyB3aXRob3V0IGxhYmVsJyk7Cgl9Cn0gY2F0Y2goZSl7CgkkRVJST1IoJyMyLjE6IGV2YWwoIkZPUjIgOiBmb3IodmFyIGk9MTtpPDI7aSsrKXsgTEFCRUwyIDogZG8ge3ZhciB4ID0xO2JyZWFrXFx1MDAwREZPUjI7dmFyIHk9Mjt9IHdoaWxlKDApO30iKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp0cnl7CglldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7IExBQkVMMyA6IGRvIHt2YXIgeCA9MTticmVha1x1MjAyOEZPUjM7dmFyIHk9Mjt9IHdoaWxlKDApO30iKTsKCWlmIChpIT09MikgewoJCSRFUlJPUignIzM6IFNpbmNlIExpbmVUZXJtaW5hdG9yKFUtMjAyOCkgYmV0d2VlbiBicmVhayBhbmQgSWRlbnRpZmllciBub3QgYWxsb3dlZCBicmVhayBldmFsdWF0ZXMgd2l0aG91dCBsYWJlbCcpOwoJfQp9IGNhdGNoKGUpewoJJEVSUk9SKCcjMy4xOiBldmFsKCJGT1IzIDogZm9yKHZhciBpPTE7aTwyO2krKyl7IExBQkVMMyA6IGRvIHt2YXIgeCA9MTticmVha1xcdTIwMjhGT1IzO3ZhciB5PTI7fSB3aGlsZSgwKTt9IikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDQgOiBkbyB7dmFyIHggPTE7YnJlYWtcdTIwMjlGT1I0O3ZhciB5PTI7fSB3aGlsZSgwKTt9Iik7CglpZiAoaSE9PTIpIHsKCQkkRVJST1IoJyM0OiBTaW5jZSBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gYnJlYWsgYW5kIElkZW50aWZpZXIgbm90IGFsbG93ZWQgYnJlYWsgZXZhbHVhdGVzIHdpdGhvdXQgbGFiZWwnKTsKCX0KfSBjYXRjaChlKXsKCSRFUlJPUignIzQuMTogZXZhbCgiRk9SNCA6IGZvcih2YXIgaT0xO2k8MjtpKyspeyBMQUJFTDQgOiBkbyB7dmFyIHggPTE7YnJlYWtcXHUyMDI5Rk9SNDt2YXIgeT0yO30gd2hpbGUoMCk7fSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"Since LineTerminator between \"break\" and Identifier is not allowed, \"break\" is evaluated without label","description":"Checking by using eval, inserting LineTerminator between break and Identifier","path":"TestCases/ch12/12.8/S12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayIgaXMgZXZhbHVhdGVkLCAoYnJlYWssIGVtcHR5LCBlbXB0eSkgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiYnJlYWsiIHdpdGhvdXQgSWRlbnRpZmllciB3aXRoaW4gbGFiZWxlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwoKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeD0yOwogICAgYnJlYWsgOwogICAgTEFCRUxfSU5fMiA6IHZhciB5PTI7CiAgICAKICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MikmJih5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDIgYW5kIHkgPT09IDAuIEFjdHVhbDogIHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"break\" is evaluated, (break, empty, empty) is returned","description":"Using \"break\" without Identifier within labeled loop","path":"TestCases/ch12/12.8/S12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgImJyZWFrIElkZW50aWZpZXIiIHdpdGhpbiBsYWJhZWxlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wOwooZnVuY3Rpb24oKXsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeCsrOwogICAgaWYoeD09PTEwKXJldHVybjsKICAgIGJyZWFrIExBQkVMX0RPX0xPT1A7CiAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgCiAgICBmdW5jdGlvbiBJTl9ET19GVU5DKCl7fQp9IHdoaWxlKDApOwoKTEFCRUxfQU5PVEhFUl9MT09QIDogZG8gewogICAgOwp9IHdoaWxlKDApOwoKZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MSkmJih5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDAuIEFjdHVhbDogIHggPT09ICcreCsnIGFuZCB5ID09PScrIHkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using \"break Identifier\" within labaeled loop","path":"TestCases/ch12/12.8/S12.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZW1iZWRkZWQgYW5kIGxhYmVsZWQgbG9vcHMsIGJyZWFraW5nIHRvIG5lc3RlZCBsb29wCiAqLwoKTEFCRUxfT1VUIDogdmFyIHg9MCwgeT0wLCB4eD0wLCB5eT0wOwooZnVuY3Rpb24oKXsKTEFCRUxfRE9fTE9PUCA6IGRvIHsKICAgIExBQkVMX0lOIDogeCsrOwogICAgaWYoeD09PTEwKXJldHVybjsKICAgIExBQkVMX05FU1RFRF9MT09QIDogZG8gewogICAgICAgIExBQkVMX0lOX05FU1RFRCA6IHh4Kys7CiAgICAgICAgaWYoeHg9PT0xMClyZXR1cm47CiAgICAgICAgYnJlYWsgTEFCRUxfTkVTVEVEX0xPT1A7CiAgICAgICAgTEFCRUxfSU5fTkVTVEVEXzIgOiB5eSsrOwogICAgfSB3aGlsZSAoMCk7CiAgICAKICAgIExBQkVMX0lOXzIgOiB5Kys7CiAgICAKICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9Cn0gd2hpbGUoMCk7CgpMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICA7Cn0gd2hpbGUoMCk7CgpmdW5jdGlvbiBPVVRfRlVOQygpe30KfSkoKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKHghPT0xKSYmKHkhPT0xKSYmKHh4IT09MSkmKHl5IT09MCkpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDEgYW5kIHh4ID09PSAxIGFuZCB5eSA9PT0gMC4gQWN0dWFsOiAgeD09PScreCsnIGFuZCB5PT09Jyt5KycgYW5kIHh4PT09Jyt4eCsnIGFuZCB5eT09PScreXkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using embedded and labeled loops, breaking to nested loop","path":"TestCases/ch12/12.8/S12.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJicmVhayBJZGVudGlmaWVyIiBpcyBldmFsdWF0ZWQsIChicmVhaywgZW1wdHksIElkZW50aWZpZXIpIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgZW1iZWRkZWQgYW5kIGxhYmVsZWQgbG9vcHMsIGJyZWFraW5nIHRvIG91dGVyIGxvb3AKICovCgpMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTAsIHh4PTAsIHl5PTA7CihmdW5jdGlvbigpewpMQUJFTF9ET19MT09QIDogZG8gewogICAgTEFCRUxfSU4gOiB4Kys7CiAgICBpZih4PT09MTApcmV0dXJuOwogICAgTEFCRUxfTkVTVEVEX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU5fTkVTVEVEIDogeHgrKzsKICAgICAgICBpZih4eD09PTEwKXJldHVybjsKICAgICAgICBicmVhayBMQUJFTF9ET19MT09QOwogICAgICAgIExBQkVMX0lOX05FU1RFRF8yIDogeXkrKzsKICAgIH0gd2hpbGUgKDApOwogICAgCiAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgCiAgICBmdW5jdGlvbiBJTl9ET19GVU5DKCl7fQp9IHdoaWxlKDApOwoKTEFCRUxfQU5PVEhFUl9MT09QIDogZG8gewogICAgOwp9IHdoaWxlKDApOwoKZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCh4IT09MSkmJih5IT09MCkmJih4eCE9PTEpJih5eSE9PTApKSB7CgkkRVJST1IoJyMxOiB4ID09PSAxIGFuZCB5ID09PSAwIGFuZCB4eCA9PT0gMSBhbmQgeXkgPT09IDAuIEFjdHVhbDogIHg9PT0nK3grJyBhbmQgeT09PScreSsnIGFuZCB4eD09PScreHgrJyBhbmQgeXk9PT0nK3l5ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"break Identifier\" is evaluated, (break, empty, Identifier) is returned","description":"Using embedded and labeled loops, breaking to outer loop","path":"TestCases/ch12/12.8/S12.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgYnJlYWtpbmcgYW5vdGhlciBsYWJlbGVkIGxvb3AgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKKGZ1bmN0aW9uKCl7CiAgICBMQUJFTF9PVVQgOiB2YXIgeD0wLCB5PTA7CiAgICBMQUJFTF9ET19MT09QIDogZG8gewogICAgICAgIExBQkVMX0lOIDogeCsrOwogICAgICAgIGlmKHg9PT0xMCkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIGJyZWFrIExBQkVMX0FOT1RIRVJfTE9PUDsKICAgICAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICAgICAgOwogICAgfSB3aGlsZSgwKTsKICAgIAogICAgZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Cgo=","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if breaking another labeled loop fails","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgZnVuY3Rpb24gbmFtZSBhcyBhbiBJZGVudGlmaWVyIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgooZnVuY3Rpb24oKXsKICAgIExBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKICAgIExBQkVMX0RPX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU4gOiB4Kys7CiAgICAgICAgaWYoeD09PTEwKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgYnJlYWsgSU5fRE9fRlVOQzsKICAgICAgICBMQUJFTF9JTl8yIDogeSsrOwogICAgICAgIGZ1bmN0aW9uIElOX0RPX0ZVTkMoKXt9CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBMQUJFTF9BTk9USEVSX0xPT1AgOiBkbyB7CiAgICAgICAgOwogICAgfSB3aGlsZSgwKTsKICAgIAogICAgZnVuY3Rpb24gT1VUX0ZVTkMoKXt9Cn0pKCk7Cgo=","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if using function name as an Identifier appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZGVudGlmaWVyIG11c3QgYmUgbGFiZWwgaW4gdGhlIGxhYmVsIHNldCBvZiBhbiBlbmNsb3NpbmcgKGJ1dCBub3QgY3Jvc3NpbmcgZnVuY3Rpb24gYm91bmRhcmllcykgSXRlcmF0aW9uU3RhdGVtZW50CiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgaW50ZXJuYWwgbG9vcCBsYWJlbCBhcyBhbiBJZGVudGlmaWVyIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgooZnVuY3Rpb24oKXsKICAgIExBQkVMX09VVCA6IHZhciB4PTAsIHk9MDsKICAgIExBQkVMX0RPX0xPT1AgOiBkbyB7CiAgICAgICAgTEFCRUxfSU4gOiB4Kys7CiAgICAgICAgaWYoeD09PTEwKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgYnJlYWsgTEFCRUxfSU47CiAgICAgICAgTEFCRUxfSU5fMiA6IHkrKzsKCiAgICAgICAgZnVuY3Rpb24gSU5fRE9fRlVOQygpe30KICAgICAgICAKICAgIH0gd2hpbGUoMCk7CiAgICAKICAgIExBQkVMX0FOT1RIRVJfTE9PUCA6IGRvIHsKICAgICAgICA7CiAgICB9IHdoaWxlKDApOwogICAgCiAgICBmdW5jdGlvbiBPVVRfRlVOQygpe30KICAgIAp9KSgpOwoK","commentary":"Identifier must be label in the label set of an enclosing (but not crossing function boundaries) IterationStatement","description":"Checking if using internal loop label as an Identifier appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsIHRoYXQgaXMgbmVzdGVkIGluIGEgSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjgvUzEyLjhfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJicmVhayBJZGVudGlmaWVyIiB3aXRoaW4gYSBmdW5jdGlvbiBib2R5IGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCkxBQkVMMSA6IGRvIHsKICAgIHgrKzsKICAgIChmdW5jdGlvbigpe2JyZWFrIExBQkVMMTt9KSgpOwogICAgeSsrOwp9IHdoaWxlKDApOwoK","commentary":"Appearing of \"break\" within a function call that is nested in a IterationStatement yields SyntaxError","description":"Checking if using \"break Identifier\" within a function body appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gZXZhbCBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYW4gSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvcgogKgogKiBAcGF0aCBjaDEyLzEyLjgvUzEyLjhfQTcuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGV2YWwgImV2YWwoImJyZWFrIExBQkVMMSIpIgogKi8KCnZhciB4PTAseT0wOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglMQUJFTDEgOiBkbyB7CiAgICAgICAgeCsrOwogICAgICAgIGV2YWwoImJyZWFrIExBQkVMMSIpOwogICAgICAgIHkrKzsKICAgIH0gd2hpbGUoMCk7CgkkRVJST1IoJyMxOiBldmFsKCJicmVhayBMQUJFTDEiKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoIjEuMTogQXBwZWFyaW5nIG9mIGJyZWFrIHdpdGhpbiBldmFsIHN0YXRlbWVudCBpbnNpZGUgb2YgSXRlcmF0aW9uU3RhdGVtZW50IHlpZWxkcyBTeW50YXhFcnJvciIpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"break\" within eval statement that is nested in an IterationStatement yields SyntaxError","description":"Using eval \"eval(\"break LABEL1\")\"","path":"TestCases/ch12/12.8/S12.8_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gInRyeS9jYXRjaCIgQmxvY2sgeWllbGRzIFN5bnRheEVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgImJyZWFrIElkZW50aWZpZXIiIGZyb20gd2l0aGluIGNhdGNoIEJsb2NrIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJYnJlYWsgTEFCRUwyOwoJTEFCRUwyIDogZG8gewoJCXgrKzsKCQl5Kys7Cgl9IHdoaWxlKDApOwp9CgoK","commentary":"Appearing of \"break\" within \"try/catch\" Block yields SyntaxError","description":"Checking if using \"break Identifier\" from within catch Block appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgImJyZWFrIiB3aXRoaW4gInRyeS9jYXRjaCIgQmxvY2sgeWllbGRzIFN5bnRheEVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOC9TMTIuOF9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgImJyZWFrIElkZW50aWZpZXIiIGZyb20gd2l0aGluIGNhdGNoIEJsb2NrIGFwcGVhcnMgdG8gYmUgaW52YWxpZAogKiBAbmVnYXRpdmUKICovCgp2YXIgeD0wLHk9MDsKCnRyeXsKCUxBQkVMMSA6IGRvIHsKCQl4Kys7CgkJdGhyb3cgImdvbm5hIGxlYXZlIGl0IjsKCQl5Kys7Cgl9IHdoaWxlKDApOwoJJEVSUk9SKCcjMTogdGhyb3cgImdvbm5hIGxlYXZlIGl0IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJYnJlYWs7CglMQUJFTDIgOiBkbyB7CgkJeCsrOwoJCXkrKzsKCX0gd2hpbGUoMCk7Cn0KCgo=","commentary":"Appearing of \"break\" within \"try/catch\" Block yields SyntaxError","description":"Checking if using \"break Identifier\" from within catch Block appears to be invalid","negative":"","path":"TestCases/ch12/12.8/S12.8_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAiYnJlYWsiIHdpdGhpbiAidHJ5L2NhdGNoIiBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYSBsb29wIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0E5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY29udGludWUgSWRlbnRpZmllciIgd2l0aGluICJjYXRjaCIgc3RhdGVtZW50CiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQlicmVhayBGT1I7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSkgewoJJEVSUk9SKCcjMTogYnJlYWsgaW5zaWRlIG9mIHRyeS1jYXRjaCBuZXN0ZWQgaW4gbG9vcCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Using \"break\" within \"try/catch\" statement that is nested in a loop is allowed","description":"Using \"continue Identifier\" within \"catch\" statement","path":"TestCases/ch12/12.8/S12.8_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyAiYnJlYWsiIHdpdGhpbiAidHJ5L2NhdGNoIiBzdGF0ZW1lbnQgdGhhdCBpcyBuZXN0ZWQgaW4gYSBsb29wIGlzIGFsbG93ZWQKICoKICogQHBhdGggY2gxMi8xMi44L1MxMi44X0E5X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiY29udGludWUgSWRlbnRpZmllciIgd2l0aGluICJjYXRjaCIgc3RhdGVtZW50CiAqLwoKdmFyIHg9MCx5PTA7CgooZnVuY3Rpb24oKXsKRk9SIDogZm9yKDs7KXsKCXRyeXsKCQl4Kys7CgkJaWYoeD09PTEwKXJldHVybjsKCQl0aHJvdyAxOwoJfSBjYXRjaChlKXsKCQlicmVhayA7Cgl9CQp9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSkgewoJJEVSUk9SKCcjMTogYnJlYWsgaW5zaWRlIG9mIHRyeS1jYXRjaCBuZXN0ZWQgaW4gbG9vcCBpcyBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Using \"break\" within \"try/catch\" statement that is nested in a loop is allowed","description":"Using \"continue Identifier\" within \"catch\" statement","path":"TestCases/ch12/12.8/S12.8_A9_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTIvMTIuOS8xMi45LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgcmV0dXJuIFN0YXRlbWVudCAtIGEgcmV0dXJuIHN0YXRlbWVudCB3aXRob3V0IGFuIGV4cHJlc3Npb24gbWF5IGhhdmUgYSBMaW5lVGVybWluYXRvciBiZWZvcmUgdGhlIHNlbWktY29sb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3VtID0gMDsNCiAgICAgICAgKGZ1bmN0aW9uIGlubmVyVGVzdCgpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IDEwOyBpKyspIHsNCiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gNikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgICAgICAgICAgOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBzdW0gKz0gaTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkoKTsNCiAgICAgICAgcmV0dXJuIHN1bSA9PT0gMTU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The return Statement - a return statement without an expression may have a LineTerminator before the semi-colon","path":"TestCases/ch12/12.9/12.9-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24gZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgeD0xOwpyZXR1cm47CnZhciB5PTI7Cgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAicmV0dXJuICgwKSIgd2l0aCBubyBmdW5jdGlvbiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnJldHVybiAoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return (0)\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4PTE7CnJldHVybiB4Owp2YXIgeT0yOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGhpbiAidHJ5IiBzdGF0ZW1lbnQgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogICAgcmV0dXJuIDE7Cn0gY2F0Y2goZSl7CiAgICByZXR1cm4gMTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" within \"try\" statement fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24gZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpyZXR1cm47Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24sIHBsYWNlZCBpbnRvIGEgQmxvY2ssIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKewogICAgdmFyIHg9MTsKICAgIHJldHVybjsKICAgIHZhciB5PTI7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function, placed into a Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iIHdpdGggbm8gZnVuY3Rpb24sIHBsYWNlZCBpbnRvIGEgbG9vcCwgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpkbyB7CiAgICB2YXIgeD0xOwogICAgcmV0dXJuOwogICAgdmFyIHk9MjsKfSB3aGlsZSgwKTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\" with no function, placed into a loop, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiwgcGxhY2VkIGluc2lkZSBCbG9jaywgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp7CiAgICB2YXIgeD0xOwogICAgcmV0dXJuIHg7CiAgICB2YXIgeT0yOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed inside Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4geCIgd2l0aCBubyBmdW5jdGlvbiwgcGxhY2VkIGludG8gYSBsb29wLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmRvIHsKICAgIHZhciB4PTE7CiAgICByZXR1cm4geDsKICAgIHZhciB5PTI7Cn0gd2hpbGUoMCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed into a loop, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBlYXJpbmcgb2YgInJldHVybiIgd2l0aG91dCBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gc3ludGF4IGVycm9yCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJyZXR1cm4iLCBwbGFjZWQgaW50byBhIGNhdGNoIEJsb2NrLCBmYWlscwogKiBAbmVnYXRpdmUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB0aHJvdyAxOwp9IGNhdGNoKGUpewogICAgcmV0dXJuIGU7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\", placed into a catch Block, fails","negative":"","path":"TestCases/ch12/12.9/S12.9_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMaW5lVGVybWluYXRvciBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0CiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgaW5zZXJ0aW5nIExpbmVUZXJtaW5hdG9yIGJldHdlZW4gcmV0dXJuIGFuZCBWYXJpYWJsZQogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgaWYgKGV2YWwoIihmdW5jdGlvbigpe3ZhciB4ID0gMTtyZXR1cm5cdTAwMEF4O3ZhciB5PTI7fSkoKSIpICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUigiIzE6IExpbmVUZXJtaW5hdG9yKFUtMDAwQSkgYmV0d2VlbiByZXR1cm4gYW5kIElkZW50aWZpZXJfb3B0IHlpZWxkcyByZXR1cm4gd2l0aG91dCBJZGVudGlmaWVyX29wdCIpOwkgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMxOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MDAwQXg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyMyCnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPSAxO3JldHVyblx1MDAwRHg7dmFyIHk9Mjt9KSgpIikgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCIjMTogTGluZVRlcm1pbmF0b3IoVS0wMDBEKSBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0Iik7ICAgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMyOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MDAwRHg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyMzCnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPSAxO3JldHVyblx1MjAyOHg7dmFyIHk9Mjt9KSgpIikgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCIjMTogTGluZVRlcm1pbmF0b3IoVS0yMDI4KSBiZXR3ZWVuIHJldHVybiBhbmQgSWRlbnRpZmllcl9vcHQgeWllbGRzIHJldHVybiB3aXRob3V0IElkZW50aWZpZXJfb3B0Iik7ICAgIAogIH0KfSBjYXRjaChlKXsKICAkRVJST1IoJyMzOiBldmFsKCIoZnVuY3Rpb24oKXt2YXIgeCA9IDE7cmV0dXJuXFx1MjAyOHg7dmFyIHk9Mjt9KSgpIikgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfQoKCgoKLy9DSEVDSyM0CnRyeXsKICBpZiAoZXZhbCgiKGZ1bmN0aW9uKCl7dmFyIHggPTE7cmV0dXJuXHUyMDI5eDt2YXIgeT0yO30pKCkiKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMxOiBMaW5lVGVybWluYXRvcihVLTIwMjkpIGJldHdlZW4gcmV0dXJuIGFuZCBJZGVudGlmaWVyX29wdCB5aWVsZHMgcmV0dXJuIHdpdGhvdXQgSWRlbnRpZmllcl9vcHQiKTsgICAgCiAgfQp9IGNhdGNoKGUpewogICRFUlJPUignIzQ6IGV2YWwoIihmdW5jdGlvbigpe3ZhciB4ID0xO3JldHVyblxcdTIwMjl4O3ZhciB5PTI7fSkoKSIpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KCg==","commentary":"LineTerminator between return and Identifier_opt yields return without Identifier_opt","description":"Checking by using eval, inserting LineTerminator between return and Variable","path":"TestCases/ch12/12.9/S12.9_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBFeHByZXNzaW9uIGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gdmFsdWUgaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BMy5qcwogKiBAZGVzY3JpcHRpb24gUmV0dXJuIHdpdGhvdXQgRXhwcmVzc2lvbgogKi8KCl9fZXZhbHVhdGVkID0gKGZ1bmN0aW9uICgpe3JldHVybjt9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19ldmFsdWF0ZWQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogSWYgRXhwcmVzc2lvbiBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If Expression is omitted, the return value is undefined","description":"Return without Expression","path":"TestCases/ch12/12.9/S12.9_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBSZXR1cm5TdGF0ZW1lbnQgOiByZXR1cm4gRXhwcmVzc2lvbjsgaXMgZXZhbHVhdGVkIGFzOgogKiBpKSAgIEV2YWx1YXRlIEV4cHJlc3Npb24uCiAqIGlpKSAgQ2FsbCBHZXRWYWx1ZShSZXN1bHQoMikpLgogKiBpaWkpIFJldHVybiAocmV0dXJuLCBSZXN1bHQoMyksIGVtcHR5KQogKgogKiBAcGF0aCBjaDEyLzEyLjkvUzEyLjlfQTQuanMKICogQGRlc2NyaXB0aW9uIFJldHVybiB2ZXJ5IHNvcGhpc3RpY2F0ZWQgZXhwcmVzc2lvbiBhbmQgZnVuY3Rpb24KICovCgovLyBzZWNvbmQgZGVyaXZhdGl2ZSAKZnVuY3Rpb24gRERfb3BlcmF0b3IoZiwgZGVsdGEpe3JldHVybiBmdW5jdGlvbih4KXtyZXR1cm4gKGYoeCtkZWx0YSktMipmKHgpK2YoeC1kZWx0YSkpLyhkZWx0YSpkZWx0YSl9O30KCkREc2luID0gRERfb3BlcmF0b3IoTWF0aC5zaW4sIDAuMDAwMDEpOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy8gKChzaW4oeCkpJyknID0gLXNpbih4KQppZiAoRERzaW4oIE1hdGguUEkvMiApICsgTWF0aC5zaW4oIE1hdGguUEkvMiApID4gMC4wMDAwMSkgewoJJEVSUk9SKCcjMTogcmV0dXJuIEV4cHJlc3Npb24geWllbGRzIHRvIFJldHVybiAocmV0dXJuLCBHZXRWYWx1ZShFdmFsdWF0ZSBFeHByZXNzaW9uKSwgZW1wdHkpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production ReturnStatement : return Expression; is evaluated as:\ni) Evaluate Expression.\nii) Call GetValue(Result(2)).\niii) Return (return, Result(3), empty)","description":"Return very sophisticated expression and function","path":"TestCases/ch12/12.9/S12.9_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb2RlIGFmdGVyIFJldHVyblN0YXRlbWVudCBpcyBub3QgZXZhbHVhdGVkCiAqCiAqIEBwYXRoIGNoMTIvMTIuOS9TMTIuOV9BNS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgY29kZSBhZnRlciBSZXR1cm4gc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnZhciB4MT0xOwpmdW5jdGlvbiBteWZ1bmMxKCl7Cgl4MSsrOwoJcmV0dXJuOwoJeDEqPTI7Cn0KbXlmdW5jMSgpOwppZiAoeDEhPT0yKSAkRVJST1IoJyMxOiB4MSA9PT0gMi4gQWN0dWFsOiAgeDEgPT09JysgeDEgICk7CgovL0NIRUNLIzIKdmFyIHgyPTE7CmZ1bmN0aW9uIG15ZnVuYzIoKXsKICB4MisrOwogIHJldHVybiB4MjsKICB4Mio9MjsKfQpteWZ1bmMyKCk7CmlmICh4MiE9PTIpICRFUlJPUignIzI6IHgyID09PSAyLiBBY3R1YWw6ICB4MiA9PT0nKyB4MiAgKTsKCi8vQ0hFQ0sjMwp2YXIgeDM9MTsKZnVuY3Rpb24gbXlmdW5jMygpewogIHgzKys7CiAgcmV0dXJuOwogIHJldHVybiB4MzsKICB4Myo9MjsKfQppZiAobXlmdW5jMygpIT09dW5kZWZpbmVkKSAkRVJST1IoJyMzOiBteWZ1bmMzKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgbXlmdW5jMygpID09PScrIG15ZnVuYzMoKSAgKTsKCg==","commentary":"Code after ReturnStatement is not evaluated","description":"Using code after Return statement","path":"TestCases/ch12/12.9/S12.9_A5.js"}]}} \ No newline at end of file diff --git a/website/json/ch13.json b/website/json/ch13.json index 3b70be271..b5b156b2e 100644 --- a/website/json/ch13.json +++ b/website/json/ch13.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch13","numTests":"200","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCB0d28gZnVuY3Rpb24gbmFtZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24geCwgeSgpIHt9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, two function names","path":"TestCases/ch13/13.0/13.0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGNvZGUgb2YgdGhpcyBGdW5jdGlvbkJvZHkgd2l0aCBhbiBpbm5lciBmdW5jdGlvbiBjb250YWlucyBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEzXzBfMTBfZnVuKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gXzEzXzBfMTBfaW5uZXIoKSB7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIGV2YWwoImV2YWwgPSA0MjsiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF8xM18wXzEwX2lubmVyKCk7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfMTNfMF8xMF9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function contains a Use Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGNvZGUgb2YgdGhpcyBGdW5jdGlvbkJvZHkgd2l0aCBhbiBpbm5lciBmdW5jdGlvbiB3aGljaCBpcyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIF8xM18wXzExX2Z1bigpIHsNCiAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIGZ1bmN0aW9uIF8xM18wXzExX2lubmVyKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoImV2YWwgPSA0MjsiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF8xM18wXzExX2lubmVyKCk7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfMTNfMF8xMV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function which is in strict mode","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIG5vdCBldmFsdWF0ZWQgYXMgc3RyaWN0IG1vZGUgY29kZSB3aGVuIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBib2R5IGlzIG5vdCBzdHJpY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBfMTNfMF8xMl9mdW4gPSBuZXcgRnVuY3Rpb24oIiAiLCJldmFsID0gNDI7Iik7DQogICAgICAgIF8xM18wXzEyX2Z1bigpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code and the function constructor body is not strict","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGZ1bmN0aW9uIGJvZHkgb2YgYSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBiZWdpbnMgd2l0aCBhIFN0cmljdCBEaXJlY3RpdmUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMF8xM19mdW4gPSBuZXcgRnVuY3Rpb24oXCIgXCIsIFwiJ3VzZSBzdHJpY3QnOyBldmFsID0gNDI7XCIpOyBfMTNfMF8xM19mdW4oKTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor begins with a Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGZ1bmN0aW9uIGJvZHkgb2YgYSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBhIFN0cmljdCBEaXJlY3RpdmUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIF8xM18wXzE0X2Z1biA9IG5ldyBGdW5jdGlvbigiICIsICIndXNlIHN0cmljdCc7IGV2YWwgPSA0MjsgIik7DQogICAgICAgICAgICBfMTNfMF8xNF9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor contains a Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdpdGhpbiBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTNfMF8xNV9mdW4oKSB7ZXZhbCA9IDQyO307Iik7DQogICAgICAgICAgICBfMTNfMF8xNV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2l0aGluIGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IHZhciBfMTNfMF8xNl9mdW4gPSBmdW5jdGlvbiAoKSB7ZXZhbCA9IDQyO307Iik7DQogICAgICAgICAgICBfMTNfMF8xNl9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionExpression is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIG5vdCBldmFsdWF0ZWQgYXMgc3RyaWN0IG1vZGUgY29kZSB3aGVuIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2l0aGluIGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18wXzE3X2Z1biA9IG5ldyBGdW5jdGlvbignZXZhbCA9IDQyOycpOyBfMTNfMF8xN19mdW4oKTsiKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCB0aHJlZSBmdW5jdGlvbiBuYW1lcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiB4LHkseigpe30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, three function names","path":"TestCases/ch13/13.0/13.0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gcHJvcGVydHkgbmFtZXMgaW4gZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyBub3QgYWxsb3dlZCwgYWRkIGEgbmV3IHByb3BlcnR5IGludG8gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24gb2JqLnR0KCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"13.0 - property names in function definition is not allowed, add a new property into object","path":"TestCases/ch13/13.0/13.0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCBhZGQgYSBuZXcgcHJvcGVydHkgaW50byBhIHByb3BlcnR5IHdoaWNoIGlzIGEgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudHQgPSB7IGxlbjogMTAgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIG9iai50dC5zcygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object","path":"TestCases/ch13/13.0/13.0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiB0aGUgY29kZSBvZiB0aGlzIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIG5vbi1zdHJpY3QgbW9kZSBidXQgdGhlIGNhbGwgdG8gZXZhbCBpcyBhIGRpcmVjdCBjYWxsIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTNfMF83X2Z1bigpIHtldmFsID0gNDI7fTsiKTsNCiAgICAgICAgICAgIF8xM18wXzdfZnVuKCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionDeclaration is contained in non-strict mode but the call to eval is a direct call in strict mode code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiB0aGUgY29kZSBvZiB0aGlzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpcyBjb250YWluZWQgaW4gbm9uLXN0cmljdCBtb2RlIGJ1dCB0aGUgY2FsbCB0byBldmFsIGlzIGEgZGlyZWN0IGNhbGwgaW4gc3RyaWN0IG1vZGUgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMF84X2Z1biA9IGZ1bmN0aW9uICgpIHtldmFsID0gNDI7fTsiKTsNCiAgICAgICAgICAgIF8xM18wXzhfZnVuKCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionExpression is contained in non-strict mode but the call to eval is a direct call in strict mode code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gdGhhdCBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZSBoYXMgYW4gaW5uZXIgZnVuY3Rpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBfMTNfMF85X2Z1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIF8xM18wXzlfaW5uZXIoKSB7IGV2YWwoImV2YWwgPSA0MjsiKTsgfQ0KICAgICAgICAgICAgXzEzXzBfOV9pbm5lcigpOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzEzXzBfOV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration that is contained in strict mode code has an inner function","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-9-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjAvMTNfNC0xN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTb3VyY2VFbGVtZW50cyBpcyBldmFsdWF0ZWQgYXMgc3RyaWN0IG1vZGUgY29kZSB3aGVuIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBfMTNfNF8xN19mdW4gPSBuZXcgRnVuY3Rpb24oJ2V2YWwgPSA0MjsnKTsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","commentary":"","description":"Strict Mode - SourceElements is evaluated as strict mode code when a Function constructor is contained in strict mode code","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch13/13.0/13_4-17gs.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjAvMTNfNC01Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmZ1bmN0aW9uIF8xM18wXzRfNV9mdW4oKSB7IGV2YWwgPSA0MjsgfTsNCg==","commentary":"","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.0/13_4-5gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAieD1mdW5jdGlvbiB5KCl7fSIgc3RhdGVtZW50IGRvZXMgbm90IHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBuZXcgZnVuY3Rpb24gaW4gdGhlIHZhcmFpYmxlIHkoSWRlbnRpZmllcikKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIHR5cGUgb2YgeQogKi8KCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiBfX2V4cF9fZnVuYygpe3JldHVybiAwO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2V4cF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMjogdHlwZW9mIF9fZXhwX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19leHBfX2Z1bmMgPT09Jyt0eXBlb2YgX19leHBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"x=function y(){}\" statement does not store a reference to the new function in the varaible y(Identifier)","description":"Checking the type of y","path":"TestCases/ch13/13.0/S13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBpcyBhIGRhdGEKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTAuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgb2YgYW4gb2JqZWN0CiAqLwoKZnVuY3Rpb24gX196aWdneV9fZnVuYygpe3JldHVybiAiemlnZ3kgc3RhcmR1c3QifQoKdmFyIF9fbXVzaWNfYm94PXt9OwoKX19tdXNpY19ib3guemlnZ3kgPSBfX3ppZ2d5X19mdW5jOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmICh0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX211c2ljX2JveC56aWdneSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgPT09Jyt0eXBlb2YgX19tdXNpY19ib3guemlnZ3kpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tdXNpY19ib3guemlnZ3koKSAhPT0gInppZ2d5IHN0YXJkdXN0IikgewoJJEVSUk9SKCcjMjogX19tdXNpY19ib3guemlnZ3koKSA9PT0gInppZ2d5IHN0YXJkdXN0Ii4gQWN0dWFsOiBfX211c2ljX2JveC56aWdneSgpID09PScrX19tdXNpY19ib3guemlnZ3koKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function is a data","description":"Using function as a property of an object","path":"TestCases/ch13/13.0/S13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFJldHVybmluZyByZXN1bHQgb2YgImRlbGV0ZSBhcmd1bWVudHMiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7IHJldHVybiBkZWxldGUgYXJndW1lbnRzO30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Returning result of \"delete arguments\"","path":"TestCases/ch13/13.0/S13_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBhcmd1bWVudHMgcHJvcGVydHkgZmFpbHMgYW5kIHRoZW4gcmV0dXJuaW5nIGl0CiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7IAogICAgZGVsZXRlIGFyZ3VtZW50czsKICAgIHJldHVybiBhcmd1bWVudHM7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMoIkEiLCJCIiwxLDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Checking if deleting the arguments property fails and then returning it","path":"TestCases/ch13/13.0/S13_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0aW5nIGFyZ3VtZW50c1tpXSBhbmQgcmV0dXJuaW5nIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB3YXNfZGVsPWZhbHNlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICAgICB3YXNfZGVsPSB3YXNfZGVsIHx8IGRlbGV0ZSBhcmd1bWVudHNbaV07CiAgICByZXR1cm4gd2FzX2RlbDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9IGVsZW1lbnRzIG9mIGFyZ3VtZW50cyBjYW4gYmUgZGVsZXRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Deleting arguments[i] and returning result of the operation","path":"TestCases/ch13/13.0/S13_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDQuanMKICogQGRlc2NyaXB0aW9uIERlbGV0aW5nIGFyZ3VtZW50c1tpXSBhbmQgY2hlY2tpbmcgdGhlIHR5cGUgb2YgYXJndW1lbnRzW2ldCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICBpc191bmRlZj10cnVlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICB7CiAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1tpXTsKICAgICAgICBpc191bmRlZj0gaXNfdW5kZWYgJiYgKHR5cGVvZiBhcmd1bWVudHNbaV0gPT09ICJ1bmRlZmluZWQiKTsKICAgIH07ICAgICAgIAogICAgcmV0dXJuIGlzX3VuZGVmOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9LCBidXQgZWxlbWVudHMgb2YgYXJndW1lbnRzIGNhbiBiZSBkZWxldGVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Deleting arguments[i] and checking the type of arguments[i]","path":"TestCases/ch13/13.0/S13_A11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBkZWNsYXJlZCBpbiBnbG9iYWwgc2NvcGUgZmFpbHMKICovCgpBTElWRT0iTGV0b3YgaXMgYWxpdmUiCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiBBTElWRTsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2Z1bmMpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gQUxJVkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBBTElWRS4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function declarations in global or function scope are {DontDelete}","description":"Checking if deleting a function that is declared in global scope fails","path":"TestCases/ch13/13.0/S13_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBkZWNsYXJlZCBpbiBmdW5jdGlvbiBzY29wZSBmYWlscwogKi8KCkFMSVZFPSJMZXRvdiBpcyBhbGl2ZSIKCmZ1bmN0aW9uIF9fY29udCgpewoKICAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgICAgIHJldHVybiBBTElWRTsKICAgIH07CiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAoZGVsZXRlIF9fZnVuYykgewogICAgCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMyCiAgICBpZiAoX19mdW5jKCkgIT09IEFMSVZFKSB7CiAgICAJJEVSUk9SKCcjMjogX19mdW5jKCkgPT09IEFMSVZFLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp9OwoKX19jb250KCk7Cgo=","commentary":"Function declarations in global or function scope are {DontDelete}","description":"Checking if deleting a function that is declared in function scope fails","path":"TestCases/ch13/13.0/S13_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWxldGluZyBhcmd1bWVudHNbaV0KICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxLjE6IGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVkJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAxKSB7CgkkRVJST1IoJyMxLjI6IF9fZnVuYygxKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Deleting arguments[i]","path":"TestCases/ch13/13.0/S13_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyBhcmd1bWVudHMgdmFsdWUgYW5kIHRoZW4gZGVsZXRpbmcgdGhlIGFyZ3VtZW50CiAqLwoKZnVuY3Rpb24gX19mdW5jKF9fYXJnKXsKICBfX2FyZyA9IDI7CiAgZGVsZXRlIGFyZ3VtZW50c1swXTsKICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzEuMTogYXJndW1lbnRzWzBdID09PSB1bmRlZmluZWQnKTsKICB9CiAgcmV0dXJuIF9fYXJnOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoMSkgIT09IDIpIHsKCSRFUlJPUignIzEuMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Changing arguments value and then deleting the argument","path":"TestCases/ch13/13.0/S13_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyBhcmd1bWVudCB2YWx1ZSwgZGVsZXRpbmcgdGhlIGFyZ3VtZW50IGFuZCB0aGVuIGRlZmluaW5nIGEgbmV3IHZhbHVlIGZvciBhcmd1bWVudHNbaV0KICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIF9fYXJnID0gMjsKICBkZWxldGUgYXJndW1lbnRzWzBdOwogIGlmIChhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMS4xOiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCcpOwogIH0KICBhcmd1bWVudHNbMF0gPSAiQSI7CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gIkEiKSB7CiAgICAkRVJST1IoJyMxLjI6IGFyZ3VtZW50c1swXSA9PT0gIkEiJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAyKSB7CgkkRVJST1IoJyMxLjM6IF9fZnVuYygxKSA9PT0gMi4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Changing argument value, deleting the argument and then defining a new value for arguments[i]","path":"TestCases/ch13/13.0/S13_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVbmljb2RlIHN5bWJvbHMgaW4gZnVuY3Rpb24gbmFtZSBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNC5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gbmFtZSB3aXRoIHVuaWNvZGUgc3ltYm9scwogKi8KCmV2YWwoImZ1bmN0aW9uIF9fZnVuY1x1MDA0MShfX2FyZyl7cmV0dXJuIF9fYXJnO307Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jQSAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdW5pY29kZSBzeW1ib2xzIGluIGZ1bmN0aW9uIG5hbWUgYXJlIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Unicode symbols in function name are allowed","description":"Defining function name with unicode symbols","path":"TestCases/ch13/13.0/S13_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19mdW5jKGFyZ3VtZW50cykiCiAqLwoKZnVuY3Rpb24gX19mdW5jKGFyZ3VtZW50cyl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDQyKSAhPT0gNDIpIHsKCSRFUlJPUignIzE6ICJhcmd1bWVudHMiIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a function with \"__func(arguments)\"","path":"TestCases/ch13/13.0/S13_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGluZyBhcmd1bWVudHMgd2l0aGluIGZ1bmN0aW9ucyBib2R5CiAqLwoKVEhFX0FOU1dFUj0iQW5zd2VyIHRvIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKICAgIHJldHVybiBhcmd1bWVudHM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoNDIsNDIsNDIpICE9PSBUSEVfQU5TV0VSKSB7CgkkRVJST1IoJyMxOiAgImFyZ3VtZW50cyIgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Overriding arguments within functions body","path":"TestCases/ch13/13.0/S13_A15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCAiYXJndW1lbnRzIiB3aXRob3V0IGEgZnVuY3Rpb24KICovCgpUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7Cgp2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKCmZ1bmN0aW9uIF9fZnVuYyhhcmd1bWVudHMpewogICAgcmV0dXJuIGFyZ3VtZW50czsKICAgIAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYygpICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jKCkgPT09Jyt0eXBlb2YgX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSAhPT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgPT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iLiBBY3R1YWw6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIik9PT0nK19fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a variable named with \"arguments\" without a function","path":"TestCases/ch13/13.0/S13_A15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCAiYXJndW1lbnRzIiBhbmQgZm9sbG93aW5nIGEgInJldHVybiIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkKICovCgpUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7CgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiB0eXBlb2YgYXJndW1lbnRzOwogICAgdmFyIGFyZ3VtZW50cyA9IFRIRV9BTlNXRVI7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoNDIsNDIsNDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogX19mdW5jKDQyLDQyLDQyKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogX19mdW5jKDQyLDQyLDQyKT09PScrX19mdW5jKDQyLDQyLDQyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a variable named with \"arguments\" and following a \"return\" statement within a function body","path":"TestCases/ch13/13.0/S13_A15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSB2YXJpYWJsZSBuYW1lZCB3aXRoICJhcmd1bWVudHMiIHdpdGhvdXQgYSBmdW5jdGlvbgogKi8KClRIRV9BTlNXRVI9IkFuc3dlciB0byBMaWZlLCB0aGUgVW5pdmVyc2UsIGFuZCBFdmVyeXRoaW5nIjsKCnZhciBhcmd1bWVudHMgPSBUSEVfQU5TV0VSOwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIF9fZnVuYygpID09PSBUSEVfQU5TV0VSKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSAhPT0gVEhFX0FOU1dFUicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSA9PT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgIT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Creating a variable named with \"arguments\" without a function","path":"TestCases/ch13/13.0/S13_A15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgc2VwYXJhdG9ycyBhcmUgYWRtaXR0ZWQgYmV0d2VlbiBkZWNsYXJhdGlvbiBjaHVua3MKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTYuanMKICogQGRlc2NyaXB0aW9uIEluc2VydGluZyBzZXBhcmF0b3JzIGJldHdlZW4gZGVjbGFyYXRpb24gY2h1bmtzCiAqLwoKZnVuY3Rpb24KeAooCikKewp9CjsKCngoKTsKCmZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9OwoKeSgpOwoKZnVuY3Rpb24KCnoKCigKCikKCnsKICAgIAp9Cgo7Cgp6KCk7CgpldmFsKCJmdW5jdGlvblx1MDAwOVx1MjAyOXcoXHUwMDBDKVx1MDBBMHtcdTAwMER9OyIpOwoKdygpOwoK","commentary":"Any separators are admitted between declaration chunks","description":"Inserting separators between declaration chunks","path":"TestCases/ch13/13.0/S13_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNhbGwgYSBmdW5jdGlvbiBiZWZvcmUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBhcHBlYXJzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKCSRGQUlMKCIjMS4xOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function call cannot appear in the program before the FunctionExpression appears","description":"Trying to call a function before the FunctionExpression appears","path":"TestCases/ch13/13.0/S13_A17_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExN19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNhbGwgYSBmdW5jdGlvbiBiZWZvcmUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBhcHBlYXJzIGFuZCB0aGVuIHVzaW5nIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gb25lIG1vcmUgdGltZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CgkkRVJST1IoIiMxOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8gbm93IHdlIHJlYWNoIHRoZSBfX2Z1bmMgb3ZlcndyaXRpbmcgYnkgbmV3IGV4cHJlc3Npb24KdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function call cannot appear in the program before the FunctionExpression appears","description":"Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time","path":"TestCases/ch13/13.0/S13_A17_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTguanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gYXMgYSBmdW5jdGlvbiBwYXJhbWV0ZXIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygc2lueCAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBzaW54ID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBzaW54ID09PScrdHlwZW9mIHNpbngpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fdmFsID0gZnVuY3Rpb24gZGVyaXZhdGl2ZShmLCBkeCkgewogICAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKICAgICAgcmV0dXJuIChmKHggKyBkeCkgLSBmKHgpKSAvIGR4OwogICAgfTsKfShmdW5jdGlvbiBzaW54KHgpe3JldHVybiBNYXRoLnNpbih4KTt9LC4wMDAxKSgwLjUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNpbnggIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2Ygc2lueCA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2Ygc2lueCA9PT0nK3R5cGVvZiBzaW54KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Closures are admitted","description":"Using a function declaration as a function parameter","path":"TestCases/ch13/13.0/S13_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyBpbiBnbG9iYWwgc2NvcGUKICovCgovLyBzaW5jZSAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBfX2RlY2wgaXMgc2V0IHRvIGZ1bmN0aW9uCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2RlY2wgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2RlY2wgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZGVjbCA9PT0nK3R5cGVvZiBfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZGVjbCA9IDE7CgovL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RlY2wgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fZGVjbCA9PT0gMS4gQWN0dWFsOiBfX2RlY2wgPT09JytfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19kZWNsKCl7cmV0dXJuIDE7fQoK","commentary":"\"var\" does not override function declaration","description":"Creating a function and a variable with identical Identifiers in global scope","path":"TestCases/ch13/13.0/S13_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyB3aXRoaW4gZnVuY3Rpb24gc2NvcGUKICovCgooZnVuY3Rpb24gKCl7CgogICAgLy8gc2luY2UgInZhciIgZG9lcyBub3Qgb3ZlcnJpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gX19kZWNsIGlzIHNldCB0byBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzEKICAgIGlmICh0eXBlb2YgX19kZWNsICE9PSAiZnVuY3Rpb24iKSB7CiAgICAJJEVSUk9SKCcjMTogdHlwZW9mIF9fZGVjbCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19kZWNsID09PScrdHlwZW9mIF9fZGVjbCk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIHZhciBfX2RlY2wgPSAxOwogICAgCiAgICAvL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX2RlY2wgIT09IDEpIHsKICAgIAkkRVJST1IoJyMyOiBfX2RlY2wgPT09IDEuIEFjdHVhbDogX19kZWNsID09PScrX19kZWNsKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgICBmdW5jdGlvbiBfX2RlY2woKXtyZXR1cm4gMTt9Cn0pKCk7ICAgIAoK","commentary":"\"var\" does not override function declaration","description":"Creating a function and a variable with identical Identifiers within function scope","path":"TestCases/ch13/13.0/S13_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJnIgogKi8KCnZhciB4ID0gKGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3JldHVybiBhcmd9KSgxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IDEpIHsKCSRFUlJPUignIzE6IHggPT09IDEuIEFjdHVhbDogeCA9PT0nK3gpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19mdW5jID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arg\"","path":"TestCases/ch13/13.0/S13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJnICsgYXJndW1lbnRzWzFdIgogKi8KCnZhciB4ID0gKGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3JldHVybiBhcmcgKyBhcmd1bWVudHNbMV19KSgxLCIxIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4ICE9PSAiMTEiKSB7CgkkRVJST1IoJyMxOiB4ID09PSAiMTEiLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arg + arguments[1]\"","path":"TestCases/ch13/13.0/S13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJndW1lbnRzWzBdICsiLSIrIGFyZ3VtZW50c1sxXSIKICovCgp2YXIgeCA9IChmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdICsiLSIrIGFyZ3VtZW50c1sxXX0pKCJPYmkiLCJXYW4iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09ICJPYmktV2FuIikgewoJJEVSUk9SKCcjMTogeCA9PT0gIk9iaS1XYW4iLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arguments[0] +\"-\"+ arguments[1]\"","path":"TestCases/ch13/13.0/S13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBhIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgZmFjdG9yaWFsLCBhcyBhIHZhcmlhYmxlLgogKiBGdW5jdGlvbiBjYWxsIGl0c2VsZiBieSBpdGBzIG5hbWUKICovCgp2YXIgX19mdW5jID0gZnVuY3Rpb24gX19leHBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19leHBfX2Z1bmMoYXJnLTEpKmFyZzsKICAgIH0KfTsKCnZhciBmYWN0X29mXzMgPSAgX19mdW5jKDMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZmFjdF9vZl8zICE9PSA2KSB7CgkkRVJST1IoIiMxOiBmYWN0X29mXzMgPT09IDYuIEFjdHVhbDogZmFjdF9vZl8zID09PSIrZmFjdF9vZl8zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating a recursive function that calculates factorial, as a variable.\nFunction call itself by it`s name","path":"TestCases/ch13/13.0/S13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBhIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgZmFjdG9yaWFsLCBhcyBhIHZhcmlhYmxlLgogKiBGdW5jdGlvbiBjYWxscyBpdHNlbGYgYnkgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlCiAqLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIChhcmcpewogICAgaWYgKGFyZyA9PT0gMSkgewogICAgCXJldHVybiBhcmc7CiAgICB9IGVsc2UgewogICAgCXJldHVybiBfX2Z1bmMoYXJnLTEpKmFyZzsKICAgIH0KfTsKCnZhciBmYWN0X29mXzMgPSAgX19mdW5jKDMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZmFjdF9vZl8zICE9PSA2KSB7CgkkRVJST1IoIiMxOiBmYWN0X29mXzMgPT09IDYuIEFjdHVhbDogZmFjdF9vZl8zID09PSIrZmFjdF9vZl8zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating a recursive function that calculates factorial, as a variable.\nFunction calls itself by the name of the variable","path":"TestCases/ch13/13.0/S13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzaW1wbGUgcmVjdXJzaXZlIGZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBmYWN0b3JpYWwKICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19mdW5jKGFyZy0xKSphcmc7CiAgICB9Cn07Cgp2YXIgZmFjdF9vZl8zID0gIF9fZnVuYygzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZhY3Rfb2ZfMyAhPT0gNikgewoJJEVSUk9SKCIjMTogZmFjdF9vZl8zID09PSA2LiBBY3R1YWw6IGZhY3Rfb2ZfMyA9PT0iK2ZhY3Rfb2ZfMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating simple recursive function that calculates factorial","path":"TestCases/ch13/13.0/S13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgc3RyaW5nCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJ6aWctemlnLXNwdXRuaWsiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxIAppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gInppZy16aWctc3B1dG5payIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSAiemlnLXppZy1zcHV0bmlrIi4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that returns string","path":"TestCases/ch13/13.0/S13_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgcHJlZml4IGluY3JlbWVudCBvcGVyYXRvciB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnKXtyZXR1cm4gKythcmc7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygxKSAhPT0gMikgewoJJEVSUk9SKCcjMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses prefix increment operator within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgYXJpdGhtZXRpY2FsIG9wZXJhdG9ycyB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMyl7cmV0dXJuIGFyZzErPShhcmcyKz1hcmczKTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKDEwLCAyMCwgMzApICE9PSA2MCkgewoJJEVSUk9SKCcjMjogX19mdW5jKDEwLCAyMCwgMzApID09PSA2MC4gQWN0dWFsOiBfX2Z1bmMoMTAsMjAsMzApID09PScrX19mdW5jKDEwLDIwLDMwKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses arithmetical operators within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgc3RyaW5ncyBjb25jYXRlbmFpb24gb3BlYXRvciB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdLm5hbWUgKyAiICIgKyBhcmd1bWVudHNbMF0uc3VybmFtZTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkgIT09ICJmb3ggbWFsZGVyIikgewoJJEVSUk9SKCcjMjogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PSAiZm94IG1hbGRlciIuIEFjdHVhbDogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PScrX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gZnVuY19fKGFyZyl7cmV0dXJuIGFyZy5uYW1lICsgIiAiICsgYXJnLnN1cm5hbWU7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMgCmlmICh0eXBlb2YgZnVuY19fICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMzOiB0eXBlb2YgZnVuY19fID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGZ1bmNfXyh7bmFtZTonam9obicsIHN1cm5hbWU6J2xlbm5vbid9KSAhPT0gImpvaG4gbGVubm9uIikgewoJJEVSUk9SKCcjNDogZnVuY19fKHtuYW1lOlwnam9oblwnLCBzdXJuYW1lOlwnbGVubm9uXCd9KSA9PT0gImpvaG4gbGVubm9uIi4gQWN0dWFsOiBfX2Z1bmMoe25hbWU6XCdqb2huXCcsIHN1cm5hbWU6XCdsZW5ub25cJ30pID09PScrX19mdW5jKHtuYW1lOidqb2huJywgc3VybmFtZTonbGVubm9uJ30pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses strings concatenaion opeator within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSBvdmVycmlkZWQgYnkgb3RoZXIgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIHRoZSBzYW1lIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMX07CiAKdmFyIF9fc3RvcmVfX2Z1bmMgPSBfX2Z1bmM7CiAKdmFyIF9fMSA9IF9fZnVuYygpOwogCiBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gJ0EnfTsKIAp2YXIgX19BID0gX19mdW5jKCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdG9yZV9fZnVuYyAhPT0gX19mdW5jKSB7CgkkRVJST1IoJyMxOiBfX3N0b3JlX19mdW5jID09PSBfX2Z1bmMuIEFjdHVhbDogX19zdG9yZV9fZnVuYyA9PT0nK19fc3RvcmVfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAKIAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfXzEgIT09IF9fQSkgewoJJEVSUk9SKCcjMjogX18xID09PSBfX0EuIEFjdHVhbDogX18xID09PScrX18xKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier","description":"Duplicating function declaration","path":"TestCases/ch13/13.0/S13_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSBvdmVycmlkZWQgYnkgb3RoZXIgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIHRoZSBzYW1lIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyBhIGZ1bmN0aW9uIGJlZm9yZSBpdCBpcyBkZWNsYXJlZCBvbmUgbW9yZSB0aW1lCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKfSBjYXRjaChlKSB7CiAgICAkRkFJTCgiIzE6IEZ1bmN0aW9uIGNhbGwgY2FuIGFwcGVhcnMgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkRlY2xhcmF0aW9uIGFwcGVhcnMiKTsKfQppZiAoX19yZXN1bHQgIT09ICJTRUNPTkQiKSB7CgkkRVJST1IoJyMxLjE6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiRklSU1QiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCl9fcmVzdWx0ID0gX19mdW5jKCk7CmlmIChfX3Jlc3VsdCAhPT0gIlNFQ09ORCIpIHsKCSRFUlJPUignIzI6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiU0VDT05EIjt9OwoK","commentary":"FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier","description":"Calling a function before it is declared one more time","path":"TestCases/ch13/13.0/S13_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgb25seSBTb3VyY2VFbGVtZW50cyB3aXRoaW4gdGhlIEZ1bmN0aW9uQm9keQogKi8KCmZ1bmN0aW9uIF9fZnVuYygpeydncm91bmQgY29udHJvbCB0byBtYWpvciB0b20nfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzIoKXtifTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuY19fMiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuY19fMiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18yID09PScrdHlwZW9mIF9fZnVuY19fMik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzMoKXsxfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fZnVuY19fMyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIF9fZnVuY19fMyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18zID09PScrdHlwZW9mIF9fZnVuY19fMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzQoKXsxK2N9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0eXBlb2YgX19mdW5jX180ICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyM0OiB0eXBlb2YgX19mdW5jX180ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzQgPT09Jyt0eXBlb2YgX19mdW5jX180KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fNSgpe2luYyhkKX07Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX2Z1bmNfXzUgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzU6IHR5cGVvZiBfX2Z1bmNfXzUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuY19fNSA9PT0nK3R5cGVvZiBfX2Z1bmNfXzUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jX182KCl7dmFyIFx1MDA0MiA9IDE7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAodHlwZW9mIF9fZnVuY19fNiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjNjogdHlwZW9mIF9fZnVuY19fNiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX182ID09PScrdHlwZW9mIF9fZnVuY19fNik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovL2Z1bmN0aW9uIF9fZnVuY19fNygpe3ZhciBcdTAwM2QgPSAxO307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vLy9DSEVDSyM3Ci8vaWYgKHR5cGVvZiBfX2Z1bmNfXzcgIT09ICJmdW5jdGlvbiIpIHsKLy8JJEVSUk9SKCcjNzogVGhlIEZ1bmN0aW9uQm9keSBtdXN0IGJlIFNvdXJjZUVsZW1lbnRzJyk7Ci8vfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The FunctionBody must be SourceElements","description":"Using only SourceElements within the FunctionBody","path":"TestCases/ch13/13.0/S13_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0aW5nIGVsZW1lbnRzIHRoYXQgaXMgZGlmZmVyZW50IGZyb20gU291cmNlRWxlbWVudHMgaW50byB0aGUgRnVuY3Rpb25Cb2R5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsvIEFCQ30iKTsKCSRFUlJPUignIzE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpey8gQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzEuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7LyBBQkN9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeXsKCWV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyYxfSIpOwoJJEVSUk9SKCcjMzogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7JjF9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMy4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsmMX0iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7IyBBQkN9Iik7CgkkRVJST1IoJyM0OiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsjIEFCQ30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoJyM0LjE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyMgQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The FunctionBody must be SourceElements","description":"Inserting elements that is different from SourceElements into the FunctionBody","path":"TestCases/ch13/13.0/S13_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmdW5jdGlvbiBfX2Z1bmMoKXtcQVxCXEN9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtcQVxCXEN9OwoK","commentary":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","negative":"","path":"TestCases/ch13/13.0/S13_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgcHJvcGVydHkgb2YgYWN0aXZhdGlvbiBvYmplY3QgY29udGFpbnMgcmVhbCBwYXJhbXMgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCAiZnVuY3Rpb24gX19mdW5jKHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpIiBhbmQgdXNpbmcgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSB0ZXN0CiAqLwoKIGZ1bmN0aW9uIF9fZnVuYyhwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7CiAJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7CiB9CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCdBJykgIT09IDEpIHsKIAkkRVJST1IoJyMxOiBfX2Z1bmMoXCdBXCcpID09PSAxLiBBY3R1YWw6IF9fZnVuYyhcJ0FcJykgPT09JytfX2Z1bmMoJ0EnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19mdW5jKFwnQVwnLCBcJ0JcJywgMSwgMixfX2Z1bmMpID09PSA1LiBBY3R1YWw6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0nK19fZnVuYygnQScsICdCJywgMSwgMixfX2Z1bmMpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAogCiAKCg==","commentary":"Arguments property of activation object contains real params to be passed","description":"Creating a function declared with \"function __func(param1, param2, param3)\" and using arguments.length property in order to perform the test","path":"TestCases/ch13/13.0/S13_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgcHJvcGVydHkgb2YgYWN0aXZhdGlvbiBvYmplY3QgY29udGFpbnMgcmVhbCBwYXJhbXMgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2l0aCBubyBwYXJhbWV0ZXJzIGFuZCB1c2luZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGluIG9yZGVyIHRvIHBlcmZvcm0gdGhlIHRlc3QKICovCgogZnVuY3Rpb24gX19mdW5jKCkgewogCXJldHVybiBhcmd1bWVudHMubGVuZ3RoOwogfQogCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygnQScpICE9PSAxKSB7CiAJJEVSUk9SKCcjMTogX19mdW5jKFwnQVwnKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcpID09PScrX19mdW5jKCdBJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCdBJywgJ0InLCAxLCAyLF9fZnVuYykgIT09IDUpIHsKCSRFUlJPUignIzI6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0gNS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcsIFwnQlwnLCAxLCAyLF9fZnVuYykgPT09JytfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2Z1bmMoKSAhPT0gMCkgewoJJEVSUk9SKCcjMzogX19mdW5jKCkgPT09IDAuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Arguments property of activation object contains real params to be passed","description":"Creating a function with no parameters and using arguments.length property in order to perform the test","path":"TestCases/ch13/13.0/S13_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYW4gYmUgcGFzc2VkIGFzIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTkuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGZ1bmN0aW9uIGFzIGFyZ3VtZW50IG9mIGFub3RoZXIgZnVuY3Rpb24KICovCgpmdW5jdGlvbiBfX2Z1bmNfX0lOQyhhcmcpe3JldHVybiBhcmcgKyAxO307CmZ1bmN0aW9uIF9fZnVuY19fTVVMVChpbmNyZW1lbnRhdG9yLCBhcmcsIG11bHQpeyByZXR1cm4gaW5jcmVtZW50YXRvcihhcmcpKm11bHQ7IH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmNfX01VTFQoX19mdW5jX19JTkMsIDIsIDIpICE9PSA2KSB7CgkkRVJST1IoJyMxOiBmdW5jdGlvbiAgY2FuIGJlIHBhc3NlZCBhcyBhcmd1bWVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Function can be passed as argument","description":"Using function as argument of another function","path":"TestCases/ch13/13.0/S13_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBpZGVudGlmaWVyIGFsbG93ZWQgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBwYXJhbWV0ZXIgbGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oYSxhKXt9Jyk7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate identifier allowed in non-strict function declaration parameter list","path":"TestCases/ch13/13.1/13.1-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBpZGVudGlmaWVyIGFsbG93ZWQgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBleHByZXNzaW9uIHBhcmFtZXRlciBsaXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoJyhmdW5jdGlvbiBmb28oYSxhKXt9KScpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7IHJldHVybiBmYWxzZSB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate identifier allowed in non-strict function expression parameter list","path":"TestCases/ch13/13.1/13.1-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8xX2Z1bihldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIGluICdzdHJpY3QgbW9kZScgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfMTBfZnVuID0gZnVuY3Rpb24gKHBhcmFtLCBwYXJhbSwgcGFyYW0pIHsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIGV2YWwoKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzEzXzFfMTJfcyA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTNfMV8xMl9zLnggPSBmdW5jdGlvbiBldmFsKCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgZnVuY3Rpb24gbmFtZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMoKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-13-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0xM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiAnYXJndW1lbnRzJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCu+7vyJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQpmdW5jdGlvbiBhcmd1bWVudHMoKSB7IH07","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-13gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTNfMV8xNF9zID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xM18xXzE0X3MueCA9IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3Qgb2YgYSBzdHJpY3QgbW9kZSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnO2Z1bmN0aW9uIF8xM18xXzE1X2Z1bihldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2hlbiBGdWN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8xNl9mdW4oZXZhbCkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgZXZhbCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzE3X2Z1biA9IGZ1bmN0aW9uIChldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aGVuIEZ1Y3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8xOF9mdW4gPSBmdW5jdGlvbiAoZXZhbCkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7ZnVuY3Rpb24gXzEzXzFfMTlfZnVuKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-19-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnZXZhbCcgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZnVuY3Rpb24gXzEzXzFfMV9mdW4oZXZhbCkgeyB9","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmb3JtYWwgcGFyYW1ldGVyIG5hbWUgb2YgYSBub24tc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoImZ1bmN0aW9uIGZvbyhldmFsKXt9OyIpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval allowed as formal parameter name of a non-strict function declaration","path":"TestCases/ch13/13.1/13.1-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmb3JtYWwgcGFyYW1ldGVyIG5hbWUgb2YgYSBub24tc3RyaWN0IGZ1bmN0aW9uIGV4cHJlc3Npb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgICBldmFsKCIoZnVuY3Rpb24gZm9vKGV2YWwpe30pOyIpOw0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval allowed as formal parameter name of a non-strict function expression","path":"TestCases/ch13/13.1/13.1-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZvcm1hbCBwYXJhbWV0ZXIgbmFtZSBvZiBhIG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgdHJ5IA0KICB7DQogICAgZXZhbCgiZnVuY3Rpb24gZm9vKGFyZ3VtZW50cyl7fTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments allowed as formal parameter name of a non-strict function declaration","path":"TestCases/ch13/13.1/13.1-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZvcm1hbCBwYXJhbWV0ZXIgbmFtZSBvZiBhIG5vbi1zdHJpY3QgZnVuY3Rpb24gZXhwcmVzc2lvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICAgIGV2YWwoIihmdW5jdGlvbiBmb28oYXJndW1lbnRzKXt9KTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments allowed as formal parameter name of a non-strict function expression","path":"TestCases/ch13/13.1/13.1-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8yX2Z1biA9IGZ1bmN0aW9uIChldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aGVuIEZ1Y3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzIwX2Z1bihhcmd1bWVudHMpIHsgJ3VzZSBzdHJpY3QnOyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyB2YXIgXzEzXzFfMjFfZnVuID0gZnVuY3Rpb24gKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uIHdoZW4gRnVjdGlvbkJvZHkgaXMgc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzIyX2Z1biA9IGZ1bmN0aW9uIChhcmd1bWVudHMpIHsgJ3VzZSBzdHJpY3QnOyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIF8xM18xXzIzX2Z1bihwYXJhbSwgcGFyYW0pIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8yNF9mdW4ocGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycyB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gXzEzXzFfMjVfZnVuKHBhcmFtMSwgcGFyYW0yLCBwYXJhbTEpIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycyB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzI2X2Z1bihwYXJhbTEsIHBhcmFtMiwgcGFyYW0xKSB7ICd1c2Ugc3RyaWN0JzsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gXzEzXzFfMjdfZnVuKHBhcmFtLCBwYXJhbSwgcGFyYW0pIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8yOF9mdW4ocGFyYW0sIHBhcmFtLCBwYXJhbSkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHRoYXQgaXMgY29udGFpbmVkIGluIGV2YWwgc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzI5X2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0pIHsgfTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmdW5jdGlvbiBpZGVudGlmaWVyIGluIG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgdHJ5IA0KICB7DQogICAgZXZhbCgiZnVuY3Rpb24gZXZhbCgpe307Iik7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval allowed as function identifier in non-strict function declaration","path":"TestCases/ch13/13.1/13.1-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmdW5jdGlvbiBpZGVudGlmaWVyIGluIG5vbi1zdHJpY3QgZnVuY3Rpb24gZXhwcmVzc2lvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCIoZnVuY3Rpb24gZXZhbCgpe30pOyIpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval allowed as function identifier in non-strict function expression","path":"TestCases/ch13/13.1/13.1-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZ1bmN0aW9uIGlkZW50aWZpZXIgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMgKCl7fTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments allowed as function identifier in non-strict function declaration","path":"TestCases/ch13/13.1/13.1-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZ1bmN0aW9uIGlkZW50aWZpZXIgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoIihmdW5jdGlvbiBhcmd1bWVudHMgKCl7fSk7Iik7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments allowed as function identifier in non-strict function expression","path":"TestCases/ch13/13.1/13.1-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzNfZnVuKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8zMF9mdW4gPSBmdW5jdGlvbiAocGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is contained in strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHRoYXQgaXMgY29udGFpbmVkIGluIGV2YWwgc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzMxX2Z1biA9IGZ1bmN0aW9uIChwYXJhbTEsIHBhcmFtMiwgcGFyYW0xKSB7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8zMl9mdW4gPSBmdW5jdGlvbiAocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyAndXNlIHN0cmljdCc7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is strict and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgZnVuY3Rpb24gaXMgY3JlYXRlZCB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzMzX2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0sIHBhcmFtKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if function is created using a FunctionExpression that is contained in eval strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMgd2l0aCBhIHN0cmljdCBtb2RlIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzM0X2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function declaration has three identical parameters with a strict mode body","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBldmFsKCkgeyB9OyIpDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBldmFsKCkgeyAndXNlIHN0cmljdCc7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration whose FunctionBody is in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgXzEzXzFfMzdfcyA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBfMTNfMV8zN19zLnggPSBmdW5jdGlvbiBldmFsKCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gd2hvc2UgRnVuY3Rpb25Cb2R5IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgXzEzXzFfMzhfcyA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzEzXzFfMzhfcy54ID0gZnVuY3Rpb24gZXZhbCgpIHsndXNlIHN0cmljdCc7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgZnVuY3Rpb24gbmFtZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzRfZnVuID0gZnVuY3Rpb24gKGFyZ3VtZW50cykgeyB9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2hvc2UgRnVuY3Rpb25Cb2R5IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMoKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgZXZhbCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBfMTNfMV80MV9zID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IF8xM18xXzQxX3MueCA9IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBfMTNfMV80Ml9zID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTNfMV80Ml9zLnggPSBmdW5jdGlvbiBhcmd1bWVudHMoKSB7J3VzZSBzdHJpY3QnO307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-42-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS00Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiB0aGUgaWRlbnRpZmllciAnYXJndW1lbnRzJyBhcHBlYXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3Qgb2YgYSBzdHJpY3QgbW9kZSBGdW5jdGlvbkV4cHJlc3Npb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBfMTNfMV80X2Z1biA9IGZ1bmN0aW9uIChhcmd1bWVudHMpIHsgfTs=","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluICdzdHJpY3QgbW9kZScgdXNpbmcgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzVfZnVuKHBhcmFtLCBwYXJhbSkgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is declared in 'strict mode' using a FunctionDeclaration and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-5-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS01Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZnVuY3Rpb24gXzEzXzFfNV9mdW4ocGFyYW0sIHBhcmFtKSB7IH0=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a FunctionDeclaration has two identical parameters","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24gXzEzXzFfNl9mdW4ocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV83X2Z1bihwYXJhbSwgcGFyYW0sIHBhcmFtKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgdGhlIGZ1bmN0aW9uIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfOF9mdW4gPSBmdW5jdGlvbiAocGFyYW0sIHBhcmFtKSB7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-8-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS04Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzEzXzFfOF9mdW4gPSBmdW5jdGlvbiAocGFyYW0sIHBhcmFtKSB7IH07","commentary":"","description":"Strict Mode - SyntaxError is thrown if a FunctionExpression has two identical parameters","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgdGhlIGZ1bmN0aW9uIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMsIHdoaWNoIGFyZSBzZXBhcmF0ZWQgYnkgYSB1bmlxdWUgcGFyYW1ldGVyIG5hbWUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfOV9mdW4gPSBmdW5jdGlvbiAocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyB9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSAgV3JpdGluZyBvciByZWFkaW5nIGZyb20gYSBwcm9wZXJ0eSBuYW1lZCAnY2FsbGVyJyBvZiBmdW5jdGlvbiBvYmplY3RzIGlzIGFsbG93ZWQgdW5kZXIgYm90aCBzdHJpY3QgYW5kIG5vcm1hbCBtb2Rlcy4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLmNhbGxlciA9IDEyOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSBuZXcgZm9vKCk7DQogICAgICAgIHJldHVybiBvYmouY2FsbGVyID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - Writing or reading from a property named 'caller' of function objects is allowed under both strict and normal modes.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE1LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzIGxlbmd0aCBhcyBpdHMgb3duIHByb3BlcnR5IGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggKFN0ZXAgMTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoeCwgeSkgeyB9Ow0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGZ1bi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgJiYgZnVuLmxlbmd0aCA9PT0gMik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZnVuLmxlbmd0aCA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChmdW4ubGVuZ3RoID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gZnVuKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGZ1bi5sZW5ndGg7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBmdW4uaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgIXZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function Object has length as its own property and does not invoke the setter defined on Function.prototype.length (Step 15)","path":"TestCases/ch13/13.2/13.2-15-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE3LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzICdjb25zdHJ1Y3RvcicgYXMgaXRzIG93biBwcm9wZXJ0eSwgaXQgaXMgbm90IGVudW1lcmFibGUgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yIChTdGVwIDE3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7fTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHR5cGVvZiBmdW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW4ucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJjb25zdHJ1Y3RvciIgJiYgZnVuLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gMTIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZ1bi5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIGRlc2MpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function Object has 'constructor' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype.constructor (Step 17)","path":"TestCases/ch13/13.2/13.2-17-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzICdwcm90b3R5cGUnIGFzIGl0cyBvd24gcHJvcGVydHksIGl0IGlzIG5vdCBlbnVtZXJhYmxlIGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIEZ1bmN0aW9uLnByb3RvdHlwZSAoU3RlcCAxOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3RvdHlwZSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSAoZnVuLnByb3RvdHlwZSAhPT0gMTAwICYmIGZ1bi5wcm90b3R5cGUudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgT2JqZWN0XSIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW4pIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3RvdHlwZSIgJiYgZnVuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBmdW4ucHJvdG90eXBlOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gZnVuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmdW4ucHJvdG90eXBlID0gMTINCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gKGZ1bi5wcm90b3R5cGUgPT09IDEyKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiBkYXRhID09PSAiZGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3RvdHlwZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function Object has 'prototype' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype (Step 18)","path":"TestCases/ch13/13.2/13.2-18-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBBIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhIHN0cmljdCBtb2RlIGNvZGUgd3JpdGVzIHRvIHByb3BlcnRpZXMgbmFtZWQgJ2NhbGxlcicgb2YgZnVuY3Rpb24gaW5zdGFuY2VzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9vLmNhbGxlciA9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - A TypeError is thrown when a strict mode code writes to properties named 'caller' of function instances.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBXcml0aW5nIG9yIHJlYWRpbmcgZnJvbSBhIHByb3BlcnR5IG5hbWVkICdhcmd1bWVudHMnIG9mIGZ1bmN0aW9uIG9iamVjdHMgaXMgYWxsb3dlZCB1bmRlciBib3RoIHN0cmljdCBhbmQgbm9ybWFsIG1vZGVzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRoaXMuYXJndW1lbnRzID0gMTI7DQogICAgICAgIH0gDQogICAgICAgIHZhciBvYmogPSBuZXcgZm9vKCk7DQogICAgICAgIHJldHVybiBvYmouYXJndW1lbnRzID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - Writing or reading from a property named 'arguments' of function objects is allowed under both strict and normal modes.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBBIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhIGNvZGUgaW4gc3RyaWN0IG1vZGUgdHJpZXMgdG8gd3JpdGUgdG8gJ2FyZ3VtZW50cycgb2YgZnVuY3Rpb24gaW5zdGFuY2VzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9vLmFyZ3VtZW50cyA9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - A TypeError is thrown when a code in strict mode tries to write to 'arguments' of function instances.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSByZWFkaW5nIGEgcHJvcGVydHkgbmFtZWQgJ2NhbGxlcicgb2YgZnVuY3Rpb24gb2JqZWN0cyBpcyBub3QgYWxsb3dlZCBvdXRzaWRlIHRoZSBmdW5jdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gbmV3IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7Iik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcCA9IGZvby5jYWxsZXI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - reading a property named 'caller' of function objects is not allowed outside the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBlbnVtZXJhdGluZyBvdmVyIGEgZnVuY3Rpb24gb2JqZWN0IGxvb2tpbmcgZm9yICdjYWxsZXInIGZhaWxzIG91dHNpZGUgb2YgdGhlIGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIHRlbXBJbmRleCBpbiBmb28pIHsNCiAgICAgICAgICAgIGlmICh0ZW1wSW5kZXggPT09ICJjYWxsZXIiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - enumerating over a function object looking for 'caller' fails outside of the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBlbnVtZXJhdGluZyBvdmVyIGEgZnVuY3Rpb24gb2JqZWN0IGxvb2tpbmcgZm9yICdjYWxsZXInIGZhaWxzIGluc2lkZSB0aGUgZnVuY3Rpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZm9yICh2YXIgdGVtcEluZGV4IGluIHRoaXMpIHtpZiAodGVtcEluZGV4PT09XCJjYWxsZXJcIikge3JldHVybiBmYWxzZTt9fTsgcmV0dXJuIHRydWU7Iik7DQogICAgICAgICAgICByZXR1cm4gZm9vKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - enumerating over a function object looking for 'caller' fails inside the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVwdGggb2YgbmVzdGVkIGZ1bmN0aW9uIGNhbGxzIHJlYWNoZXMgMzIKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIGNhbGxzIDMyIGVsZW1lbnRzIGRlcHRoCiAqLwoKKGZ1bmN0aW9uKCl7CiAgICAoZnVuY3Rpb24oKXsKICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXt9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgIH0pKCkKICAgICAgICB9KSgpCiAgICB9KSgpCn0pKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgo=","commentary":"The depth of nested function calls reaches 32","description":"Creating function calls 32 elements depth","path":"TestCases/ch13/13.2/S13.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGV4cGxpY2l0IGFyZ3VtZW50IGlzIGFuIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBfX29iaj17fSIKICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPTc7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28gIT09IDcpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gNy4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere explicit argument is an object defined with \"var __obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBzdHJpbmcgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGV4cGxpY2l0IGFyZ3VtZW50IGlzIGFuIG9iamVjdCBkZWZpbmVkIHdpdGggIl9fb2JqPXt9IgogKi8KCmZ1bmN0aW9uIF9fZnVuYyhfX2FyZyl7CiAgICBfX2FyZy5mb289IndoaXNrZXkgZ29nbyI7Cn0KCnZhciBfX29iaj17fTsKCiBfX2Z1bmMoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouZm9vICE9PSAid2hpc2tleSBnb2dvIikgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSAid2hpc2tleSBnb2dvIi4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new string property to a function argument within the function body,\nwhere explicit argument is an object defined with \"__obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGFycmF5IGVsZW1lbnQgImFyZ3VtZW50c1swXSIgaXMgYW4gb2JqZWN0IGRlZmluZWQgd2l0aCAiX19vYmo9e30iCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICBhcmd1bWVudHNbMF1bIlBJIl09My4xNDsKfQoKdmFyIF9fb2JqPXt9OwoKX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLlBJICE9PSAzLjE0KSB7CgkkRVJST1IoJyMxOiBfX29iai5QSSA9PT0gMy4xNC4gQWN0dWFsOiBfX29iai5QSSA9PT0nK19fb2JqLlBJKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere array element \"arguments[0]\" is an object defined with \"__obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGFycmF5IGVsZW1lbnQgImFyZ3VtZW50c1swXSIgaXMgYW4gb2JqZWN0IGRlZmluZWQgd2l0aCAidmFyIF9fb2JqPXt9IgogKi8KCmZ1bmN0aW9uIF9fZnVuYygpewogICAgYXJndW1lbnRzWzBdWyJFIl09Mi43NDsKfQoKdmFyIF9fb2JqPXt9OwoKX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLkUgIT09IDIuNzQpIHsKCSRFUlJPUignIzE6IF9fb2JqLkUgPT09IDIuNzQuIEFjdHVhbDogX19vYmouRSA9PT0nK19fb2JqLkUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere array element \"arguments[0]\" is an object defined with \"var __obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFNvcnRpbmcgd2l0aCBjbG9zdXJlCiAqLwoKdmFyIF9fYXJyID0gWzQsMywyLDEsNCwzLDIsMSw0LDMsMiwxXTsKLy9Tb3J0IHVzZXMgY2xvc3VyZQovLwpfX2Fyci5zb3J0KAoJZnVuY3Rpb24oeCx5KSB7IAoJCWlmICh4Pnkpe3JldHVybiAtMTt9IAoJCWlmICh4PHkpe3JldHVybiAxO30gCgkJaWYgKHg9PXkpe3JldHVybiAwO30gCgl9Cik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Fyci50b1N0cmluZygpICE9PSBbNCw0LDQsMywzLDMsMiwyLDIsMSwxLDFdLnRvU3RyaW5nKCkpIHsKCSRFUlJPUignIzE6IF9fYXJyLnRvU3RyaW5nKCkgPT09IFs0LDQsNCwzLDMsMywyLDIsMiwxLDEsMV0udG9TdHJpbmcoKS4gQWN0dWFsOiBfX2Fyci50b1N0cmluZygpID09PScrX19hcnIudG9TdHJpbmcoKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgCgo=","commentary":"Closures are admitted","description":"Sorting with closure","path":"TestCases/ch13/13.2/S13.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIFJldHVybmluZyBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYKICogdXNpbmcgYW4gaW50ZXJ2YWwgb2YgZHgsIHdoaWNoIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNtYWxsCiAqLwoKLy8gUmV0dXJuIGEgZnVuY3Rpb24gdGhhdCBhcHByb3hpbWF0ZXMgdGhlIGRlcml2YXRpdmUgb2YgZgovLyB1c2luZyBhbiBpbnRlcnZhbCBvZiBkeCwgd2hpY2ggc2hvdWxkIGJlIGFwcHJvcHJpYXRlbHkgc21hbGwuCmZ1bmN0aW9uIGRlcml2YXRpdmUoZiwgZHgpIHsKICAgIHJldHVybiBmdW5jdGlvbih4KSB7CiAgICAgIHJldHVybiAoZih4ICsgZHgpIC0gZih4KSkgLyBkeDsKICAgIH07Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKE1hdGguYWJzKGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMCkgLSBkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDIqTWF0aC5QSSkpID49IDEvNjU1MzYuMCkgewoJJEVSUk9SKCcjMTogTWF0aC5hYnMoZGVyaXZhdGl2ZShNYXRoLnNpbiwgMC4wMDAxKSgwKSAtIGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMipNYXRoLlBJKSkgPD0gMS82NTUzNi4wJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Closures are admitted","description":"Returning a function that approximates the derivative of f\nusing an interval of dx, which should be appropriately small","path":"TestCases/ch13/13.2/S13.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmltaXRpdmUgdHlwZXMgYXJlIHBhc3NlZCBieSB2YWx1ZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKGFyZzEsIGFyZzIpIgogKi8KCmZ1bmN0aW9uIF9fZnVuYyhhcmcxLCBhcmcyKXsKICAgIGFyZzErKzsKICAgIGFyZzIrPSJCQSI7Cn07Cgp2YXIgeD0xOwp5PTI7CnZhciBhPSJBQiIKYj0iU0FNIjsKCl9fZnVuYyh4LGEpOwpfX2Z1bmMoeSxiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHghPT0xIHx8IHkhPT0yIHx8IGEhPT0iQUIiIHx8IGIhPT0iU0FNIikgewoJJEVSUk9SKCcjMTogeCA9PT0gMSBhbmQgeSA9PT0gMiBhbmQgYSA9PT0gIkFCIiBhbmQgYiA9PT0gIlNBTSIuIEFjdHVhbDogeCA9PT0nK3grJyBhbmQgeSA9PT0nK3krJyBhbmQgYSA9PT0nK2ErJyBhbmQgYiA9PT0nK2IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Primitive types are passed by value","description":"Declaring a function with \"function __func(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmltaXRpdmUgdHlwZXMgYXJlIHBhc3NlZCBieSB2YWx1ZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMikiCiAqLwoKX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7CiAgICBhcmcxKys7CiAgICBhcmcyKz0iQkEiOwp9OwoKdmFyIHg9MTsKeT0yOwp2YXIgYT0iQUIiCmI9IlNBTSI7CgpfX2Z1bmMoeCxhKTsKX19mdW5jKHksYik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSB8fCB5IT09MiB8fCBhIT09IkFCIiB8fCBiIT09IlNBTSIpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDIgYW5kIGEgPT09ICJBQiIgYW5kIGIgPT09ICJTQU0iLiBBY3R1YWw6IHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KycgYW5kIGEgPT09JythKycgYW5kIGIgPT09JytiKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Primitive types are passed by value","description":"Declaring a function with \"__func = function(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVsbC4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKCkiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IG51bGw7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgeD1fX2Z1bmMoKTsKfSBjYXRjaChlKXsKICAgICRFUlJPUignIzE6IHZhciB4PV9fZnVuYygpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning null. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVsbC4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAidmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpIgogKi8KCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXsKICAgIHZhciB4ID0gbnVsbDsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciB4PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIHg9X19mdW5jKCkgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning null. Declaring a function with \"var __func = function ()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVtYmVyLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgeDsKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB4ID0gMTsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzA6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX194PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9feCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX194ID09PSAxLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMzOiB4ID09PSAxLiBBY3R1YWw6IHggPT09Jyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning number. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgYm9vbGVhbi4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKCkiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IHRydWU7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMwOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9feD1fX2Z1bmMoKQp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoX194KSkgewoJJEVSUk9SKCcjMjogX194ID09PSB0cnVlLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMzOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning boolean. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyB0aHJvd24gdGhlbiBSZXN1bHQudmFsdWUgaXMgdGhyb3duIHRvbwogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gMTsKICAgIHRocm93ICgiQ2F0Y2ggTWUgSWYgWW91IENhbiIpCiAgICByZXR1cm4geDsKfQoKdHJ5ewogICAgdmFyIHg9X19mdW5jKCkKICAgICRFUlJPUignIzA6IHZhciB4PV9fZnVuYygpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CiAgICBpZiAoZSAhPT0gIkNhdGNoIE1lIElmIFlvdSBDYW4iKSB7CiAgICAJJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSAiQ2F0Y2ggTWUgSWYgWW91IENhbiIuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KCg==","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is thrown then Result.value is thrown too","description":"Throwing an exception within a function body. Declaring function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyB0aHJvd24gdGhlbiBSZXN1bHQudmFsdWUgaXMgdGhyb3duIHRvbwogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoICJ2YXIgX19mdW5jID0gZnVuY3Rpb24gKG1lc3NhZ2UpIgogKi8KCnZhciBDQVRDSF9NRV9JRl9ZT1VfQ0FOID0gdHJ1ZTsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiAobWVzc2FnZSl7CiAgICB2YXIgeCA9IDE7CiAgICB0aHJvdyAobWVzc2FnZSkKICAgIHJldHVybiB4Owp9Cgp0cnl7CiAgICB2YXIgeD1fX2Z1bmMoQ0FUQ0hfTUVfSUZfWU9VX0NBTikKICAgICRFUlJPUignIzA6IHZhciB4PV9fZnVuYyhDQVRDSF9NRV9JRl9ZT1VfQ0FOKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCFlKSB7CiAgICAJJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSB0cnVlLiBBY3R1YWw6IGV4Y2VwdGlvbiA9PT0nK2UpOwogICAgfQp9Cgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is thrown then Result.value is thrown too","description":"Throwing an exception within a function body. Declaring function with \"var __func = function (message)\"","path":"TestCases/ch13/13.2/S13.2.1_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJub3JtYWwiLCB0aGVuICJ1bmRlZmluZWQiIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E5LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fZnVuYygpIiBhbmQgbm8gInJldHVybiIgaW4gdGhlIGZ1bmN0aW9uIGJvZHkKICovCgp2YXIgeDsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"normal\", then \"undefined\" is returned","description":"Declaring a function with \"function __func()\" and no \"return\" in the function body","path":"TestCases/ch13/13.2/S13.2.1_A9.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJub3JtYWwiLCB0aGVuICJ1bmRlZmluZWQiIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E5LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggInZhciBfX2Z1bmMgPSBmdW5jdGlvbigpIiBhbmQgbm8gInJldHVybiIgaW4gdGhlIGZ1bmN0aW9uIGJvZHkKICovCgp2YXIgeDsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbigpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"normal\", then \"undefined\" is returned","description":"Declaring a function with \"var __func = function()\" and no \"return\" in the function body","path":"TestCases/ch13/13.2/S13.2.1_A9.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJyZXR1cm4iIGl0cyB2YWx1ZSBpcyBub3QgZGVmaW5lZCwgdGhlbiAidW5kZWZpbmVkIiBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInJldHVybiIgd2l0aCBubyBleHByZXNzaW9uLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgeDsgCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"return\" its value is not defined, then \"undefined\" is returned","description":"Using \"return\" with no expression. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJyZXR1cm4iIGl0cyB2YWx1ZSBpcyBub3QgZGVmaW5lZCwgdGhlbiAidW5kZWZpbmVkIiBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInJldHVybiIgd2l0aCBubyBleHByZXNzaW9uLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKSIKICovCgp2YXIgeDsgCgp2YXIgX19mdW5jID0gZnVuY3Rpb24oKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"return\" its value is not defined, then \"undefined\" is returned","description":"Using \"return\" with no expression. Declaring a function with \"var __func = function()\"","path":"TestCases/ch13/13.2/S13.2.1_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQKICovCgpmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAKICAgdGhpcy5mdW5jID0gZnVuY3Rpb24gKCl7CiAgICAgIHJldHVybiA1OwogICB9CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSA1KSB7CgkkRVJST1IoJyMyOiBvYmouaWQgPT09IDUuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared","description":"Calling a function as a constructor after it has been declared","path":"TestCases/ch13/13.2/S13.2.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCB3aXRoICJmdW5jdGlvbiBmdW5jKCkiCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSB0aGlzLmZ1bmMoKTsKICAgCiAgIGZ1bmN0aW9uIGZ1bmMoKXsKICAgICAgcmV0dXJuICJpZF9zdHJpbmciOwogICB9CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared and called","description":"Calling a function as a constructor after it has been declared with \"function func()\"","path":"TestCases/ch13/13.2/S13.2.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCB3aXRoICJmdW5jdGlvbiBmdW5jKCkiCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBmdW5jdGlvbiBmdW5jKCl7CiAgICAgIHJldHVybiAiaWRfc3RyaW5nIjsKICAgfQogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKG9iai5pZCAhPT0gImlkX3N0cmluZyIpIHsKCSRFUlJPUignIzI6IG9iai5pZCA9PT0gImlkX3N0cmluZyIuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared and called","description":"Calling a function as a constructor after it has been declared with \"function func()\"","path":"TestCases/ch13/13.2/S13.2.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBieSBldmFsIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCBieSBldmFsCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called","description":"Calling a function as a constructor after it has been declared by eval","path":"TestCases/ch13/13.2/S13.2.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBieSBldmFsIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCBieSBldmFsCiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAgdGhpcy5pZCA9IDA7CgogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwoKICAgdGhpcy5pZCA9IGZ1bmMoKTsKCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called","description":"Calling a function as a constructor after it has been declared by eval","noStrict":"","path":"TestCases/ch13/13.2/S13.2.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggInZhciBvYmogPSB7fSIKICovCgp2YXIgX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIG9iaiA9PT0nK3R5cGVvZiBvYmopOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouc2xvdC5wcm9wICE9PTEpIHsKCSRFUlJPUignIzM6IF9fb2JqLnNsb3QucHJvcCA9PT0xLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICB2YXIgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCg==","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"var obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggIm9iaiA9IHt9IgogKi8KCnZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG9iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzE6IG9iai5wcm9wID09PSAiQSIuIEFjdHVhbDogb2JqLnByb3AgPT09JytvYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PSAxLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggInZhciBvYmogPSB7fSIKICovCgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbiAoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICB2YXIgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCl9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBvYmogPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBvYmogPT09Jyt0eXBlb2Ygb2JqKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09MS4gQWN0dWFsOiBfX29iai5zbG90LnByb3AgPT09JytfX29iai5zbG90LnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"var obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggIm9iaiA9IHt9IgogKi8KCl9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLnByb3AgPSAxOwogICAgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCl9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAob2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMTogb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBvYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytvYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PTEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJpcyBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoKXt0aGlzLnByb3A9MTt9IiBhcyBGdW5jdGlvbkV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYygpe3RoaXMucHJvcD0xO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAxKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAxLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"is __obj = new function __func(){this.prop=1;}\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzt9KDUpIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7fSg1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IDUpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09IDUuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzM6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"var __obj = new function __func(arg){this.prop=arg;}(5)\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJpcyBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoYXJnKXt0aGlzLnByb3A9YXJnOyByZXR1cm4ge2ZlYXQ6ICsrYXJnfX0oNSkiIGFzIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7IHJldHVybiB7ZmVhdDogKythcmd9fSg1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLmZlYXQgIT09IDYpIHsKCSRFUlJPUignIzM6IF9fb2JqLmZlYXQgPT09IDYuIEFjdHVhbDogX19vYmouZmVhdCA9PT0nK19fb2JqLmZlYXQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzQ6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"is __obj = new function __func(arg){this.prop=arg; return {feat: ++arg}}(5)\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gY29udGFpbmluZyAid2l0aCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExN19UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50CiAqLwoKdGhpcy5wMT0iYWxlcnQiOwoKX19vYmo9e3AxOjEsZ2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gInJpZ2h0Ijt9fTsKCmdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuICJuYXByYXZvIjt9OwoKdHJ5IHsKCShmdW5jdGlvbigpewogICAgICAgIHdpdGgoX19vYmopewogICAgICAgICAgICBwMT0idzEiOwogICAgICAgICAgICBnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiBmYWxzZTt9CiAgICAgICAgICAgIHRocm93IHAxOwogICAgICAgIH0KICAgIH0pKCk7Cn0gY2F0Y2ggKGUpIHsKCXJlc3VrdCA9IHAxOwp9CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocDEhPT0iYWxlcnQiKSB7CgkkRVJST1IoJyMxOiBwMSA9PT0gImFsZXJ0Ii4gQWN0dWFsOiBwMT09PScrcDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZ2V0UmlnaHQoKSE9PSJuYXByYXZvIikgewoJJEVSUk9SKCcjMjogZ2V0UmlnaHQoKSA9PT0gIm5hcHJhdm8iLiBBY3R1YWw6IGdldFJpZ2h0KCkgPT09ICcrZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5wMSE9PSJ3MSIpIHsKCSRFUlJPUignIzM6IF9fb2JqLnAxID09PSAidzEiLiBBY3R1YWw6IF9fb2JqLnAxID09PScrX19vYmoucDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19vYmouZ2V0UmlnaHQoKSE9PWZhbHNlKSB7CgkkRVJST1IoJyM0OiBfX29iai5nZXRSaWdodCgpID09PSBmYWxzZS4gQWN0dWFsOiBfX29iai5nZXRSaWdodCgpID09PSAnK19fb2JqLmdldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAocmVzdWt0ICE9PSAiYWxlcnQiKSB7CgkkRVJST1IoJyM1OiByZXN1a3QgPT09ICJhbGVydCIuIEFjdHVhbDogcmVzdWt0ID09PScrcmVzdWt0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciByZXN1a3Q7CgoK","commentary":"FunctionExpression containing \"with\" statement is admitted","description":"Throwing an exception within \"with\" statement","path":"TestCases/ch13/13.2/S13.2.2_A17_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gY29udGFpbmluZyAid2l0aCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExN19UMy5qcwogKiBAZGVzY3JpcHRpb24gSW4gdGhlIGNoZWNrIDQgd2UgcG9wdWxhdGUgZmllbGQgZ2V0UmlnaHQgaW4gX19vYmogb2JqZWN0IHNpbmNlIHZhciBnZXRSaWdodCBkZWNsYXJhdGlvbiBhZGRzIHZhcmlhYmxlIHRvIGZ1bmN0aW9uIHNjb3BlCiAqIGJ1dCBnZXRSaWdodCBpbiBzdGF0ZW1lbnQgcmVzb2x2ZXMgd2l0aGluIHdpdGgoX19vYmopIHNjb3BlIGFuZCBzZWFyY2hzIGdldFJpZ2h0IGluIF9fb2JqIGZpcnN0CiAqLwoKcDE9ImFsZXJ0IjsKCnRoaXMuX19vYmo9e3AxOjEsZ2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gInJpZ2h0Ijt9fTsKCnZhciBnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiAibmFwcmF2byI7fTsKCnJlc3VrdD0oZnVuY3Rpb24oKXsKICAgIHdpdGgoX19vYmopewogICAgICAgIHAxPSJ3MSI7CiAgICAgICAgdmFyIGdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO307CiAgICAgICAgcmV0dXJuIHAxOwogICAgfQp9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocDEhPT0iYWxlcnQiKSB7CgkkRVJST1IoJyMxOiBwMSA9PT0gImFsZXJ0Ii4gQWN0dWFsOiBwMT09PScrcDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZ2V0UmlnaHQoKSE9PSJuYXByYXZvIikgewoJJEVSUk9SKCcjMjogZ2V0UmlnaHQoKSA9PT0gIm5hcHJhdm8iLiBBY3R1YWw6IGdldFJpZ2h0KCk9PT0nK2dldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmoucDEhPT0idzEiKSB7CgkkRVJST1IoJyMzOiBfX29iai5wMSA9PT0gIncxIi4gQWN0dWFsOiBfX29iai5wMSA9PT0nK19fb2JqLnAxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fb2JqLmdldFJpZ2h0KCkhPT1mYWxzZSkgewoJJEVSUk9SKCcjNDogX19vYmouZ2V0UmlnaHQoKSA9PT0gZmFsc2UuIEFjdHVhbDogX19vYmouZ2V0UmlnaHQoKT09PScrX19vYmouZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChyZXN1a3QgIT09ICJ3MSIpIHsKCSRFUlJPUignIzU6IHJlc3VrdCA9PT0gIncxIi4gQWN0dWFsOiByZXN1a3QgPT09JytyZXN1a3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHJlc3VrdDsKCgo=","commentary":"FunctionExpression containing \"with\" statement is admitted","description":"In the check 4 we populate field getRight in __obj object since var getRight declaration adds variable to function scope\nbut getRight in statement resolves within with(__obj) scope and searchs getRight in __obj first","path":"TestCases/ch13/13.2/S13.2.2_A17_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyBhcmd1bWVudHMgb2JqZWN0IHdpdGhpbiBhICJ3aXRoIiBFeHByZXNzaW9uIHRoYXQgaXMgbmVzdGVkIGluIGEgZnVuY3Rpb24gaXMgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgaXMgZGVjbGFyZWQgd2l0aCAidmFyIF9fb2JqPXtjYWxsZWU6ImEifSIKICovCgp2YXIgY2FsbGVlPTAsIGI7Cgp2YXIgX19vYmo9e2NhbGxlZToiYSJ9OwoKcmVzdWx0PShmdW5jdGlvbigpewogICAgd2l0aCAoYXJndW1lbnRzKXsKICAgICAgICBjYWxsZWU9MTsKICAgICAgICBiPXRydWU7CiAgICB9CiAgICByZXR1cm4gYXJndW1lbnRzOwp9KShfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChjYWxsZWUgIT09IDApIHsKCSRFUlJPUignIzE6IGNhbGxlZSA9PT0gMC4gQWN0dWFsOiBjYWxsZWUgPT09JytjYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmouY2FsbGVlICE9PSAiYSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLmNhbGxlZSA9PT0gImEiLiBBY3R1YWw6IF9fb2JqLmNhbGxlZT09PScrX19vYmouY2FsbGVlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKHJlc3VsdC5jYWxsZWUgIT09IDEpIHsKCSRFUlJPUignIzM6IHJlc3VsdC5jYWxsZWUgPT09IDEuIEFjdHVhbDogcmVzdWx0LmNhbGxlZSA9PT0nK3Jlc3VsdC5jYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoISh0aGlzLmIpKSB7CgkkRVJST1IoJyM0OiB0aGlzLmIgPT09IHRydWUuIEFjdHVhbDogdGhpcy5iID09PScrdGhpcy5iKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Using arguments object within a \"with\" Expression that is nested in a function is admitted","description":"Object is declared with \"var __obj={callee:\"a\"}\"","path":"TestCases/ch13/13.2/S13.2.2_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyBhcmd1bWVudHMgb2JqZWN0IHdpdGhpbiBhICJ3aXRoIiBFeHByZXNzaW9uIHRoYXQgaXMgbmVzdGVkIGluIGEgZnVuY3Rpb24gaXMgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgaXMgZGVjbGFyZWQgd2l0aCAiX19vYmo9e2NhbGxlZToiYSJ9IgogKi8KCnRoaXMuY2FsbGVlID0gMDsKdmFyIGI7CgpfX29iaj17Y2FsbGVlOiJhIn07CgpmdW5jdGlvbiBmKCl7CiAgICB3aXRoIChhcmd1bWVudHMpewogICAgICAgIGNhbGxlZT0xOwogICAgICAgIGI9dHJ1ZTsKICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgfQp9OwoKcmVzdWx0PWYoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2FsbGVlICE9PSAwKSB7CgkkRVJST1IoJyMxOiBjYWxsZWUgPT09IDAuIEFjdHVhbDogY2FsbGVlID09PScrY2FsbGVlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmNhbGxlZSAhPT0gImEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5jYWxsZWUgPT09ICJhIi4gQWN0dWFsOiBfX29iai5jYWxsZWUgPT09JytfX29iai5jYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAocmVzdWx0LmNhbGxlZSAhPT0gMSkgewoJJEVSUk9SKCcjMzogcmVzdWx0LmNhbGxlZSA9PT0gMS4gQWN0dWFsOiByZXN1bHQuY2FsbGVlID09PScrcmVzdWx0LmNhbGxlZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICghKHRoaXMuYikpIHsKCSRFUlJPUignIzQ6IHRoaXMuYiA9PT0gdHJ1ZS4gQWN0dWFsOiB0aGlzLmIgPT09Jyt0aGlzLmIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Using arguments object within a \"with\" Expression that is nested in a function is admitted","description":"Object is declared with \"__obj={callee:\"a\"}\"","path":"TestCases/ch13/13.2/S13.2.2_A18_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDEuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBnbG9iYWwgc2NvcGUKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19mdW5jPSBmdW5jdGlvbigpe3JldHVybiBhO307Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSBfX2Z1bmMoKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAxKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the global scope","path":"TestCases/ch13/13.2/S13.2.2_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDIuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUuIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSAoZnVuY3Rpb24oKXtyZXR1cm4gYTt9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope. Using \"with\" statement","path":"TestCases/ch13/13.2/S13.2.2_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDMuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUgYW5kIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93bgogKi8KCnZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKdHJ5IHsKCXdpdGggKF9fb2JqKQogICAgewogICAgICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXtyZXR1cm4gYTt9OwogICAgICAgIHRocm93IDM7CiAgICB9Cn0gY2F0Y2ggKGUpIHsKCTsKfQoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope and then an exception is thrown","path":"TestCases/ch13/13.2/S13.2.2_A19_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDQuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBoaWVyYXJjaGljYWwgb2JqZWN0IHNjb3BlIGFuZCB0aGVuIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24KICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyLF9fb2JqOnthOjN9fTsKCnRyeSB7Cgl3aXRoIChfX29iaikKICAgIHsKICAgICAgICB3aXRoKF9fb2JqKXsKICAgICAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIGE7fTsKICAgICAgICAgICAgdGhyb3cgNTsKICAgICAgICB9CiAgICB9Cn0gY2F0Y2ggKGUpIHsKCTsKfQoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDMpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMy4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the hierarchical object scope and then an exception is thrown","path":"TestCases/ch13/13.2/S13.2.2_A19_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDUuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUsIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93biBhbmQgdGhlIG9iamVjdCBpcyBkZWxldGVkCiAqLwoKdmFyIGEgPSAxOwoKdmFyIF9fb2JqID0ge2E6Mn07Cgp3aXRoIChfX29iaikKewogICAgdHJ5IHsKICAgICAgICAKICAgIAl2YXIgX19mdW5jID0gZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgfQogICAgICAgIHRocm93IDM7CiAgICB9IGNhdGNoIChlKSB7CiAgICAJOwogICAgfQp9CgpkZWxldGUgX19vYmo7CgpyZXN1bHQgPSBfX2Z1bmMoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMikgewoJJEVSUk9SKCcjMTogcmVzdWx0ID09PSAyLiBBY3R1YWw6IHJlc3VsdCA9PT0nK3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope, then an exception is thrown and the object is deleted","path":"TestCases/ch13/13.2/S13.2.2_A19_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDYuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSAib2JqZWN0LT5kby13aGlsZSIgc2NvcGUsIHRoZW4gdGhlIG9iamVjdCBpcyBkZWxldGVkIGFuZCBhbm90aGVyIG9iamVjdCB3aXRoIHRoZSBzYW1lIG5hbWUgaXMgZGVjbGFyZWQKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICBkbyB7CiAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgIH0gd2hpbGUoMCk7Cn0KCmRlbGV0ZSBfX29iajsKCnZhciBfX29iaiA9IHthOjN9OwoKd2l0aCAoX19vYmopCnsKICAgIHJlc3VsdCA9IF9fZnVuYygpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the \"object->do-while\" scope, then the object is deleted and another object with the same name is declared","path":"TestCases/ch13/13.2/S13.2.2_A19_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDcuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUgYXMgYSB2YXJpYWJsZQogKi8KCnZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIGE7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmhhc093blByb3BlcnR5KCdfX2Z1bmMnKSkgewoJJEVSUk9SKCcjMTogX19vYmouaGFzT3duUHJvcGVydHkoXCdfX2Z1bmNcJykgPT09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISh0aGlzLmhhc093blByb3BlcnR5KCdfX2Z1bmMnKSkpIHsKCSRFUlJPUignIzI6IHRoaXMuaGFzT3duUHJvcGVydHkoXCdfX2Z1bmNcJykgPT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZnVuYyBpbiBfX29iaikgewoJJEVSUk9SKCcjMzogKF9fZnVuYyBpbiBfX29iaikgPT09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0aGlzLl9fZnVuYyA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyM0OiB0aGlzLl9fZnVuYyAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope as a variable","path":"TestCases/ch13/13.2/S13.2.2_A19_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDguanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIG11bHRpcGx5IHRpbWVzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzA6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBhID0gMSwgYiA9ICJhIjsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHdoaWxlKDEpewogICAgICAgIHZhciAgX19mdW5jID0gZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09IDIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAyLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0ge2E6MyxiOiJiIn07Cgp3aXRoIChfX29iaikKewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gYjsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkhPT0iYiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aXRoICh7YTo5OSxiOiJjIn0pCnsKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMzCiAgICBpZiAoX19mdW5jKCkgIT09ICJiIikgewogICAgCSRFUlJPUignIzM6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0KCg==","commentary":"Function's scope chain is started when it is declared","description":"Function is declared multiply times","path":"TestCases/ch13/13.2/S13.2.2_A19_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgX19NT05TVEVSPSJtb25zdGVyIjsKdmFyIF9fUFJFREFUT1I9InByZWRhdG9yIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fTU9OU1RFUjsKfQpjYXRjaChlKXsKICAgICRFUlJPUignIzA6IF9fUFJPVE8udHlwZT1fX01PTlNURVIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKQp9CgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt0aGlzLm5hbWU9X19QUkVEQVRPUn07CgpfX0ZBQ1RPUlkucHJvdG90eXBlPV9fUFJPVE87Cgp2YXIgX19tb25zdGVyID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSkpIHsKCSRFUlJPUignIzE6IF9fUFJPVE8uaXNQcm90b3R5cGVPZihfX21vbnN0ZXIpIG11c3QgYmUgdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tb25zdGVyLnR5cGUgIT09X19NT05TVEVSKSB7CgkkRVJST1IoJyMyOiBfX21vbnN0ZXIudHlwZSA9PT1fX01PTlNURVIuIEFjdHVhbDogX19tb25zdGVyLnR5cGUgPT09JytfX21vbnN0ZXIudHlwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property","description":"Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19QUk9UTyA9IGZ1bmN0aW9uKCkiCiAqLwoKdmFyIF9fTU9OU1RFUj0ibW9uc3RlciI7CnZhciBfX1BSRURBVE9SPSJwcmVkYXRvciI7Cgp2YXIgX19QUk9UTyA9IGZ1bmN0aW9uKCl7fTsKCnRyeXsKICAgIF9fUFJPVE8udHlwZT1fX01PTlNURVI7Cn0KY2F0Y2goZSl7CiAgICAkRkFJTCgnIzA6IF9fUFJPVE8udHlwZT1fX01PTlNURVIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKQp9Cgp2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt0aGlzLm5hbWU9X19QUkVEQVRPUn07CgpfX0ZBQ1RPUlkucHJvdG90eXBlPV9fUFJPVE87Cgp2YXIgX19tb25zdGVyID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSkpIHsKCSRFUlJPUignIzE6IF9fUFJPVE8uaXNQcm90b3R5cGVPZihfX21vbnN0ZXIpIG11c3QgYmUgdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tb25zdGVyLnR5cGUgIT09X19NT05TVEVSKSB7CgkkRVJST1IoJyMyOiBfX21vbnN0ZXIudHlwZSA9PT1fX01PTlNURVIuIEFjdHVhbDogX19tb25zdGVyLnR5cGUgPT09JytfX21vbnN0ZXIudHlwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property","description":"Declaring a function with \"var __PROTO = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5LAogKiBidXQgW1tjYWxsXV0gcHJvcGVydHkgbXVzdCBmYWlsIHdpdGggVHlwZUVycm9yIGVycm9yCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gW1tjYWxsXV0gdGhpcyBmdW5jdGlvbgogKi8KCnZhciBfX1BMQU5UPSJmbG93ZXIiOwp2YXIgX19ST1NFPSJyb3NlIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fUExBTlQ7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19QTEFOVCBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMubmFtZT1fX1JPU0V9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fcm9zZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgX19yb3NlKCk7CiAgICAkRVJST1IoJyMxOiBfX3Jvc2UoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgIAkkRVJST1IoJyMyOiBFeGNlcHRpb24gVHlwZSBpcyBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property,\nbut [[call]] property must fail with TypeError error","description":"Trying to [[call]] this function","path":"TestCases/ch13/13.2/S13.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEl0IGdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgbm90IGFuIG9iamVjdCwgc2V0cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QganVzdCBjcmVhdGVkCiAqICB0byB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgYXMgZGVzY3JpYmVkIGluIDE1LjIuMy4xCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX0ZBQ1RPUlkoKSIKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nIt gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created\n to the original Object prototype object as described in 15.2.3.1","description":"Declaring a function with \"function __FACTORY()\"","path":"TestCases/ch13/13.2/S13.2.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEl0IGdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgbm90IGFuIG9iamVjdCwgc2V0cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QganVzdCBjcmVhdGVkCiAqICB0byB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgYXMgZGVzY3JpYmVkIGluIDE1LjIuMy4xCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKSIKICovCgp2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nIt gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created\n to the original Object prototype object as described in 15.2.3.1","description":"Declaring a function with \"var __FACTORY = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgYW4gb2JqZWN0LCBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQKICogdG8gdGhlIFBST1RPX1ZBTAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19GQUNUT1JZKCkiCiAqLwoKdmFyIF9fQ1VCRT0iY3ViZSI7CgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKfTsKX19GQUNUT1JZLnByb3RvdHlwZT17IHNoYXBlOl9fQ1VCRSwgcHJpbnRTaGFwZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYXBlO30gfTsKCnZhciBfX2RldmljZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLnByaW50U2hhcGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19kZXZpY2UucHJpbnRTaGFwZSAhPT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUgPT09JytfX2RldmljZS5wcmludFNoYXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZGV2aWNlLnByaW50U2hhcGUoKSAhPT0gX19DVUJFKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS5wcmludFNoYXBlKCkgPT09IF9fQ1VCRS4gQWN0dWFsOiBfX2RldmljZS5wcmludFNoYXBlKCkgPT09JytfX2RldmljZS5wcmludFNoYXBlKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nGets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created\nto the PROTO_VAL","description":"Declaring a function with \"function __FACTORY()\"","path":"TestCases/ch13/13.2/S13.2.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgYW4gb2JqZWN0LCBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQKICogdG8gdGhlIFBST1RPX1ZBTAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19GQUNUT1JZID0gZnVuY3Rpb24oKSIKICovCgpfX0NVQkU9ImN1YmUiOwoKX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZT17IHNoYXBlOl9fQ1VCRSwgcHJpbnRTaGFwZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYXBlO30gfTsKCl9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UucHJpbnRTaGFwZSA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5wcmludFNoYXBlICE9PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2UucHJpbnRTaGFwZSgpICE9PSBfX0NVQkUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0gX19DVUJFLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nGets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created\nto the PROTO_VAL","description":"Declaring a function with \"__FACTORY = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQgYXMgdGhlIHRoaXMgdmFsdWUgYW5kCiAqIHByb3ZpZGluZyB0aGUgYXJndW1lbnQgbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fRkFDVE9SWShhcmcxLCBhcmcyKSIKICovCgpfX1ZPTFVNRT04OwpfX1JFRD0icmVkIjsKX19JRD0xMjM0MjsKX19UT1A9MS4xOwpfX0JPVFRPTT0wLjA7Cl9fTEVGVD0wLjA7CgoKZnVuY3Rpb24gX19GQUNUT1JZKGFyZzEsIGFyZzIpewoJdGhpcy52b2x1bWU9X19WT0xVTUU7Cgljb2xvcj1fX1JFRDsKCXRoaXMuaWQ9YXJnMTsKCXRvcD1hcmcyOwoJdGhpcy5ib3R0b209YXJndW1lbnRzWzNdOwoJbGVmdD1hcmd1bWVudHNbNF07Cn07CgpfX2RldmljZSA9IG5ldyBfX0ZBQ1RPUlkoX19JRCwgX19UT1AsIF9fQk9UVE9NLCBfX0xFRlQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UuY29sb3IgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19kZXZpY2UuY29sb3IgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5jb2xvciA9PT0nK19fZGV2aWNlLmNvbG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZGV2aWNlLnZvbHVtZSAhPT0gX19WT0xVTUUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnZvbHVtZSA9PT0gX19WT0xVTUUuIEFjdHVhbDogX19kZXZpY2Uudm9sdW1lID09PScrX19kZXZpY2Uudm9sdW1lKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZGV2aWNlLnRvcCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMzOiBfX2RldmljZS50b3AgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS50b3AgPT09JytfX2RldmljZS50b3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19kZXZpY2UuaWQgIT09IF9fSUQpIHsKCSRFUlJPUignIzQ6IF9fZGV2aWNlLmlkID09PSBfX0lELiBBY3R1YWw6IF9fZGV2aWNlLmlkID09PScrX19kZXZpY2UuaWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19kZXZpY2UubGVmdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyM1OiBfX2RldmljZS5sZWZ0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UubGVmdCA9PT0nK19fZGV2aWNlLmxlZnQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19kZXZpY2UuYm90dG9tICE9PSBfX0JPVFRPTSkgewoJJEVSUk9SKCcjNjogX19kZXZpY2UuYm90dG9tID09PSBfX0JPVFRPTS4gQWN0dWFsOiBfX2RldmljZS5ib3R0b20gPT09JytfX2RldmljZS5ib3R0b20pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and\nproviding the argument list passed into [[Construct]] as the argument values","description":"Declaring a function with \"function __FACTORY(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQgYXMgdGhlIHRoaXMgdmFsdWUgYW5kCiAqIHByb3ZpZGluZyB0aGUgYXJndW1lbnQgbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggIl9fRkFDVE9SWSA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpIgogKi8KCl9fVk9MVU1FPTg7Cl9fUkVEPSJyZWQiOwpfX0lEPTEyMzQyOwpfX1RPUD0xLjE7Cl9fQk9UVE9NPTAuMDsKX19MRUZUPTAuMDsKCgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMudm9sdW1lPV9fVk9MVU1FOwoJY29sb3I9X19SRUQ7Cgl0aGlzLmlkPWFyZzE7Cgl0b3A9YXJnMjsKCXRoaXMuYm90dG9tPWFyZ3VtZW50c1szXTsKCWxlZnQ9YXJndW1lbnRzWzRdOwp9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKF9fSUQsIF9fVE9QLCBfX0JPVFRPTSwgX19MRUZUKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLmNvbG9yICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLmNvbG9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UuY29sb3IgPT09JytfX2RldmljZS5jb2xvcik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS52b2x1bWUgIT09IF9fVk9MVU1FKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS52b2x1bWUgPT09IF9fVk9MVU1FLiBBY3R1YWw6IF9fZGV2aWNlLnZvbHVtZSA9PT0nK19fZGV2aWNlLnZvbHVtZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2RldmljZS50b3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogX19kZXZpY2UudG9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UudG9wID09PScrX19kZXZpY2UudG9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fZGV2aWNlLmlkICE9PSBfX0lEKSB7CgkkRVJST1IoJyM0OiBfX2RldmljZS5pZCA9PT0gX19JRC4gQWN0dWFsOiBfX2RldmljZS5pZCA9PT0nK19fZGV2aWNlLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fZGV2aWNlLmxlZnQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogX19kZXZpY2UubGVmdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmxlZnQgPT09JytfX2RldmljZS5sZWZ0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fZGV2aWNlLmJvdHRvbSAhPT0gX19CT1RUT00pIHsKCSRFUlJPUignIzY6IF9fZGV2aWNlLmJvdHRvbSA9PT0gX19CT1RUT00uIEFjdHVhbDogX19kZXZpY2UuYm90dG9tID09PScrX19kZXZpY2UuYm90dG9tKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and\nproviding the argument list passed into [[Construct]] as the argument values","description":"Declaring a function with \"__FACTORY = function(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBub3QgT2JqZWN0IHRoZW4gcmV0dXJuIHBhc3NlZCBhcyB0aGlzIGludG8gW1tDYWxsXV0gb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJfX2Z1bmMgPSBmdW5jdGlvbihhcmcpIgogKi8KCl9fRk9PPSJmb29WYWx1ZSI7Cl9fQkFSPSJiYXJWYWx1ZSI7CgpfX2Z1bmMgPSBmdW5jdGlvbihhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIDA7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07CgpfX29iaiA9IG5ldyBfX2Z1bmMoX19GT08sIF9fQkFSKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyE9PV9fRk9PKSB7CgkkRVJST1IoJyMxOiBfX29iai5mb28gPT09IF9fRk9PLiBBY3R1YWw6IF9fb2JqLmZvbz09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmJhciE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmouYmFyID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmouYmFyPT09JytfX29iai5iYXIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object","description":"Declaring a function with \"__func = function(arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBub3QgT2JqZWN0IHRoZW4gcmV0dXJuIHBhc3NlZCBhcyB0aGlzIGludG8gW1tDYWxsXV0gb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMgKGFyZykiCiAqLwoKdmFyIF9fRk9PPSJmb29WYWx1ZSI7CnZhciBfX0JBUj0iYmFyVmFsdWUiOwoKZnVuY3Rpb24gX19mdW5jIChhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIHRydWU7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07Cgp2YXIgX19vYmogPSBuZXcgX19mdW5jKF9fRk9PLCBfX0JBUik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28hPT1fX0ZPTykgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSBfX0ZPTy4gQWN0dWFsOiBfX29iai5mb289PT0nK19fb2JqLmZvbyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5iYXIhPT11bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fb2JqLmJhciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLmJhcj09PScrX19vYmouYmFyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object","description":"Declaring a function with \"function __func (arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBPYmplY3QgdGhlbiByZXR1cm4gdGhpcyBqdXN0IGFzIG9idGFpbmVkIG9iamVjdAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BN19UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiYXMgX19mdW5jID0gZnVuY3Rpb24oYXJnKSIKICovCgp2YXIgX19GUlNUPSJvbmUiOwp2YXIgX19TQ05EPSJ0d28iOwoKZnVuY3Rpb24gX19mdW5jIChhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX29iaj17c2Vjb25kOmFyZzJ9OwogICAgcmV0dXJuIF9fb2JqOwoJCn07Cgp2YXIgX19vYmpfXyA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmpfXy5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX29ial9fLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmpfXy5maXJzdD09PScrX19vYmpfXy5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29ial9fLnNlY29uZCAhPT0gX19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX29ial9fLnNlY29uZCA9PT0gX19TQ05ELiBBY3R1YWw6IF9fb2JqX18uc2Vjb25kID09PScrX19vYmpfXy5zZWNvbmQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Object then return this just as obtained object","description":"Declaring a function with \"as __func = function(arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBPYmplY3QgdGhlbiByZXR1cm4gdGhpcyBqdXN0IGFzIG9idGFpbmVkIG9iamVjdAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BN19UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgImZ1bmN0aW9uIGFzIGZ1bmN0aW9uIF9fZnVuYyAoYXJnKSIKICovCgpfX0ZSU1Q9Im9uZSI7Cl9fU0NORD0idHdvIjsKCl9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJdmFyIF9fb2JqPXtzZWNvbmQ6YXJnMn07CiAgICByZXR1cm4gX19vYmo7CgkKfTsKCl9fb2JqX18gPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqX18uZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19vYmpfXy5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqX18uZmlyc3Q9PT0nK19fb2JqX18uZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpfXy5zZWNvbmQgIT09IF9fU0NORCkgewoJJEVSUk9SKCcjMjogX19vYmpfXy5zZWNvbmQgPT09IF9fU0NORC4gQWN0dWFsOiBfX29ial9fLnNlY29uZCA9PT0nK19fb2JqX18uc2Vjb25kKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Object then return this just as obtained object","description":"Declaring a \"function as function __func (arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zICJyZXR1cm4iIGZvbGxvd2VkIGJ5IGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24KICovCgp2YXIgX19GUlNUPSJvbmUiOwp2YXIgX19TQ05EPSJ0d28iOwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJCglfX2d1bmMucHJvcD1hcmcyOwogICAgcmV0dXJuIF9fZ3VuYzsKICAgIC8vIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAgICBmdW5jdGlvbiBfX2d1bmMoYXJnKXtyZXR1cm4gKythcmd9OwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgxKSE9PSAyKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKDEpPT09IDIuIEFjdHVhbDogX19pbnN0YW5jZSgxKSA9PT0nK19faW5zdGFuY2UoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains \"return\" followed by declaration of another function","path":"TestCases/ch13/13.2/S13.2.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVjbGFyZWQgYXMgYSB2YXJpYWJsZQogKi8KCnZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19ndW5jID0gZnVuY3Rpb24oYXJnKXtyZXR1cm4gYXJnKz0iQkEifTsKCV9fZ3VuYy5wcm9wPWFyZzI7CiAgICByZXR1cm4gX19ndW5jOwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgiU0FNIikhPT0gIlNBTUJBIikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgiU0FNIikgPT09ICJTQU1CQSIuIEFjdHVhbDogX19pbnN0YW5jZSgiU0FNIikgPT09JytfX2luc3RhbmNlKCJTQU0iKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains declaration of another function declared as a variable","path":"TestCases/ch13/13.2/S13.2.2_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVmaW5lZCBieSB1c2luZyBGdW5jdGlvbi5jYWxsIG1ldGhvZAogKi8KCnZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19ndW5jID0gRnVuY3Rpb24uY2FsbCh0aGlzLCJhcmciLCJyZXR1cm4gKythcmc7Iik7CglfX2d1bmMucHJvcD1hcmcyOwogICAgcmV0dXJuIF9fZ3VuYzsKCQp9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19pbnN0YW5jZS5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9faW5zdGFuY2UuZmlyc3QgPT09JytfX2luc3RhbmNlLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UucHJvcCE9PV9fU0NORCkgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZS5wcm9wID09PSBfX1NDTkQuIEFjdHVhbDogX19pbnN0YW5jZS5wcm9wID09PScrX19pbnN0YW5jZS5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UoMSkhPT0gMikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgxKT09PSAyLiBBY3R1YWw6IF9faW5zdGFuY2UoMSkgPT09JytfX2luc3RhbmNlKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains declaration of another function defined by using Function.call method","path":"TestCases/ch13/13.2/S13.2.2_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBjYWxsZWQgYmVmb3JlIGl0IGlzIGRlY2xhcmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvcgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAgdGhpcy5pZCA9IDA7CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgIAogICB0aGlzLmZ1bmMgPSBmdW5jdGlvbiAoKXsKICAgICAgcmV0dXJuIDU7CiAgIH0KICAKfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is called before it is declared","description":"Calling a function as a constructor","path":"TestCases/ch13/13.2/S13.2.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gY2hlY2sgdGhhdCBhbGwgcG9pc29uaW5nIHVzZSB0aGUgW1tUaHJvd1R5cGVFcnJvcl1dCiAqIGZ1bmN0aW9uIG9iamVjdC4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CnZhciBwb2lzb24gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZ1bmN0aW9uKCkge30sICdjYWxsZXInKS5nZXQ7CgppZiAodHlwZW9mIHBvaXNvbiAhPT0gJ2Z1bmN0aW9uJykgewogICRFUlJPUigiIzE6IEEgc3RyaWN0IGZ1bmN0aW9uJ3MgLmNhbGxlciBzaG91bGQgYmUgcG9pc29uZWQgd2l0aCBhIGZ1bmN0aW9uIik7Cn0KdmFyIHRocmV3ID0gbnVsbDsKdHJ5IHsKICBwb2lzb24oKTsKfSBjYXRjaCAoZXJyKSB7CiAgdGhyZXcgPSBlcnI7Cn0KaWYgKCF0aHJldyB8fCAhKHRocmV3IGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICRFUlJPUigiIzI6IFBvaXNvbmVkIHByb3BlcnR5IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IiKTsKfQoKZnVuY3Rpb24gY2hlY2tQb2lzb24ob2JqLCBuYW1lKSB7CiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmFtZSk7CiAgaWYgKGRlc2MuZW51bWVyYWJsZSkgewogICAgJEVSUk9SKCIjMzogUG9pc29uZWQgIiArIG5hbWUgKyAiIHNob3VsZCBub3QgYmUgZW51bWVyYWJsZSIpOwogIH0KICBpZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiIzQ6IFBvaXNvbmVkICIgKyBuYW1lICsgIiBzaG91bGQgbm90IGJlIGNvbmZpZ3VyYWJsZSIpOwogIH0KICBpZiAocG9pc29uICE9PSBkZXNjLmdldCkgewogICAgJEVSUk9SKCIjNTogIiArIG5hbWUgKyAiJ3MgZ2V0dGVyIG5vdCBwb2lzb25lZCB3aXRoIHNhbWUgcG9pc29uIik7CiAgfQogIGlmIChwb2lzb24gIT09IGRlc2Muc2V0KSB7CiAgICAkRVJST1IoIiM2OiAiICsgbmFtZSArICIncyBzZXR0ZXIgbm90IHBvaXNvbmVkIHdpdGggc2FtZSBwb2lzb24iKTsKICB9Cn0KCmNoZWNrUG9pc29uKGZ1bmN0aW9uKCkge30sICdjYWxsZXInKTsKY2hlY2tQb2lzb24oZnVuY3Rpb24oKSB7fSwgJ2FyZ3VtZW50cycpOwpjaGVja1BvaXNvbigoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCksICdjYWxsZXInKTsKY2hlY2tQb2lzb24oKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpLCAnY2FsbGVlJyk7CmNoZWNrUG9pc29uKChmdW5jdGlvbigpIHt9KS5iaW5kKG51bGwpLCAnY2FsbGVyJyk7CmNoZWNrUG9pc29uKChmdW5jdGlvbigpIHt9KS5iaW5kKG51bGwpLCAnYXJndW1lbnRzJyk7Cgo=","commentary":"","description":"check that all poisoning use the [[ThrowTypeError]]\nfunction object.","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBICJwcm90b3R5cGUiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiZnVuY3Rpb24gX19mdW5jKCl7fSIgYXMgYSBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5wcm90b3R5cGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A \"prototype\" property is automatically created for every function","description":"Using \"function __func(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBICJwcm90b3R5cGUiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAidmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7fSIgYXMgYSBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5wcm90b3R5cGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A \"prototype\" property is automatically created for every function","description":"Using \"var __func = function(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgZnVuY3Rpb24gYXJlIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gTmVzdGluZyBsZXZlbCBpcyB0d28KICovCgp2YXIgX19KRURJPSJqZWRpIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICAKICAgIHJldHVybiBfX0dVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKShfX0pFREkpICE9PSBfX0pFREkpIHsKCSRFUlJPUignIzE6IF9fRlVOQygpKF9fSkVESSkgPT09IF9fSkVESS4gQWN0dWFsOiBfX0ZVTkMoKShfX0pFREkpID09PScrX19GVU5DKCkoX19KRURJKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Nested function are admitted","description":"Nesting level is two","path":"TestCases/ch13/13.2/S13.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgZnVuY3Rpb24gYXJlIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gTmVzdGluZyBsZXZlbCBpcyB0aHJlZQogKi8KCnZhciBfX1JPQk9UPSJDM1BPIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICBmdW5jdGlvbiBfX0hVTkMoKXsKICAgICAgICByZXR1cm4gX19HVU5DOwogICAgfTsKICAgIHJldHVybiBfX0hVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKSgpKF9fUk9CT1QpICE9PSBfX1JPQk9UKSB7CgkkRVJST1IoJyMxOiBfX0ZVTkMoKSgpKF9fUk9CT1QpID09PSBfX1JPQk9ULiBBY3R1YWw6IF9fRlVOQygpKCkoX19ST0JPVCkgPT09JytfX0ZVTkMoKSgpKF9fUk9CT1QpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Nested function are admitted","description":"Nesting level is three","path":"TestCases/ch13/13.2/S13.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEYgaXMgc2V0IHRvIHRoZSBudW1iZXIgb2YgZm9ybWFsIHByb3BlcnRpZXMgc3BlY2lmaWVkIGluIEZvcm1hbFBhcmFtZXRlckxpc3QKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB2YXJpb3VzIEZvcm1hbFBhcmFtZXRlckxpc3QgYW5kIGNoZWNraW5nIHRoZWlyIGxlbmd0aHMKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLmxlbmd0aCAhPT0gMCkgewoJJEVSUk9SKCcjMTogX19mdW5jLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiBfX2Z1bmMubGVuZ3RoID09PScrX19mdW5jLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2d1bmMoYSxiLGMpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2d1bmMubGVuZ3RoICE9PSAzKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMubGVuZ3RoID09PSAzLiBBY3R1YWw6IF9fZ3VuYy5sZW5ndGggPT09JytfX2d1bmMubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When Function object(F) is constructed the length property of F is set to the number of formal properties specified in FormalParameterList","description":"Creating functions with various FormalParameterList and checking their lengths","path":"TestCases/ch13/13.2/S13.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGZyb20gOSB0byAxMSB0YWtlIHBsYWNlCiAqIDkuQ3JlYXRlIGEgbmV3IG9iamVjdCBhcyB3b3VsZCBiZSBjb25zdHJ1Y3RlZCBieSB0aGUgZXhwcmVzc2lvbiBuZXcgT2JqZWN0KCkuCiAqIDEwLiBTZXQgdGhlIGNvbnN0cnVjdG9yIHByb3BlcnR5IG9mIFJlc3VsdCg5KSB0byBGLiBUaGlzIHByb3BlcnR5IGlzIGdpdmVuIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9LgogKiAxMS4gU2V0IHRoZSAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiBGIHRvIFJlc3VsdCg5KS4KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUsIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIGFuZCB7RG9udEVudW19IHByb3BlcnR5IG9mIGEgY29uc3RydWN0b3IuCiAqIFVzaW5nICJmdW5jdGlvbiBfX2Z1bmMoKXt9IiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYy5wcm90b3R5cGUgIT09ICdvYmplY3QnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jLnByb3RvdHlwZSA9PT0gXCdvYmplY3RcJy4gQWN0dWFsOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0nK3R5cGVvZiBfX2d1bmMucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IF9fZnVuYykgewoJJEVSUk9SKCcjMjogX19mdW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gX19mdW5jLiBBY3R1YWw6IF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09JytfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkOwoKZm9yIChfX3Byb3AgaW4gX19mdW5jLnByb3RvdHlwZSl7CiAgICBpZiAoX19wcm9wID0gJ2NvbnN0cnVjdG9yJykKICAgICAgICBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID0gdHJ1ZTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCkgewoJJEVSUk9SKCcjMzogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0gZmFsc2UuIEFjdHVhbDogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0nK19fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"When Function object(F) is constructed the following steps from 9 to 11 take place\n9.Create a new object as would be constructed by the expression new Object().\n10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.\n11. Set the \"prototype\" property of F to Result(9).","description":"Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.\nUsing \"function __func(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGZyb20gOSB0byAxMSB0YWtlIHBsYWNlCiAqIDkuQ3JlYXRlIGEgbmV3IG9iamVjdCBhcyB3b3VsZCBiZSBjb25zdHJ1Y3RlZCBieSB0aGUgZXhwcmVzc2lvbiBuZXcgT2JqZWN0KCkuCiAqIDEwLiBTZXQgdGhlIGNvbnN0cnVjdG9yIHByb3BlcnR5IG9mIFJlc3VsdCg5KSB0byBGLiBUaGlzIHByb3BlcnR5IGlzIGdpdmVuIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9LgogKiAxMS4gU2V0IHRoZSAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiBGIHRvIFJlc3VsdCg5KS4KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUsIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIGFuZCB7RG9udEVudW19IHByb3BlcnR5IG9mIGEgY29uc3RydWN0b3IuCiAqIFVzaW5nICJ2YXIgX19ndW5jID0gZnVuY3Rpb24oKXt9IiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgp2YXIgX19ndW5jID0gZnVuY3Rpb24oKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUgIT09ICdvYmplY3QnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0gXCdvYmplY3RcJy4gQWN0dWFsOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0nK3R5cGVvZiBfX2d1bmMucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IF9fZ3VuYykgewoJJEVSUk9SKCcjMjogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gX19ndW5jLiBBY3R1YWw6IF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09JytfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkOwoKZm9yIChfX3Byb3AgaW4gX19ndW5jLnByb3RvdHlwZSl7CiAgICBpZiAoX19wcm9wID0gJ2NvbnN0cnVjdG9yJykKICAgICAgICBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID0gdHJ1ZTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCkgewoJJEVSUk9SKCcjMzogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0gZmFsc2UuIEFjdHVhbDogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0nK19fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"When Function object(F) is constructed the following steps from 9 to 11 take place\n9.Create a new object as would be constructed by the expression new Object().\n10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.\n11. Set the \"prototype\" property of F to Result(9).","description":"Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.\nUsing \"var __gunc = function(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZAogKiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBGIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTUuMy4zLjEKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZigpIGlzIHVzZWQKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2Z1bmMpKSkgewoJJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mdW5jKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCnZhciBfX2d1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZ3VuYykpKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2d1bmMpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"When Function object(F) is constructed\nthe [[Prototype]] property of F is set to the original Function prototype object as specified in 15.3.3.1","description":"Function.prototype.isPrototypeOf() is used","path":"TestCases/ch13/13.2/S13.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqIGdldE93blByb3BlcnR5RGVzY3JpcHRvciB0b28KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7Ck9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnVuY3Rpb24oKXt9LCAnY2FsbGVyJyk7Cgo=","commentary":"","description":"check if \"caller\" poisoning poisons\ngetOwnPropertyDescriptor too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqIGdldE93blByb3BlcnR5RGVzY3JpcHRvciB0b28KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7Ck9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnVuY3Rpb24oKXt9LCAnYXJndW1lbnRzJyk7Cgo=","commentary":"","description":"check if \"arguments\" poisoning poisons\ngetOwnPropertyDescriptor too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqIGhhc093blByb3BlcnR5IHRvbwogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKKGZ1bmN0aW9uKCl7fSkuaGFzT3duUHJvcGVydHkoJ2NhbGxlcicpOwoKCg==","commentary":"","description":"check if \"caller\" poisoning poisons\nhasOwnProperty too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqIGhhc093blByb3BlcnR5IHRvbwogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKKGZ1bmN0aW9uKCl7fSkuaGFzT3duUHJvcGVydHkoJ2FyZ3VtZW50cycpOwoKCg==","commentary":"","description":"check if \"arguments\" poisoning poisons\nhasOwnProperty too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqICJpbiIgdG9vCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwonY2FsbGVyJyBpbiBmdW5jdGlvbigpIHt9OwoKCg==","commentary":"","description":"check if \"caller\" poisoning poisons\n\"in\" too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqICJpbiIgdG9vCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwonYXJndW1lbnRzJyBpbiBmdW5jdGlvbigpIHt9OwoKCg==","commentary":"","description":"check if \"arguments\" poisoning poisons\n\"in\" too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A8_T2.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch13","numTests":"200","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCB0d28gZnVuY3Rpb24gbmFtZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24geCwgeSgpIHt9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, two function names","path":"TestCases/ch13/13.0/13.0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGNvZGUgb2YgdGhpcyBGdW5jdGlvbkJvZHkgd2l0aCBhbiBpbm5lciBmdW5jdGlvbiBjb250YWlucyBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEzXzBfMTBfZnVuKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gXzEzXzBfMTBfaW5uZXIoKSB7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIGV2YWwoImV2YWwgPSA0MjsiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF8xM18wXzEwX2lubmVyKCk7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfMTNfMF8xMF9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function contains a Use Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGNvZGUgb2YgdGhpcyBGdW5jdGlvbkJvZHkgd2l0aCBhbiBpbm5lciBmdW5jdGlvbiB3aGljaCBpcyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIF8xM18wXzExX2Z1bigpIHsNCiAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIGZ1bmN0aW9uIF8xM18wXzExX2lubmVyKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoImV2YWwgPSA0MjsiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF8xM18wXzExX2lubmVyKCk7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfMTNfMF8xMV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function which is in strict mode","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIG5vdCBldmFsdWF0ZWQgYXMgc3RyaWN0IG1vZGUgY29kZSB3aGVuIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBib2R5IGlzIG5vdCBzdHJpY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBfMTNfMF8xMl9mdW4gPSBuZXcgRnVuY3Rpb24oIiAiLCJldmFsID0gNDI7Iik7DQogICAgICAgIF8xM18wXzEyX2Z1bigpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code and the function constructor body is not strict","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGZ1bmN0aW9uIGJvZHkgb2YgYSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBiZWdpbnMgd2l0aCBhIFN0cmljdCBEaXJlY3RpdmUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMF8xM19mdW4gPSBuZXcgRnVuY3Rpb24oXCIgXCIsIFwiJ3VzZSBzdHJpY3QnOyBldmFsID0gNDI7XCIpOyBfMTNfMF8xM19mdW4oKTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor begins with a Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gdGhlIGZ1bmN0aW9uIGJvZHkgb2YgYSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBhIFN0cmljdCBEaXJlY3RpdmUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIF8xM18wXzE0X2Z1biA9IG5ldyBGdW5jdGlvbigiICIsICIndXNlIHN0cmljdCc7IGV2YWwgPSA0MjsgIik7DQogICAgICAgICAgICBfMTNfMF8xNF9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor contains a Strict Directive","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdpdGhpbiBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTNfMF8xNV9mdW4oKSB7ZXZhbCA9IDQyO307Iik7DQogICAgICAgICAgICBfMTNfMF8xNV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2l0aGluIGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IHZhciBfMTNfMF8xNl9mdW4gPSBmdW5jdGlvbiAoKSB7ZXZhbCA9IDQyO307Iik7DQogICAgICAgICAgICBfMTNfMF8xNl9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionExpression is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTE3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIG5vdCBldmFsdWF0ZWQgYXMgc3RyaWN0IG1vZGUgY29kZSB3aGVuIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2l0aGluIGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18wXzE3X2Z1biA9IG5ldyBGdW5jdGlvbignZXZhbCA9IDQyOycpOyBfMTNfMF8xN19mdW4oKTsiKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code within eval code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCB0aHJlZSBmdW5jdGlvbiBuYW1lcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiB4LHkseigpe30iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, three function names","path":"TestCases/ch13/13.0/13.0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gcHJvcGVydHkgbmFtZXMgaW4gZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyBub3QgYWxsb3dlZCwgYWRkIGEgbmV3IHByb3BlcnR5IGludG8gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24gb2JqLnR0KCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"13.0 - property names in function definition is not allowed, add a new property into object","path":"TestCases/ch13/13.0/13.0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiAxMy4wIC0gbXVsdGlwbGUgbmFtZXMgaW4gb25lIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkLCBhZGQgYSBuZXcgcHJvcGVydHkgaW50byBhIHByb3BlcnR5IHdoaWNoIGlzIGEgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudHQgPSB7IGxlbjogMTAgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIG9iai50dC5zcygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object","path":"TestCases/ch13/13.0/13.0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiB0aGUgY29kZSBvZiB0aGlzIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIG5vbi1zdHJpY3QgbW9kZSBidXQgdGhlIGNhbGwgdG8gZXZhbCBpcyBhIGRpcmVjdCBjYWxsIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBfMTNfMF83X2Z1bigpIHtldmFsID0gNDI7fTsiKTsNCiAgICAgICAgICAgIF8xM18wXzdfZnVuKCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionDeclaration is contained in non-strict mode but the call to eval is a direct call in strict mode code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiB0aGUgY29kZSBvZiB0aGlzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpcyBjb250YWluZWQgaW4gbm9uLXN0cmljdCBtb2RlIGJ1dCB0aGUgY2FsbCB0byBldmFsIGlzIGEgZGlyZWN0IGNhbGwgaW4gc3RyaWN0IG1vZGUgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMF84X2Z1biA9IGZ1bmN0aW9uICgpIHtldmFsID0gNDI7fTsiKTsNCiAgICAgICAgICAgIF8xM18wXzhfZnVuKCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionExpression is contained in non-strict mode but the call to eval is a direct call in strict mode code","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzOyANCiAqIFRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uQm9keSA6IFNvdXJjZUVsZW1lbnRzb3B0IGlzIGV2YWx1YXRlZCBhcyBmb2xsb3dzOg0KICoNCiAqIEBwYXRoIGNoMTMvMTMuMC8xMy4wLTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gdGhhdCBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZSBoYXMgYW4gaW5uZXIgZnVuY3Rpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBfMTNfMF85X2Z1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIF8xM18wXzlfaW5uZXIoKSB7IGV2YWwoImV2YWwgPSA0MjsiKTsgfQ0KICAgICAgICAgICAgXzEzXzBfOV9pbm5lcigpOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzEzXzBfOV9mdW4oKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13;\nThe production FunctionBody : SourceElementsopt is evaluated as follows:","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration that is contained in strict mode code has an inner function","onlyStrict":"","path":"TestCases/ch13/13.0/13.0-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xM180LTE3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFNvdXJjZUVsZW1lbnRzIGlzIGV2YWx1YXRlZCBhcyBzdHJpY3QgbW9kZSBjb2RlIHdoZW4gYSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBOb3RFYXJseUVycm9yDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIF8xM180XzE3X2Z1biA9IG5ldyBGdW5jdGlvbignZXZhbCA9IDQyOycpOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCg==","commentary":"","description":"Strict Mode - SourceElements is evaluated as strict mode code when a Function constructor is contained in strict mode code","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch13/13.0/13_4-17gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMC8xM180LTVncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU291cmNlRWxlbWVudHMgaXMgZXZhbHVhdGVkIGFzIHN0cmljdCBtb2RlIGNvZGUgd2hlbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZnVuY3Rpb24gXzEzXzBfNF81X2Z1bigpIHsgZXZhbCA9IDQyOyB9Ow0K","commentary":"","description":"Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.0/13_4-5gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAieD1mdW5jdGlvbiB5KCl7fSIgc3RhdGVtZW50IGRvZXMgbm90IHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBuZXcgZnVuY3Rpb24gaW4gdGhlIHZhcmFpYmxlIHkoSWRlbnRpZmllcikKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIHR5cGUgb2YgeQogKi8KCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiBfX2V4cF9fZnVuYygpe3JldHVybiAwO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2V4cF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMjogdHlwZW9mIF9fZXhwX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19leHBfX2Z1bmMgPT09Jyt0eXBlb2YgX19leHBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"\"x=function y(){}\" statement does not store a reference to the new function in the varaible y(Identifier)","description":"Checking the type of y","path":"TestCases/ch13/13.0/S13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBpcyBhIGRhdGEKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTAuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgb2YgYW4gb2JqZWN0CiAqLwoKZnVuY3Rpb24gX196aWdneV9fZnVuYygpe3JldHVybiAiemlnZ3kgc3RhcmR1c3QifQoKdmFyIF9fbXVzaWNfYm94PXt9OwoKX19tdXNpY19ib3guemlnZ3kgPSBfX3ppZ2d5X19mdW5jOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmICh0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX211c2ljX2JveC56aWdneSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgPT09Jyt0eXBlb2YgX19tdXNpY19ib3guemlnZ3kpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tdXNpY19ib3guemlnZ3koKSAhPT0gInppZ2d5IHN0YXJkdXN0IikgewoJJEVSUk9SKCcjMjogX19tdXNpY19ib3guemlnZ3koKSA9PT0gInppZ2d5IHN0YXJkdXN0Ii4gQWN0dWFsOiBfX211c2ljX2JveC56aWdneSgpID09PScrX19tdXNpY19ib3guemlnZ3koKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function is a data","description":"Using function as a property of an object","path":"TestCases/ch13/13.0/S13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFJldHVybmluZyByZXN1bHQgb2YgImRlbGV0ZSBhcmd1bWVudHMiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7IHJldHVybiBkZWxldGUgYXJndW1lbnRzO30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Returning result of \"delete arguments\"","path":"TestCases/ch13/13.0/S13_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBhcmd1bWVudHMgcHJvcGVydHkgZmFpbHMgYW5kIHRoZW4gcmV0dXJuaW5nIGl0CiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7IAogICAgZGVsZXRlIGFyZ3VtZW50czsKICAgIHJldHVybiBhcmd1bWVudHM7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMoIkEiLCJCIiwxLDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Checking if deleting the arguments property fails and then returning it","path":"TestCases/ch13/13.0/S13_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0aW5nIGFyZ3VtZW50c1tpXSBhbmQgcmV0dXJuaW5nIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB3YXNfZGVsPWZhbHNlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICAgICB3YXNfZGVsPSB3YXNfZGVsIHx8IGRlbGV0ZSBhcmd1bWVudHNbaV07CiAgICByZXR1cm4gd2FzX2RlbDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9IGVsZW1lbnRzIG9mIGFyZ3VtZW50cyBjYW4gYmUgZGVsZXRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Deleting arguments[i] and returning result of the operation","path":"TestCases/ch13/13.0/S13_A11_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTFfVDQuanMKICogQGRlc2NyaXB0aW9uIERlbGV0aW5nIGFyZ3VtZW50c1tpXSBhbmQgY2hlY2tpbmcgdGhlIHR5cGUgb2YgYXJndW1lbnRzW2ldCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICBpc191bmRlZj10cnVlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICB7CiAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1tpXTsKICAgICAgICBpc191bmRlZj0gaXNfdW5kZWYgJiYgKHR5cGVvZiBhcmd1bWVudHNbaV0gPT09ICJ1bmRlZmluZWQiKTsKICAgIH07ICAgICAgIAogICAgcmV0dXJuIGlzX3VuZGVmOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9LCBidXQgZWxlbWVudHMgb2YgYXJndW1lbnRzIGNhbiBiZSBkZWxldGVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since arguments property has attribute { DontDelete }, only its elements can be deleted","description":"Deleting arguments[i] and checking the type of arguments[i]","path":"TestCases/ch13/13.0/S13_A11_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBkZWNsYXJlZCBpbiBnbG9iYWwgc2NvcGUgZmFpbHMKICovCgpBTElWRT0iTGV0b3YgaXMgYWxpdmUiCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiBBTElWRTsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2Z1bmMpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gQUxJVkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBBTElWRS4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function declarations in global or function scope are {DontDelete}","description":"Checking if deleting a function that is declared in global scope fails","path":"TestCases/ch13/13.0/S13_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBkZWNsYXJlZCBpbiBmdW5jdGlvbiBzY29wZSBmYWlscwogKi8KCkFMSVZFPSJMZXRvdiBpcyBhbGl2ZSIKCmZ1bmN0aW9uIF9fY29udCgpewoKICAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgICAgIHJldHVybiBBTElWRTsKICAgIH07CiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAoZGVsZXRlIF9fZnVuYykgewogICAgCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMyCiAgICBpZiAoX19mdW5jKCkgIT09IEFMSVZFKSB7CiAgICAJJEVSUk9SKCcjMjogX19mdW5jKCkgPT09IEFMSVZFLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp9OwoKX19jb250KCk7Cgo=","commentary":"Function declarations in global or function scope are {DontDelete}","description":"Checking if deleting a function that is declared in function scope fails","path":"TestCases/ch13/13.0/S13_A12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWxldGluZyBhcmd1bWVudHNbaV0KICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxLjE6IGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVkJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAxKSB7CgkkRVJST1IoJyMxLjI6IF9fZnVuYygxKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Deleting arguments[i]","path":"TestCases/ch13/13.0/S13_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyBhcmd1bWVudHMgdmFsdWUgYW5kIHRoZW4gZGVsZXRpbmcgdGhlIGFyZ3VtZW50CiAqLwoKZnVuY3Rpb24gX19mdW5jKF9fYXJnKXsKICBfX2FyZyA9IDI7CiAgZGVsZXRlIGFyZ3VtZW50c1swXTsKICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzEuMTogYXJndW1lbnRzWzBdID09PSB1bmRlZmluZWQnKTsKICB9CiAgcmV0dXJuIF9fYXJnOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoMSkgIT09IDIpIHsKCSRFUlJPUignIzEuMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Changing arguments value and then deleting the argument","path":"TestCases/ch13/13.0/S13_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTEzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyBhcmd1bWVudCB2YWx1ZSwgZGVsZXRpbmcgdGhlIGFyZ3VtZW50IGFuZCB0aGVuIGRlZmluaW5nIGEgbmV3IHZhbHVlIGZvciBhcmd1bWVudHNbaV0KICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIF9fYXJnID0gMjsKICBkZWxldGUgYXJndW1lbnRzWzBdOwogIGlmIChhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMS4xOiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCcpOwogIH0KICBhcmd1bWVudHNbMF0gPSAiQSI7CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gIkEiKSB7CiAgICAkRVJST1IoJyMxLjI6IGFyZ3VtZW50c1swXSA9PT0gIkEiJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAyKSB7CgkkRVJST1IoJyMxLjM6IF9fZnVuYygxKSA9PT0gMi4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Deleting arguments[i] leads to breaking the connection to local reference","description":"Changing argument value, deleting the argument and then defining a new value for arguments[i]","path":"TestCases/ch13/13.0/S13_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVbmljb2RlIHN5bWJvbHMgaW4gZnVuY3Rpb24gbmFtZSBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNC5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gbmFtZSB3aXRoIHVuaWNvZGUgc3ltYm9scwogKi8KCmV2YWwoImZ1bmN0aW9uIF9fZnVuY1x1MDA0MShfX2FyZyl7cmV0dXJuIF9fYXJnO307Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jQSAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdW5pY29kZSBzeW1ib2xzIGluIGZ1bmN0aW9uIG5hbWUgYXJlIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Unicode symbols in function name are allowed","description":"Defining function name with unicode symbols","path":"TestCases/ch13/13.0/S13_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19mdW5jKGFyZ3VtZW50cykiCiAqLwoKZnVuY3Rpb24gX19mdW5jKGFyZ3VtZW50cyl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDQyKSAhPT0gNDIpIHsKCSRFUlJPUignIzE6ICJhcmd1bWVudHMiIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a function with \"__func(arguments)\"","path":"TestCases/ch13/13.0/S13_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGluZyBhcmd1bWVudHMgd2l0aGluIGZ1bmN0aW9ucyBib2R5CiAqLwoKVEhFX0FOU1dFUj0iQW5zd2VyIHRvIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKICAgIHJldHVybiBhcmd1bWVudHM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoNDIsNDIsNDIpICE9PSBUSEVfQU5TV0VSKSB7CgkkRVJST1IoJyMxOiAgImFyZ3VtZW50cyIgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Overriding arguments within functions body","path":"TestCases/ch13/13.0/S13_A15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCAiYXJndW1lbnRzIiB3aXRob3V0IGEgZnVuY3Rpb24KICovCgpUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7Cgp2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKCmZ1bmN0aW9uIF9fZnVuYyhhcmd1bWVudHMpewogICAgcmV0dXJuIGFyZ3VtZW50czsKICAgIAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYygpICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jKCkgPT09Jyt0eXBlb2YgX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSAhPT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgPT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iLiBBY3R1YWw6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIik9PT0nK19fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a variable named with \"arguments\" without a function","path":"TestCases/ch13/13.0/S13_A15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCAiYXJndW1lbnRzIiBhbmQgZm9sbG93aW5nIGEgInJldHVybiIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkKICovCgpUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7CgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiB0eXBlb2YgYXJndW1lbnRzOwogICAgdmFyIGFyZ3VtZW50cyA9IFRIRV9BTlNXRVI7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoNDIsNDIsNDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogX19mdW5jKDQyLDQyLDQyKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogX19mdW5jKDQyLDQyLDQyKT09PScrX19mdW5jKDQyLDQyLDQyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Declaring a variable named with \"arguments\" and following a \"return\" statement within a function body","path":"TestCases/ch13/13.0/S13_A15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAnJ2FyZ3VtZW50cycnIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExNV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSB2YXJpYWJsZSBuYW1lZCB3aXRoICJhcmd1bWVudHMiIHdpdGhvdXQgYSBmdW5jdGlvbgogKi8KClRIRV9BTlNXRVI9IkFuc3dlciB0byBMaWZlLCB0aGUgVW5pdmVyc2UsIGFuZCBFdmVyeXRoaW5nIjsKCnZhciBhcmd1bWVudHMgPSBUSEVfQU5TV0VSOwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIF9fZnVuYygpID09PSBUSEVfQU5TV0VSKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSAhPT0gVEhFX0FOU1dFUicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSA9PT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgIT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"''arguments'' variable overrides ActivationObject.arguments","description":"Creating a variable named with \"arguments\" without a function","path":"TestCases/ch13/13.0/S13_A15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgc2VwYXJhdG9ycyBhcmUgYWRtaXR0ZWQgYmV0d2VlbiBkZWNsYXJhdGlvbiBjaHVua3MKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTYuanMKICogQGRlc2NyaXB0aW9uIEluc2VydGluZyBzZXBhcmF0b3JzIGJldHdlZW4gZGVjbGFyYXRpb24gY2h1bmtzCiAqLwoKZnVuY3Rpb24KeAooCikKewp9CjsKCngoKTsKCmZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9OwoKeSgpOwoKZnVuY3Rpb24KCnoKCigKCikKCnsKICAgIAp9Cgo7Cgp6KCk7CgpldmFsKCJmdW5jdGlvblx1MDAwOVx1MjAyOXcoXHUwMDBDKVx1MDBBMHtcdTAwMER9OyIpOwoKdygpOwoK","commentary":"Any separators are admitted between declaration chunks","description":"Inserting separators between declaration chunks","path":"TestCases/ch13/13.0/S13_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNhbGwgYSBmdW5jdGlvbiBiZWZvcmUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBhcHBlYXJzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKCSRGQUlMKCIjMS4xOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function call cannot appear in the program before the FunctionExpression appears","description":"Trying to call a function before the FunctionExpression appears","path":"TestCases/ch13/13.0/S13_A17_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExN19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5aW5nIHRvIGNhbGwgYSBmdW5jdGlvbiBiZWZvcmUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBhcHBlYXJzIGFuZCB0aGVuIHVzaW5nIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gb25lIG1vcmUgdGltZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CgkkRVJST1IoIiMxOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8gbm93IHdlIHJlYWNoIHRoZSBfX2Z1bmMgb3ZlcndyaXRpbmcgYnkgbmV3IGV4cHJlc3Npb24KdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function call cannot appear in the program before the FunctionExpression appears","description":"Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time","path":"TestCases/ch13/13.0/S13_A17_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMTguanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gYXMgYSBmdW5jdGlvbiBwYXJhbWV0ZXIKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygc2lueCAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBzaW54ID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBzaW54ID09PScrdHlwZW9mIHNpbngpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fdmFsID0gZnVuY3Rpb24gZGVyaXZhdGl2ZShmLCBkeCkgewogICAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKICAgICAgcmV0dXJuIChmKHggKyBkeCkgLSBmKHgpKSAvIGR4OwogICAgfTsKfShmdW5jdGlvbiBzaW54KHgpe3JldHVybiBNYXRoLnNpbih4KTt9LC4wMDAxKSgwLjUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNpbnggIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2Ygc2lueCA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2Ygc2lueCA9PT0nK3R5cGVvZiBzaW54KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Closures are admitted","description":"Using a function declaration as a function parameter","path":"TestCases/ch13/13.0/S13_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyBpbiBnbG9iYWwgc2NvcGUKICovCgovLyBzaW5jZSAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBfX2RlY2wgaXMgc2V0IHRvIGZ1bmN0aW9uCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2RlY2wgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2RlY2wgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZGVjbCA9PT0nK3R5cGVvZiBfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZGVjbCA9IDE7CgovL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RlY2wgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fZGVjbCA9PT0gMS4gQWN0dWFsOiBfX2RlY2wgPT09JytfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19kZWNsKCl7cmV0dXJuIDE7fQoK","commentary":"\"var\" does not override function declaration","description":"Creating a function and a variable with identical Identifiers in global scope","path":"TestCases/ch13/13.0/S13_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0ExOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyB3aXRoaW4gZnVuY3Rpb24gc2NvcGUKICovCgooZnVuY3Rpb24gKCl7CgogICAgLy8gc2luY2UgInZhciIgZG9lcyBub3Qgb3ZlcnJpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gX19kZWNsIGlzIHNldCB0byBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzEKICAgIGlmICh0eXBlb2YgX19kZWNsICE9PSAiZnVuY3Rpb24iKSB7CiAgICAJJEVSUk9SKCcjMTogdHlwZW9mIF9fZGVjbCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19kZWNsID09PScrdHlwZW9mIF9fZGVjbCk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIHZhciBfX2RlY2wgPSAxOwogICAgCiAgICAvL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX2RlY2wgIT09IDEpIHsKICAgIAkkRVJST1IoJyMyOiBfX2RlY2wgPT09IDEuIEFjdHVhbDogX19kZWNsID09PScrX19kZWNsKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgICBmdW5jdGlvbiBfX2RlY2woKXtyZXR1cm4gMTt9Cn0pKCk7ICAgIAoK","commentary":"\"var\" does not override function declaration","description":"Creating a function and a variable with identical Identifiers within function scope","path":"TestCases/ch13/13.0/S13_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJnIgogKi8KCnZhciB4ID0gKGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3JldHVybiBhcmd9KSgxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IDEpIHsKCSRFUlJPUignIzE6IHggPT09IDEuIEFjdHVhbDogeCA9PT0nK3gpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19mdW5jID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arg\"","path":"TestCases/ch13/13.0/S13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJnICsgYXJndW1lbnRzWzFdIgogKi8KCnZhciB4ID0gKGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3JldHVybiBhcmcgKyBhcmd1bWVudHNbMV19KSgxLCIxIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4ICE9PSAiMTEiKSB7CgkkRVJST1IoJyMxOiB4ID09PSAiMTEiLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arg + arguments[1]\"","path":"TestCases/ch13/13.0/S13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBmdW5jdGlvbiBtdXN0IGJlIGV2YWx1YXRlZCBpbnNpZGUgdGhlIGV4cHJlc3Npb24KICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoICJyZXR1cm4gYXJndW1lbnRzWzBdICsiLSIrIGFyZ3VtZW50c1sxXSIKICovCgp2YXIgeCA9IChmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdICsiLSIrIGFyZ3VtZW50c1sxXX0pKCJPYmkiLCJXYW4iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09ICJPYmktV2FuIikgewoJJEVSUk9SKCcjMTogeCA9PT0gIk9iaS1XYW4iLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"function must be evaluated inside the expression","description":"Defining function body with \"return arguments[0] +\"-\"+ arguments[1]\"","path":"TestCases/ch13/13.0/S13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBhIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgZmFjdG9yaWFsLCBhcyBhIHZhcmlhYmxlLgogKiBGdW5jdGlvbiBjYWxsIGl0c2VsZiBieSBpdGBzIG5hbWUKICovCgp2YXIgX19mdW5jID0gZnVuY3Rpb24gX19leHBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19leHBfX2Z1bmMoYXJnLTEpKmFyZzsKICAgIH0KfTsKCnZhciBmYWN0X29mXzMgPSAgX19mdW5jKDMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZmFjdF9vZl8zICE9PSA2KSB7CgkkRVJST1IoIiMxOiBmYWN0X29mXzMgPT09IDYuIEFjdHVhbDogZmFjdF9vZl8zID09PSIrZmFjdF9vZl8zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating a recursive function that calculates factorial, as a variable.\nFunction call itself by it`s name","path":"TestCases/ch13/13.0/S13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBhIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgZmFjdG9yaWFsLCBhcyBhIHZhcmlhYmxlLgogKiBGdW5jdGlvbiBjYWxscyBpdHNlbGYgYnkgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlCiAqLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIChhcmcpewogICAgaWYgKGFyZyA9PT0gMSkgewogICAgCXJldHVybiBhcmc7CiAgICB9IGVsc2UgewogICAgCXJldHVybiBfX2Z1bmMoYXJnLTEpKmFyZzsKICAgIH0KfTsKCnZhciBmYWN0X29mXzMgPSAgX19mdW5jKDMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZmFjdF9vZl8zICE9PSA2KSB7CgkkRVJST1IoIiMxOiBmYWN0X29mXzMgPT09IDYuIEFjdHVhbDogZmFjdF9vZl8zID09PSIrZmFjdF9vZl8zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating a recursive function that calculates factorial, as a variable.\nFunction calls itself by the name of the variable","path":"TestCases/ch13/13.0/S13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmllciBpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseQogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzaW1wbGUgcmVjdXJzaXZlIGZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBmYWN0b3JpYWwKICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19mdW5jKGFyZy0xKSphcmc7CiAgICB9Cn07Cgp2YXIgZmFjdF9vZl8zID0gIF9fZnVuYygzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZhY3Rfb2ZfMyAhPT0gNikgewoJJEVSUk9SKCIjMTogZmFjdF9vZl8zID09PSA2LiBBY3R1YWw6IGZhY3Rfb2ZfMyA9PT0iK2ZhY3Rfb2ZfMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression's FunctionBody to allow the function calling itself recursively","description":"Creating simple recursive function that calculates factorial","path":"TestCases/ch13/13.0/S13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgc3RyaW5nCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJ6aWctemlnLXNwdXRuaWsiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxIAppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gInppZy16aWctc3B1dG5payIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSAiemlnLXppZy1zcHV0bmlrIi4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that returns string","path":"TestCases/ch13/13.0/S13_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgcHJlZml4IGluY3JlbWVudCBvcGVyYXRvciB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnKXtyZXR1cm4gKythcmc7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygxKSAhPT0gMikgewoJJEVSUk9SKCcjMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses prefix increment operator within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgYXJpdGhtZXRpY2FsIG9wZXJhdG9ycyB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMyl7cmV0dXJuIGFyZzErPShhcmcyKz1hcmczKTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKDEwLCAyMCwgMzApICE9PSA2MCkgewoJJEVSUk9SKCcjMjogX19mdW5jKDEwLCAyMCwgMzApID09PSA2MC4gQWN0dWFsOiBfX2Z1bmMoMTAsMjAsMzApID09PScrX19mdW5jKDEwLDIwLDMwKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses arithmetical operators within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBGdW5jdGlvbkRlY2xhcmF0aW9uOiAiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfSIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKgogKiBAcGF0aCBjaDEzLzEzLjAvUzEzX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgc3RyaW5ncyBjb25jYXRlbmFpb24gb3BlYXRvciB3aXRoaW4gaXRzICJyZXR1cm4iIEV4cHJlc3Npb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdLm5hbWUgKyAiICIgKyBhcmd1bWVudHNbMF0uc3VybmFtZTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkgIT09ICJmb3ggbWFsZGVyIikgewoJJEVSUk9SKCcjMjogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PSAiZm94IG1hbGRlciIuIEFjdHVhbDogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PScrX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gZnVuY19fKGFyZyl7cmV0dXJuIGFyZy5uYW1lICsgIiAiICsgYXJnLnN1cm5hbWU7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMgCmlmICh0eXBlb2YgZnVuY19fICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMzOiB0eXBlb2YgZnVuY19fID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGZ1bmNfXyh7bmFtZTonam9obicsIHN1cm5hbWU6J2xlbm5vbid9KSAhPT0gImpvaG4gbGVubm9uIikgewoJJEVSUk9SKCcjNDogZnVuY19fKHtuYW1lOlwnam9oblwnLCBzdXJuYW1lOlwnbGVubm9uXCd9KSA9PT0gImpvaG4gbGVubm9uIi4gQWN0dWFsOiBfX2Z1bmMoe25hbWU6XCdqb2huXCcsIHN1cm5hbWU6XCdsZW5ub25cJ30pID09PScrX19mdW5jKHtuYW1lOidqb2huJywgc3VybmFtZTonbGVubm9uJ30pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations","description":"Declaring a function that uses strings concatenaion opeator within its \"return\" Expression","path":"TestCases/ch13/13.0/S13_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSBvdmVycmlkZWQgYnkgb3RoZXIgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIHRoZSBzYW1lIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMX07CiAKdmFyIF9fc3RvcmVfX2Z1bmMgPSBfX2Z1bmM7CiAKdmFyIF9fMSA9IF9fZnVuYygpOwogCiBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gJ0EnfTsKIAp2YXIgX19BID0gX19mdW5jKCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdG9yZV9fZnVuYyAhPT0gX19mdW5jKSB7CgkkRVJST1IoJyMxOiBfX3N0b3JlX19mdW5jID09PSBfX2Z1bmMuIEFjdHVhbDogX19zdG9yZV9fZnVuYyA9PT0nK19fc3RvcmVfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAKIAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfXzEgIT09IF9fQSkgewoJJEVSUk9SKCcjMjogX18xID09PSBfX0EuIEFjdHVhbDogX18xID09PScrX18xKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier","description":"Duplicating function declaration","path":"TestCases/ch13/13.0/S13_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSBvdmVycmlkZWQgYnkgb3RoZXIgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIHRoZSBzYW1lIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyBhIGZ1bmN0aW9uIGJlZm9yZSBpdCBpcyBkZWNsYXJlZCBvbmUgbW9yZSB0aW1lCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKfSBjYXRjaChlKSB7CiAgICAkRkFJTCgiIzE6IEZ1bmN0aW9uIGNhbGwgY2FuIGFwcGVhcnMgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkRlY2xhcmF0aW9uIGFwcGVhcnMiKTsKfQppZiAoX19yZXN1bHQgIT09ICJTRUNPTkQiKSB7CgkkRVJST1IoJyMxLjE6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiRklSU1QiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCl9fcmVzdWx0ID0gX19mdW5jKCk7CmlmIChfX3Jlc3VsdCAhPT0gIlNFQ09ORCIpIHsKCSRFUlJPUignIzI6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiU0VDT05EIjt9OwoK","commentary":"FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier","description":"Calling a function before it is declared one more time","path":"TestCases/ch13/13.0/S13_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgb25seSBTb3VyY2VFbGVtZW50cyB3aXRoaW4gdGhlIEZ1bmN0aW9uQm9keQogKi8KCmZ1bmN0aW9uIF9fZnVuYygpeydncm91bmQgY29udHJvbCB0byBtYWpvciB0b20nfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzIoKXtifTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuY19fMiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuY19fMiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18yID09PScrdHlwZW9mIF9fZnVuY19fMik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzMoKXsxfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fZnVuY19fMyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIF9fZnVuY19fMyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18zID09PScrdHlwZW9mIF9fZnVuY19fMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzQoKXsxK2N9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0eXBlb2YgX19mdW5jX180ICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyM0OiB0eXBlb2YgX19mdW5jX180ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzQgPT09Jyt0eXBlb2YgX19mdW5jX180KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fNSgpe2luYyhkKX07Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX2Z1bmNfXzUgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzU6IHR5cGVvZiBfX2Z1bmNfXzUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuY19fNSA9PT0nK3R5cGVvZiBfX2Z1bmNfXzUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jX182KCl7dmFyIFx1MDA0MiA9IDE7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAodHlwZW9mIF9fZnVuY19fNiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjNjogdHlwZW9mIF9fZnVuY19fNiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX182ID09PScrdHlwZW9mIF9fZnVuY19fNik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovL2Z1bmN0aW9uIF9fZnVuY19fNygpe3ZhciBcdTAwM2QgPSAxO307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vLy9DSEVDSyM3Ci8vaWYgKHR5cGVvZiBfX2Z1bmNfXzcgIT09ICJmdW5jdGlvbiIpIHsKLy8JJEVSUk9SKCcjNzogVGhlIEZ1bmN0aW9uQm9keSBtdXN0IGJlIFNvdXJjZUVsZW1lbnRzJyk7Ci8vfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The FunctionBody must be SourceElements","description":"Using only SourceElements within the FunctionBody","path":"TestCases/ch13/13.0/S13_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0aW5nIGVsZW1lbnRzIHRoYXQgaXMgZGlmZmVyZW50IGZyb20gU291cmNlRWxlbWVudHMgaW50byB0aGUgRnVuY3Rpb25Cb2R5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsvIEFCQ30iKTsKCSRFUlJPUignIzE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpey8gQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzEuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7LyBBQkN9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeXsKCWV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyYxfSIpOwoJJEVSUk9SKCcjMzogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7JjF9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMy4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsmMX0iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7IyBBQkN9Iik7CgkkRVJST1IoJyM0OiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsjIEFCQ30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoJyM0LjE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyMgQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The FunctionBody must be SourceElements","description":"Inserting elements that is different from SourceElements into the FunctionBody","path":"TestCases/ch13/13.0/S13_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMKICoKICogQHBhdGggY2gxMy8xMy4wL1MxM19BN19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJmdW5jdGlvbiBfX2Z1bmMoKXtcQVxCXEN9IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXtcQVxCXEN9OwoK","commentary":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","negative":"","path":"TestCases/ch13/13.0/S13_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgcHJvcGVydHkgb2YgYWN0aXZhdGlvbiBvYmplY3QgY29udGFpbnMgcmVhbCBwYXJhbXMgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCAiZnVuY3Rpb24gX19mdW5jKHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMpIiBhbmQgdXNpbmcgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSB0ZXN0CiAqLwoKIGZ1bmN0aW9uIF9fZnVuYyhwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7CiAJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7CiB9CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCdBJykgIT09IDEpIHsKIAkkRVJST1IoJyMxOiBfX2Z1bmMoXCdBXCcpID09PSAxLiBBY3R1YWw6IF9fZnVuYyhcJ0FcJykgPT09JytfX2Z1bmMoJ0EnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19mdW5jKFwnQVwnLCBcJ0JcJywgMSwgMixfX2Z1bmMpID09PSA1LiBBY3R1YWw6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0nK19fZnVuYygnQScsICdCJywgMSwgMixfX2Z1bmMpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAogCiAKCg==","commentary":"Arguments property of activation object contains real params to be passed","description":"Creating a function declared with \"function __func(param1, param2, param3)\" and using arguments.length property in order to perform the test","path":"TestCases/ch13/13.0/S13_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcmd1bWVudHMgcHJvcGVydHkgb2YgYWN0aXZhdGlvbiBvYmplY3QgY29udGFpbnMgcmVhbCBwYXJhbXMgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2l0aCBubyBwYXJhbWV0ZXJzIGFuZCB1c2luZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGluIG9yZGVyIHRvIHBlcmZvcm0gdGhlIHRlc3QKICovCgogZnVuY3Rpb24gX19mdW5jKCkgewogCXJldHVybiBhcmd1bWVudHMubGVuZ3RoOwogfQogCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygnQScpICE9PSAxKSB7CiAJJEVSUk9SKCcjMTogX19mdW5jKFwnQVwnKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcpID09PScrX19mdW5jKCdBJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCdBJywgJ0InLCAxLCAyLF9fZnVuYykgIT09IDUpIHsKCSRFUlJPUignIzI6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0gNS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcsIFwnQlwnLCAxLCAyLF9fZnVuYykgPT09JytfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2Z1bmMoKSAhPT0gMCkgewoJJEVSUk9SKCcjMzogX19mdW5jKCkgPT09IDAuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Arguments property of activation object contains real params to be passed","description":"Creating a function with no parameters and using arguments.length property in order to perform the test","path":"TestCases/ch13/13.0/S13_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjYW4gYmUgcGFzc2VkIGFzIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTMvMTMuMC9TMTNfQTkuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIGZ1bmN0aW9uIGFzIGFyZ3VtZW50IG9mIGFub3RoZXIgZnVuY3Rpb24KICovCgpmdW5jdGlvbiBfX2Z1bmNfX0lOQyhhcmcpe3JldHVybiBhcmcgKyAxO307CmZ1bmN0aW9uIF9fZnVuY19fTVVMVChpbmNyZW1lbnRhdG9yLCBhcmcsIG11bHQpeyByZXR1cm4gaW5jcmVtZW50YXRvcihhcmcpKm11bHQ7IH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmNfX01VTFQoX19mdW5jX19JTkMsIDIsIDIpICE9PSA2KSB7CgkkRVJST1IoJyMxOiBmdW5jdGlvbiAgY2FuIGJlIHBhc3NlZCBhcyBhcmd1bWVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Function can be passed as argument","description":"Using function as argument of another function","path":"TestCases/ch13/13.0/S13_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBpZGVudGlmaWVyIGFsbG93ZWQgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBwYXJhbWV0ZXIgbGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCdmdW5jdGlvbiBmb28oYSxhKXt9Jyk7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate identifier allowed in non-strict function declaration parameter list","path":"TestCases/ch13/13.1/13.1-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBpZGVudGlmaWVyIGFsbG93ZWQgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBleHByZXNzaW9uIHBhcmFtZXRlciBsaXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoJyhmdW5jdGlvbiBmb28oYSxhKXt9KScpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7IHJldHVybiBmYWxzZSB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate identifier allowed in non-strict function expression parameter list","path":"TestCases/ch13/13.1/13.1-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8xX2Z1bihldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIGluICdzdHJpY3QgbW9kZScgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfMTBfZnVuID0gZnVuY3Rpb24gKHBhcmFtLCBwYXJhbSwgcGFyYW0pIHsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTExLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIGV2YWwoKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzEzXzFfMTJfcyA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTNfMV8xMl9zLnggPSBmdW5jdGlvbiBldmFsKCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTEzLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgZnVuY3Rpb24gbmFtZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMoKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTNncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgJ2FyZ3VtZW50cycgb2NjdXJzIGFzIHRoZSBJZGVudGlmaWVyIG9mIGEgRnVuY3Rpb25EZWNsYXJhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQrvu78idXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZnVuY3Rpb24gYXJndW1lbnRzKCkgeyB9Ow==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-13gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTE0LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfMTNfMV8xNF9zID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl8xM18xXzE0X3MueCA9IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdldmFsJyBhcHBlYXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3Qgb2YgYSBzdHJpY3QgbW9kZSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnO2Z1bmN0aW9uIF8xM18xXzE1X2Z1bihldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2hlbiBGdWN0aW9uQm9keSBpcyBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8xNl9mdW4oZXZhbCkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgZXZhbCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzE3X2Z1biA9IGZ1bmN0aW9uIChldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aGVuIEZ1Y3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8xOF9mdW4gPSBmdW5jdGlvbiAoZXZhbCkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpZGVudGlmaWVyICdhcmd1bWVudHMnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7ZnVuY3Rpb24gXzEzXzFfMTlfZnVuKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRGVjbGFyYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmZ1bmN0aW9uIF8xM18xXzFfZnVuKGV2YWwpIHsgfQ==","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmb3JtYWwgcGFyYW1ldGVyIG5hbWUgb2YgYSBub24tc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoImZ1bmN0aW9uIGZvbyhldmFsKXt9OyIpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"eval allowed as formal parameter name of a non-strict function declaration","path":"TestCases/ch13/13.1/13.1-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmb3JtYWwgcGFyYW1ldGVyIG5hbWUgb2YgYSBub24tc3RyaWN0IGZ1bmN0aW9uIGV4cHJlc3Npb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgICBldmFsKCIoZnVuY3Rpb24gZm9vKGV2YWwpe30pOyIpOw0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval allowed as formal parameter name of a non-strict function expression","path":"TestCases/ch13/13.1/13.1-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZvcm1hbCBwYXJhbWV0ZXIgbmFtZSBvZiBhIG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgdHJ5IA0KICB7DQogICAgZXZhbCgiZnVuY3Rpb24gZm9vKGFyZ3VtZW50cyl7fTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments allowed as formal parameter name of a non-strict function declaration","path":"TestCases/ch13/13.1/13.1-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZvcm1hbCBwYXJhbWV0ZXIgbmFtZSBvZiBhIG5vbi1zdHJpY3QgZnVuY3Rpb24gZXhwcmVzc2lvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICAgIGV2YWwoIihmdW5jdGlvbiBmb28oYXJndW1lbnRzKXt9KTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments allowed as formal parameter name of a non-strict function expression","path":"TestCases/ch13/13.1/13.1-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2V2YWwnIGFwcGVhcnMgd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlIEZ1bmN0aW9uRXhwcmVzc2lvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8yX2Z1biA9IGZ1bmN0aW9uIChldmFsKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aGVuIEZ1Y3Rpb25Cb2R5IGlzIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzIwX2Z1bihhcmd1bWVudHMpIHsgJ3VzZSBzdHJpY3QnOyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyB2YXIgXzEzXzFfMjFfZnVuID0gZnVuY3Rpb24gKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uIHdoZW4gRnVjdGlvbkJvZHkgaXMgc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzIyX2Z1biA9IGZ1bmN0aW9uIChhcmd1bWVudHMpIHsgJ3VzZSBzdHJpY3QnOyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIF8xM18xXzIzX2Z1bihwYXJhbSwgcGFyYW0pIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8yNF9mdW4ocGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycyB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gXzEzXzFfMjVfZnVuKHBhcmFtMSwgcGFyYW0yLCBwYXJhbTEpIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycyB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzI2X2Z1bihwYXJhbTEsIHBhcmFtMiwgcGFyYW0xKSB7ICd1c2Ugc3RyaWN0JzsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gXzEzXzFfMjdfZnVuKHBhcmFtLCBwYXJhbSwgcGFyYW0pIHsgfSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration that is contained in eval strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV8yOF9mdW4ocGFyYW0sIHBhcmFtLCBwYXJhbSkgeyAndXNlIHN0cmljdCc7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0yOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHRoYXQgaXMgY29udGFpbmVkIGluIGV2YWwgc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzI5X2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0pIHsgfTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmdW5jdGlvbiBpZGVudGlmaWVyIGluIG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsNCiAgdHJ5IA0KICB7DQogICAgZXZhbCgiZnVuY3Rpb24gZXZhbCgpe307Iik7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"eval allowed as function identifier in non-strict function declaration","path":"TestCases/ch13/13.1/13.1-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIGV2YWwgYWxsb3dlZCBhcyBmdW5jdGlvbiBpZGVudGlmaWVyIGluIG5vbi1zdHJpY3QgZnVuY3Rpb24gZXhwcmVzc2lvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCIoZnVuY3Rpb24gZXZhbCgpe30pOyIpOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval allowed as function identifier in non-strict function expression","path":"TestCases/ch13/13.1/13.1-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZ1bmN0aW9uIGlkZW50aWZpZXIgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0Kew0KICB0cnkgDQogIHsNCiAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMgKCl7fTsiKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments allowed as function identifier in non-strict function declaration","path":"TestCases/ch13/13.1/13.1-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cyBhbGxvd2VkIGFzIGZ1bmN0aW9uIGlkZW50aWZpZXIgaW4gbm9uLXN0cmljdCBmdW5jdGlvbiBleHByZXNzaW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7DQogIHRyeSANCiAgew0KICAgIGV2YWwoIihmdW5jdGlvbiBhcmd1bWVudHMgKCl7fSk7Iik7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments allowed as function identifier in non-strict function expression","path":"TestCases/ch13/13.1/13.1-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzNfZnVuKGFyZ3VtZW50cykgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBjb250YWluZWQgaW4gc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8zMF9mdW4gPSBmdW5jdGlvbiAocGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is contained in strict code and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHRoYXQgaXMgY29udGFpbmVkIGluIGV2YWwgc3RyaWN0IGNvZGUgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzMxX2Z1biA9IGZ1bmN0aW9uIChwYXJhbTEsIHBhcmFtMiwgcGFyYW0xKSB7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression that is contained in eval strict code and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb25FeHByZXNzaW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBzdHJpY3QgYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBfMTNfMV8zMl9mdW4gPSBmdW5jdGlvbiAocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyAndXNlIHN0cmljdCc7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is strict and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgZnVuY3Rpb24gaXMgY3JlYXRlZCB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB0aGF0IGlzIGNvbnRhaW5lZCBpbiBldmFsIHN0cmljdCBjb2RlIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIF8xM18xXzMzX2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0sIHBhcmFtKSB7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if function is created using a FunctionExpression that is contained in eval strict code and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS0zNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMgd2l0aCBhIHN0cmljdCBtb2RlIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzM0X2Z1biA9IGZ1bmN0aW9uIChwYXJhbSwgcGFyYW0sIHBhcmFtKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function declaration has three identical parameters with a strict mode body","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM1LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluIHN0cmljdCBldmFsIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBldmFsKCkgeyB9OyIpDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM2LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIGZ1bmN0aW9uIG5hbWUgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdob3NlIEZ1bmN0aW9uQm9keSBpcyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBldmFsKCkgeyAndXNlIHN0cmljdCc7IH07IikNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration whose FunctionBody is in strict mode","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM3LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgXzEzXzFfMzdfcyA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiJ3VzZSBzdHJpY3QnOyBfMTNfMV8zN19zLnggPSBmdW5jdGlvbiBldmFsKCkge307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM4LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdldmFsJyBvY2N1cnMgYXMgdGhlIElkZW50aWZpZXIgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gd2hvc2UgRnVuY3Rpb25Cb2R5IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgXzEzXzFfMzhfcyA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiXzEzXzFfMzhfcy54ID0gZnVuY3Rpb24gZXZhbCgpIHsndXNlIHN0cmljdCc7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTM5LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgZnVuY3Rpb24gbmFtZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW4gc3RyaWN0IGV2YWwgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiB0aGUgSWRlbnRpZmllciAiZXZhbCIgb3IgdGhlIElkZW50aWZpZXIgImFyZ3VtZW50cyIgb2NjdXJzIHdpdGhpbiBhIEZvcm1hbFBhcmFtZXRlckxpc3QNCiAqIG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25EZWNsYXJhdGlvbiBvciBGdW5jdGlvbkV4cHJlc3Npb24uDQogKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIF8xM18xXzRfZnVuID0gZnVuY3Rpb24gKGFyZ3VtZW50cykgeyB9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if the Identifier \"eval\" or the Identifier \"arguments\" occurs within a FormalParameterList\nof a strict mode FunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQwLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2hvc2UgRnVuY3Rpb25Cb2R5IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgY29kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBhcmd1bWVudHMoKSB7ICd1c2Ugc3RyaWN0JzsgfTsiKQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQxLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBzdHJpY3QgZXZhbCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBfMTNfMV80MV9zID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IF8xM18xXzQxX3MueCA9IGZ1bmN0aW9uIGFyZ3VtZW50cygpIHt9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict eval code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMS8xMy4xLTQyLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmICdhcmd1bWVudHMnIG9jY3VycyBhcyB0aGUgSWRlbnRpZmllciBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aG9zZSBGdW5jdGlvbkJvZHkgaXMgY29udGFpbmVkIGluIHN0cmljdCBjb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBfMTNfMV80Ml9zID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJfMTNfMV80Ml9zLnggPSBmdW5jdGlvbiBhcmd1bWVudHMoKSB7J3VzZSBzdHJpY3QnO307Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-42-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgdGhlIGlkZW50aWZpZXIgJ2FyZ3VtZW50cycgYXBwZWFycyB3aXRoaW4gYSBGb3JtYWxQYXJhbWV0ZXJMaXN0IG9mIGEgc3RyaWN0IG1vZGUgRnVuY3Rpb25FeHByZXNzaW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzEzXzFfNF9mdW4gPSBmdW5jdGlvbiAoYXJndW1lbnRzKSB7IH07","commentary":"","description":"Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionExpression","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluICdzdHJpY3QgbW9kZScgdXNpbmcgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGFuZCB0aGUgZnVuY3Rpb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xM18xXzVfZnVuKHBhcmFtLCBwYXJhbSkgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is declared in 'strict mode' using a FunctionDeclaration and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmZ1bmN0aW9uIF8xM18xXzVfZnVuKHBhcmFtLCBwYXJhbSkgeyB9","commentary":"","description":"Strict Mode - SyntaxError is thrown if a FunctionDeclaration has two identical parameters","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgiZnVuY3Rpb24gXzEzXzFfNl9mdW4ocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyB9Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gYW5kIHRoZSBmdW5jdGlvbiBoYXMgdGhyZWUgaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJmdW5jdGlvbiBfMTNfMV83X2Z1bihwYXJhbSwgcGFyYW0sIHBhcmFtKSB7IH0iKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has three identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgdGhlIGZ1bmN0aW9uIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfOF9mdW4gPSBmdW5jdGlvbiAocGFyYW0sIHBhcmFtKSB7IH07Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxMy8xMy4xLzEzLjEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBGdW5jdGlvbkV4cHJlc3Npb24gaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycw0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIF8xM18xXzhfZnVuID0gZnVuY3Rpb24gKHBhcmFtLCBwYXJhbSkgeyB9Ow==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a FunctionExpression has two identical parameters","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFJlZmVyIDEzLjE7IA0KICogSXQgaXMgYSBTeW50YXhFcnJvciBpZiBhbnkgSWRlbnRpZmllciB2YWx1ZSBvY2N1cnMgbW9yZSB0aGFuIG9uY2Ugd2l0aGluIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCBvZiBhIHN0cmljdCBtb2RlDQogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIG9yIEZ1bmN0aW9uRXhwcmVzc2lvbi4NCiAqDQogKiBAcGF0aCBjaDEzLzEzLjEvMTMuMS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgaW4gJ3N0cmljdCBtb2RlJyB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgdGhlIGZ1bmN0aW9uIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMsIHdoaWNoIGFyZSBzZXBhcmF0ZWQgYnkgYSB1bmlxdWUgcGFyYW1ldGVyIG5hbWUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCJ2YXIgXzEzXzFfOV9mdW4gPSBmdW5jdGlvbiAocGFyYW0xLCBwYXJhbTIsIHBhcmFtMSkgeyB9OyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Refer 13.1;\nIt is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode\nFunctionDeclaration or FunctionExpression.","description":"Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters, which are separated by a unique parameter name","onlyStrict":"","path":"TestCases/ch13/13.1/13.1-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSAgV3JpdGluZyBvciByZWFkaW5nIGZyb20gYSBwcm9wZXJ0eSBuYW1lZCAnY2FsbGVyJyBvZiBmdW5jdGlvbiBvYmplY3RzIGlzIGFsbG93ZWQgdW5kZXIgYm90aCBzdHJpY3QgYW5kIG5vcm1hbCBtb2Rlcy4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLmNhbGxlciA9IDEyOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSBuZXcgZm9vKCk7DQogICAgICAgIHJldHVybiBvYmouY2FsbGVyID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - Writing or reading from a property named 'caller' of function objects is allowed under both strict and normal modes.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE1LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzIGxlbmd0aCBhcyBpdHMgb3duIHByb3BlcnR5IGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIEZ1bmN0aW9uLnByb3RvdHlwZS5sZW5ndGggKFN0ZXAgMTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoeCwgeSkgeyB9Ow0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGZ1bi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgJiYgZnVuLmxlbmd0aCA9PT0gMik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZnVuLmxlbmd0aCA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChmdW4ubGVuZ3RoID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gZnVuKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGZ1bi5sZW5ndGg7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBmdW4uaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgIXZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function Object has length as its own property and does not invoke the setter defined on Function.prototype.length (Step 15)","path":"TestCases/ch13/13.2/13.2-15-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE3LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzICdjb25zdHJ1Y3RvcicgYXMgaXRzIG93biBwcm9wZXJ0eSwgaXQgaXMgbm90IGVudW1lcmFibGUgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yIChTdGVwIDE3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7fTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHR5cGVvZiBmdW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW4ucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJjb25zdHJ1Y3RvciIgJiYgZnVuLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gMTIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgZnVuLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZ1bi5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIGRlc2MpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function Object has 'constructor' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype.constructor (Step 17)","path":"TestCases/ch13/13.2/13.2-17-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTE4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBPYmplY3QgaGFzICdwcm90b3R5cGUnIGFzIGl0cyBvd24gcHJvcGVydHksIGl0IGlzIG5vdCBlbnVtZXJhYmxlIGFuZCBkb2VzIG5vdCBpbnZva2UgdGhlIHNldHRlciBkZWZpbmVkIG9uIEZ1bmN0aW9uLnByb3RvdHlwZSAoU3RlcCAxOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3RvdHlwZSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSAoZnVuLnByb3RvdHlwZSAhPT0gMTAwICYmIGZ1bi5wcm90b3R5cGUudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgT2JqZWN0XSIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW4pIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3RvdHlwZSIgJiYgZnVuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSkgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBmdW4ucHJvdG90eXBlOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gZnVuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmdW4ucHJvdG90eXBlID0gMTINCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gKGZ1bi5wcm90b3R5cGUgPT09IDEyKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiBkYXRhID09PSAiZGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3RvdHlwZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function Object has 'prototype' as its own property, it is not enumerable and does not invoke the setter defined on Function.prototype (Step 18)","path":"TestCases/ch13/13.2/13.2-18-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBBIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhIHN0cmljdCBtb2RlIGNvZGUgd3JpdGVzIHRvIHByb3BlcnRpZXMgbmFtZWQgJ2NhbGxlcicgb2YgZnVuY3Rpb24gaW5zdGFuY2VzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9vLmNhbGxlciA9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - A TypeError is thrown when a strict mode code writes to properties named 'caller' of function instances.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBXcml0aW5nIG9yIHJlYWRpbmcgZnJvbSBhIHByb3BlcnR5IG5hbWVkICdhcmd1bWVudHMnIG9mIGZ1bmN0aW9uIG9iamVjdHMgaXMgYWxsb3dlZCB1bmRlciBib3RoIHN0cmljdCBhbmQgbm9ybWFsIG1vZGVzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRoaXMuYXJndW1lbnRzID0gMTI7DQogICAgICAgIH0gDQogICAgICAgIHZhciBvYmogPSBuZXcgZm9vKCk7DQogICAgICAgIHJldHVybiBvYmouYXJndW1lbnRzID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"StrictMode - Writing or reading from a property named 'arguments' of function objects is allowed under both strict and normal modes.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBBIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhIGNvZGUgaW4gc3RyaWN0IG1vZGUgdHJpZXMgdG8gd3JpdGUgdG8gJ2FyZ3VtZW50cycgb2YgZnVuY3Rpb24gaW5zdGFuY2VzLg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9vLmFyZ3VtZW50cyA9IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - A TypeError is thrown when a code in strict mode tries to write to 'arguments' of function instances.","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSByZWFkaW5nIGEgcHJvcGVydHkgbmFtZWQgJ2NhbGxlcicgb2YgZnVuY3Rpb24gb2JqZWN0cyBpcyBub3QgYWxsb3dlZCBvdXRzaWRlIHRoZSBmdW5jdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gbmV3IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7Iik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcCA9IGZvby5jYWxsZXI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - reading a property named 'caller' of function objects is not allowed outside the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBlbnVtZXJhdGluZyBvdmVyIGEgZnVuY3Rpb24gb2JqZWN0IGxvb2tpbmcgZm9yICdjYWxsZXInIGZhaWxzIG91dHNpZGUgb2YgdGhlIGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIHRlbXBJbmRleCBpbiBmb28pIHsNCiAgICAgICAgICAgIGlmICh0ZW1wSW5kZXggPT09ICJjYWxsZXIiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"StrictMode - enumerating over a function object looking for 'caller' fails outside of the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTMvMTMuMi8xMy4yLTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdE1vZGUgLSBlbnVtZXJhdGluZyBvdmVyIGEgZnVuY3Rpb24gb2JqZWN0IGxvb2tpbmcgZm9yICdjYWxsZXInIGZhaWxzIGluc2lkZSB0aGUgZnVuY3Rpb24NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZm9yICh2YXIgdGVtcEluZGV4IGluIHRoaXMpIHtpZiAodGVtcEluZGV4PT09XCJjYWxsZXJcIikge3JldHVybiBmYWxzZTt9fTsgcmV0dXJuIHRydWU7Iik7DQogICAgICAgICAgICByZXR1cm4gZm9vKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"StrictMode - enumerating over a function object looking for 'caller' fails inside the function","onlyStrict":"","path":"TestCases/ch13/13.2/13.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVwdGggb2YgbmVzdGVkIGZ1bmN0aW9uIGNhbGxzIHJlYWNoZXMgMzIKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGZ1bmN0aW9uIGNhbGxzIDMyIGVsZW1lbnRzIGRlcHRoCiAqLwoKKGZ1bmN0aW9uKCl7CiAgICAoZnVuY3Rpb24oKXsKICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXt9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgICAgICB9KSgpCiAgICAgICAgICAgIH0pKCkKICAgICAgICB9KSgpCiAgICB9KSgpCn0pKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgo=","commentary":"The depth of nested function calls reaches 32","description":"Creating function calls 32 elements depth","path":"TestCases/ch13/13.2/S13.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGV4cGxpY2l0IGFyZ3VtZW50IGlzIGFuIG9iamVjdCBkZWZpbmVkIHdpdGggInZhciBfX29iaj17fSIKICovCgpmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPTc7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28gIT09IDcpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gNy4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere explicit argument is an object defined with \"var __obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBzdHJpbmcgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGV4cGxpY2l0IGFyZ3VtZW50IGlzIGFuIG9iamVjdCBkZWZpbmVkIHdpdGggIl9fb2JqPXt9IgogKi8KCmZ1bmN0aW9uIF9fZnVuYyhfX2FyZyl7CiAgICBfX2FyZy5mb289IndoaXNrZXkgZ29nbyI7Cn0KCnZhciBfX29iaj17fTsKCiBfX2Z1bmMoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouZm9vICE9PSAid2hpc2tleSBnb2dvIikgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSAid2hpc2tleSBnb2dvIi4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new string property to a function argument within the function body,\nwhere explicit argument is an object defined with \"__obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGFycmF5IGVsZW1lbnQgImFyZ3VtZW50c1swXSIgaXMgYW4gb2JqZWN0IGRlZmluZWQgd2l0aCAiX19vYmo9e30iCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICBhcmd1bWVudHNbMF1bIlBJIl09My4xNDsKfQoKdmFyIF9fb2JqPXt9OwoKX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLlBJICE9PSAzLjE0KSB7CgkkRVJST1IoJyMxOiBfX29iai5QSSA9PT0gMy4xNC4gQWN0dWFsOiBfX29iai5QSSA9PT0nK19fb2JqLlBJKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere array element \"arguments[0]\" is an object defined with \"__obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIGFzIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGJ5IHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksCiAqIHdoZXJlIGFycmF5IGVsZW1lbnQgImFyZ3VtZW50c1swXSIgaXMgYW4gb2JqZWN0IGRlZmluZWQgd2l0aCAidmFyIF9fb2JqPXt9IgogKi8KCmZ1bmN0aW9uIF9fZnVuYygpewogICAgYXJndW1lbnRzWzBdWyJFIl09Mi43NDsKfQoKdmFyIF9fb2JqPXt9OwoKX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLkUgIT09IDIuNzQpIHsKCSRFUlJPUignIzE6IF9fb2JqLkUgPT09IDIuNzQuIEFjdHVhbDogX19vYmouRSA9PT0nK19fb2JqLkUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects as arguments are passed by reference","description":"Adding new number property to a function argument within the function body,\nwhere array element \"arguments[0]\" is an object defined with \"var __obj={}\"","path":"TestCases/ch13/13.2/S13.2.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFNvcnRpbmcgd2l0aCBjbG9zdXJlCiAqLwoKdmFyIF9fYXJyID0gWzQsMywyLDEsNCwzLDIsMSw0LDMsMiwxXTsKLy9Tb3J0IHVzZXMgY2xvc3VyZQovLwpfX2Fyci5zb3J0KAoJZnVuY3Rpb24oeCx5KSB7IAoJCWlmICh4Pnkpe3JldHVybiAtMTt9IAoJCWlmICh4PHkpe3JldHVybiAxO30gCgkJaWYgKHg9PXkpe3JldHVybiAwO30gCgl9Cik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Fyci50b1N0cmluZygpICE9PSBbNCw0LDQsMywzLDMsMiwyLDIsMSwxLDFdLnRvU3RyaW5nKCkpIHsKCSRFUlJPUignIzE6IF9fYXJyLnRvU3RyaW5nKCkgPT09IFs0LDQsNCwzLDMsMywyLDIsMiwxLDEsMV0udG9TdHJpbmcoKS4gQWN0dWFsOiBfX2Fyci50b1N0cmluZygpID09PScrX19hcnIudG9TdHJpbmcoKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgCgo=","commentary":"Closures are admitted","description":"Sorting with closure","path":"TestCases/ch13/13.2/S13.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDbG9zdXJlcyBhcmUgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjFfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIFJldHVybmluZyBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYKICogdXNpbmcgYW4gaW50ZXJ2YWwgb2YgZHgsIHdoaWNoIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNtYWxsCiAqLwoKLy8gUmV0dXJuIGEgZnVuY3Rpb24gdGhhdCBhcHByb3hpbWF0ZXMgdGhlIGRlcml2YXRpdmUgb2YgZgovLyB1c2luZyBhbiBpbnRlcnZhbCBvZiBkeCwgd2hpY2ggc2hvdWxkIGJlIGFwcHJvcHJpYXRlbHkgc21hbGwuCmZ1bmN0aW9uIGRlcml2YXRpdmUoZiwgZHgpIHsKICAgIHJldHVybiBmdW5jdGlvbih4KSB7CiAgICAgIHJldHVybiAoZih4ICsgZHgpIC0gZih4KSkgLyBkeDsKICAgIH07Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKE1hdGguYWJzKGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMCkgLSBkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDIqTWF0aC5QSSkpID49IDEvNjU1MzYuMCkgewoJJEVSUk9SKCcjMTogTWF0aC5hYnMoZGVyaXZhdGl2ZShNYXRoLnNpbiwgMC4wMDAxKSgwKSAtIGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMipNYXRoLlBJKSkgPD0gMS82NTUzNi4wJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Closures are admitted","description":"Returning a function that approximates the derivative of f\nusing an interval of dx, which should be appropriately small","path":"TestCases/ch13/13.2/S13.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmltaXRpdmUgdHlwZXMgYXJlIHBhc3NlZCBieSB2YWx1ZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKGFyZzEsIGFyZzIpIgogKi8KCmZ1bmN0aW9uIF9fZnVuYyhhcmcxLCBhcmcyKXsKICAgIGFyZzErKzsKICAgIGFyZzIrPSJCQSI7Cn07Cgp2YXIgeD0xOwp5PTI7CnZhciBhPSJBQiIKYj0iU0FNIjsKCl9fZnVuYyh4LGEpOwpfX2Z1bmMoeSxiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHghPT0xIHx8IHkhPT0yIHx8IGEhPT0iQUIiIHx8IGIhPT0iU0FNIikgewoJJEVSUk9SKCcjMTogeCA9PT0gMSBhbmQgeSA9PT0gMiBhbmQgYSA9PT0gIkFCIiBhbmQgYiA9PT0gIlNBTSIuIEFjdHVhbDogeCA9PT0nK3grJyBhbmQgeSA9PT0nK3krJyBhbmQgYSA9PT0nK2ErJyBhbmQgYiA9PT0nK2IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Primitive types are passed by value","description":"Declaring a function with \"function __func(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmltaXRpdmUgdHlwZXMgYXJlIHBhc3NlZCBieSB2YWx1ZQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMikiCiAqLwoKX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7CiAgICBhcmcxKys7CiAgICBhcmcyKz0iQkEiOwp9OwoKdmFyIHg9MTsKeT0yOwp2YXIgYT0iQUIiCmI9IlNBTSI7CgpfX2Z1bmMoeCxhKTsKX19mdW5jKHksYik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSB8fCB5IT09MiB8fCBhIT09IkFCIiB8fCBiIT09IlNBTSIpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDIgYW5kIGEgPT09ICJBQiIgYW5kIGIgPT09ICJTQU0iLiBBY3R1YWw6IHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KycgYW5kIGEgPT09JythKycgYW5kIGIgPT09JytiKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Primitive types are passed by value","description":"Declaring a function with \"__func = function(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVsbC4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKCkiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IG51bGw7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgeD1fX2Z1bmMoKTsKfSBjYXRjaChlKXsKICAgICRFUlJPUignIzE6IHZhciB4PV9fZnVuYygpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning null. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVsbC4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAidmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpIgogKi8KCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXsKICAgIHZhciB4ID0gbnVsbDsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciB4PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIHg9X19mdW5jKCkgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning null. Declaring a function with \"var __func = function ()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgbnVtYmVyLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgeDsKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB4ID0gMTsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzA6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX194PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9feCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX194ID09PSAxLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMzOiB4ID09PSAxLiBBY3R1YWw6IHggPT09Jyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning number. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyByZXR1cm5lZCAgdGhlbiBSZXN1bHQudmFsdWUgaXMgcmV0dXJuZWQgdG9vCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZXR1cm5pbmcgYm9vbGVhbi4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19mdW5jKCkiCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IHRydWU7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMwOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9feD1fX2Z1bmMoKQp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoX194KSkgewoJJEVSUk9SKCcjMjogX194ID09PSB0cnVlLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMzOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is returned then Result.value is returned too","description":"Returning boolean. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyB0aHJvd24gdGhlbiBSZXN1bHQudmFsdWUgaXMgdGhyb3duIHRvbwogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gMTsKICAgIHRocm93ICgiQ2F0Y2ggTWUgSWYgWW91IENhbiIpCiAgICByZXR1cm4geDsKfQoKdHJ5ewogICAgdmFyIHg9X19mdW5jKCkKICAgICRFUlJPUignIzA6IHZhciB4PV9fZnVuYygpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CiAgICBpZiAoZSAhPT0gIkNhdGNoIE1lIElmIFlvdSBDYW4iKSB7CiAgICAJJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSAiQ2F0Y2ggTWUgSWYgWW91IENhbiIuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KCg==","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is thrown then Result.value is thrown too","description":"Throwing an exception within a function body. Declaring function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAyLiBFdmFsdWF0ZSBGJ3MgRnVuY3Rpb25Cb2R5OwogKiBpZiBSZXN1bHQudHlwZSBpcyB0aHJvd24gdGhlbiBSZXN1bHQudmFsdWUgaXMgdGhyb3duIHRvbwogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoICJ2YXIgX19mdW5jID0gZnVuY3Rpb24gKG1lc3NhZ2UpIgogKi8KCnZhciBDQVRDSF9NRV9JRl9ZT1VfQ0FOID0gdHJ1ZTsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiAobWVzc2FnZSl7CiAgICB2YXIgeCA9IDE7CiAgICB0aHJvdyAobWVzc2FnZSkKICAgIHJldHVybiB4Owp9Cgp0cnl7CiAgICB2YXIgeD1fX2Z1bmMoQ0FUQ0hfTUVfSUZfWU9VX0NBTikKICAgICRFUlJPUignIzA6IHZhciB4PV9fZnVuYyhDQVRDSF9NRV9JRl9ZT1VfQ0FOKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCFlKSB7CiAgICAJJEVSUk9SKCcjMTogRXhjZXB0aW9uID09PSB0cnVlLiBBY3R1YWw6IGV4Y2VwdGlvbiA9PT0nK2UpOwogICAgfQp9Cgo=","commentary":"When the [[Call]] property for a Function object F is called, the following steps are taken:\n2. Evaluate F's FunctionBody;\nif Result.type is thrown then Result.value is thrown too","description":"Throwing an exception within a function body. Declaring function with \"var __func = function (message)\"","path":"TestCases/ch13/13.2/S13.2.1_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJub3JtYWwiLCB0aGVuICJ1bmRlZmluZWQiIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E5LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fZnVuYygpIiBhbmQgbm8gInJldHVybiIgaW4gdGhlIGZ1bmN0aW9uIGJvZHkKICovCgp2YXIgeDsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"normal\", then \"undefined\" is returned","description":"Declaring a function with \"function __func()\" and no \"return\" in the function body","path":"TestCases/ch13/13.2/S13.2.1_A9.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJub3JtYWwiLCB0aGVuICJ1bmRlZmluZWQiIGlzIHJldHVybmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4xX0E5LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggInZhciBfX2Z1bmMgPSBmdW5jdGlvbigpIiBhbmQgbm8gInJldHVybiIgaW4gdGhlIGZ1bmN0aW9uIGJvZHkKICovCgp2YXIgeDsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbigpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"normal\", then \"undefined\" is returned","description":"Declaring a function with \"var __func = function()\" and no \"return\" in the function body","path":"TestCases/ch13/13.2/S13.2.1_A9.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJyZXR1cm4iIGl0cyB2YWx1ZSBpcyBub3QgZGVmaW5lZCwgdGhlbiAidW5kZWZpbmVkIiBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInJldHVybiIgd2l0aCBubyBleHByZXNzaW9uLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgeDsgCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"return\" its value is not defined, then \"undefined\" is returned","description":"Using \"return\" with no expression. Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.1_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLAogKiB0aGUgYm9keSBpcyBldmFsdWF0ZWQgYW5kIGlmIGV2YWx1YXRpb24gcmVzdWx0IGhhcyB0eXBlICJyZXR1cm4iIGl0cyB2YWx1ZSBpcyBub3QgZGVmaW5lZCwgdGhlbiAidW5kZWZpbmVkIiBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMV9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVXNpbmcgInJldHVybiIgd2l0aCBubyBleHByZXNzaW9uLiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKSIKICovCgp2YXIgeDsgCgp2YXIgX19mdW5jID0gZnVuY3Rpb24oKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Call]] property for a Function object is called,\nthe body is evaluated and if evaluation result has type \"return\" its value is not defined, then \"undefined\" is returned","description":"Using \"return\" with no expression. Declaring a function with \"var __func = function()\"","path":"TestCases/ch13/13.2/S13.2.1_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQKICovCgpmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAKICAgdGhpcy5mdW5jID0gZnVuY3Rpb24gKCl7CiAgICAgIHJldHVybiA1OwogICB9CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSA1KSB7CgkkRVJST1IoJyMyOiBvYmouaWQgPT09IDUuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared","description":"Calling a function as a constructor after it has been declared","path":"TestCases/ch13/13.2/S13.2.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCB3aXRoICJmdW5jdGlvbiBmdW5jKCkiCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSB0aGlzLmZ1bmMoKTsKICAgCiAgIGZ1bmN0aW9uIGZ1bmMoKXsKICAgICAgcmV0dXJuICJpZF9zdHJpbmciOwogICB9CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared and called","description":"Calling a function as a constructor after it has been declared with \"function func()\"","path":"TestCases/ch13/13.2/S13.2.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBwb3NzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGRlY2xhcmVkIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCB3aXRoICJmdW5jdGlvbiBmdW5jKCkiCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBmdW5jdGlvbiBmdW5jKCl7CiAgICAgIHJldHVybiAiaWRfc3RyaW5nIjsKICAgfQogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBFeGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKG9iai5pZCAhPT0gImlkX3N0cmluZyIpIHsKCSRFUlJPUignIzI6IG9iai5pZCA9PT0gImlkX3N0cmluZyIuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Calling a function as a constructor is possible as long as this.any_Function is declared and called","description":"Calling a function as a constructor after it has been declared with \"function func()\"","path":"TestCases/ch13/13.2/S13.2.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBieSBldmFsIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCBieSBldmFsCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called","description":"Calling a function as a constructor after it has been declared by eval","path":"TestCases/ch13/13.2/S13.2.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBieSBldmFsIGFuZCBjYWxsZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBhZnRlciBpdCBoYXMgYmVlbiBkZWNsYXJlZCBieSBldmFsCiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAgdGhpcy5pZCA9IDA7CgogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwoKICAgdGhpcy5pZCA9IGZ1bmMoKTsKCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is declared by eval and called","description":"Calling a function as a constructor after it has been declared by eval","noStrict":"","path":"TestCases/ch13/13.2/S13.2.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggInZhciBvYmogPSB7fSIKICovCgp2YXIgX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIG9iaiA9PT0nK3R5cGVvZiBvYmopOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouc2xvdC5wcm9wICE9PTEpIHsKCSRFUlJPUignIzM6IF9fb2JqLnNsb3QucHJvcCA9PT0xLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICB2YXIgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCg==","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"var obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggIm9iaiA9IHt9IgogKi8KCnZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG9iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzE6IG9iai5wcm9wID09PSAiQSIuIEFjdHVhbDogb2JqLnByb3AgPT09JytvYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PSAxLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggInZhciBvYmogPSB7fSIKICovCgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbiAoKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICB2YXIgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCl9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBvYmogPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBvYmogPT09Jyt0eXBlb2Ygb2JqKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09MS4gQWN0dWFsOiBfX29iai5zbG90LnByb3AgPT09JytfX29iai5zbG90LnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"var obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwKICogYW5kIHRoZSBvYmplY3QgY3JlYXRlZCBpbiB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQsIHRoZSBvYmplY3QgKGRlY2xhcmVkIHdpdGggInRoaXMiIHdpdGhpbiBhIGZ1bmN0aW9uKSB3aWxsIGJlIHN0cm9uZyBhbmQgaGVhbHRoeQogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGRlY2xhcmVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0gYW5kICJvYmoiIHByb3BlcnR5IGlzIGRlY2xhcmVkIHdpdGggIm9iaiA9IHt9IgogKi8KCl9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLnByb3AgPSAxOwogICAgb2JqID0ge307CiAgICBvYmoucHJvcCA9ICJBIjsKICAgIG9iai5zbG90ID0gdGhpczsKICAgIHJldHVybiBvYmo7Cn0KCl9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAob2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMTogb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBvYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytvYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PTEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Construct]] property for a Function object F is called,\nand the object created in the function is returned, the object (declared with \"this\" within a function) will be strong and healthy","description":"Function declared at the end of the program and \"obj\" property is declared with \"obj = {}\"","path":"TestCases/ch13/13.2/S13.2.2_A15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJpcyBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoKXt0aGlzLnByb3A9MTt9IiBhcyBGdW5jdGlvbkV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYygpe3RoaXMucHJvcD0xO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAxKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAxLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"is __obj = new function __func(){this.prop=1;}\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJ2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzt9KDUpIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7fSg1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IDUpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09IDUuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzM6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"var __obj = new function __func(arg){this.prop=arg;}(5)\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aGluIGEgbmV3IHN0YXRlbWVudCBpcyBhZG1pdHRlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTZfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nICJpcyBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoYXJnKXt0aGlzLnByb3A9YXJnOyByZXR1cm4ge2ZlYXQ6ICsrYXJnfX0oNSkiIGFzIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7IHJldHVybiB7ZmVhdDogKythcmd9fSg1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLmZlYXQgIT09IDYpIHsKCSRFUlJPUignIzM6IF9fb2JqLmZlYXQgPT09IDYuIEFjdHVhbDogX19vYmouZmVhdCA9PT0nK19fb2JqLmZlYXQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzQ6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression within a new statement is admitted","description":"Using \"is __obj = new function __func(arg){this.prop=arg; return {feat: ++arg}}(5)\" as FunctionExpression","path":"TestCases/ch13/13.2/S13.2.2_A16_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gY29udGFpbmluZyAid2l0aCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExN19UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiAid2l0aCIgc3RhdGVtZW50CiAqLwoKdGhpcy5wMT0iYWxlcnQiOwoKX19vYmo9e3AxOjEsZ2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gInJpZ2h0Ijt9fTsKCmdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuICJuYXByYXZvIjt9OwoKdHJ5IHsKCShmdW5jdGlvbigpewogICAgICAgIHdpdGgoX19vYmopewogICAgICAgICAgICBwMT0idzEiOwogICAgICAgICAgICBnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiBmYWxzZTt9CiAgICAgICAgICAgIHRocm93IHAxOwogICAgICAgIH0KICAgIH0pKCk7Cn0gY2F0Y2ggKGUpIHsKCXJlc3VrdCA9IHAxOwp9CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocDEhPT0iYWxlcnQiKSB7CgkkRVJST1IoJyMxOiBwMSA9PT0gImFsZXJ0Ii4gQWN0dWFsOiBwMT09PScrcDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZ2V0UmlnaHQoKSE9PSJuYXByYXZvIikgewoJJEVSUk9SKCcjMjogZ2V0UmlnaHQoKSA9PT0gIm5hcHJhdm8iLiBBY3R1YWw6IGdldFJpZ2h0KCkgPT09ICcrZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5wMSE9PSJ3MSIpIHsKCSRFUlJPUignIzM6IF9fb2JqLnAxID09PSAidzEiLiBBY3R1YWw6IF9fb2JqLnAxID09PScrX19vYmoucDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19vYmouZ2V0UmlnaHQoKSE9PWZhbHNlKSB7CgkkRVJST1IoJyM0OiBfX29iai5nZXRSaWdodCgpID09PSBmYWxzZS4gQWN0dWFsOiBfX29iai5nZXRSaWdodCgpID09PSAnK19fb2JqLmdldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAocmVzdWt0ICE9PSAiYWxlcnQiKSB7CgkkRVJST1IoJyM1OiByZXN1a3QgPT09ICJhbGVydCIuIEFjdHVhbDogcmVzdWt0ID09PScrcmVzdWt0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciByZXN1a3Q7CgoK","commentary":"FunctionExpression containing \"with\" statement is admitted","description":"Throwing an exception within \"with\" statement","path":"TestCases/ch13/13.2/S13.2.2_A17_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gY29udGFpbmluZyAid2l0aCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExN19UMy5qcwogKiBAZGVzY3JpcHRpb24gSW4gdGhlIGNoZWNrIDQgd2UgcG9wdWxhdGUgZmllbGQgZ2V0UmlnaHQgaW4gX19vYmogb2JqZWN0IHNpbmNlIHZhciBnZXRSaWdodCBkZWNsYXJhdGlvbiBhZGRzIHZhcmlhYmxlIHRvIGZ1bmN0aW9uIHNjb3BlCiAqIGJ1dCBnZXRSaWdodCBpbiBzdGF0ZW1lbnQgcmVzb2x2ZXMgd2l0aGluIHdpdGgoX19vYmopIHNjb3BlIGFuZCBzZWFyY2hzIGdldFJpZ2h0IGluIF9fb2JqIGZpcnN0CiAqLwoKcDE9ImFsZXJ0IjsKCnRoaXMuX19vYmo9e3AxOjEsZ2V0UmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gInJpZ2h0Ijt9fTsKCnZhciBnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiAibmFwcmF2byI7fTsKCnJlc3VrdD0oZnVuY3Rpb24oKXsKICAgIHdpdGgoX19vYmopewogICAgICAgIHAxPSJ3MSI7CiAgICAgICAgdmFyIGdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO307CiAgICAgICAgcmV0dXJuIHAxOwogICAgfQp9KSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocDEhPT0iYWxlcnQiKSB7CgkkRVJST1IoJyMxOiBwMSA9PT0gImFsZXJ0Ii4gQWN0dWFsOiBwMT09PScrcDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZ2V0UmlnaHQoKSE9PSJuYXByYXZvIikgewoJJEVSUk9SKCcjMjogZ2V0UmlnaHQoKSA9PT0gIm5hcHJhdm8iLiBBY3R1YWw6IGdldFJpZ2h0KCk9PT0nK2dldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmoucDEhPT0idzEiKSB7CgkkRVJST1IoJyMzOiBfX29iai5wMSA9PT0gIncxIi4gQWN0dWFsOiBfX29iai5wMSA9PT0nK19fb2JqLnAxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fb2JqLmdldFJpZ2h0KCkhPT1mYWxzZSkgewoJJEVSUk9SKCcjNDogX19vYmouZ2V0UmlnaHQoKSA9PT0gZmFsc2UuIEFjdHVhbDogX19vYmouZ2V0UmlnaHQoKT09PScrX19vYmouZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChyZXN1a3QgIT09ICJ3MSIpIHsKCSRFUlJPUignIzU6IHJlc3VrdCA9PT0gIncxIi4gQWN0dWFsOiByZXN1a3QgPT09JytyZXN1a3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHJlc3VrdDsKCgo=","commentary":"FunctionExpression containing \"with\" statement is admitted","description":"In the check 4 we populate field getRight in __obj object since var getRight declaration adds variable to function scope\nbut getRight in statement resolves within with(__obj) scope and searchs getRight in __obj first","path":"TestCases/ch13/13.2/S13.2.2_A17_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyBhcmd1bWVudHMgb2JqZWN0IHdpdGhpbiBhICJ3aXRoIiBFeHByZXNzaW9uIHRoYXQgaXMgbmVzdGVkIGluIGEgZnVuY3Rpb24gaXMgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgaXMgZGVjbGFyZWQgd2l0aCAidmFyIF9fb2JqPXtjYWxsZWU6ImEifSIKICovCgp2YXIgY2FsbGVlPTAsIGI7Cgp2YXIgX19vYmo9e2NhbGxlZToiYSJ9OwoKcmVzdWx0PShmdW5jdGlvbigpewogICAgd2l0aCAoYXJndW1lbnRzKXsKICAgICAgICBjYWxsZWU9MTsKICAgICAgICBiPXRydWU7CiAgICB9CiAgICByZXR1cm4gYXJndW1lbnRzOwp9KShfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChjYWxsZWUgIT09IDApIHsKCSRFUlJPUignIzE6IGNhbGxlZSA9PT0gMC4gQWN0dWFsOiBjYWxsZWUgPT09JytjYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmouY2FsbGVlICE9PSAiYSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLmNhbGxlZSA9PT0gImEiLiBBY3R1YWw6IF9fb2JqLmNhbGxlZT09PScrX19vYmouY2FsbGVlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKHJlc3VsdC5jYWxsZWUgIT09IDEpIHsKCSRFUlJPUignIzM6IHJlc3VsdC5jYWxsZWUgPT09IDEuIEFjdHVhbDogcmVzdWx0LmNhbGxlZSA9PT0nK3Jlc3VsdC5jYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoISh0aGlzLmIpKSB7CgkkRVJST1IoJyM0OiB0aGlzLmIgPT09IHRydWUuIEFjdHVhbDogdGhpcy5iID09PScrdGhpcy5iKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Using arguments object within a \"with\" Expression that is nested in a function is admitted","description":"Object is declared with \"var __obj={callee:\"a\"}\"","path":"TestCases/ch13/13.2/S13.2.2_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2luZyBhcmd1bWVudHMgb2JqZWN0IHdpdGhpbiBhICJ3aXRoIiBFeHByZXNzaW9uIHRoYXQgaXMgbmVzdGVkIGluIGEgZnVuY3Rpb24gaXMgYWRtaXR0ZWQKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTE4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QgaXMgZGVjbGFyZWQgd2l0aCAiX19vYmo9e2NhbGxlZToiYSJ9IgogKi8KCnRoaXMuY2FsbGVlID0gMDsKdmFyIGI7CgpfX29iaj17Y2FsbGVlOiJhIn07CgpmdW5jdGlvbiBmKCl7CiAgICB3aXRoIChhcmd1bWVudHMpewogICAgICAgIGNhbGxlZT0xOwogICAgICAgIGI9dHJ1ZTsKICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgfQp9OwoKcmVzdWx0PWYoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoY2FsbGVlICE9PSAwKSB7CgkkRVJST1IoJyMxOiBjYWxsZWUgPT09IDAuIEFjdHVhbDogY2FsbGVlID09PScrY2FsbGVlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmNhbGxlZSAhPT0gImEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5jYWxsZWUgPT09ICJhIi4gQWN0dWFsOiBfX29iai5jYWxsZWUgPT09JytfX29iai5jYWxsZWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAocmVzdWx0LmNhbGxlZSAhPT0gMSkgewoJJEVSUk9SKCcjMzogcmVzdWx0LmNhbGxlZSA9PT0gMS4gQWN0dWFsOiByZXN1bHQuY2FsbGVlID09PScrcmVzdWx0LmNhbGxlZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICghKHRoaXMuYikpIHsKCSRFUlJPUignIzQ6IHRoaXMuYiA9PT0gdHJ1ZS4gQWN0dWFsOiB0aGlzLmIgPT09Jyt0aGlzLmIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Using arguments object within a \"with\" Expression that is nested in a function is admitted","description":"Object is declared with \"__obj={callee:\"a\"}\"","path":"TestCases/ch13/13.2/S13.2.2_A18_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDEuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBnbG9iYWwgc2NvcGUKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19mdW5jPSBmdW5jdGlvbigpe3JldHVybiBhO307Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSBfX2Z1bmMoKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAxKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDEuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the global scope","path":"TestCases/ch13/13.2/S13.2.2_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDIuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUuIFVzaW5nICJ3aXRoIiBzdGF0ZW1lbnQKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSAoZnVuY3Rpb24oKXtyZXR1cm4gYTt9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope. Using \"with\" statement","path":"TestCases/ch13/13.2/S13.2.2_A19_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDMuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUgYW5kIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93bgogKi8KCnZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKdHJ5IHsKCXdpdGggKF9fb2JqKQogICAgewogICAgICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXtyZXR1cm4gYTt9OwogICAgICAgIHRocm93IDM7CiAgICB9Cn0gY2F0Y2ggKGUpIHsKCTsKfQoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope and then an exception is thrown","path":"TestCases/ch13/13.2/S13.2.2_A19_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDQuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBoaWVyYXJjaGljYWwgb2JqZWN0IHNjb3BlIGFuZCB0aGVuIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24KICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyLF9fb2JqOnthOjN9fTsKCnRyeSB7Cgl3aXRoIChfX29iaikKICAgIHsKICAgICAgICB3aXRoKF9fb2JqKXsKICAgICAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIGE7fTsKICAgICAgICAgICAgdGhyb3cgNTsKICAgICAgICB9CiAgICB9Cn0gY2F0Y2ggKGUpIHsKCTsKfQoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDMpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMy4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoK","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the hierarchical object scope and then an exception is thrown","path":"TestCases/ch13/13.2/S13.2.2_A19_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDUuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUsIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93biBhbmQgdGhlIG9iamVjdCBpcyBkZWxldGVkCiAqLwoKdmFyIGEgPSAxOwoKdmFyIF9fb2JqID0ge2E6Mn07Cgp3aXRoIChfX29iaikKewogICAgdHJ5IHsKICAgICAgICAKICAgIAl2YXIgX19mdW5jID0gZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgfQogICAgICAgIHRocm93IDM7CiAgICB9IGNhdGNoIChlKSB7CiAgICAJOwogICAgfQp9CgpkZWxldGUgX19vYmo7CgpyZXN1bHQgPSBfX2Z1bmMoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMikgewoJJEVSUk9SKCcjMTogcmVzdWx0ID09PSAyLiBBY3R1YWw6IHJlc3VsdCA9PT0nK3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope, then an exception is thrown and the object is deleted","path":"TestCases/ch13/13.2/S13.2.2_A19_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDYuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSAib2JqZWN0LT5kby13aGlsZSIgc2NvcGUsIHRoZW4gdGhlIG9iamVjdCBpcyBkZWxldGVkIGFuZCBhbm90aGVyIG9iamVjdCB3aXRoIHRoZSBzYW1lIG5hbWUgaXMgZGVjbGFyZWQKICovCgp2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICBkbyB7CiAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgIH0gd2hpbGUoMCk7Cn0KCmRlbGV0ZSBfX29iajsKCnZhciBfX29iaiA9IHthOjN9OwoKd2l0aCAoX19vYmopCnsKICAgIHJlc3VsdCA9IF9fZnVuYygpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the \"object->do-while\" scope, then the object is deleted and another object with the same name is declared","path":"TestCases/ch13/13.2/S13.2.2_A19_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDcuanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIGluIHRoZSBvYmplY3Qgc2NvcGUgYXMgYSB2YXJpYWJsZQogKi8KCnZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIGE7CiAgICB9Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmhhc093blByb3BlcnR5KCdfX2Z1bmMnKSkgewoJJEVSUk9SKCcjMTogX19vYmouaGFzT3duUHJvcGVydHkoXCdfX2Z1bmNcJykgPT09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISh0aGlzLmhhc093blByb3BlcnR5KCdfX2Z1bmMnKSkpIHsKCSRFUlJPUignIzI6IHRoaXMuaGFzT3duUHJvcGVydHkoXCdfX2Z1bmNcJykgPT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZnVuYyBpbiBfX29iaikgewoJJEVSUk9SKCcjMzogKF9fZnVuYyBpbiBfX29iaikgPT09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0aGlzLl9fZnVuYyA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyM0OiB0aGlzLl9fZnVuYyAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function's scope chain is started when it is declared","description":"Function is declared in the object scope as a variable","path":"TestCases/ch13/13.2/S13.2.2_A19_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbidzIHNjb3BlIGNoYWluIGlzIHN0YXJ0ZWQgd2hlbiBpdCBpcyBkZWNsYXJlZAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BMTlfVDguanMKICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGlzIGRlY2xhcmVkIG11bHRpcGx5IHRpbWVzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzA6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBhID0gMSwgYiA9ICJhIjsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHdoaWxlKDEpewogICAgICAgIHZhciAgX19mdW5jID0gZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGE7CiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09IDIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAyLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0ge2E6MyxiOiJiIn07Cgp3aXRoIChfX29iaikKewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gYjsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkhPT0iYiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aXRoICh7YTo5OSxiOiJjIn0pCnsKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMzCiAgICBpZiAoX19mdW5jKCkgIT09ICJiIikgewogICAgCSRFUlJPUignIzM6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0KCg==","commentary":"Function's scope chain is started when it is declared","description":"Function is declared multiply times","path":"TestCases/ch13/13.2/S13.2.2_A19_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMoKSIKICovCgp2YXIgX19NT05TVEVSPSJtb25zdGVyIjsKdmFyIF9fUFJFREFUT1I9InByZWRhdG9yIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fTU9OU1RFUjsKfQpjYXRjaChlKXsKICAgICRFUlJPUignIzA6IF9fUFJPVE8udHlwZT1fX01PTlNURVIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKQp9CgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt0aGlzLm5hbWU9X19QUkVEQVRPUn07CgpfX0ZBQ1RPUlkucHJvdG90eXBlPV9fUFJPVE87Cgp2YXIgX19tb25zdGVyID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSkpIHsKCSRFUlJPUignIzE6IF9fUFJPVE8uaXNQcm90b3R5cGVPZihfX21vbnN0ZXIpIG11c3QgYmUgdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tb25zdGVyLnR5cGUgIT09X19NT05TVEVSKSB7CgkkRVJST1IoJyMyOiBfX21vbnN0ZXIudHlwZSA9PT1fX01PTlNURVIuIEFjdHVhbDogX19tb25zdGVyLnR5cGUgPT09JytfX21vbnN0ZXIudHlwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property","description":"Declaring a function with \"function __func()\"","path":"TestCases/ch13/13.2/S13.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19QUk9UTyA9IGZ1bmN0aW9uKCkiCiAqLwoKdmFyIF9fTU9OU1RFUj0ibW9uc3RlciI7CnZhciBfX1BSRURBVE9SPSJwcmVkYXRvciI7Cgp2YXIgX19QUk9UTyA9IGZ1bmN0aW9uKCl7fTsKCnRyeXsKICAgIF9fUFJPVE8udHlwZT1fX01PTlNURVI7Cn0KY2F0Y2goZSl7CiAgICAkRkFJTCgnIzA6IF9fUFJPVE8udHlwZT1fX01PTlNURVIgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKQp9Cgp2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt0aGlzLm5hbWU9X19QUkVEQVRPUn07CgpfX0ZBQ1RPUlkucHJvdG90eXBlPV9fUFJPVE87Cgp2YXIgX19tb25zdGVyID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSkpIHsKCSRFUlJPUignIzE6IF9fUFJPVE8uaXNQcm90b3R5cGVPZihfX21vbnN0ZXIpIG11c3QgYmUgdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tb25zdGVyLnR5cGUgIT09X19NT05TVEVSKSB7CgkkRVJST1IoJyMyOiBfX21vbnN0ZXIudHlwZSA9PT1fX01PTlNURVIuIEFjdHVhbDogX19tb25zdGVyLnR5cGUgPT09JytfX21vbnN0ZXIudHlwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property","description":"Declaring a function with \"var __PROTO = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhIGZ1bmN0aW9uIGlzIGFuIG9iamVjdCwgaXQgbWlnaHQgYmUgc2V0IHRvIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgYSBuZXcgY3JlYXRlZCBvYmplY3QgdGhyb3VnaCBbW0NvbnN0cnVjdF1dIHByb3BlcnR5LAogKiBidXQgW1tjYWxsXV0gcHJvcGVydHkgbXVzdCBmYWlsIHdpdGggVHlwZUVycm9yIGVycm9yCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnlpbmcgdG8gW1tjYWxsXV0gdGhpcyBmdW5jdGlvbgogKi8KCnZhciBfX1BMQU5UPSJmbG93ZXIiOwp2YXIgX19ST1NFPSJyb3NlIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fUExBTlQ7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19QTEFOVCBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMubmFtZT1fX1JPU0V9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fcm9zZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgX19yb3NlKCk7CiAgICAkRVJST1IoJyMxOiBfX3Jvc2UoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgIAkkRVJST1IoJyMyOiBFeGNlcHRpb24gVHlwZSBpcyBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property,\nbut [[call]] property must fail with TypeError error","description":"Trying to [[call]] this function","path":"TestCases/ch13/13.2/S13.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEl0IGdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgbm90IGFuIG9iamVjdCwgc2V0cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QganVzdCBjcmVhdGVkCiAqICB0byB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgYXMgZGVzY3JpYmVkIGluIDE1LjIuMy4xCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX0ZBQ1RPUlkoKSIKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nIt gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created\n to the original Object prototype object as described in 15.2.3.1","description":"Declaring a function with \"function __FACTORY()\"","path":"TestCases/ch13/13.2/S13.2.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEl0IGdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgbm90IGFuIG9iamVjdCwgc2V0cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QganVzdCBjcmVhdGVkCiAqICB0byB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgYXMgZGVzY3JpYmVkIGluIDE1LjIuMy4xCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJ2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKSIKICovCgp2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nIt gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created\n to the original Object prototype object as described in 15.2.3.1","description":"Declaring a function with \"var __FACTORY = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgYW4gb2JqZWN0LCBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQKICogdG8gdGhlIFBST1RPX1ZBTAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiZnVuY3Rpb24gX19GQUNUT1JZKCkiCiAqLwoKdmFyIF9fQ1VCRT0iY3ViZSI7CgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXsKfTsKX19GQUNUT1JZLnByb3RvdHlwZT17IHNoYXBlOl9fQ1VCRSwgcHJpbnRTaGFwZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYXBlO30gfTsKCnZhciBfX2RldmljZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLnByaW50U2hhcGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19kZXZpY2UucHJpbnRTaGFwZSAhPT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUgPT09JytfX2RldmljZS5wcmludFNoYXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZGV2aWNlLnByaW50U2hhcGUoKSAhPT0gX19DVUJFKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS5wcmludFNoYXBlKCkgPT09IF9fQ1VCRS4gQWN0dWFsOiBfX2RldmljZS5wcmludFNoYXBlKCkgPT09JytfX2RldmljZS5wcmludFNoYXBlKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nGets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created\nto the PROTO_VAL","description":"Declaring a function with \"function __FACTORY()\"","path":"TestCases/ch13/13.2/S13.2.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGKERlbm90ZSBpdCBQUk9UT19WQUwpLgogKiBJZiBQUk9UT19WQUwgaXMgYW4gb2JqZWN0LCBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQKICogdG8gdGhlIFBST1RPX1ZBTAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiX19GQUNUT1JZID0gZnVuY3Rpb24oKSIKICovCgpfX0NVQkU9ImN1YmUiOwoKX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZT17IHNoYXBlOl9fQ1VCRSwgcHJpbnRTaGFwZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYXBlO30gfTsKCl9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UucHJpbnRTaGFwZSA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5wcmludFNoYXBlICE9PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2UucHJpbnRTaGFwZSgpICE9PSBfX0NVQkUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0gX19DVUJFLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nGets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL).\nIf PROTO_VAL is an object, sets the [[Prototype]] property of native ECMAScript object just created\nto the PROTO_VAL","description":"Declaring a function with \"__FACTORY = function()\"","path":"TestCases/ch13/13.2/S13.2.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQgYXMgdGhlIHRoaXMgdmFsdWUgYW5kCiAqIHByb3ZpZGluZyB0aGUgYXJndW1lbnQgbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fRkFDVE9SWShhcmcxLCBhcmcyKSIKICovCgpfX1ZPTFVNRT04OwpfX1JFRD0icmVkIjsKX19JRD0xMjM0MjsKX19UT1A9MS4xOwpfX0JPVFRPTT0wLjA7Cl9fTEVGVD0wLjA7CgoKZnVuY3Rpb24gX19GQUNUT1JZKGFyZzEsIGFyZzIpewoJdGhpcy52b2x1bWU9X19WT0xVTUU7Cgljb2xvcj1fX1JFRDsKCXRoaXMuaWQ9YXJnMTsKCXRvcD1hcmcyOwoJdGhpcy5ib3R0b209YXJndW1lbnRzWzNdOwoJbGVmdD1hcmd1bWVudHNbNF07Cn07CgpfX2RldmljZSA9IG5ldyBfX0ZBQ1RPUlkoX19JRCwgX19UT1AsIF9fQk9UVE9NLCBfX0xFRlQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UuY29sb3IgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19kZXZpY2UuY29sb3IgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5jb2xvciA9PT0nK19fZGV2aWNlLmNvbG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZGV2aWNlLnZvbHVtZSAhPT0gX19WT0xVTUUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnZvbHVtZSA9PT0gX19WT0xVTUUuIEFjdHVhbDogX19kZXZpY2Uudm9sdW1lID09PScrX19kZXZpY2Uudm9sdW1lKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZGV2aWNlLnRvcCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMzOiBfX2RldmljZS50b3AgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS50b3AgPT09JytfX2RldmljZS50b3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19kZXZpY2UuaWQgIT09IF9fSUQpIHsKCSRFUlJPUignIzQ6IF9fZGV2aWNlLmlkID09PSBfX0lELiBBY3R1YWw6IF9fZGV2aWNlLmlkID09PScrX19kZXZpY2UuaWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19kZXZpY2UubGVmdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyM1OiBfX2RldmljZS5sZWZ0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UubGVmdCA9PT0nK19fZGV2aWNlLmxlZnQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19kZXZpY2UuYm90dG9tICE9PSBfX0JPVFRPTSkgewoJJEVSUk9SKCcjNjogX19kZXZpY2UuYm90dG9tID09PSBfX0JPVFRPTS4gQWN0dWFsOiBfX2RldmljZS5ib3R0b20gPT09JytfX2RldmljZS5ib3R0b20pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and\nproviding the argument list passed into [[Construct]] as the argument values","description":"Declaring a function with \"function __FACTORY(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCBqdXN0IGNyZWF0ZWQgYXMgdGhlIHRoaXMgdmFsdWUgYW5kCiAqIHByb3ZpZGluZyB0aGUgYXJndW1lbnQgbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggIl9fRkFDVE9SWSA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpIgogKi8KCl9fVk9MVU1FPTg7Cl9fUkVEPSJyZWQiOwpfX0lEPTEyMzQyOwpfX1RPUD0xLjE7Cl9fQk9UVE9NPTAuMDsKX19MRUZUPTAuMDsKCgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMudm9sdW1lPV9fVk9MVU1FOwoJY29sb3I9X19SRUQ7Cgl0aGlzLmlkPWFyZzE7Cgl0b3A9YXJnMjsKCXRoaXMuYm90dG9tPWFyZ3VtZW50c1szXTsKCWxlZnQ9YXJndW1lbnRzWzRdOwp9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKF9fSUQsIF9fVE9QLCBfX0JPVFRPTSwgX19MRUZUKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLmNvbG9yICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLmNvbG9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UuY29sb3IgPT09JytfX2RldmljZS5jb2xvcik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS52b2x1bWUgIT09IF9fVk9MVU1FKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS52b2x1bWUgPT09IF9fVk9MVU1FLiBBY3R1YWw6IF9fZGV2aWNlLnZvbHVtZSA9PT0nK19fZGV2aWNlLnZvbHVtZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2RldmljZS50b3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogX19kZXZpY2UudG9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UudG9wID09PScrX19kZXZpY2UudG9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fZGV2aWNlLmlkICE9PSBfX0lEKSB7CgkkRVJST1IoJyM0OiBfX2RldmljZS5pZCA9PT0gX19JRC4gQWN0dWFsOiBfX2RldmljZS5pZCA9PT0nK19fZGV2aWNlLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fZGV2aWNlLmxlZnQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogX19kZXZpY2UubGVmdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmxlZnQgPT09JytfX2RldmljZS5sZWZ0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fZGV2aWNlLmJvdHRvbSAhPT0gX19CT1RUT00pIHsKCSRFUlJPUignIzY6IF9fZGV2aWNlLmJvdHRvbSA9PT0gX19CT1RUT00uIEFjdHVhbDogX19kZXZpY2UuYm90dG9tID09PScrX19kZXZpY2UuYm90dG9tKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing native ECMAScript object just created as the this value and\nproviding the argument list passed into [[Construct]] as the argument values","description":"Declaring a function with \"__FACTORY = function(arg1, arg2)\"","path":"TestCases/ch13/13.2/S13.2.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBub3QgT2JqZWN0IHRoZW4gcmV0dXJuIHBhc3NlZCBhcyB0aGlzIGludG8gW1tDYWxsXV0gb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJfX2Z1bmMgPSBmdW5jdGlvbihhcmcpIgogKi8KCl9fRk9PPSJmb29WYWx1ZSI7Cl9fQkFSPSJiYXJWYWx1ZSI7CgpfX2Z1bmMgPSBmdW5jdGlvbihhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIDA7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07CgpfX29iaiA9IG5ldyBfX2Z1bmMoX19GT08sIF9fQkFSKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyE9PV9fRk9PKSB7CgkkRVJST1IoJyMxOiBfX29iai5mb28gPT09IF9fRk9PLiBBY3R1YWw6IF9fb2JqLmZvbz09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmJhciE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmouYmFyID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmouYmFyPT09JytfX29iai5iYXIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object","description":"Declaring a function with \"__func = function(arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBub3QgT2JqZWN0IHRoZW4gcmV0dXJuIHBhc3NlZCBhcyB0aGlzIGludG8gW1tDYWxsXV0gb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoICJmdW5jdGlvbiBfX2Z1bmMgKGFyZykiCiAqLwoKdmFyIF9fRk9PPSJmb29WYWx1ZSI7CnZhciBfX0JBUj0iYmFyVmFsdWUiOwoKZnVuY3Rpb24gX19mdW5jIChhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIHRydWU7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07Cgp2YXIgX19vYmogPSBuZXcgX19mdW5jKF9fRk9PLCBfX0JBUik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28hPT1fX0ZPTykgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSBfX0ZPTy4gQWN0dWFsOiBfX29iai5mb289PT0nK19fb2JqLmZvbyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5iYXIhPT11bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fb2JqLmJhciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLmJhcj09PScrX19vYmouYmFyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is not Object then return passed as this into [[Call]] object","description":"Declaring a function with \"function __func (arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBPYmplY3QgdGhlbiByZXR1cm4gdGhpcyBqdXN0IGFzIG9idGFpbmVkIG9iamVjdAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BN19UMS5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCAiYXMgX19mdW5jID0gZnVuY3Rpb24oYXJnKSIKICovCgp2YXIgX19GUlNUPSJvbmUiOwp2YXIgX19TQ05EPSJ0d28iOwoKZnVuY3Rpb24gX19mdW5jIChhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX29iaj17c2Vjb25kOmFyZzJ9OwogICAgcmV0dXJuIF9fb2JqOwoJCn07Cgp2YXIgX19vYmpfXyA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmpfXy5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX29ial9fLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmpfXy5maXJzdD09PScrX19vYmpfXy5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29ial9fLnNlY29uZCAhPT0gX19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX29ial9fLnNlY29uZCA9PT0gX19TQ05ELiBBY3R1YWw6IF9fb2JqX18uc2Vjb25kID09PScrX19vYmpfXy5zZWNvbmQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Object then return this just as obtained object","description":"Declaring a function with \"as __func = function(arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBPYmplY3QgdGhlbiByZXR1cm4gdGhpcyBqdXN0IGFzIG9idGFpbmVkIG9iamVjdAogKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuMl9BN19UMi5qcwogKiBAZGVzY3JpcHRpb24gRGVjbGFyaW5nIGEgImZ1bmN0aW9uIGFzIGZ1bmN0aW9uIF9fZnVuYyAoYXJnKSIKICovCgpfX0ZSU1Q9Im9uZSI7Cl9fU0NORD0idHdvIjsKCl9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJdmFyIF9fb2JqPXtzZWNvbmQ6YXJnMn07CiAgICByZXR1cm4gX19vYmo7CgkKfTsKCl9fb2JqX18gPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqX18uZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19vYmpfXy5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqX18uZmlyc3Q9PT0nK19fb2JqX18uZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpfXy5zZWNvbmQgIT09IF9fU0NORCkgewoJJEVSUk9SKCcjMjogX19vYmpfXy5zZWNvbmQgPT09IF9fU0NORC4gQWN0dWFsOiBfX29ial9fLnNlY29uZCA9PT0nK19fb2JqX18uc2Vjb25kKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Object then return this just as obtained object","description":"Declaring a \"function as function __func (arg)\"","path":"TestCases/ch13/13.2/S13.2.2_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zICJyZXR1cm4iIGZvbGxvd2VkIGJ5IGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24KICovCgp2YXIgX19GUlNUPSJvbmUiOwp2YXIgX19TQ05EPSJ0d28iOwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJCglfX2d1bmMucHJvcD1hcmcyOwogICAgcmV0dXJuIF9fZ3VuYzsKICAgIC8vIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAgICBmdW5jdGlvbiBfX2d1bmMoYXJnKXtyZXR1cm4gKythcmd9OwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgxKSE9PSAyKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKDEpPT09IDIuIEFjdHVhbDogX19pbnN0YW5jZSgxKSA9PT0nK19faW5zdGFuY2UoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains \"return\" followed by declaration of another function","path":"TestCases/ch13/13.2/S13.2.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVjbGFyZWQgYXMgYSB2YXJpYWJsZQogKi8KCnZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19ndW5jID0gZnVuY3Rpb24oYXJnKXtyZXR1cm4gYXJnKz0iQkEifTsKCV9fZ3VuYy5wcm9wPWFyZzI7CiAgICByZXR1cm4gX19ndW5jOwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgiU0FNIikhPT0gIlNBTUJBIikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgiU0FNIikgPT09ICJTQU1CQSIuIEFjdHVhbDogX19pbnN0YW5jZSgiU0FNIikgPT09JytfX2luc3RhbmNlKCJTQU0iKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains declaration of another function declared as a variable","path":"TestCases/ch13/13.2/S13.2.2_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZDoKICogQSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0IGlzIGNyZWF0ZWQuCiAqIEludm9rZSB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgRiwgcHJvdmlkaW5nIGp1c3QgY3JlYXRlZCBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIHByb3ZpZGluZyB0aGUgYXJndW1lbnQKICogbGlzdCBwYXNzZWQgaW50byBbW0NvbnN0cnVjdF1dIGFzIHRoZSBhcmd1bWVudCB2YWx1ZXMuCiAqIElmIFR5cGUoIFtbQ2FsbF1dIHJldHVybmVkKSBpcyBhbiBGdW5jdGlvbiB0aGVuIHJldHVybiB0aGlzIGp1c3QgYXMgb2J0YWluZWQgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yLjJfQThfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVmaW5lZCBieSB1c2luZyBGdW5jdGlvbi5jYWxsIG1ldGhvZAogKi8KCnZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19ndW5jID0gRnVuY3Rpb24uY2FsbCh0aGlzLCJhcmciLCJyZXR1cm4gKythcmc7Iik7CglfX2d1bmMucHJvcD1hcmcyOwogICAgcmV0dXJuIF9fZ3VuYzsKCQp9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19pbnN0YW5jZS5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9faW5zdGFuY2UuZmlyc3QgPT09JytfX2luc3RhbmNlLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UucHJvcCE9PV9fU0NORCkgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZS5wcm9wID09PSBfX1NDTkQuIEFjdHVhbDogX19pbnN0YW5jZS5wcm9wID09PScrX19pbnN0YW5jZS5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UoMSkhPT0gMikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgxKT09PSAyLiBBY3R1YWw6IF9faW5zdGFuY2UoMSkgPT09JytfX2luc3RhbmNlKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When the [[Construct]] property for a Function object F is called:\nA new native ECMAScript object is created.\nInvoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument\nlist passed into [[Construct]] as the argument values.\nIf Type( [[Call]] returned) is an Function then return this just as obtained function","description":"Creating a function whose prototype contains declaration of another function defined by using Function.call method","path":"TestCases/ch13/13.2/S13.2.2_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciBpcyBpbmFkbWlzc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBjYWxsZWQgYmVmb3JlIGl0IGlzIGRlY2xhcmVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMi4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvcgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAgdGhpcy5pZCA9IDA7CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgIAogICB0aGlzLmZ1bmMgPSBmdW5jdGlvbiAoKXsKICAgICAgcmV0dXJuIDU7CiAgIH0KICAKfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Calling a function as a constructor is inadmissible as long as this.any_Function is called before it is declared","description":"Calling a function as a constructor","path":"TestCases/ch13/13.2/S13.2.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gY2hlY2sgdGhhdCBhbGwgcG9pc29uaW5nIHVzZSB0aGUgW1tUaHJvd1R5cGVFcnJvcl1dCiAqIGZ1bmN0aW9uIG9iamVjdC4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CnZhciBwb2lzb24gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZ1bmN0aW9uKCkge30sICdjYWxsZXInKS5nZXQ7CgppZiAodHlwZW9mIHBvaXNvbiAhPT0gJ2Z1bmN0aW9uJykgewogICRFUlJPUigiIzE6IEEgc3RyaWN0IGZ1bmN0aW9uJ3MgLmNhbGxlciBzaG91bGQgYmUgcG9pc29uZWQgd2l0aCBhIGZ1bmN0aW9uIik7Cn0KdmFyIHRocmV3ID0gbnVsbDsKdHJ5IHsKICBwb2lzb24oKTsKfSBjYXRjaCAoZXJyKSB7CiAgdGhyZXcgPSBlcnI7Cn0KaWYgKCF0aHJldyB8fCAhKHRocmV3IGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICRFUlJPUigiIzI6IFBvaXNvbmVkIHByb3BlcnR5IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IiKTsKfQoKZnVuY3Rpb24gY2hlY2tQb2lzb24ob2JqLCBuYW1lKSB7CiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmFtZSk7CiAgaWYgKGRlc2MuZW51bWVyYWJsZSkgewogICAgJEVSUk9SKCIjMzogUG9pc29uZWQgIiArIG5hbWUgKyAiIHNob3VsZCBub3QgYmUgZW51bWVyYWJsZSIpOwogIH0KICBpZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiIzQ6IFBvaXNvbmVkICIgKyBuYW1lICsgIiBzaG91bGQgbm90IGJlIGNvbmZpZ3VyYWJsZSIpOwogIH0KICBpZiAocG9pc29uICE9PSBkZXNjLmdldCkgewogICAgJEVSUk9SKCIjNTogIiArIG5hbWUgKyAiJ3MgZ2V0dGVyIG5vdCBwb2lzb25lZCB3aXRoIHNhbWUgcG9pc29uIik7CiAgfQogIGlmIChwb2lzb24gIT09IGRlc2Muc2V0KSB7CiAgICAkRVJST1IoIiM2OiAiICsgbmFtZSArICIncyBzZXR0ZXIgbm90IHBvaXNvbmVkIHdpdGggc2FtZSBwb2lzb24iKTsKICB9Cn0KCmNoZWNrUG9pc29uKGZ1bmN0aW9uKCkge30sICdjYWxsZXInKTsKY2hlY2tQb2lzb24oZnVuY3Rpb24oKSB7fSwgJ2FyZ3VtZW50cycpOwpjaGVja1BvaXNvbigoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCksICdjYWxsZXInKTsKY2hlY2tQb2lzb24oKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpLCAnY2FsbGVlJyk7CmNoZWNrUG9pc29uKChmdW5jdGlvbigpIHt9KS5iaW5kKG51bGwpLCAnY2FsbGVyJyk7CmNoZWNrUG9pc29uKChmdW5jdGlvbigpIHt9KS5iaW5kKG51bGwpLCAnYXJndW1lbnRzJyk7Cgo=","commentary":"","description":"check that all poisoning use the [[ThrowTypeError]]\nfunction object.","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBICJwcm90b3R5cGUiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAiZnVuY3Rpb24gX19mdW5jKCl7fSIgYXMgYSBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gX19mdW5jKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5wcm90b3R5cGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A \"prototype\" property is automatically created for every function","description":"Using \"function __func(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBICJwcm90b3R5cGUiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyAidmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7fSIgYXMgYSBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5wcm90b3R5cGUgPT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A \"prototype\" property is automatically created for every function","description":"Using \"var __func = function(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgZnVuY3Rpb24gYXJlIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gTmVzdGluZyBsZXZlbCBpcyB0d28KICovCgp2YXIgX19KRURJPSJqZWRpIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICAKICAgIHJldHVybiBfX0dVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKShfX0pFREkpICE9PSBfX0pFREkpIHsKCSRFUlJPUignIzE6IF9fRlVOQygpKF9fSkVESSkgPT09IF9fSkVESS4gQWN0dWFsOiBfX0ZVTkMoKShfX0pFREkpID09PScrX19GVU5DKCkoX19KRURJKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Nested function are admitted","description":"Nesting level is two","path":"TestCases/ch13/13.2/S13.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOZXN0ZWQgZnVuY3Rpb24gYXJlIGFkbWl0dGVkCiAqCiAqIEBwYXRoIGNoMTMvMTMuMi9TMTMuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gTmVzdGluZyBsZXZlbCBpcyB0aHJlZQogKi8KCnZhciBfX1JPQk9UPSJDM1BPIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICBmdW5jdGlvbiBfX0hVTkMoKXsKICAgICAgICByZXR1cm4gX19HVU5DOwogICAgfTsKICAgIHJldHVybiBfX0hVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKSgpKF9fUk9CT1QpICE9PSBfX1JPQk9UKSB7CgkkRVJST1IoJyMxOiBfX0ZVTkMoKSgpKF9fUk9CT1QpID09PSBfX1JPQk9ULiBBY3R1YWw6IF9fRlVOQygpKCkoX19ST0JPVCkgPT09JytfX0ZVTkMoKSgpKF9fUk9CT1QpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Nested function are admitted","description":"Nesting level is three","path":"TestCases/ch13/13.2/S13.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEYgaXMgc2V0IHRvIHRoZSBudW1iZXIgb2YgZm9ybWFsIHByb3BlcnRpZXMgc3BlY2lmaWVkIGluIEZvcm1hbFBhcmFtZXRlckxpc3QKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB2YXJpb3VzIEZvcm1hbFBhcmFtZXRlckxpc3QgYW5kIGNoZWNraW5nIHRoZWlyIGxlbmd0aHMKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLmxlbmd0aCAhPT0gMCkgewoJJEVSUk9SKCcjMTogX19mdW5jLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiBfX2Z1bmMubGVuZ3RoID09PScrX19mdW5jLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2d1bmMoYSxiLGMpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2d1bmMubGVuZ3RoICE9PSAzKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMubGVuZ3RoID09PSAzLiBBY3R1YWw6IF9fZ3VuYy5sZW5ndGggPT09JytfX2d1bmMubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"When Function object(F) is constructed the length property of F is set to the number of formal properties specified in FormalParameterList","description":"Creating functions with various FormalParameterList and checking their lengths","path":"TestCases/ch13/13.2/S13.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGZyb20gOSB0byAxMSB0YWtlIHBsYWNlCiAqIDkuQ3JlYXRlIGEgbmV3IG9iamVjdCBhcyB3b3VsZCBiZSBjb25zdHJ1Y3RlZCBieSB0aGUgZXhwcmVzc2lvbiBuZXcgT2JqZWN0KCkuCiAqIDEwLiBTZXQgdGhlIGNvbnN0cnVjdG9yIHByb3BlcnR5IG9mIFJlc3VsdCg5KSB0byBGLiBUaGlzIHByb3BlcnR5IGlzIGdpdmVuIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9LgogKiAxMS4gU2V0IHRoZSAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiBGIHRvIFJlc3VsdCg5KS4KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUsIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIGFuZCB7RG9udEVudW19IHByb3BlcnR5IG9mIGEgY29uc3RydWN0b3IuCiAqIFVzaW5nICJmdW5jdGlvbiBfX2Z1bmMoKXt9IiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYy5wcm90b3R5cGUgIT09ICdvYmplY3QnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jLnByb3RvdHlwZSA9PT0gXCdvYmplY3RcJy4gQWN0dWFsOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0nK3R5cGVvZiBfX2d1bmMucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IF9fZnVuYykgewoJJEVSUk9SKCcjMjogX19mdW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gX19mdW5jLiBBY3R1YWw6IF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09JytfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkOwoKZm9yIChfX3Byb3AgaW4gX19mdW5jLnByb3RvdHlwZSl7CiAgICBpZiAoX19wcm9wID0gJ2NvbnN0cnVjdG9yJykKICAgICAgICBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID0gdHJ1ZTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCkgewoJJEVSUk9SKCcjMzogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0gZmFsc2UuIEFjdHVhbDogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0nK19fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"When Function object(F) is constructed the following steps from 9 to 11 take place\n9.Create a new object as would be constructed by the expression new Object().\n10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.\n11. Set the \"prototype\" property of F to Result(9).","description":"Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.\nUsing \"function __func(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGZyb20gOSB0byAxMSB0YWtlIHBsYWNlCiAqIDkuQ3JlYXRlIGEgbmV3IG9iamVjdCBhcyB3b3VsZCBiZSBjb25zdHJ1Y3RlZCBieSB0aGUgZXhwcmVzc2lvbiBuZXcgT2JqZWN0KCkuCiAqIDEwLiBTZXQgdGhlIGNvbnN0cnVjdG9yIHByb3BlcnR5IG9mIFJlc3VsdCg5KSB0byBGLiBUaGlzIHByb3BlcnR5IGlzIGdpdmVuIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9LgogKiAxMS4gU2V0IHRoZSAicHJvdG90eXBlIiBwcm9wZXJ0eSBvZiBGIHRvIFJlc3VsdCg5KS4KICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUsIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIGFuZCB7RG9udEVudW19IHByb3BlcnR5IG9mIGEgY29uc3RydWN0b3IuCiAqIFVzaW5nICJ2YXIgX19ndW5jID0gZnVuY3Rpb24oKXt9IiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgp2YXIgX19ndW5jID0gZnVuY3Rpb24oKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUgIT09ICdvYmplY3QnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0gXCdvYmplY3RcJy4gQWN0dWFsOiB0eXBlb2YgX19ndW5jLnByb3RvdHlwZSA9PT0nK3R5cGVvZiBfX2d1bmMucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IF9fZ3VuYykgewoJJEVSUk9SKCcjMjogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gX19ndW5jLiBBY3R1YWw6IF9fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09JytfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkOwoKZm9yIChfX3Byb3AgaW4gX19ndW5jLnByb3RvdHlwZSl7CiAgICBpZiAoX19wcm9wID0gJ2NvbnN0cnVjdG9yJykKICAgICAgICBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID0gdHJ1ZTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCkgewoJJEVSUk9SKCcjMzogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0gZmFsc2UuIEFjdHVhbDogX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCA9PT0nK19fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgo=","commentary":"When Function object(F) is constructed the following steps from 9 to 11 take place\n9.Create a new object as would be constructed by the expression new Object().\n10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.\n11. Set the \"prototype\" property of F to Result(9).","description":"Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.\nUsing \"var __gunc = function(){}\" as a FunctionDeclaration","path":"TestCases/ch13/13.2/S13.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIG9iamVjdChGKSBpcyBjb25zdHJ1Y3RlZAogKiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBGIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTUuMy4zLjEKICoKICogQHBhdGggY2gxMy8xMy4yL1MxMy4yX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZigpIGlzIHVzZWQKICovCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2Z1bmMpKSkgewoJJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mdW5jKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCnZhciBfX2d1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZ3VuYykpKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2d1bmMpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"When Function object(F) is constructed\nthe [[Prototype]] property of F is set to the original Function prototype object as specified in 15.3.3.1","description":"Function.prototype.isPrototypeOf() is used","path":"TestCases/ch13/13.2/S13.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqIGdldE93blByb3BlcnR5RGVzY3JpcHRvciB0b28KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7Ck9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnVuY3Rpb24oKXt9LCAnY2FsbGVyJyk7Cgo=","commentary":"","description":"check if \"caller\" poisoning poisons\ngetOwnPropertyDescriptor too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqIGdldE93blByb3BlcnR5RGVzY3JpcHRvciB0b28KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7Ck9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnVuY3Rpb24oKXt9LCAnYXJndW1lbnRzJyk7Cgo=","commentary":"","description":"check if \"arguments\" poisoning poisons\ngetOwnPropertyDescriptor too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqIGhhc093blByb3BlcnR5IHRvbwogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKKGZ1bmN0aW9uKCl7fSkuaGFzT3duUHJvcGVydHkoJ2NhbGxlcicpOwoKCg==","commentary":"","description":"check if \"caller\" poisoning poisons\nhasOwnProperty too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqIGhhc093blByb3BlcnR5IHRvbwogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKKGZ1bmN0aW9uKCl7fSkuaGFzT3duUHJvcGVydHkoJ2FyZ3VtZW50cycpOwoKCg==","commentary":"","description":"check if \"arguments\" poisoning poisons\nhasOwnProperty too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQThfVDEuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJjYWxsZXIiIHBvaXNvbmluZyBwb2lzb25zCiAqICJpbiIgdG9vCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwonY2FsbGVyJyBpbiBmdW5jdGlvbigpIHt9OwoKCg==","commentary":"","description":"check if \"caller\" poisoning poisons\n\"in\" too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEzLzEzLjIvUzEzLjJfQThfVDIuanMKICogQGRlc2NyaXB0aW9uIGNoZWNrIGlmICJhcmd1bWVudHMiIHBvaXNvbmluZyBwb2lzb25zCiAqICJpbiIgdG9vCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwonYXJndW1lbnRzJyBpbiBmdW5jdGlvbigpIHt9OwoKCg==","commentary":"","description":"check if \"arguments\" poisoning poisons\n\"in\" too","onlyStrict":"","path":"TestCases/ch13/13.2/S13.2_A8_T2.js"}]}} \ No newline at end of file diff --git a/website/json/ch14.json b/website/json/ch14.json index 575c8fb69..78843578e 100644 --- a/website/json/ch14.json +++ b/website/json/ch14.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch14","numTests":"24","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gbXVzdCBiZSBsb2NhbGVkIGluIGEgcmVhY2hlYWJsZSBmcmFnbWVudCBvZiB0aGUgcHJvZ3JhbQogKgogKiBAcGF0aCBjaDE0LzE0LjAvUzE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYW4gImlmIiBFeHByZXNzaW9uCiAqLwoKdmFyIFRIRVJFID0gIkknbSB0aGVyZSI7CnZhciBIRVJFID0gIkknbSBoZXJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCBfX2Z1bmMgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jID09PSB1bmRlZmluZWQuIEFjdHVhbDogIF9fZnVuYyA9PT0nKyBfX2Z1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgppZiAodHJ1ZSl7CiAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gSEVSRTt9Owp9IGVsc2UgewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiBUSEVSRTt9Owp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkgIT09IEhFUkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBIRVJFLiBBY3R1YWw6ICBfX2Z1bmMoKSA9PT0nKyBfX2Z1bmMoKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression must be localed in a reacheable fragment of the program","description":"Declaring a function within an \"if\" Expression","path":"TestCases/ch14/14.0/S14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbm5vdCBiZSBsb2NhbGVkIGluc2lkZSBhbiBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhbiAiaWYiIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgZiAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBmID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6ICB0eXBlb2YgZiA9PT0nKyB0eXBlb2YgZiAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGZ1bmN0aW9uIGYoYXJnKXsKCWlmIChhcmc9PT0wKQoJICAgcmV0dXJuIDE7CgllbHNlCgkgICByZXR1cm4gZihhcmctMSkqYXJnOwp9KDMpIT09NikgewoJJEVSUk9SKCcjMjogRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgbG9jYWxlZCBpbnNpZGUgYW4gRXhwcmVzc2lvbicpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration cannot be localed inside an Expression","description":"Declaring a function within an \"if\" Expression","path":"TestCases/ch14/14.0/S14_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgZGVmaW5lZCB3aXRoaW4gdGhlIGJvZHkgb2YgYW5vdGhlciBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiB0aGUgYm9keSBvZiBhbm90aGVyIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAgdHlwZW9mIF9fZnVuYyA9PT0nKyB0eXBlb2YgX19mdW5jICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZ3VuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2d1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19ndW5jID09PScrIHR5cGVvZiBfX2d1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGZ1bmN0aW9uIF9fZ3VuYygpe3JldHVybiB0cnVlfTsKfQoK","commentary":"Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration","description":"Declaring a function within the body of another function","path":"TestCases/ch14/14.0/S14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJib3RoIn0iCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09ICJib3RoIikgewoJJEVSUk9SKCcjMTogX19mdW5jKCkgPT09ICJib3RoIi4gQWN0dWFsOiAgX19mdW5jKCkgPT09JysgX19mdW5jKCkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gImFzY2lpIn07CmZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9Oy8vX19mdW5jIGluIHVuaWNvZGUKZnVuY3Rpb24gX19cdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gImJvdGgifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=","commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode","description":"Declaring a function with \"function __\\u0066\\u0075\\u006e\\u0063(){return \"both\"}\"","path":"TestCases/ch14/14.0/S14_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9IgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSAidW5pY29kZSIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAidW5pY29kZSIuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJhc2NpaSJ9OwpmdW5jdGlvbiBcdTAwNWZcdTAwNWZcdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gInVuaWNvZGUifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=","commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode","description":"Declaring a function with \"function \\u005f\\u005f\\u0066\\u0075\\u006e\\u0063(){return \"unicode\"}\"","path":"TestCases/ch14/14.0/S14_A5_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - correct usage","noStrict":"","path":"TestCases/ch14/14.1/14.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGRpcmVjdGl2ZXMgLSBtYXkgZm9sbG93ICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAidXNlIHN0cmljdCI7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"other directives - may follow 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBwcmVjZWVkICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAvLyBjb21tZW50DQogICAgIC8qIGNvbW1lbnQgKi8gInVzZSBzdHJpY3QiOw0KDQogICByZXR1cm4odGhpcyA9PT0gdW5kZWZpbmVkKTsNCg0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"comments may preceed 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBmb2xsb3cgJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJ1c2Ugc3RyaWN0IjsgICAgLyogY29tbWVudCAqLyAgIC8vIGNvbW1lbnQNCg0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"comments may follow 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gd29ya3MgZm9yJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiDQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"semicolon insertion works for'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gbWF5IGNvbWUgYmVmb3JlICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICJhbm90aGVyIGRpcmVjdGl2ZSINCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"semicolon insertion may come before 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIGJsYW5rIGxpbmVzIG1heSBjb21lIGJlZm9yZSAndXNlIHN0cmljdCcgZGlyZWN0aXZlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCg0KDQoNCg0KDQoNCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"blank lines may come before 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgYW4gZW1wdHkgc3RhdGVtZW50DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICA7ICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if it follow an empty statement","noStrict":"","path":"TestCases/ch14/14.1/14.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgc29tZSBvdGhlciBzdGF0bWVudCBlbXB0eSBzdGF0ZW1lbnQNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICB2YXIgeDsNCiAgICAndXNlIHN0cmljdCc7DQogICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if it follow some other statment empty statement","noStrict":"","path":"TestCases/ch14/14.1/14.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gInVzZSBzdHJpY3QiIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UgZG91YmxlIHF1b3Rlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"\"use strict\" directive - correct usage double quotes","noStrict":"","path":"TestCases/ch14/14.1/14.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGl0IGNvbnRhaW5zIGV4dHJhIHdoaXRlc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICcgIHVzZSAgICBzdHJpY3QgICAnOw0KICAgICByZXR1cm4gKHRoaXMgIT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - not recognized if it contains extra whitespace","noStrict":"","path":"TestCases/ch14/14.1/14.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIExpbmUgQ29udGludWF0aW9uDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlIHN0clwNCmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains Line Continuation","noStrict":"","path":"TestCases/ch14/14.1/14.1-4-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE0LzE0LjEvMTQuMS00Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBmb2xsb3dlZCBieSBhIHN0cmljdCBtb2RlIHZpb2xhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZXZhbCA9IDQyOw==","commentary":"","description":"StrictMode - a Use Strict Directive followed by a strict mode violation","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch14/14.1/14.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgRXNjYXBlU2VxdWVuY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2VcdTAwMjBzdHJpY3QnOw0KICAgICByZXR1cm4odGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains a EscapeSequence","noStrict":"","path":"TestCases/ch14/14.1/14.1-5-s.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE0LzE0LjEvMTQuMS01Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBlbWJlZGRlZCBpbiBhIGRpcmVjdGl2ZSBwcm9sb2d1ZSBmb2xsb3dlZCBieSBhIHN0cmljdCBtb2RlIHZpb2xhdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBeKCg/IU5vdEVhcmx5RXJyb3IpLikqJA0KICovDQoiYSI7DQoidXNlIHN0cmljdCI7DQoiYyI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KZXZhbCA9IDQyOw==","commentary":"","description":"StrictMode - a Use Strict Directive embedded in a directive prologue followed by a strict mode violation","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch14/14.1/14.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgPFRBQj4gaW5zdGVhZCBvZiBhIHNwYWNlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlCXN0cmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains a instead of a space","noStrict":"","path":"TestCases/ch14/14.1/14.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIHVwcGVyIGNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICdVc2UgU3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if upper case","noStrict":"","path":"TestCases/ch14/14.1/14.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBmb2xsb3cgb3RoZXIgZGlyZWN0aXZlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICAidXNlIHN0cmljdCI7DQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - may follow other directives","noStrict":"","path":"TestCases/ch14/14.1/14.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - may occur multiple times","noStrict":"","path":"TestCases/ch14/14.1/14.1-9-s.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch14","numTests":"24","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gbXVzdCBiZSBsb2NhbGVkIGluIGEgcmVhY2hlYWJsZSBmcmFnbWVudCBvZiB0aGUgcHJvZ3JhbQogKgogKiBAcGF0aCBjaDE0LzE0LjAvUzE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYW4gImlmIiBFeHByZXNzaW9uCiAqLwoKdmFyIFRIRVJFID0gIkknbSB0aGVyZSI7CnZhciBIRVJFID0gIkknbSBoZXJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCBfX2Z1bmMgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jID09PSB1bmRlZmluZWQuIEFjdHVhbDogIF9fZnVuYyA9PT0nKyBfX2Z1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgppZiAodHJ1ZSl7CiAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gSEVSRTt9Owp9IGVsc2UgewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiBUSEVSRTt9Owp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkgIT09IEhFUkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBIRVJFLiBBY3R1YWw6ICBfX2Z1bmMoKSA9PT0nKyBfX2Z1bmMoKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionExpression must be localed in a reacheable fragment of the program","description":"Declaring a function within an \"if\" Expression","path":"TestCases/ch14/14.0/S14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbm5vdCBiZSBsb2NhbGVkIGluc2lkZSBhbiBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhbiAiaWYiIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgZiAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBmID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6ICB0eXBlb2YgZiA9PT0nKyB0eXBlb2YgZiAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGZ1bmN0aW9uIGYoYXJnKXsKCWlmIChhcmc9PT0wKQoJICAgcmV0dXJuIDE7CgllbHNlCgkgICByZXR1cm4gZihhcmctMSkqYXJnOwp9KDMpIT09NikgewoJJEVSUk9SKCcjMjogRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgbG9jYWxlZCBpbnNpZGUgYW4gRXhwcmVzc2lvbicpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"FunctionDeclaration cannot be localed inside an Expression","description":"Declaring a function within an \"if\" Expression","path":"TestCases/ch14/14.0/S14_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgZGVmaW5lZCB3aXRoaW4gdGhlIGJvZHkgb2YgYW5vdGhlciBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiB0aGUgYm9keSBvZiBhbm90aGVyIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAgdHlwZW9mIF9fZnVuYyA9PT0nKyB0eXBlb2YgX19mdW5jICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZ3VuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2d1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19ndW5jID09PScrIHR5cGVvZiBfX2d1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGZ1bmN0aW9uIF9fZ3VuYygpe3JldHVybiB0cnVlfTsKfQoK","commentary":"Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration","description":"Declaring a function within the body of another function","path":"TestCases/ch14/14.0/S14_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJib3RoIn0iCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09ICJib3RoIikgewoJJEVSUk9SKCcjMTogX19mdW5jKCkgPT09ICJib3RoIi4gQWN0dWFsOiAgX19mdW5jKCkgPT09JysgX19mdW5jKCkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gImFzY2lpIn07CmZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9Oy8vX19mdW5jIGluIHVuaWNvZGUKZnVuY3Rpb24gX19cdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gImJvdGgifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=","commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode","description":"Declaring a function with \"function __\\u0066\\u0075\\u006e\\u0063(){return \"both\"}\"","path":"TestCases/ch14/14.0/S14_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9IgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSAidW5pY29kZSIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAidW5pY29kZSIuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJhc2NpaSJ9OwpmdW5jdGlvbiBcdTAwNWZcdTAwNWZcdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gInVuaWNvZGUifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=","commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode","description":"Declaring a function with \"function \\u005f\\u005f\\u0066\\u0075\\u006e\\u0063(){return \"unicode\"}\"","path":"TestCases/ch14/14.0/S14_A5_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - correct usage","noStrict":"","path":"TestCases/ch14/14.1/14.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGRpcmVjdGl2ZXMgLSBtYXkgZm9sbG93ICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAidXNlIHN0cmljdCI7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"other directives - may follow 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBwcmVjZWVkICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAvLyBjb21tZW50DQogICAgIC8qIGNvbW1lbnQgKi8gInVzZSBzdHJpY3QiOw0KDQogICByZXR1cm4odGhpcyA9PT0gdW5kZWZpbmVkKTsNCg0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"comments may preceed 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBmb2xsb3cgJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJ1c2Ugc3RyaWN0IjsgICAgLyogY29tbWVudCAqLyAgIC8vIGNvbW1lbnQNCg0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"comments may follow 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gd29ya3MgZm9yJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiDQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"semicolon insertion works for'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gbWF5IGNvbWUgYmVmb3JlICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICJhbm90aGVyIGRpcmVjdGl2ZSINCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"semicolon insertion may come before 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIGJsYW5rIGxpbmVzIG1heSBjb21lIGJlZm9yZSAndXNlIHN0cmljdCcgZGlyZWN0aXZlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCg0KDQoNCg0KDQoNCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"blank lines may come before 'use strict' directive","noStrict":"","path":"TestCases/ch14/14.1/14.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgYW4gZW1wdHkgc3RhdGVtZW50DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICA7ICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if it follow an empty statement","noStrict":"","path":"TestCases/ch14/14.1/14.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgc29tZSBvdGhlciBzdGF0bWVudCBlbXB0eSBzdGF0ZW1lbnQNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICB2YXIgeDsNCiAgICAndXNlIHN0cmljdCc7DQogICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if it follow some other statment empty statement","noStrict":"","path":"TestCases/ch14/14.1/14.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gInVzZSBzdHJpY3QiIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UgZG91YmxlIHF1b3Rlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"\"use strict\" directive - correct usage double quotes","noStrict":"","path":"TestCases/ch14/14.1/14.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGl0IGNvbnRhaW5zIGV4dHJhIHdoaXRlc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICcgIHVzZSAgICBzdHJpY3QgICAnOw0KICAgICByZXR1cm4gKHRoaXMgIT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - not recognized if it contains extra whitespace","noStrict":"","path":"TestCases/ch14/14.1/14.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIExpbmUgQ29udGludWF0aW9uDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlIHN0clwNCmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains Line Continuation","noStrict":"","path":"TestCases/ch14/14.1/14.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGEgVXNlIFN0cmljdCBEaXJlY3RpdmUgZm9sbG93ZWQgYnkgYSBzdHJpY3QgbW9kZSB2aW9sYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgPSA0Mjs=","commentary":"","description":"StrictMode - a Use Strict Directive followed by a strict mode violation","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch14/14.1/14.1-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgRXNjYXBlU2VxdWVuY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2VcdTAwMjBzdHJpY3QnOw0KICAgICByZXR1cm4odGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains a EscapeSequence","noStrict":"","path":"TestCases/ch14/14.1/14.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGEgVXNlIFN0cmljdCBEaXJlY3RpdmUgZW1iZWRkZWQgaW4gYSBkaXJlY3RpdmUgcHJvbG9ndWUgZm9sbG93ZWQgYnkgYSBzdHJpY3QgbW9kZSB2aW9sYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KImEiOw0KInVzZSBzdHJpY3QiOw0KImMiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgPSA0Mjs=","commentary":"","description":"StrictMode - a Use Strict Directive embedded in a directive prologue followed by a strict mode violation","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch14/14.1/14.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgPFRBQj4gaW5zdGVhZCBvZiBhIHNwYWNlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlCXN0cmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - not recognized if contains a instead of a space","noStrict":"","path":"TestCases/ch14/14.1/14.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIHVwcGVyIGNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICdVc2UgU3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"'use strict' directive - not recognized if upper case","noStrict":"","path":"TestCases/ch14/14.1/14.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBmb2xsb3cgb3RoZXIgZGlyZWN0aXZlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICAidXNlIHN0cmljdCI7DQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'use strict' directive - may follow other directives","noStrict":"","path":"TestCases/ch14/14.1/14.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'use strict' directive - may occur multiple times","noStrict":"","path":"TestCases/ch14/14.1/14.1-9-s.js"}]}} \ No newline at end of file diff --git a/website/json/ch15.json b/website/json/ch15.json index dd2820fc8..e8613425f 100644 --- a/website/json/ch15.json +++ b/website/json/ch15.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch15","numTests":"7970","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXM7Cgo=","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXMoKTsKCg==","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xL1MxNS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBnbG9iYWwgb2JqZWN0IGFzIGEgZnVuY3Rpb24KICogQG5lZ2F0aXZlCiAqLwoKdGhpcygpOwoK","commentary":"The global object does not have a [[Call]] property","description":"It is not possible to invoke the global object as a function","negative":"","path":"TestCases/ch15/15.1/S15.1_A2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvMTUuMS4xLjEtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5OYU4gaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAnTmFOJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Global.NaN is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOYU4gaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpIHsKCSRFUlJPUignIzE6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7IAp9CgovLyBDSEVDSyMyCmlmIChpc05hTihOYU4pICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUoTmFOKSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IE5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTmFOKSk7IAp9CgoK","commentary":"The initial value of NaN is NaN","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMS9TMTUuMS4xLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTmFOICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIE5hTiA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgTmFOKSk7IAkKfQoK","commentary":"The NaN is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHZhciBwcm9wIGluIHRoaXMpIHsKICBpZiAocHJvcCA9PT0gIk5hTiIpIHsKCSRFUlJPUignIzE6IFRoZSBOYU4gaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The NaN is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvMTUuMS4xLjItMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5JbmZpbml0eSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdJbmZpbml0eScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Global.Infinity is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbmZpbml0eSBpcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0eXBlb2YsIGlzTmFOLCBpc0Zpbml0ZQogKi8KCi8vIENIRUNLIzEKaWYgKHR5cGVvZihJbmZpbml0eSkgIT09ICJudW1iZXIiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YoSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihJbmZpbml0eSkpKTsgCn0KCi8vIENIRUNLIzIKaWYgKGlzRmluaXRlKEluZmluaXR5KSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzI6IEluZmluaXR5ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChJbmZpbml0eSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNOYU4oSW5maW5pdHkpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMzogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9CgoKLy8gQ0hFQ0sjNAppZiAoSW5maW5pdHkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewoJJEVSUk9SKCcjNDogSW5maW5pdHkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9Cgo=","commentary":"The initial value of Infinity is Number.POSITIVE_INFINITY","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgbm90IFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvUzE1LjEuMS4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlb2YgRnVuY3Rpb25zCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgRmluaXRlID0gdHJ1ZTsKaWYgKHR5cGVvZihGaW5pdGUpICE9PSAiYm9vbGVhbiIpIHsKCSRFUlJPUignIzE6IEZpbml0ZSA9IHRydWU7IHR5cGVvZihOYU4pID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YoTmFOKSkpOyAKfQoK","commentary":"The Infinity is not ReadOnly","description":"Checking typeof Functions","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4xLzE1LjEuMS4yL1MxNS4xLjEuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBJbmZpbml0eSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBJbmZpbml0eSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgSW5maW5pdHkpKTsgCn0KCg==","commentary":"The Infinity is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGZvci1pbiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCmZvciAodmFyIHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAiSW5maW5pdHkiKSB7CgkkRVJST1IoJyMxOiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The Infinity is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvMTUuMS4xLjMtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC51bmRlZmluZWQgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAndW5kZWZpbmVkJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Global.undefined is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB1bmRlZmluZWQgaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YodW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7IAp9CgovLyBDSEVDSyMyCmlmICh1bmRlZmluZWQgIT09IHZvaWQgMCkgewoJJEVSUk9SKCcjMjogdW5kZWZpbmVkID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQpKTsgCn0KCi8vIENIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewoJJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The initial value of undefined is undefined","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy9TMTUuMS4xLjNfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgdW5kZWZpbmVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIHVuZGVmaW5lZCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgdW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The undefined is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogVGhlIHVuZGVmaW5lZCBpcyBEb250RW51bScpOwogIH0JIAkKfQoK","commentary":"The undefined is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChldmFsKHgpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IGV2YWwoeCkgPT09IHguIEFjdHVhbDogJyArIChldmFsKHgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoMSkgPT09IDEuIEFjdHVhbDogJyArIChldmFsKDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCh0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGV2YWwodHJ1ZSkgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IGV2YWwobnVsbCkgPT09IG51bGwuIEFjdHVhbDogJyArIChldmFsKG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCh1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBldmFsKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwodW5kZWZpbmVkKSkpOwp9ICAgICAgICAKCg==","commentary":"If x is not a string value, return x","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSB7fTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxKzEiKTsKaWYgKGV2YWwoeCkgIT09IHgpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IFN0cmluZygiMSIpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9ICAgIAoK","commentary":"If x is not a string value, return x","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgZXZhbCBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBzb21lIGFyZ3VtZW50LCB0aGVuIHVzZSBhIGZpcnN0IGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIGV2YWwoInggPSAxIiwgInggPSAyIiksIHggZXF1YWwgMSwgbm90IDIKICovCgovL0NIRUNLIzEKdmFyIHg7CmV2YWwoInggPSAxIiwgInggPSAyIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgieCA9IDEiLCAieCA9IDIiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"If the eval function is called with some argument, then use a first argument","description":"eval(\"x = 1\", \"x = 2\"), x equal 1, not 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIiksIGNhdGNoIFN5bnRheEVycm9yIiBwYXNzZXMKICovCgovL0NIRUNLIzEKdmFyIHg7CnRyeSB7CiAgZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOwogICRFUlJPUignIzEuMTogZXZhbCgieCA9IDE7IHhcXHUwMDBBKysiKSBtdXN0IHRocm93IGEgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBldmFsKCJ4ID0gMTsgeFxcdTAwMEErKyIpIG11c3QgdGhyb3cgYSBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfSAgIAoK","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\"), catch SyntaxError\" passes","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsKZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOyAKCg==","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\")\" fails","negative":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQogKi8KCnZhciB4OwovL0NIRUNLIzEKaWYgKGV2YWwoInggPSAxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ4ID0gMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoZXZhbCgieCA9IDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwoIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIicxJyIpICE9PSAnMScpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcJzFcJyIpID09PSBcJzFcJy4gQWN0dWFsOiAnICsgKGV2YWwoIicxJyIpKSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKGV2YWwoIisreCIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IGV2YWwoIisreCIpID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9ICAgICAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return primitive value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIG9iamVjdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9Owp2YXIgeTsKaWYgKGV2YWwoInkgPSB4IikgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyBldmFsKCJ5ID0geCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieSA9IHgiKSkpOwp9ICAgIAoKCi8vQ0hFQ0sjMgppZiAoZXZhbCgieCIpICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgZXZhbCgieCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieCIpKSk7Cn0gICAgCgoK","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return object value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgie30iKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgie30iKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgie30iKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Block statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFZhciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMSIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ2YXIgeCA9IDEiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgidmFyIHggPSAxIikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Var statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIEVtcHR5IHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCI7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIjsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Empty statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiaWYgKGZhbHNlKSA7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImlmIChmYWxzZSkgOyIpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIGV2YWwoImlmIChmYWxzZSkgOyIpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"If statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIFN3aXRjaCBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInN3aXRjaCgxKXt9IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoInN3aXRjaCgxKXt9IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoInN3aXRjaCgxKXt9IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Switch statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDYuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDcuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgid2hpbGUoZmFsc2UpOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ3aGlsZShmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIndoaWxlKGZhbHNlKTsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDguanMKICogQGRlc2NyaXB0aW9uIGZvciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"for statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29udGludWUgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiY29udGludWU7Iik7CiAgJEVSUk9SKCcjMS4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGNvbnRpbnVlIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbCAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMTsgaSsrKSB7CiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAxOyBqKyspIHsKICAgICAgIGV2YWwoImNvbnRpbnVlOyIpOyAgICAgICAKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Continue statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWsgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiYnJlYWs7Iik7CiAgJEVSUk9SKCcjMS4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGJyZWFrIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIGZvciAodmFyIGkgPSAwOyBpIDw9IDE7IGkrKykgewogICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMTsgaisrKSB7CiAgICAgICBldmFsKCJicmVhazsiKTsKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgeyAgIAogICAgJEVSUk9SKCcjMi4yOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Break statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gUmV0dXJuIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGV2YWwoInJldHVybjsiKTsKICAkRVJST1IoJyMxLjE6IHJldHVybiBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgicmV0dXJuOyIpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCgpmdW5jdGlvbiBmKCkgeyAgZXZhbCgicmV0dXJuOyIpOyB9OwoKdHJ5IHsKICBmKCk7ICAgICAgCiAgJEVSUk9SKCcjMi4xOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGYoKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogcmV0dXJuIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0gICAgICAKCg==","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Return statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3cgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgidGhyb3cgMTsiKTsKICAkRVJST1IoJyMxLjE6IHRocm93IDEgbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGV2YWwoInRocm93IDE7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKGUgIT09IDEpIHsKICAgICRFUlJPUignIzEuMjogdGhyb3cgMSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9Cgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Throw statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZXZhbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gZXZhbCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBldmFsKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH07ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of eval has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGV2YWwuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZXZhbC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGV2YWwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChldmFsLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of eval has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGV2YWwubGVuZ3RoOwpldmFsLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZXZhbC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZXZhbC5sZW5ndGg7IGV2YWwubGVuZ3RoID0gSW5maW5pdHk7IGV2YWwubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of eval has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of eval is 1","description":"eval.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZXZhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoXCdldmFsXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2V2YWwnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJldmFsIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gdGhpcykgeyBpZiAocCA9PT0gImV2YWwiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The eval property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBldmFsLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChldmFsLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The eval property has not prototype property","description":"Checking eval.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgZXZhbCgpOwogICRFUlJPUignIzEuMTogbmV3IGV2YWwoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZXZhbCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBldmFsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The eval property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvMTUuMS4yLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlSW50IC0gJ1MnIGlzIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiBpbnB1dFN0cmluZyBkb2VzIG5vdCBjb250YWluIGFueSBzdWNoIGNoYXJhY3RlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gaXNOYU4ocGFyc2VJbnQoIiIpKSAmJiBwYXJzZUludCgiIikgIT09IHBhcnNlSW50KCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"pareseInt - 'S' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/15.1.2.2-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludCh0cnVlKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChmYWxzZSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChmYWxzZSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgtMSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoLTEpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KC0xKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KE5hTikpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChOYU4pKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgtMCkgIT09IDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludCgtMCkpKTsKfSBlbHNlIHsKICBpZiAoMSAvIHBhcnNlSW50KC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoLTApKSk7CiAgfQp9ICAgIAoK","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VJbnQodW5kZWZpbmVkKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShpc05hTihwYXJzZUludChudWxsKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludChudWxsKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUludCh1bmRlZmluZWQpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VJbnQodW5kZWZpbmVkKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlSW50KG51bGwpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM0OiBTdHJpbmcocGFyc2VJbnQobnVsbCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludChuZXcgQm9vbGVhbih0cnVlKSkpICYmIGlzTmFOKHBhcnNlSW50KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgQm9vbGVhbihmYWxzZSkpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IEJvb2xlYW4oZmFsc2UpKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgTnVtYmVyKC0xKSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IE51bWJlcigtMSkpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG5ldyBOdW1iZXIoLTEpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBOdW1iZXIoTmFOKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKE5hTikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiSW5maW5pdHkiKSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiZmFsc2UiKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoImZhbHNlIikpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VJbnQob2JqZWN0KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUludChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmIChwYXJzZUludChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiXHUwMDA5MSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIlxcdTAwMDkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5MSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIlx1MDAwOVx1MDAwOS0xIikgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIlxcdTAwMDlcXHUwMDA5LTEiKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5XHUwMDA5LTEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIJMSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIgkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiCTEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIJCQkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiCQkJMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCTEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIJCQlcdTAwMDkJCQlcdTAwMDktMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCVx1MDAwOQkJCVx1MDAwOS0xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIlxcdTAwMDkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDAwOSIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwoKZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHVzcFUubGVuZ3RoOyBpbmRleCsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgIjEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgdXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArICIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAgICRFUlJPUignIzIuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKGlzTmFOKHBhcnNlSW50KHVzcFVbaW5kZXhdKSkgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgICBlcnJvckNvdW50Kys7CiAgfQogIGNvdW50Kys7Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgeyAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMjAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAyMDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjAxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDIwXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAyMFxcdTAwMjAtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjBcdTAwMjAtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIiAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIiAgICAgICAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiICAgICAgIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgICAgICAgMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiXFx1MDAyMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDIwIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIlx1MDBBMDEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCJcXHUwMEEwMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCJcdTAwQTBcdTAwQTAtMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCJcXHUwMEEwXFx1MDBBMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMFx1MDBBMC0xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUludCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIlxcdTAwQTAiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEMxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQzEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBDXHUwMDBDLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQ1xcdTAwMEMtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMENcdTAwMEMtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBDIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQjEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBCXHUwMDBCLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQlxcdTAwMEItMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEJcdTAwMEItMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBCIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEQxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwRDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBEXHUwMDBELTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwRFxcdTAwMEQtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMERcdTAwMEQtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBEIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEExIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEExIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBBXHUwMDBBLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQVxcdTAwMEEtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEFcdTAwMEEtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBBIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEEiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjgxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyODEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI4XHUyMDI4LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOFxcdTIwMjgtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjhcdTIwMjgtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI4IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyOTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI5XHUyMDI5LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOVxcdTIwMjktMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjlcdTIwMjktMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI5IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIGJvb2xlYW4gcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBmYWxzZSkgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIGZhbHNlKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgZmFsc2UpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgdHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgdHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIHRydWUpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHN0cmluZyBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsICIyIikgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgIjIiKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiMiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgIjAiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgIjAiKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgIjAiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsICIiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgIiIpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiIikpKTsKfQoKCg==","commentary":"Operator use ToNumber","description":"Checking for string primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIG51bGwpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBudWxsKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbnVsbCkpKTsKfQoK","commentary":"Operator use ToNumber","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSBwYXJzZUludCgiMTEiLCBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpID09PSBwYXJzZUludCgiMTEiLCBmYWxzZSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IE51bWJlcihJbmZpbml0eSkpICE9PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBuZXcgTnVtYmVyKEluZmluaXR5KSkgPT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoSW5maW5pdHkpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIjIiKSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiMiIpKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCIyIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiSW5maW5pdHkiKSkgIT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIkluZmluaXR5IikpID09PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzcuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludCgiMTEiLCBvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToNumber","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiByYWRpeCBpcyBOYU4sICswLCAtMCwgK0luZmluaXR5LCAtSW5maW5pdHksIHJldHVybiByYWRpeCA9ICswCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBOYU4pICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBOYU4pID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOYU4pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgKzApICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCArMCkgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsICswKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIC0wKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgLTApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAtMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"If radix is NaN, +0, -0, +Infinity, -Infinity, return radix = +0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBmbG9vcgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgMi4xKSAhPT0gcGFyc2VJbnQoIjExIiwgMikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCAyLjEpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuMSkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMTEiLCAyLjUpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIuNSkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMi41KSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIDIuOSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgMi45KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExIiwgMi4wMDAwMDAwMDAwMDEpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIxMSIsIDIuMDAwMDAwMDAwMDAxKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjAwMDAwMDAwMDAwMSkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMTEiLCAyLjk5OTk5OTk5OTk5OSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgMi45OTk5OTk5OTk5OTkpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuOTk5OTk5OTk5OTk5KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use floor","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBtb2R1bG8KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgNDI5NDk2NzI5NikgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTYpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCA0Mjk0OTY3Mjk2KSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIxMSIsIC0yMTQ3NDgzNjUwKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMTEiLCAyMTQ3NDgzNjUwKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMjE0NzQ4MzY1MCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCAtNDI5NDk2NzI5NCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExIiwgLTQyOTQ5NjcyOTQpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIC00Mjk0OTY3Mjk0KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use modulo","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMAogKi8KCi8vQ0hFQ0sjMAppZiAocGFyc2VJbnQoIjAiLCAwKSAhPT0gcGFyc2VJbnQoIjAiLCAxMCkpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDApID09PSBwYXJzZUludCgiMCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxIiwgMCkgIT09IHBhcnNlSW50KCIxIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAwKSA9PT0gcGFyc2VJbnQoIjAxIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjIiLCAwKSAhPT0gcGFyc2VJbnQoIjIiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDApID09PSBwYXJzZUludCgiMiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIyIiwgMCkpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIzIiwgMCkgIT09IHBhcnNlSW50KCIzIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDApKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCI0IiwgMCkgIT09IHBhcnNlSW50KCI0IiwgMTApKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAwKSA9PT0gcGFyc2VJbnQoNCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI0IiwgMCkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjUiLCAwKSAhPT0gcGFyc2VJbnQoIjUiLCAxMCkpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiNSIsIDApID09PSBwYXJzZUludCgiNSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMCkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCI2IiwgMCkgIT09IHBhcnNlSW50KCI2IiwgMTApKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNiIsIDApKSk7Cn0gIAoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiNyIsIDApICE9PSBwYXJzZUludCgiNyIsIDEwKSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMCkgPT09IHBhcnNlSW50KCI3IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjciLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjgiLCAwKSAhPT0gcGFyc2VJbnQoIjgiLCAxMCkpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiOCIsIDApID09PSBwYXJzZUludCgiOCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMCkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCI5IiwgMCkgIT09IHBhcnNlSW50KCI5IiwgMTApKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOSIsIDApKSk7Cn0gIAoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjEwIiwgMCkgIT09IHBhcnNlSW50KCIxMCIsIDEwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAwKSA9PT0gcGFyc2VJbnQoIjEwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChwYXJzZUludCgiMTEiLCAwKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTE6IHBhcnNlSW50KCIxMSIsIDApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCI5OTk5IiwgMCkgIT09IHBhcnNlSW50KCI5OTk5IiwgMTApKSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCI5OTk5IiwgMCkgPT09IHBhcnNlSW50KCI5OTk5IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjk5OTkiLCAwKSkpOwp9ICAKCg==","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = 0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMCIpICE9PSBwYXJzZUludCgiMCIsIDEwKSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIikgPT09IHBhcnNlSW50KCIwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAiKSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiKSAhPT0gcGFyc2VJbnQoIjEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIpID09PSBwYXJzZUludCgiMDEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMSIpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMiIpICE9PSBwYXJzZUludCgiMiIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIyIikgPT09IHBhcnNlSW50KCIyIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjMiKSAhPT0gcGFyc2VJbnQoIjMiLCAxMCkpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIpID09PSBwYXJzZUludCgiMyIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIzIikpKTsKfSAKCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjQiKSAhPT0gcGFyc2VJbnQoIjQiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIpID09PSBwYXJzZUludCg0IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiNSIpICE9PSBwYXJzZUludCgiNSIsIDEwKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IikgPT09IHBhcnNlSW50KCI1IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjUiKSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjYiKSAhPT0gcGFyc2VJbnQoIjYiLCAxMCkpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIpID09PSBwYXJzZUludCgiNiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI2IikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCI3IikgIT09IHBhcnNlSW50KCI3IiwgMTApKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjciKSA9PT0gcGFyc2VJbnQoIjciLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiOCIpICE9PSBwYXJzZUludCgiOCIsIDEwKSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IikgPT09IHBhcnNlSW50KCI4IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjgiKSkpOwp9ICAKCi8vQ0hFQ0sjOQppZiAocGFyc2VJbnQoIjkiKSAhPT0gcGFyc2VJbnQoIjkiLCAxMCkpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIpID09PSBwYXJzZUludCgiOSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI5IikpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMTAiKSAhPT0gcGFyc2VJbnQoIjEwIiwgMTApKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIpID09PSBwYXJzZUludCgiMTAiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTAiKSkpOwp9ICAKCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMSIpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIikgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIpKSk7Cn0gIAoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIjk5OTkiKSAhPT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjk5OTkiKSA9PT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOTk5OSIpKSk7Cn0gIAoK","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = undefined","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMQogKi8KCi8vQ0hFQ0sjMAppZiAoaXNOYU4ocGFyc2VJbnQoIjAiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDEpKSk7Cn0gIAoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUludCgiMSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMSkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKHBhcnNlSW50KCIyIiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjIiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIjMiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDEpKSk7Cn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKHBhcnNlSW50KCI0IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAxKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihwYXJzZUludCgiNSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMSkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCI2IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4ocGFyc2VJbnQoIjciLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiNyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDEpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChpc05hTihwYXJzZUludCgiOCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMSkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKGlzTmFOKHBhcnNlSW50KCI5IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlSW50KCIxMCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMSkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChpc05hTihwYXJzZUludCgiMTEiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDEpKSk7Cn0gIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMzcKICovCgovL0NIRUNLIzAKaWYgKGlzTmFOKHBhcnNlSW50KCIwIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIjEiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUludCgiMiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAzNykpKTsKfSAgCgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIzIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIzIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDM3KSkpOwp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihwYXJzZUludCgiNCIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAzNykpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIjUiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjUiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiNiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAzNykpKTsKfSAgCgovL0NIRUNLIzcKaWYgKGlzTmFOKHBhcnNlSW50KCI3IiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAoaXNOYU4ocGFyc2VJbnQoIjgiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjgiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChpc05hTihwYXJzZUludCgiOSIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAzNykpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChpc05hTihwYXJzZUludCgiMTAiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMxMQppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDM3KSkpOwp9ICAKCg==","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 37","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QKICovCgovL0NIRUNLIwp2YXIgcG93ID0gMjsKZm9yICh2YXIgaSA9IDE7IGkgPCAzMjsgaSsrKSB7ICAgCiAgaWYgKHBvdyA+IDM2KSB7ICAKICAgIHZhciByZXMgPSB0cnVlOyAgCiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgcG93KSkgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjMS4nICsgaSArICc6IElmIFIgPCAyIG9yIFIgPiAzNiwgdGhlbiByZXR1cm4gTmFOJyk7CiAgICB9CiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgLXBvdykpICE9PSB0cnVlKSB7CiAgICAgICRFUlJPUignIzIuJyArIGkgKyAnOiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTicpOwogICAgfQogIH0KICBwb3cgPSBwb3cgKiAyOyAgICAgICAgICAgICAgICAgICAgICAgIAp9ICAgIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"Complex test","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBpcyBubyBsb25nZXIgYWxsb3dlZCB0byB0cmVhdCBhIGxlYWRpbmcgemVybyBhcyBpbmRpY2F0aW5nCiAqIG9jdGFsLiAgIklmIHJhZGl4IGlzIHVuZGVmaW5lZCBvciAwLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEwIGV4Y2VwdAogKiB3aGVuIHRoZSBudW1iZXIgYmVnaW5zIHdpdGggdGhlIGNoYXJhY3RlciBwYWlycyAweCBvciAwWCwgaW4gd2hpY2gKICogY2FzZSBhIHJhZGl4IG9mIDE2IGlzIGFzc3VtZWQuIgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayBpZiBwYXJzZUludCBzdGlsbCBhY2NlcHRzIG9jdGFsCiAqLwoKaWYgKHBhcnNlSW50KCcwMTAnKSAhPT0gMTApIHsKICAkRVJST1IoInBhcnNlSW50IHNob3VsZCBubyBsb25nZXIgYWNjZXB0IG9jdGFsIik7Cn0K","commentary":"parseInt is no longer allowed to treat a leading zero as indicating\noctal. \"If radix is undefined or 0, it is assumed to be 10 except\nwhen the number begins with the character pairs 0x or 0X, in which\ncase a radix of 16 is assumed.\"","description":"Check if parseInt still accepts octal","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDB4CiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMHgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIweDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMHgxIiwgMCkgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIweDEiLCAwKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxIiwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMHgyIiwgMCkgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIweDIiLCAwKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgyIiwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMHgzIiwgMCkgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIweDMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgzIiwgMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMHg0IiwgMCkgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIweDQiLCAwKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg0IiwgMCkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMHg1IiwgMCkgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDUiLCAwKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg1IiwgMCkpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMHg2IiwgMCkgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIweDYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg2IiwgMCkpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMHg3IiwgMCkgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIweDciLCAwKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg3IiwgMCkpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMHg4IiwgMCkgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDgiLCAwKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg4IiwgMCkpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMHg5IiwgMCkgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg5IiwgMCkpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMHhBIiwgMCkgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIweEEiLCAwKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBIiwgMCkpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMHhCIiwgMCkgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIweEIiLCAwKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhCIiwgMCkpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMHhDIiwgMCkgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIweEMiLCAwKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhDIiwgMCkpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMHhEIiwgMCkgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIweEQiLCAwKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhEIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMHhGIiwgMCkgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIweEYiLCAwKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhGIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIweEFCQ0RFRiIsIDApICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjB4QUJDREVGIiwgMCkgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBQkNERUYiLCAwKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0x","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDBYCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMFgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwWDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMFgxIikgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIwWDEiKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMFgyIikgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDIiKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMFgzIikgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIwWDMiKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMFg0IikgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIwWDQiKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMFg1IikgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIwWDUiKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMFg2IikgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwWDYiKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMFg3IikgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwWDciKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMFg4IikgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIwWDgiKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMFg5IikgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwWDkiKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMFhBIikgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIwWEEiKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMFhCIikgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIwWEIiKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMFhDIikgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIwWEMiKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMFhEIikgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIwWEQiKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMFhGIikgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIwWEYiKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhGIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIwWEFCQ0RFRiIpICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjBYQUJDREVGIikgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBQkNERUYiKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0X","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFIgaW4gWzIsIDM2XQogKi8KCi8vQ0hFQ0sjCmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoIjEwJDEiLCBpKSAhPT0gaSkgewogICAgJEVSUk9SKCcjJyArIGkgKyc6IGkgPSAnICsgaSArICdwYXJzZUludCgiMTAkMSIsIGkpID09PSBpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwJDEiLCBpKSkpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjldCiAqLwoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OSIsIDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjAxMjM0NTY3ODkiLCAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5IiwgMikpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDMpICE9PSA1KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgMykgPT09IDUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAzKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSAhPT0gMjcpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSA9PT0gMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA1KSAhPT0gMTk0KSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNSkgPT09IDE5NC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDUpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA2KSAhPT0gMTg2NSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDYpID09PSAxODY1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpICE9PSAyMjg3NSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpID09PSAyMjg3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA4KSAhPT0gMzQyMzkxKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOCkgPT09IDM0MjM5MS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDgpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA5KSAhPT0gNjA1MzQ0NCkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDkpID09PSA2MDUzNDQ0LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOSkpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgIT09IE51bWJlcigxMjM0NTY3ODkwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgPT09IE51bWJlcigxMjM0NTY3ODkwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDEwKSkpOwp9ICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdC4gUiBpbiBbMiwgMzZdCiAqLwoKLy9DSEVDSyMKZm9yICh2YXIgaSA9IDI7IGkgPD0gMzY7IGkrKykgewogIGlmIChpc05hTihwYXJzZUludCgiJHN0cmluZyIsIGkpKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiBwYXJzZUludCgiJHN0cmluZyIsIGkpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiJHN0cmluZyIsIGkpKSk7CiAgfQp9ICAgIAoK","commentary":"If Z is empty, return NaN","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbm90IGEgcmFkaXgtUiBkaWdpdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIiQweCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIkMHgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQweCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIiQwWCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIkMFgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQwWCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIiQkJCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIkJCQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQkJCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VJbnQoIiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIiAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiICIpKSk7Cn0gICAgICAgICAgCgo=","commentary":"If Z is empty, return NaN","description":"x is not a radix-R digit","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIiI7ICAKICAgIHZhciBudW0gPSAwOwogICAgdmFyIHBvdyA9IDE7CiAgICB2YXIgazAgPSBNYXRoLm1heCgyLCBpIC0gaik7CiAgICBmb3IgKHZhciBrID0gazA7IGsgPD0gaTsgaysrKSB7IAogICAgICBpZiAoayAlIDIgPT09IDApIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQxW2sgLSAyXTsKICAgICAgfSBlbHNlIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQyW2sgLSAyXTsKICAgICAgfQogICAgICBudW0gPSBudW0gKyAoaSArIChrMCAtIGspIC0gMSkgKiBwb3c7CiAgICAgIHBvdyA9IHBvdyAqIGk7ICAgCiAgICB9ICAgCiAgICBpZiAocGFyc2VJbnQoc3RyLCBpKSAhPT0gbnVtKSB7CiAgICAgICRFUlJPUignIycgKyBpICsgJy4nICsgaiArICcgOiAnKTsgICAgICAKICAgIH0KICB9ICAKfSAgCgo=","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiLCAyKSAgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIsIDIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAyKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIDIpICAhPT0gMykgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIpID09PSAzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMTExIiwgMikgICE9PSA3KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExMSIsIDIpID09PSA3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExMTEiLCAyKSAgIT09IDE1KSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExMTEiLCAyKSA9PT0gMTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExMTExIiwgMikgICE9PSAzMSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIxMTExMSIsIDIpID09PSAzMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjExMTExMSIsIDIpICAhPT0gNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiMTExMTExIiwgMikgPT09IDYzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIjExMTExMTEiLCAyKSAgIT09IDEyNykgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIxMTExMTExIiwgMikgPT09IDEyNy4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMTExMTExMTEiLCAyKSAgIT09IDI1NSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIxMTExMTExMSIsIDIpID09PSAyNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSAgIT09IDUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSA9PT0gNTExLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgICE9PSAxMDIzKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgPT09IDEwMjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpICAhPT0gMjA0NykgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTExMTExMTExMTEiLCAyKSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTEiLCAyKSAgIT09IDQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpID09PSA0MDk1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgICE9PSA4MTkxKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgPT09IDgxOTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMSIsIDIpICAhPT0gMTYzODMpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpICAhPT0gMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gNjU1MzUpIHsKICAkRVJST1IoJyMxNjogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTEiLCAyKSA9PT0gNjU1MzUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTMxMDcxKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpID09PSAxMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE4CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAyNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMSIsIDIpID09PSAyNjIxNDMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IDUyNDI4NykgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSA1MjQyODcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTA0ODU3NSkgewogICRFUlJPUignIzIwOiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCg==","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTYKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIweDEiLCAxNikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMHgxIiwgMTYpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MSIsIDE2KSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIwWDEwIiwgMTYpICE9PSAxNikgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDEwIiwgMTYpID09PSAxNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwWDEwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjB4MTAwIiwgMTYpICE9PSAyNTYpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMHgxMDAiLCAxNikgPT09IDI1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIwWDEwMDAiLCAxNikgIT09IDQwOTYpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMFgxMDAwIiwgMTYpID09PSA0MDk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjBYMTAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpICE9PSA2NTUzNikgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDEwMDAwIiwgMTYpID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjBYMTAwMDAwIiwgMTYpICE9PSAxMDQ4NTc2KSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIngxMDAwMDAiLCAxNikgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgieDEwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAiLCAxNikgIT09IDE2Nzc3MjE2KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjB4MTAwMDAwMCIsIDE2KSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAiLCAxNikgIT09IDI2ODQzNTQ1NikgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDEwMDAwMDAwIiwgMTYpID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpICE9PSA2ODcxOTQ3NjczNikgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpID09PSA2ODcxOTQ3NjczNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgIT09IDEwOTk1MTE2Mjc3NzYpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgPT09IDEwOTk1MTE2Mjc3NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikgIT09IDE3NTkyMTg2MDQ0NDE2KSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMCIsIDE2KSA9PT0gMTc1OTIxODYwNDQ0MTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMwppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMjgxNDc0OTc2NzEwNjU2KSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikgPT09IDI4MTQ3NDk3NjcxMDY1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDQ1MDM1OTk2MjczNzA0OTYpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDQ1MDM1OTk2MjczNzA0OTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE1CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDcyMDU3NTk0MDM3OTI3OTM2KSB7CiAgJEVSUk9SKCcjMTU6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAwMCIsIDE2KSA9PT0gNzIwNTc1OTQwMzc5Mjc5MzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNgppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTE1MjkyMTUwNDYwNjg0Njk3NikgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAxMTUyOTIxNTA0NjA2ODQ2OTc2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE3CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTYpIHsKICAkRVJST1IoJyMxNzogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDE4NDQ2NzQ0MDczNzA5NTUxNjE2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpICE9PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNDcyMjM2NjQ4Mjg2OTY0NTIxMzY5NikgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSA0NzIyMzY2NDgyODY5NjQ1MjEzNjk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzIwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNzU1NTc4NjM3MjU5MTQzMjM0MTkxMzYpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDc1NTU3ODYzNzI1OTE0MzIzNDE5MTM2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoK","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 16","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIisiOyAgCiAgICB2YXIgc2lnbiA9IDE7CiAgICBpZiAoaiAlIDIgIT09IDApIHsgIAogICAgICAgIHN0ciA9ICItIjsKICAgICAgICBzaWduPSAtMTsKICAgIH0gCiAgICB2YXIgbnVtID0gMDsKICAgIHZhciBwb3cgPSAxOwogICAgdmFyIGswID0gTWF0aC5tYXgoMiwgaSAtIGopOwogICAgZm9yICh2YXIgayA9IGswOyBrIDw9IGk7IGsrKykgeyAKICAgICAgaWYgKGsgJSAyID09PSAwKSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MVtrIC0gMl07CiAgICAgIH0gZWxzZSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MltrIC0gMl07CiAgICAgIH0KICAgICAgbnVtID0gbnVtICsgKGkgKyAoazAgLSBrKSAtIDEpICogcG93OwogICAgICBwb3cgPSBwb3cgKiBpOyAgIAogICAgfSAgIAogICAgaWYgKHBhcnNlSW50KHN0ciwgaSkgIT09IG51bSAqIHNpZ24pIHsKICAgICAgJEVSUk9SKCcjJyArIGkgKyAnLicgKyBqICsgJyA6ICcpOyAgICAgIAogICAgfQogIH0gIAp9ICAKCg==","commentary":"Return sign * Result(17)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIi0xIiwgMikgICE9PSAtMSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCItMSIsIDIpID09PSAtMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMSIsIDIpICAhPT0gLTMpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiLTExIiwgMikgPT09IC0zLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIi0xMTEiLCAyKSAgIT09IC03KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMTEiLCAyKSA9PT0gLTcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIi0xMTExIiwgMikgICE9PSAtMTUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTExMTEiLCAyKSA9PT0gLTE1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExIiwgMikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiLTExMTExIiwgMikgICE9PSAtMzEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiLTExMTExIiwgMikgPT09IC0zMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTExMTExIiwgMikgICE9PSAtNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiLTExMTExMSIsIDIpID09PSAtNjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIi0xMTExMTExIiwgMikgICE9PSAtMTI3KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIi0xMTExMTExIiwgMikgPT09IC0xMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlSW50KCItMTExMTExMTEiLCAyKSAgIT09IC0yNTUpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiLTExMTExMTExIiwgMikgPT09IC0yNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpICAhPT0gLTUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCItMTExMTExMTExIiwgMikgPT09IC01MTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCItMTExMTExMTExMSIsIDIpICAhPT0gLTEwMjMpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikgPT09IC0xMDIzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxMQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpICAhPT0gLTIwNDcpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpID09PSAtMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpICAhPT0gLTQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMTExMTExMTExMTEiLCAyKSA9PT0gLTQwOTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMSIsIDIpICAhPT0gLTgxOTEpIHsKICAkRVJST1IoJyMxMzogcGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikgPT09IC04MTkxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpICAhPT0gLTE2MzgzKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExIiwgMikgICE9PSAtMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTMyNzY3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC02NTUzNSkgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTY1NTM1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEzMTA3MSkgewogICRFUlJPUignIzE3OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikgPT09IC0xMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC0yNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTI2MjE0My4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAtNTI0Mjg3KSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtNTI0Mjg3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEwNDg1NzUpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9Cgo=","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTAKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCItMSIsIDEwKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiLTEiLCAxMCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMCIsIDEwKSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIi0xMCIsIDEwKSA9PT0gLTEwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMCIsIDEwKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCItMTAwIiwgMTApICE9PSAtMTAwKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMDAiLCAxMCkgPT09IC0xMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCItMTAwMCIsIDEwKSAhPT0gLTEwMDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTEwMDAiLCAxMCkgPT09IC0xMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSAhPT0gLTEwMDAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIi0xMDAwMCIsIDEwKSA9PT0gLTEwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTAwMDAwIiwgMTApICE9PSAtMTAwMDAwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIi0xMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCItMTAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDApIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiLTEwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCItMTAwMDAwMDAwIiwgMTApICE9PSAtMTAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIi0xMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEzCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzE5CmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMjA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoK","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 10","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBtYXkgaW50ZXJwcmV0IG9ubHkgYSBsZWFkaW5nIHBvcnRpb24gb2YgdGhlIHN0cmluZyBhcwogKiBhIG51bWJlciB2YWx1ZTsgaXQgaWdub3JlcyBhbnkgY2hhcmFjdGVycyB0aGF0IGNhbm5vdCBiZSBpbnRlcnByZXRlZCBhcyBwYXJ0CiAqIG9mIHRoZSBub3RhdGlvbiBvZiBhbiBkZWNpbWFsIGxpdGVyYWwsIGFuZCBubyBpbmRpY2F0aW9uIGlzIGdpdmVuIHRoYXQgYW55IHN1Y2gKICogY2hhcmFjdGVycyB3ZXJlIGlnbm9yZWQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3Qgd2l0aG91dCBldmFsCiAqLwoKLy9DSEVDSwp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDw9IDY1NTM1OyBpbmRleCsrKSB7ICAKICBpZiAoKGluZGV4IDwgMHgwMDMwKSB8fCAoaW5kZXggPiAweDAwMzkpICYmIAogICAgICAoaW5kZXggPCAweDAwNDEpIHx8IChpbmRleCA+IDB4MDA1QSkgJiYgCiAgICAgIChpbmRleCA8IDB4MDA2MSkgfHwgKGluZGV4ID4gMHgwMDdBKSkgeyAgICAKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgaWYgKHBhcnNlSW50KCIxWiIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSwgMzYpICE9PSA3MSkgeyAgICAgICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgICAKICAgIH0gICAKICAgIGNvdW50Kys7CiAgfSAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"parseInt may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBwYXJzZUludCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBwYXJzZUludCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseInt has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBwYXJzZUludC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUludC5sZW5ndGg7IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseInt has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IHBhcnNlSW50Lmxlbmd0aDsKcGFyc2VJbnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChwYXJzZUludC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggPSBJbmZpbml0eTsgcGFyc2VJbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of parseInt has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGlzIDIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNC5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VJbnQubGVuZ3RoID09PSAyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChwYXJzZUludC5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of parseInt is 2","description":"parseInt.length === 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlSW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHRoaXMpewogIGlmIChwID09PSAicGFyc2VJbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VJbnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The parseInt property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcGFyc2VJbnQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlSW50LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The parseInt property has not prototype property","description":"Checking parseInt.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BOS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IHBhcnNlSW50KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VJbnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The parseInt property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvMTUuMS4yLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlRmxvYXQgLSAndHJpbW1lZFN0cmluZycgaXMgdGhlIGVtcHR5IHN0cmluZyB3aGVuIGlucHV0U3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gYW55IHN1Y2ggY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBpc05hTihwYXJzZUZsb2F0KCIiKSkgJiYgcGFyc2VGbG9hdCgiIikgIT09IHBhcnNlRmxvYXQoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"pareseFloat - 'trimmedString' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/15.1.2.3-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KHRydWUpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUZsb2F0KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiTmFOIikpKTsKfQoKLy9DSEVDSyMyCmlmIChTdHJpbmcocGFyc2VGbG9hdChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KGZhbHNlKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoZmFsc2UpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KC0xLjEpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KC0xLjEpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0xLjEpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChJbmZpbml0eSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KEluZmluaXR5KSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KC4wMWUrMikgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCguMDFlKzIpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoLjAxZSsyKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0wKSkpOwp9IGVsc2UgewogIGlmICgxIC8gcGFyc2VGbG9hdCgtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgtMCkpKTsKICB9Cn0gICAgCgo=","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdCh1bmRlZmluZWQpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdChudWxsKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobnVsbCkgPT09IE5vdC1hLU51bWJlcjsgcGFyc2VGbG9hdCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIk5hTiIpKSk7Cn0KCgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlRmxvYXQobnVsbCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KG51bGwpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KG5ldyBCb29sZWFuKHRydWUpKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgTnVtYmVyKEluZmluaXR5KSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoSW5maW5pdHkpKSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlcihJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLjAxZSsyKSkgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdChuZXcgTnVtYmVyKC4wMWUrMikpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlciguMDFlKzIpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi0xLjEiKSkgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiLTEuMSIpKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCItMS4xIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSAhPT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiSW5maW5pdHkiKSkgPT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiTmFOIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJOYU4iKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSAhPT0gcGFyc2VGbG9hdCgiLjAxZSsyIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSA9PT0gcGFyc2VGbG9hdCgiLjAxZSsyIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoImZhbHNlIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiZmFsc2UiKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VGbG9hdChvYmplY3QpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUZsb2F0KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHBhcnNlRmxvYXQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUZsb2F0KG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VGbG9hdChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCJcdTAwMDkxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJcXHUwMDA5MS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDA5MS4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIlxcdTAwMDlcXHUwMDA5LTEuMSIpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIJMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkxLjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIgkJCTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIgkJCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkJCTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiXFx1MDAwOSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdXNwVS5sZW5ndGg7IGluZGV4KyspIHsKICB2YXIgcmVzdWx0ID0gdHJ1ZTsgIAogIGlmIChwYXJzZUZsb2F0KHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlRmxvYXQodXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArIHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMi4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAoaXNOYU4ocGFyc2VGbG9hdCh1c3BVW2luZGV4XSkpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzLicgKyAgdXNwU1tpbmRleF0gKyAnICcpOwogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgICAgZXJyb3JDb3VudCsrOwogIH0KICBjb3VudCsrOwp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMjAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMjAxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAyMFxcdTAwMjAtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIiAxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIgMS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiICAgICAgIDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIiAgICAgICAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIgICAgICAgMS4xIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIgICAgICAgXHUwMDIwICAgICAgIFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiICAgICAgIFx1MDAyMCAgICAgICBcdTAwMjAtMS4xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUZsb2F0KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCJcXHUwMDIwIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiXHUwMEEwMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiXFx1MDBBMDEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDBBMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJcXHUwMEEwXFx1MDBBMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiXFx1MDBBMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwQTAiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQzEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEMxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEMxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQ1xcdTAwMEMtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEMiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBDIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEIxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEIxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQlxcdTAwMEItMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBCIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEQxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEQxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwRFxcdTAwMEQtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBEIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEExLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEExLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQVxcdTAwMEEtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBBIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyODEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjgxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjgxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOFxcdTIwMjgtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI4IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjkxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjkxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOVxcdTIwMjktMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI5IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgic29tZSBzdHJpbmciKSByZXR1cm4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUZsb2F0KCJzdHIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJzdHIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgic3RyIikpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUZsb2F0KCJzMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoInMxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoInMxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUZsb2F0KCIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIikpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VGbG9hdCgic3RyIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KCJzdHIiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInN0ciIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJzMSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdCgiczEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInMxIikpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIiIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBTdHJpbmcocGFyc2VGbG9hdCgiIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIiKSkpKTsKfQoKLy9DSEVDSyM3CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiBTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSkpOwp9Cgo=","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"some string\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYmVyIGZvcm1hdCB3aXRoIEV4cG9uZW50SW5kaWNhdG9yIikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJlMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJlMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZS0xIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiZS0xIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoImUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRSsxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiRSsxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkUrMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRTAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCJFMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJFMCIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoImUxIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCJlMSIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiZTEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiZS0xIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzY6IFN0cmluZyhwYXJzZUZsb2F0KCJlLTEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoImUtMSIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNzM6IFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUrMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFMCIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM4OiBTdHJpbmcocGFyc2VGbG9hdCgiRTAiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUwIikpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLS5lLTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCItLmUtMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIi5lMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIuZTEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLmUxIikpKTsKfQoK","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong number format with ExponentIndicator\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYnIgZm9ybWF0IikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLngiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIueCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIueCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiK3giKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIreCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIreCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiaW5maW5pdHkiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCJpbmZpbml0eSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIkEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiQSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIi5zIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCIucyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiLnMiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiK3giKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNjogU3RyaW5nKHBhcnNlRmxvYXQoIit4IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIreCIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3MzogU3RyaW5nKHBhcnNlRmxvYXQoImluZmluaXR5IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzg6IFN0cmluZyhwYXJzZUZsb2F0KCJBIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpKSk7Cn0KCg==","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong numbr format\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNvbWUgd3JvbmcgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMHgiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjB4IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIxMXgiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIxMXgiKSA9PT0gMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxMXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjExczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxMXMxIikgPT09IDExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMTFzMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMTEuczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIxMS5zMSIpID09PSAxMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjExLnMxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIuMHMxIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIuMHMxIikgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIuMHMxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxLnMxIikgIT09IDEpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxLnMxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLnMxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIxLi4xIikgIT09IDEpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIxLi4xIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLi4xIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwLjEuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwLjEuMSIpID09PSAwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwLjEuMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAocGFyc2VGbG9hdCgiMC4gMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VGbG9hdCgiMC4gMSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMC4gMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Some wrong number","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFdpdGggRXhwb25lbnRJbmRpY2F0b3IKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIjFleCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMWV4IikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxZXgiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjFlLXgiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjFlLXgiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlLXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjFlMXgiKSAhPT0gMTApIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxZTF4IikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUxeCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMWUtMXgiKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCgiMWUtMXgiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUtMXgiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAuMWUtMXgiKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"With ExponentIndicator","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFN0ckRlY2ltYWxMaXRlcmFsIG5vdCBjb250YWluIEhleEludGVnZXJMaXRlcmFsCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUZsb2F0KCIweDAiKSAhPT0gMCkgewogICRFUlJPUignIzA6IHBhcnNlRmxvYXQoIjB4MCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgwIikpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweDEiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIjB4MSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIweDIiKSAhPT0gMCkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjB4MiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIweDMiKSAhPT0gMCkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIjB4MyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIweDQiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjB4NCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIweDUiKSAhPT0gMCkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjB4NSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIweDYiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjB4NiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIweDciKSAhPT0gMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjB4NyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIweDgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjB4OCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIweDkiKSAhPT0gMCkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjB4OSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUZsb2F0KCIweEEiKSAhPT0gMCkgewogICRFUlJPUignI0E6IHBhcnNlRmxvYXQoIjB4QSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUZsb2F0KCIweEIiKSAhPT0gMCkgewogICRFUlJPUignI0I6IHBhcnNlRmxvYXQoIjB4QiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUZsb2F0KCIweEMiKSAhPT0gMCkgewogICRFUlJPUignI0M6IHBhcnNlRmxvYXQoIjB4QyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUZsb2F0KCIweEQiKSAhPT0gMCkgewogICRFUlJPUignI0Q6IHBhcnNlRmxvYXQoIjB4RCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUZsb2F0KCIweEUiKSAhPT0gMCkgewogICRFUlJPUignI0U6IHBhcnNlRmxvYXQoIjB4RSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUZsb2F0KCIweEYiKSAhPT0gMCkgewogICRFUlJPUignI0Y6IHBhcnNlRmxvYXQoIjB4RiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhGIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"StrDecimalLiteral not contain HexIntegerLiteral","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJJbmZpbml0eSIrInNvbWUgc3RyaW5nIgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiSW5maW5pdHkxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5MSIpID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJJbmZpbml0eTEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5eCIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJJbmZpbml0eXgiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHl4IikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCJJbmZpbml0eSsxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIkluZmluaXR5KzEiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHkrMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"\"Infinity\"+\"some string\"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgLiBEZWNpbWFsRGlnaXRzX29wdCBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEuc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMS5zdHJpbmciKSA9PT0gLTExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMS5zdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKzExLjFzdHJpbmciKSAhPT0gMTEuMSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisxMS4xc3RyaW5nIikgPT09IDExLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDEuMXN0cmluZyIpICE9PSAxLjEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMS4xc3RyaW5nIikgPT09IDEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSAhPT0gLTEuMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlRmxvYXQoIjAxLmUxc3RyaW5nIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiMDEuZTFzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS5lMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgIT09IDEuMTIyKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgPT09IDEuMTIyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgIT09IDEwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgPT09IDEwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpICE9PSAxMCkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIwMTAuc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIC4gRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIrLjFzdHJpbmciKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiKy4xc3RyaW5nIikgPT09IDAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiLjAxc3RyaW5nIikgIT09IDAuMDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIuMDFzdHJpbmciKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi4wMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKy4yMmUtMXN0cmluZyIpICE9PSAwLjAyMikgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisuMjJlLTFzdHJpbmciKSA9PT0gMC4wMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrLjIyZS0xc3RyaW5nIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgRXhwb25lbnRQYXJ0X29wdAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiLTExc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMXN0cmluZyIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMXN0cmluZyIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIi0xMWUtMXN0cmluZyIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiLTExZS0xc3RyaW5nIikgPT09IC0xLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFlLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIjAxZTFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMWUxc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFlMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiMDAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIwMDFzdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMWUwMDFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxZTAwMXN0cmluZyIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlMDAxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgSW5maW5pdHkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5IikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkluZmluaXR5IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIrSW5maW5pdHkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiK0luZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIitJbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLUluZmluaXR5IikgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIi1JbmZpbml0eSIpID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItSW5maW5pdHkiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking Infinity","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyAuIERlY2ltYWxEaWdpdHNfb3B0IEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIi0xMS4iKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExLiIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTEuIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxLiIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrMTEuMSIpICE9PSAxMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKzExLjEiKSA9PT0gMTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisxMS4xIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIwMS4xIikgIT09IDEuMSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxLjEiKSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiLTExLmUtMSIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiLTExLmUtMSIpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMDEuZTEiKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIwMS5lMSIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLmUxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSAhPT0gMS4xMjIpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSA9PT0gMS4xMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSAhPT0gMTAuMSkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjAxLjAxZTEiKSA9PT0gMTAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlRmxvYXQoIjAwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjAwMS4iKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMS4iKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUZsb2F0KCIwMTAuIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlRmxvYXQoIjAxMC4iKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTAuIikpKTsKfQoK","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgLiBEZWNpbWFsRGlnaXRzIEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIisuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIrLjEiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKy4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIuMDEiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIi4wMSIpID09PSAwLjAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLjAxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrLjIyZS0xIikgIT09IDAuMDIyKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKy4yMmUtMSIpID09PSAwLjAyMi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMjJlLTEiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEiKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExIikgPT09IC0xMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLTExZS0xIikgIT09IC0xLjEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCItMTFlLTEiKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMWUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDFlMSIpICE9PSAxMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxZTEiKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMWUxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIwMDEiKSAhPT0gMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAwMSIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDAxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxZTAwMSIpICE9PSAxMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjFlMDAxIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUwMDEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlRmxvYXQoIjAxMCIpICE9PSAxMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjAxMCIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxMCIpKSk7Cn0KCg==","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUZsb2F0IG1heSBpbnRlcnByZXQgb25seSBhIGxlYWRpbmcgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIGFzCiAqIGEgbnVtYmVyIHZhbHVlOyBpdCBpZ25vcmVzIGFueSBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIGludGVycHJldGVkIGFzIHBhcnQKICogb2YgdGhlIG5vdGF0aW9uIG9mIGFuIGRlY2ltYWwgbGl0ZXJhbCwgYW5kIG5vIGluZGljYXRpb24gaXMgZ2l2ZW4gdGhhdCBhbnkgc3VjaAogKiBjaGFyYWN0ZXJzIHdlcmUgaWdub3JlZC4KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdCB3aXRob3V0IGV2YWwKICovCgovL0NIRUNLCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CmZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPD0gNjU1MzU7IGluZGV4KyspIHsgIAogIGlmICgoaW5kZXggPCAweDAwMzApIHx8IChpbmRleCA+IDB4MDAzOSkpIHsgICAgCiAgICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgIGlmIChwYXJzZUZsb2F0KCIwLjFlMSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgIT09IDEpIHsgICAgICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgICAgCiAgICB9ICAgCiAgICBjb3VudCsrOwogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"parseFloat may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHBhcnNlRmxvYXQpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gcGFyc2VGbG9hdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseFloat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIHBhcnNlRmxvYXQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseFloat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHBhcnNlRmxvYXQubGVuZ3RoOwpwYXJzZUZsb2F0Lmxlbmd0aCA9IEluZmluaXR5OwppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VGbG9hdC5sZW5ndGg7IHBhcnNlRmxvYXQubGVuZ3RoID0gSW5maW5pdHk7IHBhcnNlRmxvYXQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of parseFloat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of parseFloat is 1","description":"parseFloat.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6dGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlRmxvYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiB0aGlzKXsKICBpZiAocCA9PT0gInBhcnNlRmxvYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VGbG9hdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The parseFloat property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwYXJzZUZsb2F0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The parseFloat property has not prototype property","description":"Checking parseFloat.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvUzE1LjEuMi4zX0E3LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgcGFyc2VGbG9hdCgpOwogICRFUlJPUignIzEuMTogbmV3IHBhcnNlRmxvYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VGbG9hdCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBwYXJzZUZsb2F0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The parseFloat property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBwcmltaXRpdmUKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKE5hTikgPT09IHRydWUpKSB7CgkkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihOdW1iZXIuTmFOKSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzI6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5OYU4pKTsgCn0KCi8vIENIRUNLIzMKaWYgKCEoaXNOYU4oTnVtYmVyKHZvaWQgMCkpID09PSB0cnVlKSkgewoJJEVSUk9SKCcjMzogTnVtYmVyKHZvaWQgMCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlcih2b2lkIDApKSk7IAp9CgovLyBDSEVDSyM0CmlmICghKGlzTmFOKHZvaWQgMCkgPT09IHRydWUpKSB7CgkkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTigic3RyaW5nIikgPT09IHRydWUpKSB7CgkkRVJST1IoJyM1OiAic3RyaW5nIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoInN0cmluZyIpKTsgCn0KCi8vIENIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgPT09IHRydWUpIHsKCSRFUlJPUignIzY6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgovLyBDSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpID09PSB0cnVlKSB7CgkkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzg6IE51bWJlci5NQVhfVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzk6IE51bWJlci5NSU5fVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjMTAKaWYgKGlzTmFOKC0wKSA9PT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc05hTih0cnVlKSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzExOiB0cnVlICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc05hTigiMSIpID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6ICIxIiAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBvYmplY3QKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKHt9KSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IHRydWUpKSB7CgkkRVJST1IoJyMyOiBuZXcgU3RyaW5nKCJzdHJpbmciKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygic3RyaW5nIikpKTsgCn0KCi8vIENIRUNLIzMKaWYgKGlzTmFOKG5ldyBTdHJpbmcoIjEiKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNOYU4obmV3IE51bWJlcigxKSkgPT09IHRydWUpIHsKCSRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTihuZXcgTnVtYmVyKE5hTikpID09PSB0cnVlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc05hTihuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzTmFOKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzTmFOKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isNaN has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc05hTi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzTmFOLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc05hTi5sZW5ndGg7IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isNaN has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzTmFOLmxlbmd0aDsKaXNOYU4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc05hTi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggPSBJbmZpbml0eTsgaXNOYU4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNOYU4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isNaN has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNOYU4ubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc05hTi5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc05hTi5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isNaN is 1","description":"isNaN.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzTmFOXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc05hTiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc05hTiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isNaN property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGlzTmFOLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The isNaN property has not prototype property","description":"Checking isNaN.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi40L1MxNS4xLjIuNF9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzTmFOKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNOYU4oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isNaN property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgcHJpbWl0aXZlCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZShOYU4pID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShOdW1iZXIuTmFOKSA9PT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoIShpc0Zpbml0ZShOdW1iZXIodm9pZCAwKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzM6IE51bWJlcih2b2lkIDApID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChOdW1iZXIodm9pZCAwKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoIShpc0Zpbml0ZSh2b2lkIDApID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc0Zpbml0ZSgic3RyaW5nIikgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6ICJzdHJpbmciID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICgic3RyaW5nIikpOyAKfQoKLy8gQ0hFQ0sjNgppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjNwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNGaW5pdGUoTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM5CmlmIChpc0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEwCmlmIChpc0Zpbml0ZSgtMCkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc0Zpbml0ZShmYWxzZSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTE6IGZhbHNlICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc0Zpbml0ZSgiMSIpID09PSBmYWxzZSkgewogICRFUlJPUignIzEyOiAiMSIgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgb2JqZWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZSh7fSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoInN0cmluZyIpID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJzdHJpbmciKSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUobmV3IFN0cmluZygiMSIpKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNGaW5pdGUobmV3IE51bWJlcigxKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM1CmlmICghKGlzRmluaXRlKG5ldyBOdW1iZXIoTmFOKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc0Zpbml0ZShuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzRmluaXRlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzRmluaXRlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isFinite has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzRmluaXRlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNGaW5pdGUubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isFinite has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzRmluaXRlLmxlbmd0aDsKaXNGaW5pdGUubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggPSBJbmZpbml0eTsgaXNGaW5pdGUubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isFinite has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNGaW5pdGUubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc0Zpbml0ZS5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isFinite is 1","description":"isFinite.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzRmluaXRlXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isFinite property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNGaW5pdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGlzRmluaXRlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The isFinite property has not prototype property","description":"Checking isFinit.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi41L1MxNS4xLjIuNV9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzRmluaXRlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNGaW5pdGUoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isFinite property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnZhciByZXN1bHQgPSB0cnVlOwoKLy9DSEVDSyMxCnRyeSB7CiAgZGVjb2RlVVJJKCIlIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBkZWNvZGVVUkkoIiVBIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICBkZWNvZGVVUkkoIiUxIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzQKdHJ5IHsKICBkZWNvZGVVUkkoIiUgIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKSBlcXVhbCAiJSIgYW5kIGsgKyAyID49IHN0cmluZy5sZW5ndGgsIHRocm93IFVSSUVycm9yJyk7Cn0KCgoKCg==","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIxMTElQTAiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIlQTAxMTEiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMCVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEkpOwogICAgdHJ5IHsgICAgCiAgICAgIHZhciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SSk7CiAgICAgIGlmIChkZWNvZGVVUkkoc3RyKSAhPT0gc3RyKSB7ICAgIAogICAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICAgIGVycm9yQ291bnQrKzsKICAgICAgfSAgICAKICAgIH0gY2F0Y2ggKGUpewogICAgICAkRVJST1IoJyMnICsgaGV4ICsgJyAnKTsKICAgICAgZXJyb3JDb3VudCsrOwogICAgfSAKICAgIGNvdW50Kys7CiAgfQp9ICAKCmlmIChlcnJvckNvdW50ID4gMCkgeyAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHdpdGhvdXQgW3VyaVJlc2VydmVkLCAjXSwgcmV0dXJuIEIxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CnZhciB1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwpsOgpmb3IgKHZhciBpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIHZhciBoZXggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgeyAgICAKICAgICAgaWYgKGhleCA9PT0gdXJpUmVzZXJ2ZWRbaW5kZXhDXSkgY29udGludWUgbDsgICAgICAgIAogICAgfSAKICAgIGlmIChoZXggPT09ICIjIikgY29udGludWUgbDsKICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpKSA9PT0gaGV4KSBjb250aW51ZTsKICB9IGNhdGNoIChlKSB7fSAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), without [uriReserved, #], return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yICh2YXIgaW5kZXhCMiA9IDB4ODA7IGluZGV4QjIgPD0gMHhCRjsgaW5kZXhCMisrKSB7CiAgICBjb3VudCsrOwogICAgdmFyIGhleEIyID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjIpOwogICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDFGKSAqIDB4NDAgKyAoaW5kZXhCMiAmIDB4M0YpOyAgCiAgICB0cnkgewogICAgICBpZiAoZGVjb2RlVVJJKCIlIiArIGhleEIxLnN1YnN0cmluZygyKSArICIlIiArIGhleEIyLnN1YnN0cmluZygyKSkgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSBjb250aW51ZTsKICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhFMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOwogICAgaWYgKChpbmRleEIxID09PSAweEVEKSAmJiAoMHhBMCA8PSBpbmRleEIyKSkgY29udGludWU7ICAgICAgICAgCiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgY291bnQrKzsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MEYpICogMHgxMDAwICsgKGluZGV4QjIgJiAweDNGKSAqIDB4NDAgKyAoaW5kZXhCMyAmIDB4M0YpOyAgCiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGRlY29kZVVSSSgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMy5zdWJzdHJpbmcoMikpID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgY29udGludWU7ICAgICAgICAKICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICB9ICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhGMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOyAgICAgICAgICAgIAogICAgaWYgKChpbmRleEIxID09PSAweEY0KSAmJiAoaW5kZXhCMiA+PSAweDkwKSkgY29udGludWU7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICBmb3IgKHZhciBpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IiKSAhPT0gIiUzQiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiIpIGVxdWFsICIlM0IiLCBub3QgIjsiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMkYiKSAhPT0gIiUyRiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyRiIpIGVxdWFsICIlMkYiLCBub3QgIi8iJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM0YiKSAhPT0gIiUzRiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzRiIpIGVxdWFsICIlM0YiLCBub3QgIj8iJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM0EiKSAhPT0gIiUzQSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzQSIpIGVxdWFsICIlM0EiLCBub3QgIjoiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM0QiKSAhPT0gIiUzRCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNEIikgZXF1YWwgIiUzRCIsIG5vdCAiPSInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyQiIpICE9PSAiJTJCIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMkIiKSBlcXVhbCAiJTJCIiwgbm90ICIrIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyQyIpICE9PSAiJTJDIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyQyIpIGVxdWFsICIlMkMiLCBub3QgIiwiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM2IiKSAhPT0gIiUzYiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzYiIpIGVxdWFsICIlM2IiLCBub3QgIjsiIG9yICIlM0IiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMmYiKSAhPT0gIiUyZiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyZiIpIGVxdWFsICIlMmYiLCBub3QgIi8iIG9yICIlMkYiJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM2YiKSAhPT0gIiUzZiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzZiIpIGVxdWFsICIlM2YiLCBub3QgIj8iIG9yICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM2EiKSAhPT0gIiUzYSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzYSIpIGVxdWFsICIlM2EiLCBub3QgIjoiIG9yICIlM0EiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM2QiKSAhPT0gIiUzZCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNkIikgZXF1YWwgIiUzZCIsIG5vdCAiPSIgb3IgIiUzRCInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyYiIpICE9PSAiJTJiIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMmIiKSBlcXVhbCAiJTJiIiwgbm90ICIrIiBvciAiJTJCIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyYyIpICE9PSAiJTJjIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyYyIpIGVxdWFsICIlMmMiLCBub3QgIiwiIG9yICIlMkMiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSAhPT0gIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIGVxdWFsICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIjsvPzpAJj0rJCwjIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIikgIT09ICIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJKCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIiwgbm90ICI7Lz86QCY9KyQsIyIgb3IgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUkkoImh0dHA6JTJmJTJGdW5pcHJvLnJ1IikgIT09ICJodHRwOiUyZiUyRnVuaXByby5ydSIpIHsKICAkRVJST1IoJyMyOiBodHRwOiUyZiUyRnVuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpICE9PSAiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UlM2R3aHktcnUuaHRtbCUyNnNpZCUzRGxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0slMjM0CmlmIChkZWNvZGVVUkkoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignJTIzNDogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogZGVjb2RlVVJJLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZGVjb2RlVVJJLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGRlY29kZVVSSS5sZW5ndGg7IGRlY29kZVVSSS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCgo=","commentary":"The length property of decodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZGVjb2RlVVJJLmxlbmd0aDsKZGVjb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZGVjb2RlVVJJLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkubGVuZ3RoID0gSW5maW5pdHk7IGRlY29kZVVSSS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChkZWNvZGVVUkkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of decodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURI is 1","description":"decodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURI property has not prototype property","description":"Checking decodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSShvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSShvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnJlc3VsdCA9IHRydWU7CgovL0NIRUNLIzEKdHJ5IHsKICBkZWNvZGVVUklDb21wb25lbnQoIiUiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJUEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJTEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJSAiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3InKTsKfQoKCgoK","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExJUEwJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwMTExJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwJUEwMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4SSk7CiAgICB0cnkgeyAgICAKICAgICAgdmFyIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhJKTsKICAgICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsgICAgCiAgICAgICAgJEVSUk9SKCcjJyArIGhleCArICcgJyk7CiAgICAgICAgZXJyb3JDb3VudCsrOwogICAgICB9ICAgIAogICAgfSBjYXRjaCAoZSl7CiAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICBlcnJvckNvdW50Kys7CiAgICB9IAogICAgY291bnQrKzsKICB9Cn0gIAoKaWYgKGVycm9yQ291bnQgPiAwKSB7ICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHJldHVybiBCMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKZm9yIChpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIGhleCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikpID09PSBoZXgpIGNvbnRpbnVlOwogIH0gY2F0Y2ggKGUpIHt9ICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yIChpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGNvdW50Kys7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MUYpICogMHg0MCArIChpbmRleEIyICYgMHgzRik7ICAKICAgIHRyeSB7CiAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOwogICAgfSBjYXRjaCAoZSkge30gICAKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4OwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEUwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7CiAgICBpZiAoKGluZGV4QjEgPT09IDB4RUQpICYmICgweEEwIDw9IGluZGV4QjIpKSBjb250aW51ZTsgICAgICAgICAKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIGNvdW50Kys7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDBGKSAqIDB4MTAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDQwICsgKGluZGV4QjMgJiAweDNGKTsgIAogICAgICB0cnkgewogICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgIAogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEYwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7ICAgICAgICAgICAgCiAgICBpZiAoKGluZGV4QjEgPT09IDB4RjQpICYmIChpbmRleEIyID49IDB4OTApKSBjb250aW51ZTsKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgZm9yIChpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgZXF1YWwgIi8iLCBub3QgIiUyRiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMkIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyQiIpIGVxdWFsICIrIiwgbm90ICIlMkIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyQyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMkMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIiBvciAiJTNiIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgZXF1YWwgIi8iLCBub3QgIiUyRiIgb3IgIiUyZiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiIG9yICIlM2YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIiBvciAiJTNhIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiIG9yICIlM2QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMmIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyYiIpIGVxdWFsICIrIiwgbm90ICIlMkIiIG9yICIlMmIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyYyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMmMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIiBvciAiJTJjIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiLCBub3QgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiIG9yICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyInKTsKfQoK","commentary":"Let reservedURIComponentSet be the empty string","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAnKTsKfQoK","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMmYlMkZ3d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5JTNGcGFnZSUzZHdoeS1ydS5odG1sJTI2c2lkJTNEbGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6JTJmJTJGd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UzZHdoeS1ydS5odG1sJTI2c2lkM0RsaXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMkYlMkZlbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOiUyRiUyRmVuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of decodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of decodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURIComponent is 1","description":"decodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURIComponent property has not prototype property","description":"Checking decodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlSZXNlcnZlZCwgdXJpVW5lc2NhcGVkLCAjXSwgcmV0dXJuIDEgb2N0ZXQgKDAwMDAwMDAwIDB6enp6enp6IC0+IDB6enp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwp1cmlVbmVzY2FwZWQgPSBbIi0iLCAiXyIsICIuIiwgIiEiLCAifiIsICIqIiwgIiciLCAiKCIsICIpIiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCAiMCIsICIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSJdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CgpsIDogCmZvciAoaW5kZXggPSAweDAwMDA7IGluZGV4IDw9IDB4MDA3RjsgaW5kZXgrKykgewogIGNvdW50Kys7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlSZXNlcnZlZC5sZW5ndGg7IGluZGV4QysrKSB7ICAgIAogICAgaWYgKHVyaVJlc2VydmVkW2luZGV4Q10gPT09IHN0cikgY29udGludWUgbDsKICB9CiAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgaWYgKCIjIiA9PT0gc3RyKSBjb250aW51ZSBsOyAKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCkuc3Vic3RyaW5nKDIpKSBjb250aW51ZSBsOyAKICB9IGNhdGNoKGUpIHt9ICAgICAKICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriReserved, uriUnescaped, #], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlSZXNlcnZlZFtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSShzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5jb2RlVVJJKCIjIikgPT09ICIjIgogKi8KCmlmIChlbmNvZGVVUkkoIiMiKSAhPT0gIiMiKSB7CiAgJEVSUk9SKCcjMTogdW5lc2NhcGVkVVJJU2V0IGNvbnRhaW5pbmcgIiMiJyk7Cn0gIAoK","commentary":"unescapedURISet containing \"#\"","description":"encodeURI(\"#\") === \"#\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZW5jb2RlVVJJKCJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgIT09ICJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgewogICRFUlJPUignIzI6IGFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZelonKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkoImFBX2JCLWNDLmREIWVFfmZGKmdHJ2hIKGlJKWpKO2tLL2xMP21NOm5OQG9PJnBQPXFRK3JSJHNTLHRUOXVVOHZWN3dXNnhYNXlZNHpaIikgIT09ICJhQV9iQi1jQy5kRCFlRX5mRipnRydoSChpSSlqSjtrSy9sTD9tTTpuTkBvTyZwUD1xUStyUiRzUyx0VDl1VTh2Vjd3VzZ4WDV5WTR6WiIpIHsKICAkRVJST1IoJyMzOiAnKTsKfQoK","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCIpICYmIChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGVuY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAmJiAoZW5jb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJUExJUQxJTgxJUQxJThCJUQwJUJCJUQwJUJBJUQwJUI4Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzI6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgJiYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8iICsgIiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiLnRvTG93ZXJDYXNlKCkpKSkgewogICRFUlJPUignIzM6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBhYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS9cXG5hYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXHZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICYmIGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwYmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvXFx2YWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmICgoZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAmJiBlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBkYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS9cXHJhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0sjNAppZiAoZW5jb2RlVVJJKCJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgIT09ICJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignIzQ6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTgjRGVzY3JpcHRpb24nKTsKfQoK","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUkkubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSS5sZW5ndGg7IGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSS5sZW5ndGg7CmVuY29kZVVSSS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUkkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURI is 1","description":"encodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURI property has not prototype property","description":"Checking encodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJKG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUkkob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSShvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUkkob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUkkob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSShvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlVbmVzY2FwZWRdLCByZXR1cm4gMSBvY3RldCAoMDAwMDAwMDAgMHp6enp6enogLT4gMHp6enp6enopCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnVyaVVuZXNjYXBlZCA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiIsICIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5Il07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmwgOiAKZm9yIChpbmRleCA9IDB4MDAwMDsgaW5kZXggPD0gMHgwMDdGOyBpbmRleCsrKSB7CiAgY291bnQrKzsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpLnN1YnN0cmluZygyKSkgY29udGludWUgbDsgCiAgfSBjYXRjaChlKSB7fSAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriUnescaped], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyIlM0IiLCAiJTJGIiwgIiUzRiIsICIlM0EiLCAiJTQwIiwgIiUyNiIsICIlM0QiLCAiJTJCIiwgIiUyNCIsICIlMkMiXTsKdXJpUmVzZXJ2ZWRfID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07ICAgICAgICAgICAgICAgICAgCmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgMTA7IGluZGV4QysrKSB7ICAgIAogIHZhciBzdHIgPSB1cmlSZXNlcnZlZF9baW5kZXhDXTsKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHVyaVJlc2VydmVkW2luZGV4Q10pIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcnICsgc3RyKTsKICB9ICAKfQoK","commentary":"unescapedURIComponentSet not containing uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudCgiIyIpID09PSAiJTIzIgogKi8KCmlmIChlbmNvZGVVUklDb21wb25lbnQoIiMiKSAhPT0gIiUyMyIpIHsKICAkRVJST1IoJyMxOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiUyMyInKTsKfSAgCgo=","commentary":"unescapedURIComponentSet not containing \"#\"","description":"encodeURIComponent(\"#\") === \"%23\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGMDEyMzQ1Njc4OSIpIHsKICAkRVJST1IoJyMxOiBodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODknKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSAhPT0gImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSB7CiAgJEVSUk9SKCcjMjogYUFiQmNDZERlRWZGZ0doSGlJakprS2xMbU1uTm9PcFBxUXJSc1N0VHVVdlZ3V3hYeVl6WicpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiOy8/OkAmPSskLCIpICE9PSAiJTNCJTJGJTNGJTNBJTQwJTI2JTNEJTJCJTI0JTJDIikgewogICRFUlJPUignIzM6ICcpOwp9Cgo=","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAmJiAoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCUyMyVEMCVBMSVEMSU4MSVEMSU4QiVEMCVCQiVEMCVCQSVEMCVCOCIpICYmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwIikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiKSAmJiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0IyVEMCU5MiVEMCVCNSVEMSU4MCVEMSU4MSVEMCVCOCVEMCVCOCUyMCVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCVEMCVCMCIudG9Mb3dlckNhc2UoKSkpKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwJyk7Cn0KCg==","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBBYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXG5hYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwYWFib3V0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly91bmlwcm8ucnUvXFxuYWJvdXQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1x2YWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMEJhYm91dCIpICYmIGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBiYWJvdXQiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydS9cXHZhYm91dCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwQ2Fib3V0IikgJiYgZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBEYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXHJhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwZGFib3V0IikgewogICRFUlJPUignIzQ6IGh0dHA6Ly91bmlwcm8ucnUvXFxyYWJvdXQnKTsKfQoK","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHAlM0ElMkYlMkZ3d3cuZ29vZ2xlLnJ1JTJGc3VwcG9ydCUyRmpvYnMlMkZiaW4lMkZzdGF0aWMucHklM0ZwYWdlJTNEd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weT9wYWdlPXdoeS1ydS5odG1sJnNpZD1saXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cCUzQSUyRiUyRmVuLndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGVVRGLTglMjNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURIComponent is 1","description":"encodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURIComponent property has not prototype property","description":"Checking encodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImEqKiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSoqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgIT09IHRydWUpKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a**\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiKythIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIrK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIisrYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiKythIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"++a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiP2EiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIj9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCI/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiP2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"?a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiPz9hIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCI/P2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiPz9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"??a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxfXsxLH0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MX17MSx9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxfXsxLH0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLDJ9ezF9IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ4ezEsMn17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInh7MSwyfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLDJ9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,2}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLH17MX0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MSx9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezEsfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLH17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHswLDF9ezEsfSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{0,1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioqIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKioqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a***\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImErKyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSsrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysrIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKysrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a+++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhPz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a???\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiYT8/Pz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoImE/Pz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a????\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"*a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqKmEiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIioqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiKiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"**a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIrYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIithIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIrYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"+a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0EnIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlsvdy1jXSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when 'A' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0InIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlthLS93XSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when 'B' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdBJyBncmVhdGVyIHRoYW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdCJyAoMTUuMTAuMi4xNSBDaGFyYWN0ZXJSYW5nZSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCJeW3otYV0kIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Pattern - SyntaxError was thrown when one character in CharSet 'A' greater than one character in CharSet 'B' (15.10.2.15 CharacterRange step 6)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gY29tcGlsZSBhIHBhdHRlcm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cCA9IG5ldyBSZWdFeHAoIlxcIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Pattern - SyntaxError was thrown when compile a pattern","path":"TestCases/ch15/15.10/15.10.2/15.10.2.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGVybSAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiBtYXggaXMgZmluaXRlIGFuZCBsZXNzIHRoYW4gbWluICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiMHsyLDF9Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Term - SyntaxError was thrown when max is finite and less than min (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5-3-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvUzE1LjEwLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlZSBidWcgaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMwODcKICovCgovLyBSRVgvSmF2YXNjcmlwdCAxLjAgCi8vIFJvYmVydCBELiBDYW1lcm9uICJSRVg6IFhNTCBTaGFsbG93IFBhcnNpbmcgd2l0aCBSZWd1bGFyIEV4cHJlc3Npb25zIiwKLy8gVGVjaG5pY2FsIFJlcG9ydCBUUiAxOTk4LTE3LCBTY2hvb2wgb2YgQ29tcHV0aW5nIFNjaWVuY2UsIFNpbW9uIEZyYXNlciAKLy8gVW5pdmVyc2l0eSwgTm92ZW1iZXIsIDE5OTguCi8vIENvcHlyaWdodCAoYykgMTk5OCwgUm9iZXJ0IEQuIENhbWVyb24uIAovLyBUaGUgZm9sbG93aW5nIGNvZGUgbWF5IGJlIGZyZWVseSB1c2VkIGFuZCBkaXN0cmlidXRlZCBwcm92aWRlZCB0aGF0Ci8vIHRoaXMgY29weXJpZ2h0IGFuZCBjaXRhdGlvbiBub3RpY2UgcmVtYWlucyBpbnRhY3QgYW5kIHRoYXQgbW9kaWZpY2F0aW9ucwovLyBvciBhZGRpdGlvbnMgYXJlIGNsZWFybHkgaWRlbnRpZmllZC4KClRleHRTRSA9ICJbXjxdKyI7ClVudGlsSHlwaGVuID0gIlteLV0qLSI7ClVudGlsMkh5cGhlbnMgPSBVbnRpbEh5cGhlbiArICIoW14tXSIgKyBVbnRpbEh5cGhlbiArICIpKi0iOwpDb21tZW50Q0UgPSBVbnRpbDJIeXBoZW5zICsgIj4/IjsKVW50aWxSU0JzID0gIlteXV0qXShbXl1dK10pKl0rIjsKQ0RBVEFfQ0UgPSBVbnRpbFJTQnMgKyAiKFteXT5dIiArIFVudGlsUlNCcyArICIpKj4iOwpTID0gIlsgXFxuXFx0XFxyXSsiOwpOYW1lU3RydCA9ICJbQS1aYS16XzpdfFteXFx4MDAtXFx4N0ZdIjsKTmFtZUNoYXIgPSAiW0EtWmEtejAtOV86Li1dfFteXFx4MDAtXFx4N0ZdIjsKTmFtZSA9ICIoIiArIE5hbWVTdHJ0ICsgIikoIiArIE5hbWVDaGFyICsgIikqIjsKUXVvdGVTRSA9ICciW14iXScgKyAiKiIgKyAnIicgKyAifCdbXiddKiciOwpEVF9JZGVudFNFID0gUyArIE5hbWUgKyAiKCIgKyBTICsgIigiICsgTmFtZSArICJ8IiArIFF1b3RlU0UgKyAiKSkqIjsKTWFya3VwRGVjbENFID0gIihbXl1cIic+PF0rfCIgKyBRdW90ZVNFICsgIikqPiI7ClMxID0gIltcXG5cXHJcXHQgXSI7ClVudGlsUU1zID0gIlteP10qXFw/KyI7ClBJX1RhaWwgPSAiXFw/PnwiICsgUzEgKyBVbnRpbFFNcyArICIoW14+P10iICsgVW50aWxRTXMgKyAiKSo+IjsKRFRfSXRlbVNFID0gIjwoISgtLSIgKyBVbnRpbDJIeXBoZW5zICsgIj58W14tXSIgKyBNYXJrdXBEZWNsQ0UgKyAiKXxcXD8iICsgTmFtZSArICIoIiArIFBJX1RhaWwgKyAiKSl8JSIgKyBOYW1lICsgIjt8IiArIFM7CkRvY1R5cGVDRSA9IERUX0lkZW50U0UgKyAiKCIgKyBTICsgIik/KFxcWygiICsgRFRfSXRlbVNFICsgIikqXSgiICsgUyArICIpPyk/Pj8iOwpEZWNsQ0UgPSAiLS0oIiArIENvbW1lbnRDRSArICIpP3xcXFtDREFUQVxcWygiICsgQ0RBVEFfQ0UgKyAiKT98RE9DVFlQRSgiICsgRG9jVHlwZUNFICsgIik/IjsKUElfQ0UgPSBOYW1lICsgIigiICsgUElfVGFpbCArICIpPyI7CkVuZFRhZ0NFID0gTmFtZSArICIoIiArIFMgKyAiKT8+PyI7CkF0dFZhbFNFID0gJyJbXjwiXScgKyAiKiIgKyAnIicgKyAifCdbXjwnXSonIjsKRWxlbVRhZ0NFID0gTmFtZSArICIoIiArIFMgKyBOYW1lICsgIigiICsgUyArICIpPz0oIiArIFMgKyAiKT8oIiArIEF0dFZhbFNFICsgIikpKigiICsgUyArICIpPy8/Pj8iOwpNYXJrdXBTUEUgPSAiPCghKCIgKyBEZWNsQ0UgKyAiKT98XFw/KCIgKyBQSV9DRSArICIpP3wvKCIgKyBFbmRUYWdDRSArICIpP3woIiArIEVsZW1UYWdDRSArICIpPykiOwpYTUxfU1BFID0gVGV4dFNFICsgInwiICsgTWFya3VwU1BFOwoKLy8vCi8vLy8KLy8vLy8KCl9fcGF0dGVybnMgPSBbVGV4dFNFLFVudGlsSHlwaGVuLFVudGlsMkh5cGhlbnMsQ29tbWVudENFLFVudGlsUlNCcyxDREFUQV9DRSxTLE5hbWVTdHJ0LCBOYW1lQ2hhciwgCk5hbWUsIFF1b3RlU0UsIERUX0lkZW50U0UsIE1hcmt1cERlY2xDRSwgUzEsVW50aWxRTXMsIFBJX1RhaWwsIERUX0l0ZW1TRSwgRG9jVHlwZUNFLCBEZWNsQ0UsIApQSV9DRSwgRW5kVGFnQ0UsIEF0dFZhbFNFLCBFbGVtVGFnQ0UsIE1hcmt1cFNQRSwgWE1MX1NQRV07CgpfX2h0bWw9IiIrCic8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJcbicgKwonICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnL1hNTC9YTGluay8wLjkiPlxuJyArCicgIDxoZWFkPjx0aXRsZT5UaHJlZSBOYW1lc3BhY2VzPC90aXRsZT48L2hlYWQ+XG4nICsKJyAgPGJvZHk+XG4nICsKJyAgICA8aDEgYWxpZ249ImNlbnRlciI+QW4gRWxsaXBzZSBhbmQgYSBSZWN0YW5nbGU8L2gxPlxuJyArCicgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL1NWRy0xOTk5MTIwMy5kdGQiXG4nICsKJyAgICAgICAgIHdpZHRoPSIxMmNtIiBoZWlnaHQ9IjEwY20iPlxuJyArCicgICAgICA8ZWxsaXBzZSByeD0iMTEwIiByeT0iMTMwIiAvPlxuJyArCicgICAgICA8cmVjdCB4PSI0Y20iIHk9IjFjbSIgd2lkdGg9IjNjbSIgaGVpZ2h0PSI2Y20iIC8+XG4nICsKJyAgICA8L3N2Zz5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0iZWxsaXBzZXMuaHRtbCI+XG4nICsKJyAgICAgIE1vcmUgYWJvdXQgZWxsaXBzZXNcbicgKwonICAgIDwvcD5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0icmVjdGFuZ2xlcy5odG1sIj5cbicgKwonICAgICAgTW9yZSBhYm91dCByZWN0YW5nbGVzXG4nICsKJyAgICA8L3A+XG4nICsKJyAgICA8aHIvPlxuJyArCicgICAgPHA+TGFzdCBNb2RpZmllZCBGZWJydWFyeSAxMywgMjAwMDwvcD5cbicgKwonICA8L2JvZHk+XG4nICsKJzwvaHRtbD4nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogICAgZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX3BhdHRlcm5zLmxlbmd0aDsgaW5kZXgrKykgewogICAgCV9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybnNbaW5kZXhdKTsKICAgIAlfX3JlLnRlc3QoX19odG1sKTsKICAgIH0KfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjJytpbmRleCsiOiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9uOiAiK19fcGF0dGVybnNbaW5kZXhdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"XML Shallow Parsing with Regular Expressions","description":"See bug http://bugzilla.mozilla.org/show_bug.cgi?id=103087","path":"TestCases/ch15/15.10/15.10.2/S15.10.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDA5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdCBpbiBSZWdFeHAgYW5kIFx1MDAwOSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHQvLmV4ZWMoIlx1MDAwOSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwOSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHQvLmV4ZWMoIlxcdTAwMDkiKTsgYXJyWzBdID09PSAiXFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x0XHQvLmV4ZWMoImFcdTAwMDlcdTAwMDliIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDA5XHUwMDA5IikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdFxcdC8uZXhlYygiYVxcdTAwMDlcXHUwMDA5YiIpOyBhcnJbMF0gPT09ICJcXHUwMDA5XFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: t evaluates by returning\nthe character \\u0009","description":"Use \\t in RegExp and \\u0009 in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogbiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBBCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcbiBpbiBSZWdFeHAgYW5kIFx1MDAwQSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXG4vLmV4ZWMoIlx1MDAwQSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXG4vLmV4ZWMoIlxcdTAwMEEiKTsgYXJyWzBdID09PSAiXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xuXG4vLmV4ZWMoImFcdTAwMEFcdTAwMEFiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcblxcbi8uZXhlYygiYVxcdTAwMEFcXHUwMDBBYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBBXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: n evaluates by returning\nthe character \\u000A","description":"Use \\n in RegExp and \\u000A in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBCCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdiBpbiBSZWdFeHAgYW5kIFx1MDAwQiBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHYvLmV4ZWMoIlx1MDAwQiIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQiIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHYvLmV4ZWMoIlxcdTAwMEIiKTsgYXJyWzBdID09PSAiXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x2XHYvLmV4ZWMoImFcdTAwMEJcdTAwMEJiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBCXHUwMDBCIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdlxcdi8uZXhlYygiYVxcdTAwMEJcXHUwMDBCYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBCXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: v evaluates by returning\nthe character \\u000B","description":"Use \\v in RegExp and \\u000B in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogZiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBDCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcZiBpbiBSZWdFeHAgYW5kIFx1MDAwQyBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXGYvLmV4ZWMoIlx1MDAwQyIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQyIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXGYvLmV4ZWMoIlxcdTAwMEMiKTsgYXJyWzBdID09PSAiXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xmXGYvLmV4ZWMoImFcdTAwMENcdTAwMENiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBDXHUwMDBDIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcZlxcZi8uZXhlYygiYVxcdTAwMENcXHUwMDBDYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBDXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: f evaluates by returning\nthe character \\u000C","description":"Use \\f in RegExp and \\u000C in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogciBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBECiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcciBpbiBSZWdFeHAgYW5kIFx1MDAwRCBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHIvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHIvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xyXHIvLmV4ZWMoImFcdTAwMERcdTAwMERiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBEXHUwMDBEIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcclxcci8uZXhlYygiYVxcdTAwMERcXHUwMDBEYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBEXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: r evaluates by returning\nthe character \\u000D","description":"Use \\r in RegExp and \\u000D in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogQSAtIFoKICovCgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBBIC0gWicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogYSAtIHoKICovCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBhIC0geicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogUlVTU0lBTiBBTFBIQUJFVCBpcyBpbmNvcnJlY3QKICovCgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhICUgMzIpOwogIGFyciA9IChuZXcgUmVnRXhwKCJcXGMiICsgU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpKS5leGVjKHN0cik7ICAKICBpZiAoYXJyICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQgaXMgaW5jb3JyZWN0Jyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSAlIDMyKTsKICBhcnIgPSAobmV3IFJlZ0V4cCgiXFxjIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSkuZXhlYyhzdHIpOyAgCiAgaWYgKGFyciAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpcyBpbmNvcnJlY3QnKTsKfSAgCgo=","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: RUSSIAN ALPHABET is incorrect","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGluY2x1ZGUgZXF1YWwgdW5pY29kZSBzeW1ib2xzCiAqLwoKLy9DSEVDSyMwCnZhciBhcnIgPSAvXHgwMC8uZXhlYygiXHUwMDAwIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMCIpKSB7CiAgJEVSUk9SKCcjMDogdmFyIGFyciA9IC9cXHgwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x4MDEvLmV4ZWMoIlx1MDAwMSIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFx4MDEvLmV4ZWMoXFx1MDAwMSk7IGFyclswXSA9PT0gIlxcdTAwMDEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9ceDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xceDBBLy5leGVjKFxcdTAwMEEpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHhGRi8uZXhlYygiXHUwMEZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDBGRiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHhGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCg==","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Tested string include equal unicode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQgYW5kIGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQKICovCgovL0NIRUNLIzQxLTVBCmhleCA9IFsiXFx4NDEiLCAiXFx4NDIiLCAiXFx4NDMiLCAiXFx4NDQiLCAiXFx4NDUiLCAiXFx4NDYiLCAiXFx4NDciLCAiXFx4NDgiLCAiXFx4NDkiLCAiXFx4NEEiLCAiXFx4NEIiLCAiXFx4NEMiLCAiXFx4NEQiLCAiXFx4NEUiLCAiXFx4NEYiLCAiXFx4NTAiLCAiXFx4NTEiLCAiXFx4NTIiLCAiXFx4NTMiLCAiXFx4NTQiLCAiXFx4NTUiLCAiXFx4NTYiLCAiXFx4NTciLCAiXFx4NTgiLCAiXFx4NTkiLCAiXFx4NUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx4NjEiLCAiXFx4NjIiLCAiXFx4NjMiLCAiXFx4NjQiLCAiXFx4NjUiLCAiXFx4NjYiLCAiXFx4NjciLCAiXFx4NjgiLCAiXFx4NjkiLCAiXFx4NkEiLCAiXFx4NkIiLCAiXFx4NkMiLCAiXFx4NkQiLCAiXFx4NkUiLCAiXFx4NkYiLCAiXFx4NzAiLCAiXFx4NzEiLCAiXFx4NzIiLCAiXFx4NzMiLCAiXFx4NzQiLCAiXFx4NzUiLCAiXFx4NzYiLCAiXFx4NzciLCAiXFx4NzgiLCAiXFx4NzkiLCAiXFx4N0EiXTsKY2hhcmFjdGVyID0gWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Checking ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGFuZCB0ZXN0ZWQgc3RyaW5nIGluY2x1ZGUgdW5jb2RlIHN5bWJvbHMKICovCgovL0NIRUNLIzAKdmFyIGFyciA9IC9cdTAwMDAvLmV4ZWMoIlx1MDAwMCIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDAiKSkgewogICRFUlJPUignIzA6IHZhciBhcnIgPSAvXFx1MDAwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x1MDAwMS8uZXhlYygiXHUwMDAxIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHUwMDAxLy5leGVjKFxcdTAwMDEpOyBhcnJbMF0gPT09ICJcXHUwMDAxIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHUwMDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdTAwMEEvLmV4ZWMoXFx1MDAwQSk7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzMKdmFyIGFyciA9IC9cdTAwRkYvLmV4ZWMoIlx1MDBGRiIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwRkYiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFx1MDBGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1x1MEZGRi8uZXhlYygiXHUwRkZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MEZGRiIpKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFyciA9IC9cXHUwRkZGLy5leGVjKFxcdTBGRkYpOyBhcnJbMF0gPT09ICJcXHUwRkZGIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyM1CnZhciBhcnIgPSAvXHVGRkZGLy5leGVjKCJcdUZGRkYiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHVGRkZGIikpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyID0gL1xcdUZGRkYvLmV4ZWMoXFx1RkZGRik7IGFyclswXSA9PT0gIlxcdUZGRkYiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9Cgo=","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"RegExp and tested string include uncode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCBhbmQgZW5nbGlzaCBzbWFsbCBhbHBoYWJldAogKi8KCi8vQ0hFQ0sjNDEtNUEKaGV4ID0gWyJcXHUwMDQxIiwgIlxcdTAwNDIiLCAiXFx1MDA0MyIsICJcXHUwMDQ0IiwgIlxcdTAwNDUiLCAiXFx1MDA0NiIsICJcXHUwMDQ3IiwgIlxcdTAwNDgiLCAiXFx1MDA0OSIsICJcXHUwMDRBIiwgIlxcdTAwNEIiLCAiXFx1MDA0QyIsICJcXHUwMDREIiwgIlxcdTAwNEUiLCAiXFx1MDA0RiIsICJcXHUwMDUwIiwgIlxcdTAwNTEiLCAiXFx1MDA1MiIsICJcXHUwMDUzIiwgIlxcdTAwNTQiLCAiXFx1MDA1NSIsICJcXHUwMDU2IiwgIlxcdTAwNTciLCAiXFx1MDA1OCIsICJcXHUwMDU5IiwgIlxcdTAwNUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx1MDA2MSIsICJcXHUwMDYyIiwgIlxcdTAwNjMiLCAiXFx1MDA2NCIsICJcXHUwMDY1IiwgIlxcdTAwNjYiLCAiXFx1MDA2NyIsICJcXHUwMDY4IiwgIlxcdTAwNjkiLCAiXFx1MDA2QSIsICJcXHUwMDZCIiwgIlxcdTAwNkMiLCAiXFx1MDA2RCIsICJcXHUwMDZFIiwgIlxcdTAwNkYiLCAiXFx1MDA3MCIsICJcXHUwMDcxIiwgIlxcdTAwNzIiLCAiXFx1MDA3MyIsICJcXHUwMDc0IiwgIlxcdTAwNzUiLCAiXFx1MDA3NiIsICJcXHUwMDc3IiwgIlxcdTAwNzgiLCAiXFx1MDA3OSIsICJcXHUwMDdBIl07CmNoYXJhY3RlciA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBoZXgubGVuZ3RoOyBpbmRleCsrKSB7CiAgYXJyID0gKG5ldyBSZWdFeHAoaGV4W2luZGV4XSkpLmV4ZWMoY2hhcmFjdGVyW2luZGV4XSk7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBjaGFyYWN0ZXJbaW5kZXhdKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCBhbmQgcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpbiB1bmljb2RlIG5vdGF0aW9uCiAqLwoKLy9DSEVDSyMwNDEwLTA0MkYsIDA0MDEgCmhleCA9IFsiXFx1MDQxMCIsICJcXHUwNDExIiwgIlxcdTA0MTIiLCAiXFx1MDQxMyIsICJcXHUwNDE0IiwgIlxcdTA0MTUiLCAiXFx1MDQxNiIsICJcXHUwNDE3IiwgIlxcdTA0MTgiLCAiXFx1MDQxOSIsICJcXHUwNDFBIiwgIlxcdTA0MUIiLCAiXFx1MDQxQyIsICJcXHUwNDFEIiwgIlxcdTA0MUUiLCAiXFx1MDQxRiIsICJcXHUwNDIwIiwgIlxcdTA0MjEiLCAiXFx1MDQyMiIsICJcXHUwNDIzIiwgIlxcdTA0MjQiLCAiXFx1MDQyNSIsICJcXHUwNDI2IiwgIlxcdTA0MjciLCAiXFx1MDQyOCIsICJcXHUwNDI5IiwgIlxcdTA0MkEiLCAiXFx1MDQyQiIsICJcXHUwNDJDIiwgIlxcdTA0MkQiLCAiXFx1MDQyRSIsICJcXHUwNDJGIiwgIlxcdTA0MDEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MTAiLCAiXHUwNDExIiwgIlx1MDQxMiIsICJcdTA0MTMiLCAiXHUwNDE0IiwgIlx1MDQxNSIsICJcdTA0MTYiLCAiXHUwNDE3IiwgIlx1MDQxOCIsICJcdTA0MTkiLCAiXHUwNDFBIiwgIlx1MDQxQiIsICJcdTA0MUMiLCAiXHUwNDFEIiwgIlx1MDQxRSIsICJcdTA0MUYiLCAiXHUwNDIwIiwgIlx1MDQyMSIsICJcdTA0MjIiLCAiXHUwNDIzIiwgIlx1MDQyNCIsICJcdTA0MjUiLCAiXHUwNDI2IiwgIlx1MDQyNyIsICJcdTA0MjgiLCAiXHUwNDI5IiwgIlx1MDQyQSIsICJcdTA0MkIiLCAiXHUwNDJDIiwgIlx1MDQyRCIsICJcdTA0MkUiLCAiXHUwNDJGIiwgIlx1MDQwMSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9ICAKCi8vQ0hFQ0sjMDQzMC0wNDRGLCAwNDUxCmhleCA9IFsiXFx1MDQzMCIsICJcXHUwNDMxIiwgIlxcdTA0MzIiLCAiXFx1MDQzMyIsICJcXHUwNDM0IiwgIlxcdTA0MzUiLCAiXFx1MDQzNiIsICJcXHUwNDM3IiwgIlxcdTA0MzgiLCAiXFx1MDQzOSIsICJcXHUwNDNBIiwgIlxcdTA0M0IiLCAiXFx1MDQzQyIsICJcXHUwNDNEIiwgIlxcdTA0M0UiLCAiXFx1MDQzRiIsICJcXHUwNDQwIiwgIlxcdTA0NDEiLCAiXFx1MDQ0MiIsICJcXHUwNDQzIiwgIlxcdTA0NDQiLCAiXFx1MDQ0NSIsICJcXHUwNDQ2IiwgIlxcdTA0NDciLCAiXFx1MDQ0OCIsICJcXHUwNDQ5IiwgIlxcdTA0NEEiLCAiXFx1MDQ0QiIsICJcXHUwNDRDIiwgIlxcdTA0NEQiLCAiXFx1MDQ0RSIsICJcXHUwNDRGIiwgIlxcdTA0NTEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MzAiLCAiXHUwNDMxIiwgIlx1MDQzMiIsICJcdTA0MzMiLCAiXHUwNDM0IiwgIlx1MDQzNSIsICJcdTA0MzYiLCAiXHUwNDM3IiwgIlx1MDQzOCIsICJcdTA0MzkiLCAiXHUwNDNBIiwgIlx1MDQzQiIsICJcdTA0M0MiLCAiXHUwNDNEIiwgIlx1MDQzRSIsICJcdTA0M0YiLCAiXHUwNDQwIiwgIlx1MDQ0MSIsICJcdTA0NDIiLCAiXHUwNDQzIiwgIlx1MDQ0NCIsICJcdTA0NDUiLCAiXHUwNDQ2IiwgIlx1MDQ0NyIsICJcdTA0NDgiLCAiXHUwNDQ5IiwgIlx1MDQ0QSIsICJcdTA0NEIiLCAiXHUwNDRDIiwgIlx1MDQ0RCIsICJcdTA0NEUiLCAiXHUwNDRGIiwgIlx1MDQ1MSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSWRlbnRpdHlFc2NhcGVTZXF1ZW5jZSA6OiBTb3VyY2VDaGFyYWN0ZXIgYnV0IG5vdCBJZGVudGlmaWVyUGFydAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICJ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2lkZW50ID0gIn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwp2YXIgayA9IC0xOwpkbyB7CiAgIGsrKzsKICAgYXJyID0gbmV3IFJlZ0V4cCgiXFwiICsgbm9uX2lkZW50W2tdLCAiZyIpLmV4ZWMobm9uX2lkZW50KTsgICAKfSB3aGlsZSAoKGFyciAhPT0gbnVsbCkgJiYgKGFyclswXSA9PT0gbm9uX2lkZW50W2tdKSkKCmlmIChub25faWRlbnQubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzE6IElkZW50aXR5RXNjYXBlU2VxdWVuY2UgOjogU291cmNlQ2hhcmFjdGVyIGJ1dCBub3QgSWRlbnRpZmllclBhcnQnKTsKfSAKCg==","commentary":"CharacterEscape :: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart","description":"Tested string is \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsRXNjYXBlIDo6IDAuIElmIGkgaXMgemVybywgcmV0dXJuIHRoZSBFc2NhcGVWYWx1ZSBjb25zaXN0aW5nIG9mIGEgPE5VTD4gY2hhcmFjdGVyIChVbmljb2RldmFsdWUwMDAwKQogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1wwLy5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKFxcdTAwMDApOyBhcnJbMF0gPT09ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalEscape :: 0. If i is zero, return the EscapeValue consisting of a character (Unicodevalue0000)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAoLyhBKVxcMS8uZXhlYygiQUEiKSk7IGFyclswXSA9PT0gIkFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzFdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9ICgvKEEpXFwxLy5leGVjKCJBQSIpKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0gICAgCgo=","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9ICgvXFwxKEEpLy5leGVjKCJBQSIpKTsgYXJyWzBdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAoL1xcMShBKS8uZXhlYygiQUEiKSk7IGFyclsxXSA9PT0gIkEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclsxXSkpOwp9ICAgIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxKEIpXDIvLmV4ZWMoIkFBQkIiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQkIiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvKEEpXFwxKEIpXFwyLy5leGVjKCJBQUJCIik7IGFyclswXSA9PT0gIkFBQkIiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMV0gIT09ICJBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gLyhBKVxcMShCKVxcMi8uZXhlYygiQUFCQiIpOyBhcnJbMV0gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzJdICE9PSAiQiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC8oQSlcXDEoQilcXDIvLmV4ZWMoIkFBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpKEIpXDIvLmV4ZWMoIkFCQiIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUJCIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMShBKShCKVxcMi8uZXhlYygiQUJCIik7IGFyclswXSA9PT0gIkFCQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsyXSAhPT0gIkIiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxXDJcM1w0XDVcNlw3XDhcOVwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMVxcMlxcM1xcNFxcNVxcNlxcN1xcOFxcOVxcMTAvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxXFwyXFwzXFw0XFw1XFw2XFw3XFw4XFw5XFwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxMFw5XDhcN1w2XDVcNFwzXDJcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMTBcXDlcXDhcXDdcXDZcXDVcXDRcXDNcXDJcXDEvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxMFxcOVxcOFxcN1xcNlxcNVxcNFxcM1xcMlxcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gV2hpdGVTcGFjZQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiXHUxNDAwXHUxNDAxXHUxNDAyXHUxNDAzXHUxNDA0XHUxNDA1XHUxNDA2XHUxNDA3XHUxNDA4XHUxNDA5XHUxNDBBXHUxNDBCXHUxNDBDXHUxNDBEXHUxNDBFXHUxNDBGXHUxNDEwXHUxNDExXHUxNDEyXHUxNDEzXHUxNDE0XHUxNDE1XHUxNDE2XHUxNDE3XHUxNDE4XHUxNDE5XHUxNDFBXHUxNDFCXHUxNDFDXHUxNDFEXHUxNDFFXHUxNDFGXHUxNDIwXHUxNDIxXHUxNDIyXHUxNDIzXHUxNDI0XHUxNDI1XHUxNDI2XHUxNDI3XHUxNDI4XHUxNDI5XHUxNDJBXHUxNDJCXHUxNDJDXHUxNDJEXHUxNDJFXHUxNDJGXHUxNDMwXHUxNDMxXHUxNDMyXHUxNDMzXHUxNDM0XHUxNDM1XHUxNDM2XHUxNDM3XHUxNDM4XHUxNDM5XHUxNDNBXHUxNDNCXHUxNDNDXHUxNDNEXHUxNDNFXHUxNDNGXHUxNDQwXHUxNDQxXHUxNDQyXHUxNDQzXHUxNDQ0XHUxNDQ1XHUxNDQ2XHUxNDQ3XHUxNDQ4XHUxNDQ5XHUxNDRBXHUxNDRCXHUxNDRDXHUxNDREXHUxNDRFXHUxNDRGXHUxNDUwXHUxNDUxXHUxNDUyXHUxNDUzXHUxNDU0XHUxNDU1XHUxNDU2XHUxNDU3XHUxNDU4XHUxNDU5XHUxNDVBXHUxNDVCXHUxNDVDXHUxNDVEXHUxNDVFXHUxNDVGXHUxNDYwXHUxNDYxXHUxNDYyXHUxNDYzXHUxNDY0XHUxNDY1XHUxNDY2XHUxNDY3XHUxNDY4XHUxNDY5XHUxNDZBXHUxNDZCXHUxNDZDXHUxNDZEXHUxNDZFXHUxNDZGXHUxNDcwXHUxNDcxXHUxNDcyXHUxNDczXHUxNDc0XHUxNDc1XHUxNDc2XHUxNDc3XHUxNDc4XHUxNDc5XHUxNDdBXHUxNDdCXHUxNDdDXHUxNDdEXHUxNDdFXHUxNDdGXHUxNDgwXHUxNDgxXHUxNDgyXHUxNDgzXHUxNDg0XHUxNDg1XHUxNDg2XHUxNDg3XHUxNDg4XHUxNDg5XHUxNDhBXHUxNDhCXHUxNDhDXHUxNDhEXHUxNDhFXHUxNDhGXHUxNDkwXHUxNDkxXHUxNDkyXHUxNDkzXHUxNDk0XHUxNDk1XHUxNDk2XHUxNDk3XHUxNDk4XHUxNDk5XHUxNDlBXHUxNDlCXHUxNDlDXHUxNDlEXHUxNDlFXHUxNDlGXHUxNEEwXHUxNEExXHUxNEEyXHUxNEEzXHUxNEE0XHUxNEE1XHUxNEE2XHUxNEE3XHUxNEE4XHUxNEE5XHUxNEFBXHUxNEFCXHUxNEFDXHUxNEFEXHUxNEFFXHUxNEFGXHUxNEIwXHUxNEIxXHUxNEIyXHUxNEIzXHUxNEI0XHUxNEI1XHUxNEI2XHUxNEI3XHUxNEI4XHUxNEI5XHUxNEJBXHUxNEJCXHUxNEJDXHUxNEJEXHUxNEJFXHUxNEJGXHUxNEMwXHUxNEMxXHUxNEMyXHUxNEMzXHUxNEM0XHUxNEM1XHUxNEM2XHUxNEM3XHUxNEM4XHUxNEM5XHUxNENBXHUxNENCXHUxNENDXHUxNENEXHUxNENFXHUxNENGXHUxNEQwXHUxNEQxXHUxNEQyXHUxNEQzXHUxNEQ0XHUxNEQ1XHUxNEQ2XHUxNEQ3XHUxNEQ4XHUxNEQ5XHUxNERBXHUxNERCXHUxNERDXHUxNEREXHUxNERFXHUxNERGXHUxNEUwXHUxNEUxXHUxNEUyXHUxNEUzXHUxNEU0XHUxNEU1XHUxNEU2XHUxNEU3XHUxNEU4XHUxNEU5XHUxNEVBXHUxNEVCXHUxNEVDXHUxNEVEXHUxNEVFXHUxNEVGXHUxNEYwXHUxNEYxXHUxNEYyXHUxNEYzXHUxNEY0XHUxNEY1XHUxNEY2XHUxNEY3XHUxNEY4XHUxNEY5XHUxNEZBXHUxNEZCXHUxNEZDXHUxNEZEXHUxNEZFXHUxNEZGXHUxNTAwXHUxNTAxXHUxNTAyXHUxNTAzXHUxNTA0XHUxNTA1XHUxNTA2XHUxNTA3XHUxNTA4XHUxNTA5XHUxNTBBXHUxNTBCXHUxNTBDXHUxNTBEXHUxNTBFXHUxNTBGXHUxNTEwXHUxNTExXHUxNTEyXHUxNTEzXHUxNTE0XHUxNTE1XHUxNTE2XHUxNTE3XHUxNTE4XHUxNTE5XHUxNTFBXHUxNTFCXHUxNTFDXHUxNTFEXHUxNTFFXHUxNTFGXHUxNTIwXHUxNTIxXHUxNTIyXHUxNTIzXHUxNTI0XHUxNTI1XHUxNTI2XHUxNTI3XHUxNTI4XHUxNTI5XHUxNTJBXHUxNTJCXHUxNTJDXHUxNTJEXHUxNTJFXHUxNTJGXHUxNTMwXHUxNTMxXHUxNTMyXHUxNTMzXHUxNTM0XHUxNTM1XHUxNTM2XHUxNTM3XHUxNTM4XHUxNTM5XHUxNTNBXHUxNTNCXHUxNTNDXHUxNTNEXHUxNTNFXHUxNTNGXHUxNTQwXHUxNTQxXHUxNTQyXHUxNTQzXHUxNTQ0XHUxNTQ1XHUxNTQ2XHUxNTQ3XHUxNTQ4XHUxNTQ5XHUxNTRBXHUxNTRCXHUxNTRDXHUxNTREXHUxNTRFXHUxNTRGXHUxNTUwXHUxNTUxXHUxNTUyXHUxNTUzXHUxNTU0XHUxNTU1XHUxNTU2XHUxNTU3XHUxNTU4XHUxNTU5XHUxNTVBXHUxNTVCXHUxNTVDXHUxNTVEXHUxNTVFXHUxNTVGXHUxNTYwXHUxNTYxXHUxNTYyXHUxNTYzXHUxNTY0XHUxNTY1XHUxNTY2XHUxNTY3XHUxNTY4XHUxNTY5XHUxNTZBXHUxNTZCXHUxNTZDXHUxNTZEXHUxNTZFXHUxNTZGXHUxNTcwXHUxNTcxXHUxNTcyXHUxNTczXHUxNTc0XHUxNTc1XHUxNTc2XHUxNTc3XHUxNTc4XHUxNTc5XHUxNTdBXHUxNTdCXHUxNTdDXHUxNTdEXHUxNTdFXHUxNTdGXHUxNTgwXHUxNTgxXHUxNTgyXHUxNTgzXHUxNTg0XHUxNTg1XHUxNTg2XHUxNTg3XHUxNTg4XHUxNTg5XHUxNThBXHUxNThCXHUxNThDXHUxNThEXHUxNThFXHUxNThGXHUxNTkwXHUxNTkxXHUxNTkyXHUxNTkzXHUxNTk0XHUxNTk1XHUxNTk2XHUxNTk3XHUxNTk4XHUxNTk5XHUxNTlBXHUxNTlCXHUxNTlDXHUxNTlEXHUxNTlFXHUxNTlGXHUxNUEwXHUxNUExXHUxNUEyXHUxNUEzXHUxNUE0XHUxNUE1XHUxNUE2XHUxNUE3XHUxNUE4XHUxNUE5XHUxNUFBXHUxNUFCXHUxNUFDXHUxNUFEXHUxNUFFXHUxNUFGXHUxNUIwXHUxNUIxXHUxNUIyXHUxNUIzXHUxNUI0XHUxNUI1XHUxNUI2XHUxNUI3XHUxNUI4XHUxNUI5XHUxNUJBXHUxNUJCXHUxNUJDXHUxNUJEXHUxNUJFXHUxNUJGXHUxNUMwXHUxNUMxXHUxNUMyXHUxNUMzXHUxNUM0XHUxNUM1XHUxNUM2XHUxNUM3XHUxNUM4XHUxNUM5XHUxNUNBXHUxNUNCXHUxNUNDXHUxNUNEXHUxNUNFXHUxNUNGXHUxNUQwXHUxNUQxXHUxNUQyXHUxNUQzXHUxNUQ0XHUxNUQ1XHUxNUQ2XHUxNUQ3XHUxNUQ4XHUxNUQ5XHUxNURBXHUxNURCXHUxNURDXHUxNUREXHUxNURFXHUxNURGXHUxNUUwXHUxNUUxXHUxNUUyXHUxNUUzXHUxNUU0XHUxNUU1XHUxNUU2XHUxNUU3XHUxNUU4XHUxNUU5XHUxNUVBXHUxNUVCXHUxNUVDXHUxNUVEXHUxNUVFXHUxNUVGXHUxNUYwXHUxNUYxXHUxNUYyXHUxNUYzXHUxNUY0XHUxNUY1XHUxNUY2XHUxNUY3XHUxNUY4XHUxNUY5XHUxNUZBXHUxNUZCXHUxNUZDXHUxNUZEXHUxNUZFXHUxNUZGXHUxNjAwXHUxNjAxXHUxNjAyXHUxNjAzXHUxNjA0XHUxNjA1XHUxNjA2XHUxNjA3XHUxNjA4XHUxNjA5XHUxNjBBXHUxNjBCXHUxNjBDXHUxNjBEXHUxNjBFXHUxNjBGXHUxNjEwXHUxNjExXHUxNjEyXHUxNjEzXHUxNjE0XHUxNjE1XHUxNjE2XHUxNjE3XHUxNjE4XHUxNjE5XHUxNjFBXHUxNjFCXHUxNjFDXHUxNjFEXHUxNjFFXHUxNjFGXHUxNjIwXHUxNjIxXHUxNjIyXHUxNjIzXHUxNjI0XHUxNjI1XHUxNjI2XHUxNjI3XHUxNjI4XHUxNjI5XHUxNjJBXHUxNjJCXHUxNjJDXHUxNjJEXHUxNjJFXHUxNjJGXHUxNjMwXHUxNjMxXHUxNjMyXHUxNjMzXHUxNjM0XHUxNjM1XHUxNjM2XHUxNjM3XHUxNjM4XHUxNjM5XHUxNjNBXHUxNjNCXHUxNjNDXHUxNjNEXHUxNjNFXHUxNjNGXHUxNjQwXHUxNjQxXHUxNjQyXHUxNjQzXHUxNjQ0XHUxNjQ1XHUxNjQ2XHUxNjQ3XHUxNjQ4XHUxNjQ5XHUxNjRBXHUxNjRCXHUxNjRDXHUxNjREXHUxNjRFXHUxNjRGXHUxNjUwXHUxNjUxXHUxNjUyXHUxNjUzXHUxNjU0XHUxNjU1XHUxNjU2XHUxNjU3XHUxNjU4XHUxNjU5XHUxNjVBXHUxNjVCXHUxNjVDXHUxNjVEXHUxNjVFXHUxNjVGXHUxNjYwXHUxNjYxXHUxNjYyXHUxNjYzXHUxNjY0XHUxNjY1XHUxNjY2XHUxNjY3XHUxNjY4XHUxNjY5XHUxNjZBXHUxNjZCXHUxNjZDXHUxNjZEXHUxNjZFXHUxNjZGXHUxNjcwXHUxNjcxXHUxNjcyXHUxNjczXHUxNjc0XHUxNjc1XHUxNjc2XHUxNjc3XHUxNjc4XHUxNjc5XHUxNjdBXHUxNjdCXHUxNjdDXHUxNjdEXHUxNjdFXHUxNjdGXHUxNjgxXHUxNjgyXHUxNjgzXHUxNjg0XHUxNjg1XHUxNjg2XHUxNjg3XHUxNjg4XHUxNjg5XHUxNjhBXHUxNjhCXHUxNjhDXHUxNjhEXHUxNjhFXHUxNjhGXHUxNjkwXHUxNjkxXHUxNjkyXHUxNjkzXHUxNjk0XHUxNjk1XHUxNjk2XHUxNjk3XHUxNjk4XHUxNjk5XHUxNjlBXHUxNjlCXHUxNjlDXHUxNjlEXHUxNjlFXHUxNjlGXHUxNkEwXHUxNkExXHUxNkEyXHUxNkEzXHUxNkE0XHUxNkE1XHUxNkE2XHUxNkE3XHUxNkE4XHUxNkE5XHUxNkFBXHUxNkFCXHUxNkFDXHUxNkFEXHUxNkFFXHUxNkFGXHUxNkIwXHUxNkIxXHUxNkIyXHUxNkIzXHUxNkI0XHUxNkI1XHUxNkI2XHUxNkI3XHUxNkI4XHUxNkI5XHUxNkJBXHUxNkJCXHUxNkJDXHUxNkJEXHUxNkJFXHUxNkJGXHUxNkMwXHUxNkMxXHUxNkMyXHUxNkMzXHUxNkM0XHUxNkM1XHUxNkM2XHUxNkM3XHUxNkM4XHUxNkM5XHUxNkNBXHUxNkNCXHUxNkNDXHUxNkNEXHUxNkNFXHUxNkNGXHUxNkQwXHUxNkQxXHUxNkQyXHUxNkQzXHUxNkQ0XHUxNkQ1XHUxNkQ2XHUxNkQ3XHUxNkQ4XHUxNkQ5XHUxNkRBXHUxNkRCXHUxNkRDXHUxNkREXHUxNkRFXHUxNkRGXHUxNkUwXHUxNkUxXHUxNkUyXHUxNkUzXHUxNkU0XHUxNkU1XHUxNkU2XHUxNkU3XHUxNkU4XHUxNkU5XHUxNkVBXHUxNkVCXHUxNkVDXHUxNkVEXHUxNkVFXHUxNkVGXHUxNkYwXHUxNkYxXHUxNkYyXHUxNkYzXHUxNkY0XHUxNkY1XHUxNkY2XHUxNkY3XHUxNkY4XHUxNkY5XHUxNkZBXHUxNkZCXHUxNkZDXHUxNkZEXHUxNkZFXHUxNkZGXHUxNzAwXHUxNzAxXHUxNzAyXHUxNzAzXHUxNzA0XHUxNzA1XHUxNzA2XHUxNzA3XHUxNzA4XHUxNzA5XHUxNzBBXHUxNzBCXHUxNzBDXHUxNzBEXHUxNzBFXHUxNzBGXHUxNzEwXHUxNzExXHUxNzEyXHUxNzEzXHUxNzE0XHUxNzE1XHUxNzE2XHUxNzE3XHUxNzE4XHUxNzE5XHUxNzFBXHUxNzFCXHUxNzFDXHUxNzFEXHUxNzFFXHUxNzFGXHUxNzIwXHUxNzIxXHUxNzIyXHUxNzIzXHUxNzI0XHUxNzI1XHUxNzI2XHUxNzI3XHUxNzI4XHUxNzI5XHUxNzJBXHUxNzJCXHUxNzJDXHUxNzJEXHUxNzJFXHUxNzJGXHUxNzMwXHUxNzMxXHUxNzMyXHUxNzMzXHUxNzM0XHUxNzM1XHUxNzM2XHUxNzM3XHUxNzM4XHUxNzM5XHUxNzNBXHUxNzNCXHUxNzNDXHUxNzNEXHUxNzNFXHUxNzNGXHUxNzQwXHUxNzQxXHUxNzQyXHUxNzQzXHUxNzQ0XHUxNzQ1XHUxNzQ2XHUxNzQ3XHUxNzQ4XHUxNzQ5XHUxNzRBXHUxNzRCXHUxNzRDXHUxNzREXHUxNzRFXHUxNzRGXHUxNzUwXHUxNzUxXHUxNzUyXHUxNzUzXHUxNzU0XHUxNzU1XHUxNzU2XHUxNzU3XHUxNzU4XHUxNzU5XHUxNzVBXHUxNzVCXHUxNzVDXHUxNzVEXHUxNzVFXHUxNzVGXHUxNzYwXHUxNzYxXHUxNzYyXHUxNzYzXHUxNzY0XHUxNzY1XHUxNzY2XHUxNzY3XHUxNzY4XHUxNzY5XHUxNzZBXHUxNzZCXHUxNzZDXHUxNzZEXHUxNzZFXHUxNzZGXHUxNzcwXHUxNzcxXHUxNzcyXHUxNzczXHUxNzc0XHUxNzc1XHUxNzc2XHUxNzc3XHUxNzc4XHUxNzc5XHUxNzdBXHUxNzdCXHUxNzdDXHUxNzdEXHUxNzdFXHUxNzdGXHUxNzgwXHUxNzgxXHUxNzgyXHUxNzgzXHUxNzg0XHUxNzg1XHUxNzg2XHUxNzg3XHUxNzg4XHUxNzg5XHUxNzhBXHUxNzhCXHUxNzhDXHUxNzhEXHUxNzhFXHUxNzhGXHUxNzkwXHUxNzkxXHUxNzkyXHUxNzkzXHUxNzk0XHUxNzk1XHUxNzk2XHUxNzk3XHUxNzk4XHUxNzk5XHUxNzlBXHUxNzlCXHUxNzlDXHUxNzlEXHUxNzlFXHUxNzlGXHUxN0EwXHUxN0ExXHUxN0EyXHUxN0EzXHUxN0E0XHUxN0E1XHUxN0E2XHUxN0E3XHUxN0E4XHUxN0E5XHUxN0FBXHUxN0FCXHUxN0FDXHUxN0FEXHUxN0FFXHUxN0FGXHUxN0IwXHUxN0IxXHUxN0IyXHUxN0IzXHUxN0I0XHUxN0I1XHUxN0I2XHUxN0I3XHUxN0I4XHUxN0I5XHUxN0JBXHUxN0JCXHUxN0JDXHUxN0JEXHUxN0JFXHUxN0JGXHUxN0MwXHUxN0MxXHUxN0MyXHUxN0MzXHUxN0M0XHUxN0M1XHUxN0M2XHUxN0M3XHUxN0M4XHUxN0M5XHUxN0NBXHUxN0NCXHUxN0NDXHUxN0NEXHUxN0NFXHUxN0NGXHUxN0QwXHUxN0QxXHUxN0QyXHUxN0QzXHUxN0Q0XHUxN0Q1XHUxN0Q2XHUxN0Q3XHUxN0Q4XHUxN0Q5XHUxN0RBXHUxN0RCXHUxN0RDXHUxN0REXHUxN0RFXHUxN0RGXHUxN0UwXHUxN0UxXHUxN0UyXHUxN0UzXHUxN0U0XHUxN0U1XHUxN0U2XHUxN0U3XHUxN0U4XHUxN0U5XHUxN0VBXHUxN0VCXHUxN0VDXHUxN0VEXHUxN0VFXHUxN0VGXHUxN0YwXHUxN0YxXHUxN0YyXHUxN0YzXHUxN0Y0XHUxN0Y1XHUxN0Y2XHUxN0Y3XHUxN0Y4XHUxN0Y5XHUxN0ZBXHUxN0ZCXHUxN0ZDXHUxN0ZEXHUxN0ZFXHUxN0ZGIjsKaWYgKGk1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICJcdTE4MDBcdTE4MDFcdTE4MDJcdTE4MDNcdTE4MDRcdTE4MDVcdTE4MDZcdTE4MDdcdTE4MDhcdTE4MDlcdTE4MEFcdTE4MEJcdTE4MENcdTE4MERcdTE4MEZcdTE4MTBcdTE4MTFcdTE4MTJcdTE4MTNcdTE4MTRcdTE4MTVcdTE4MTZcdTE4MTdcdTE4MThcdTE4MTlcdTE4MUFcdTE4MUJcdTE4MUNcdTE4MURcdTE4MUVcdTE4MUZcdTE4MjBcdTE4MjFcdTE4MjJcdTE4MjNcdTE4MjRcdTE4MjVcdTE4MjZcdTE4MjdcdTE4MjhcdTE4MjlcdTE4MkFcdTE4MkJcdTE4MkNcdTE4MkRcdTE4MkVcdTE4MkZcdTE4MzBcdTE4MzFcdTE4MzJcdTE4MzNcdTE4MzRcdTE4MzVcdTE4MzZcdTE4MzdcdTE4MzhcdTE4MzlcdTE4M0FcdTE4M0JcdTE4M0NcdTE4M0RcdTE4M0VcdTE4M0ZcdTE4NDBcdTE4NDFcdTE4NDJcdTE4NDNcdTE4NDRcdTE4NDVcdTE4NDZcdTE4NDdcdTE4NDhcdTE4NDlcdTE4NEFcdTE4NEJcdTE4NENcdTE4NERcdTE4NEVcdTE4NEZcdTE4NTBcdTE4NTFcdTE4NTJcdTE4NTNcdTE4NTRcdTE4NTVcdTE4NTZcdTE4NTdcdTE4NThcdTE4NTlcdTE4NUFcdTE4NUJcdTE4NUNcdTE4NURcdTE4NUVcdTE4NUZcdTE4NjBcdTE4NjFcdTE4NjJcdTE4NjNcdTE4NjRcdTE4NjVcdTE4NjZcdTE4NjdcdTE4NjhcdTE4NjlcdTE4NkFcdTE4NkJcdTE4NkNcdTE4NkRcdTE4NkVcdTE4NkZcdTE4NzBcdTE4NzFcdTE4NzJcdTE4NzNcdTE4NzRcdTE4NzVcdTE4NzZcdTE4NzdcdTE4NzhcdTE4NzlcdTE4N0FcdTE4N0JcdTE4N0NcdTE4N0RcdTE4N0VcdTE4N0ZcdTE4ODBcdTE4ODFcdTE4ODJcdTE4ODNcdTE4ODRcdTE4ODVcdTE4ODZcdTE4ODdcdTE4ODhcdTE4ODlcdTE4OEFcdTE4OEJcdTE4OENcdTE4OERcdTE4OEVcdTE4OEZcdTE4OTBcdTE4OTFcdTE4OTJcdTE4OTNcdTE4OTRcdTE4OTVcdTE4OTZcdTE4OTdcdTE4OThcdTE4OTlcdTE4OUFcdTE4OUJcdTE4OUNcdTE4OURcdTE4OUVcdTE4OUZcdTE4QTBcdTE4QTFcdTE4QTJcdTE4QTNcdTE4QTRcdTE4QTVcdTE4QTZcdTE4QTdcdTE4QThcdTE4QTlcdTE4QUFcdTE4QUJcdTE4QUNcdTE4QURcdTE4QUVcdTE4QUZcdTE4QjBcdTE4QjFcdTE4QjJcdTE4QjNcdTE4QjRcdTE4QjVcdTE4QjZcdTE4QjdcdTE4QjhcdTE4QjlcdTE4QkFcdTE4QkJcdTE4QkNcdTE4QkRcdTE4QkVcdTE4QkZcdTE4QzBcdTE4QzFcdTE4QzJcdTE4QzNcdTE4QzRcdTE4QzVcdTE4QzZcdTE4QzdcdTE4QzhcdTE4QzlcdTE4Q0FcdTE4Q0JcdTE4Q0NcdTE4Q0RcdTE4Q0VcdTE4Q0ZcdTE4RDBcdTE4RDFcdTE4RDJcdTE4RDNcdTE4RDRcdTE4RDVcdTE4RDZcdTE4RDdcdTE4RDhcdTE4RDlcdTE4REFcdTE4REJcdTE4RENcdTE4RERcdTE4REVcdTE4REZcdTE4RTBcdTE4RTFcdTE4RTJcdTE4RTNcdTE4RTRcdTE4RTVcdTE4RTZcdTE4RTdcdTE4RThcdTE4RTlcdTE4RUFcdTE4RUJcdTE4RUNcdTE4RURcdTE4RUVcdTE4RUZcdTE4RjBcdTE4RjFcdTE4RjJcdTE4RjNcdTE4RjRcdTE4RjVcdTE4RjZcdTE4RjdcdTE4RjhcdTE4RjlcdTE4RkFcdTE4RkJcdTE4RkNcdTE4RkRcdTE4RkVcdTE4RkZcdTE5MDBcdTE5MDFcdTE5MDJcdTE5MDNcdTE5MDRcdTE5MDVcdTE5MDZcdTE5MDdcdTE5MDhcdTE5MDlcdTE5MEFcdTE5MEJcdTE5MENcdTE5MERcdTE5MEVcdTE5MEZcdTE5MTBcdTE5MTFcdTE5MTJcdTE5MTNcdTE5MTRcdTE5MTVcdTE5MTZcdTE5MTdcdTE5MThcdTE5MTlcdTE5MUFcdTE5MUJcdTE5MUNcdTE5MURcdTE5MUVcdTE5MUZcdTE5MjBcdTE5MjFcdTE5MjJcdTE5MjNcdTE5MjRcdTE5MjVcdTE5MjZcdTE5MjdcdTE5MjhcdTE5MjlcdTE5MkFcdTE5MkJcdTE5MkNcdTE5MkRcdTE5MkVcdTE5MkZcdTE5MzBcdTE5MzFcdTE5MzJcdTE5MzNcdTE5MzRcdTE5MzVcdTE5MzZcdTE5MzdcdTE5MzhcdTE5MzlcdTE5M0FcdTE5M0JcdTE5M0NcdTE5M0RcdTE5M0VcdTE5M0ZcdTE5NDBcdTE5NDFcdTE5NDJcdTE5NDNcdTE5NDRcdTE5NDVcdTE5NDZcdTE5NDdcdTE5NDhcdTE5NDlcdTE5NEFcdTE5NEJcdTE5NENcdTE5NERcdTE5NEVcdTE5NEZcdTE5NTBcdTE5NTFcdTE5NTJcdTE5NTNcdTE5NTRcdTE5NTVcdTE5NTZcdTE5NTdcdTE5NThcdTE5NTlcdTE5NUFcdTE5NUJcdTE5NUNcdTE5NURcdTE5NUVcdTE5NUZcdTE5NjBcdTE5NjFcdTE5NjJcdTE5NjNcdTE5NjRcdTE5NjVcdTE5NjZcdTE5NjdcdTE5NjhcdTE5NjlcdTE5NkFcdTE5NkJcdTE5NkNcdTE5NkRcdTE5NkVcdTE5NkZcdTE5NzBcdTE5NzFcdTE5NzJcdTE5NzNcdTE5NzRcdTE5NzVcdTE5NzZcdTE5NzdcdTE5NzhcdTE5NzlcdTE5N0FcdTE5N0JcdTE5N0NcdTE5N0RcdTE5N0VcdTE5N0ZcdTE5ODBcdTE5ODFcdTE5ODJcdTE5ODNcdTE5ODRcdTE5ODVcdTE5ODZcdTE5ODdcdTE5ODhcdTE5ODlcdTE5OEFcdTE5OEJcdTE5OENcdTE5OERcdTE5OEVcdTE5OEZcdTE5OTBcdTE5OTFcdTE5OTJcdTE5OTNcdTE5OTRcdTE5OTVcdTE5OTZcdTE5OTdcdTE5OThcdTE5OTlcdTE5OUFcdTE5OUJcdTE5OUNcdTE5OURcdTE5OUVcdTE5OUZcdTE5QTBcdTE5QTFcdTE5QTJcdTE5QTNcdTE5QTRcdTE5QTVcdTE5QTZcdTE5QTdcdTE5QThcdTE5QTlcdTE5QUFcdTE5QUJcdTE5QUNcdTE5QURcdTE5QUVcdTE5QUZcdTE5QjBcdTE5QjFcdTE5QjJcdTE5QjNcdTE5QjRcdTE5QjVcdTE5QjZcdTE5QjdcdTE5QjhcdTE5QjlcdTE5QkFcdTE5QkJcdTE5QkNcdTE5QkRcdTE5QkVcdTE5QkZcdTE5QzBcdTE5QzFcdTE5QzJcdTE5QzNcdTE5QzRcdTE5QzVcdTE5QzZcdTE5QzdcdTE5QzhcdTE5QzlcdTE5Q0FcdTE5Q0JcdTE5Q0NcdTE5Q0RcdTE5Q0VcdTE5Q0ZcdTE5RDBcdTE5RDFcdTE5RDJcdTE5RDNcdTE5RDRcdTE5RDVcdTE5RDZcdTE5RDdcdTE5RDhcdTE5RDlcdTE5REFcdTE5REJcdTE5RENcdTE5RERcdTE5REVcdTE5REZcdTE5RTBcdTE5RTFcdTE5RTJcdTE5RTNcdTE5RTRcdTE5RTVcdTE5RTZcdTE5RTdcdTE5RThcdTE5RTlcdTE5RUFcdTE5RUJcdTE5RUNcdTE5RURcdTE5RUVcdTE5RUZcdTE5RjBcdTE5RjFcdTE5RjJcdTE5RjNcdTE5RjRcdTE5RjVcdTE5RjZcdTE5RjdcdTE5RjhcdTE5RjlcdTE5RkFcdTE5RkJcdTE5RkNcdTE5RkRcdTE5RkVcdTE5RkZcdTFBMDBcdTFBMDFcdTFBMDJcdTFBMDNcdTFBMDRcdTFBMDVcdTFBMDZcdTFBMDdcdTFBMDhcdTFBMDlcdTFBMEFcdTFBMEJcdTFBMENcdTFBMERcdTFBMEVcdTFBMEZcdTFBMTBcdTFBMTFcdTFBMTJcdTFBMTNcdTFBMTRcdTFBMTVcdTFBMTZcdTFBMTdcdTFBMThcdTFBMTlcdTFBMUFcdTFBMUJcdTFBMUNcdTFBMURcdTFBMUVcdTFBMUZcdTFBMjBcdTFBMjFcdTFBMjJcdTFBMjNcdTFBMjRcdTFBMjVcdTFBMjZcdTFBMjdcdTFBMjhcdTFBMjlcdTFBMkFcdTFBMkJcdTFBMkNcdTFBMkRcdTFBMkVcdTFBMkZcdTFBMzBcdTFBMzFcdTFBMzJcdTFBMzNcdTFBMzRcdTFBMzVcdTFBMzZcdTFBMzdcdTFBMzhcdTFBMzlcdTFBM0FcdTFBM0JcdTFBM0NcdTFBM0RcdTFBM0VcdTFBM0ZcdTFBNDBcdTFBNDFcdTFBNDJcdTFBNDNcdTFBNDRcdTFBNDVcdTFBNDZcdTFBNDdcdTFBNDhcdTFBNDlcdTFBNEFcdTFBNEJcdTFBNENcdTFBNERcdTFBNEVcdTFBNEZcdTFBNTBcdTFBNTFcdTFBNTJcdTFBNTNcdTFBNTRcdTFBNTVcdTFBNTZcdTFBNTdcdTFBNThcdTFBNTlcdTFBNUFcdTFBNUJcdTFBNUNcdTFBNURcdTFBNUVcdTFBNUZcdTFBNjBcdTFBNjFcdTFBNjJcdTFBNjNcdTFBNjRcdTFBNjVcdTFBNjZcdTFBNjdcdTFBNjhcdTFBNjlcdTFBNkFcdTFBNkJcdTFBNkNcdTFBNkRcdTFBNkVcdTFBNkZcdTFBNzBcdTFBNzFcdTFBNzJcdTFBNzNcdTFBNzRcdTFBNzVcdTFBNzZcdTFBNzdcdTFBNzhcdTFBNzlcdTFBN0FcdTFBN0JcdTFBN0NcdTFBN0RcdTFBN0VcdTFBN0ZcdTFBODBcdTFBODFcdTFBODJcdTFBODNcdTFBODRcdTFBODVcdTFBODZcdTFBODdcdTFBODhcdTFBODlcdTFBOEFcdTFBOEJcdTFBOENcdTFBOERcdTFBOEVcdTFBOEZcdTFBOTBcdTFBOTFcdTFBOTJcdTFBOTNcdTFBOTRcdTFBOTVcdTFBOTZcdTFBOTdcdTFBOThcdTFBOTlcdTFBOUFcdTFBOUJcdTFBOUNcdTFBOURcdTFBOUVcdTFBOUZcdTFBQTBcdTFBQTFcdTFBQTJcdTFBQTNcdTFBQTRcdTFBQTVcdTFBQTZcdTFBQTdcdTFBQThcdTFBQTlcdTFBQUFcdTFBQUJcdTFBQUNcdTFBQURcdTFBQUVcdTFBQUZcdTFBQjBcdTFBQjFcdTFBQjJcdTFBQjNcdTFBQjRcdTFBQjVcdTFBQjZcdTFBQjdcdTFBQjhcdTFBQjlcdTFBQkFcdTFBQkJcdTFBQkNcdTFBQkRcdTFBQkVcdTFBQkZcdTFBQzBcdTFBQzFcdTFBQzJcdTFBQzNcdTFBQzRcdTFBQzVcdTFBQzZcdTFBQzdcdTFBQzhcdTFBQzlcdTFBQ0FcdTFBQ0JcdTFBQ0NcdTFBQ0RcdTFBQ0VcdTFBQ0ZcdTFBRDBcdTFBRDFcdTFBRDJcdTFBRDNcdTFBRDRcdTFBRDVcdTFBRDZcdTFBRDdcdTFBRDhcdTFBRDlcdTFBREFcdTFBREJcdTFBRENcdTFBRERcdTFBREVcdTFBREZcdTFBRTBcdTFBRTFcdTFBRTJcdTFBRTNcdTFBRTRcdTFBRTVcdTFBRTZcdTFBRTdcdTFBRThcdTFBRTlcdTFBRUFcdTFBRUJcdTFBRUNcdTFBRURcdTFBRUVcdTFBRUZcdTFBRjBcdTFBRjFcdTFBRjJcdTFBRjNcdTFBRjRcdTFBRjVcdTFBRjZcdTFBRjdcdTFBRjhcdTFBRjlcdTFBRkFcdTFBRkJcdTFBRkNcdTFBRkRcdTFBRkVcdTFBRkZcdTFCMDBcdTFCMDFcdTFCMDJcdTFCMDNcdTFCMDRcdTFCMDVcdTFCMDZcdTFCMDdcdTFCMDhcdTFCMDlcdTFCMEFcdTFCMEJcdTFCMENcdTFCMERcdTFCMEVcdTFCMEZcdTFCMTBcdTFCMTFcdTFCMTJcdTFCMTNcdTFCMTRcdTFCMTVcdTFCMTZcdTFCMTdcdTFCMThcdTFCMTlcdTFCMUFcdTFCMUJcdTFCMUNcdTFCMURcdTFCMUVcdTFCMUZcdTFCMjBcdTFCMjFcdTFCMjJcdTFCMjNcdTFCMjRcdTFCMjVcdTFCMjZcdTFCMjdcdTFCMjhcdTFCMjlcdTFCMkFcdTFCMkJcdTFCMkNcdTFCMkRcdTFCMkVcdTFCMkZcdTFCMzBcdTFCMzFcdTFCMzJcdTFCMzNcdTFCMzRcdTFCMzVcdTFCMzZcdTFCMzdcdTFCMzhcdTFCMzlcdTFCM0FcdTFCM0JcdTFCM0NcdTFCM0RcdTFCM0VcdTFCM0ZcdTFCNDBcdTFCNDFcdTFCNDJcdTFCNDNcdTFCNDRcdTFCNDVcdTFCNDZcdTFCNDdcdTFCNDhcdTFCNDlcdTFCNEFcdTFCNEJcdTFCNENcdTFCNERcdTFCNEVcdTFCNEZcdTFCNTBcdTFCNTFcdTFCNTJcdTFCNTNcdTFCNTRcdTFCNTVcdTFCNTZcdTFCNTdcdTFCNThcdTFCNTlcdTFCNUFcdTFCNUJcdTFCNUNcdTFCNURcdTFCNUVcdTFCNUZcdTFCNjBcdTFCNjFcdTFCNjJcdTFCNjNcdTFCNjRcdTFCNjVcdTFCNjZcdTFCNjdcdTFCNjhcdTFCNjlcdTFCNkFcdTFCNkJcdTFCNkNcdTFCNkRcdTFCNkVcdTFCNkZcdTFCNzBcdTFCNzFcdTFCNzJcdTFCNzNcdTFCNzRcdTFCNzVcdTFCNzZcdTFCNzdcdTFCNzhcdTFCNzlcdTFCN0FcdTFCN0JcdTFCN0NcdTFCN0RcdTFCN0VcdTFCN0ZcdTFCODBcdTFCODFcdTFCODJcdTFCODNcdTFCODRcdTFCODVcdTFCODZcdTFCODdcdTFCODhcdTFCODlcdTFCOEFcdTFCOEJcdTFCOENcdTFCOERcdTFCOEVcdTFCOEZcdTFCOTBcdTFCOTFcdTFCOTJcdTFCOTNcdTFCOTRcdTFCOTVcdTFCOTZcdTFCOTdcdTFCOThcdTFCOTlcdTFCOUFcdTFCOUJcdTFCOUNcdTFCOURcdTFCOUVcdTFCOUZcdTFCQTBcdTFCQTFcdTFCQTJcdTFCQTNcdTFCQTRcdTFCQTVcdTFCQTZcdTFCQTdcdTFCQThcdTFCQTlcdTFCQUFcdTFCQUJcdTFCQUNcdTFCQURcdTFCQUVcdTFCQUZcdTFCQjBcdTFCQjFcdTFCQjJcdTFCQjNcdTFCQjRcdTFCQjVcdTFCQjZcdTFCQjdcdTFCQjhcdTFCQjlcdTFCQkFcdTFCQkJcdTFCQkNcdTFCQkRcdTFCQkVcdTFCQkZcdTFCQzBcdTFCQzFcdTFCQzJcdTFCQzNcdTFCQzRcdTFCQzVcdTFCQzZcdTFCQzdcdTFCQzhcdTFCQzlcdTFCQ0FcdTFCQ0JcdTFCQ0NcdTFCQ0RcdTFCQ0VcdTFCQ0ZcdTFCRDBcdTFCRDFcdTFCRDJcdTFCRDNcdTFCRDRcdTFCRDVcdTFCRDZcdTFCRDdcdTFCRDhcdTFCRDlcdTFCREFcdTFCREJcdTFCRENcdTFCRERcdTFCREVcdTFCREZcdTFCRTBcdTFCRTFcdTFCRTJcdTFCRTNcdTFCRTRcdTFCRTVcdTFCRTZcdTFCRTdcdTFCRThcdTFCRTlcdTFCRUFcdTFCRUJcdTFCRUNcdTFCRURcdTFCRUVcdTFCRUZcdTFCRjBcdTFCRjFcdTFCRjJcdTFCRjNcdTFCRjRcdTFCRjVcdTFCRjZcdTFCRjdcdTFCRjhcdTFCRjlcdTFCRkFcdTFCRkJcdTFCRkNcdTFCRkRcdTFCRkVcdTFCRkYiOwppZiAoaTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiXHUyMDBCXHUyMDBDXHUyMDBEXHUyMDBFXHUyMDBGXHUyMDEwXHUyMDExXHUyMDEyXHUyMDEzXHUyMDE0XHUyMDE1XHUyMDE2XHUyMDE3XHUyMDE4XHUyMDE5XHUyMDFBXHUyMDFCXHUyMDFDXHUyMDFEXHUyMDFFXHUyMDFGXHUyMDIwXHUyMDIxXHUyMDIyXHUyMDIzXHUyMDI0XHUyMDI1XHUyMDI2XHUyMDI3XHUyMDJBXHUyMDJCXHUyMDJDXHUyMDJEXHUyMDJFXHUyMDMwXHUyMDMxXHUyMDMyXHUyMDMzXHUyMDM0XHUyMDM1XHUyMDM2XHUyMDM3XHUyMDM4XHUyMDM5XHUyMDNBXHUyMDNCXHUyMDNDXHUyMDNEXHUyMDNFXHUyMDNGXHUyMDQwXHUyMDQxXHUyMDQyXHUyMDQzXHUyMDQ0XHUyMDQ1XHUyMDQ2XHUyMDQ3XHUyMDQ4XHUyMDQ5XHUyMDRBXHUyMDRCXHUyMDRDXHUyMDREXHUyMDRFXHUyMDRGXHUyMDUwXHUyMDUxXHUyMDUyXHUyMDUzXHUyMDU0XHUyMDU1XHUyMDU2XHUyMDU3XHUyMDU4XHUyMDU5XHUyMDVBXHUyMDVCXHUyMDVDXHUyMDVEXHUyMDVFXHUyMDYwXHUyMDYxXHUyMDYyXHUyMDYzXHUyMDY0XHUyMDY1XHUyMDY2XHUyMDY3XHUyMDY4XHUyMDY5XHUyMDZBXHUyMDZCXHUyMDZDXHUyMDZEXHUyMDZFXHUyMDZGXHUyMDcwXHUyMDcxXHUyMDcyXHUyMDczXHUyMDc0XHUyMDc1XHUyMDc2XHUyMDc3XHUyMDc4XHUyMDc5XHUyMDdBXHUyMDdCXHUyMDdDXHUyMDdEXHUyMDdFXHUyMDdGXHUyMDgwXHUyMDgxXHUyMDgyXHUyMDgzXHUyMDg0XHUyMDg1XHUyMDg2XHUyMDg3XHUyMDg4XHUyMDg5XHUyMDhBXHUyMDhCXHUyMDhDXHUyMDhEXHUyMDhFXHUyMDhGXHUyMDkwXHUyMDkxXHUyMDkyXHUyMDkzXHUyMDk0XHUyMDk1XHUyMDk2XHUyMDk3XHUyMDk4XHUyMDk5XHUyMDlBXHUyMDlCXHUyMDlDXHUyMDlEXHUyMDlFXHUyMDlGXHUyMEEwXHUyMEExXHUyMEEyXHUyMEEzXHUyMEE0XHUyMEE1XHUyMEE2XHUyMEE3XHUyMEE4XHUyMEE5XHUyMEFBXHUyMEFCXHUyMEFDXHUyMEFEXHUyMEFFXHUyMEFGXHUyMEIwXHUyMEIxXHUyMEIyXHUyMEIzXHUyMEI0XHUyMEI1XHUyMEI2XHUyMEI3XHUyMEI4XHUyMEI5XHUyMEJBXHUyMEJCXHUyMEJDXHUyMEJEXHUyMEJFXHUyMEJGXHUyMEMwXHUyMEMxXHUyMEMyXHUyMEMzXHUyMEM0XHUyMEM1XHUyMEM2XHUyMEM3XHUyMEM4XHUyMEM5XHUyMENBXHUyMENCXHUyMENDXHUyMENEXHUyMENFXHUyMENGXHUyMEQwXHUyMEQxXHUyMEQyXHUyMEQzXHUyMEQ0XHUyMEQ1XHUyMEQ2XHUyMEQ3XHUyMEQ4XHUyMEQ5XHUyMERBXHUyMERCXHUyMERDXHUyMEREXHUyMERFXHUyMERGXHUyMEUwXHUyMEUxXHUyMEUyXHUyMEUzXHUyMEU0XHUyMEU1XHUyMEU2XHUyMEU3XHUyMEU4XHUyMEU5XHUyMEVBXHUyMEVCXHUyMEVDXHUyMEVEXHUyMEVFXHUyMEVGXHUyMEYwXHUyMEYxXHUyMEYyXHUyMEYzXHUyMEY0XHUyMEY1XHUyMEY2XHUyMEY3XHUyMEY4XHUyMEY5XHUyMEZBXHUyMEZCXHUyMEZDXHUyMEZEXHUyMEZFXHUyMEZGXHUyMTAwXHUyMTAxXHUyMTAyXHUyMTAzXHUyMTA0XHUyMTA1XHUyMTA2XHUyMTA3XHUyMTA4XHUyMTA5XHUyMTBBXHUyMTBCXHUyMTBDXHUyMTBEXHUyMTBFXHUyMTBGXHUyMTEwXHUyMTExXHUyMTEyXHUyMTEzXHUyMTE0XHUyMTE1XHUyMTE2XHUyMTE3XHUyMTE4XHUyMTE5XHUyMTFBXHUyMTFCXHUyMTFDXHUyMTFEXHUyMTFFXHUyMTFGXHUyMTIwXHUyMTIxXHUyMTIyXHUyMTIzXHUyMTI0XHUyMTI1XHUyMTI2XHUyMTI3XHUyMTI4XHUyMTI5XHUyMTJBXHUyMTJCXHUyMTJDXHUyMTJEXHUyMTJFXHUyMTJGXHUyMTMwXHUyMTMxXHUyMTMyXHUyMTMzXHUyMTM0XHUyMTM1XHUyMTM2XHUyMTM3XHUyMTM4XHUyMTM5XHUyMTNBXHUyMTNCXHUyMTNDXHUyMTNEXHUyMTNFXHUyMTNGXHUyMTQwXHUyMTQxXHUyMTQyXHUyMTQzXHUyMTQ0XHUyMTQ1XHUyMTQ2XHUyMTQ3XHUyMTQ4XHUyMTQ5XHUyMTRBXHUyMTRCXHUyMTRDXHUyMTREXHUyMTRFXHUyMTRGXHUyMTUwXHUyMTUxXHUyMTUyXHUyMTUzXHUyMTU0XHUyMTU1XHUyMTU2XHUyMTU3XHUyMTU4XHUyMTU5XHUyMTVBXHUyMTVCXHUyMTVDXHUyMTVEXHUyMTVFXHUyMTVGXHUyMTYwXHUyMTYxXHUyMTYyXHUyMTYzXHUyMTY0XHUyMTY1XHUyMTY2XHUyMTY3XHUyMTY4XHUyMTY5XHUyMTZBXHUyMTZCXHUyMTZDXHUyMTZEXHUyMTZFXHUyMTZGXHUyMTcwXHUyMTcxXHUyMTcyXHUyMTczXHUyMTc0XHUyMTc1XHUyMTc2XHUyMTc3XHUyMTc4XHUyMTc5XHUyMTdBXHUyMTdCXHUyMTdDXHUyMTdEXHUyMTdFXHUyMTdGXHUyMTgwXHUyMTgxXHUyMTgyXHUyMTgzXHUyMTg0XHUyMTg1XHUyMTg2XHUyMTg3XHUyMTg4XHUyMTg5XHUyMThBXHUyMThCXHUyMThDXHUyMThEXHUyMThFXHUyMThGXHUyMTkwXHUyMTkxXHUyMTkyXHUyMTkzXHUyMTk0XHUyMTk1XHUyMTk2XHUyMTk3XHUyMTk4XHUyMTk5XHUyMTlBXHUyMTlCXHUyMTlDXHUyMTlEXHUyMTlFXHUyMTlGXHUyMUEwXHUyMUExXHUyMUEyXHUyMUEzXHUyMUE0XHUyMUE1XHUyMUE2XHUyMUE3XHUyMUE4XHUyMUE5XHUyMUFBXHUyMUFCXHUyMUFDXHUyMUFEXHUyMUFFXHUyMUFGXHUyMUIwXHUyMUIxXHUyMUIyXHUyMUIzXHUyMUI0XHUyMUI1XHUyMUI2XHUyMUI3XHUyMUI4XHUyMUI5XHUyMUJBXHUyMUJCXHUyMUJDXHUyMUJEXHUyMUJFXHUyMUJGXHUyMUMwXHUyMUMxXHUyMUMyXHUyMUMzXHUyMUM0XHUyMUM1XHUyMUM2XHUyMUM3XHUyMUM4XHUyMUM5XHUyMUNBXHUyMUNCXHUyMUNDXHUyMUNEXHUyMUNFXHUyMUNGXHUyMUQwXHUyMUQxXHUyMUQyXHUyMUQzXHUyMUQ0XHUyMUQ1XHUyMUQ2XHUyMUQ3XHUyMUQ4XHUyMUQ5XHUyMURBXHUyMURCXHUyMURDXHUyMUREXHUyMURFXHUyMURGXHUyMUUwXHUyMUUxXHUyMUUyXHUyMUUzXHUyMUU0XHUyMUU1XHUyMUU2XHUyMUU3XHUyMUU4XHUyMUU5XHUyMUVBXHUyMUVCXHUyMUVDXHUyMUVEXHUyMUVFXHUyMUVGXHUyMUYwXHUyMUYxXHUyMUYyXHUyMUYzXHUyMUY0XHUyMUY1XHUyMUY2XHUyMUY3XHUyMUY4XHUyMUY5XHUyMUZBXHUyMUZCXHUyMUZDXHUyMUZEXHUyMUZFXHUyMUZGXHUyMjAwXHUyMjAxXHUyMjAyXHUyMjAzXHUyMjA0XHUyMjA1XHUyMjA2XHUyMjA3XHUyMjA4XHUyMjA5XHUyMjBBXHUyMjBCXHUyMjBDXHUyMjBEXHUyMjBFXHUyMjBGXHUyMjEwXHUyMjExXHUyMjEyXHUyMjEzXHUyMjE0XHUyMjE1XHUyMjE2XHUyMjE3XHUyMjE4XHUyMjE5XHUyMjFBXHUyMjFCXHUyMjFDXHUyMjFEXHUyMjFFXHUyMjFGXHUyMjIwXHUyMjIxXHUyMjIyXHUyMjIzXHUyMjI0XHUyMjI1XHUyMjI2XHUyMjI3XHUyMjI4XHUyMjI5XHUyMjJBXHUyMjJCXHUyMjJDXHUyMjJEXHUyMjJFXHUyMjJGXHUyMjMwXHUyMjMxXHUyMjMyXHUyMjMzXHUyMjM0XHUyMjM1XHUyMjM2XHUyMjM3XHUyMjM4XHUyMjM5XHUyMjNBXHUyMjNCXHUyMjNDXHUyMjNEXHUyMjNFXHUyMjNGXHUyMjQwXHUyMjQxXHUyMjQyXHUyMjQzXHUyMjQ0XHUyMjQ1XHUyMjQ2XHUyMjQ3XHUyMjQ4XHUyMjQ5XHUyMjRBXHUyMjRCXHUyMjRDXHUyMjREXHUyMjRFXHUyMjRGXHUyMjUwXHUyMjUxXHUyMjUyXHUyMjUzXHUyMjU0XHUyMjU1XHUyMjU2XHUyMjU3XHUyMjU4XHUyMjU5XHUyMjVBXHUyMjVCXHUyMjVDXHUyMjVEXHUyMjVFXHUyMjVGXHUyMjYwXHUyMjYxXHUyMjYyXHUyMjYzXHUyMjY0XHUyMjY1XHUyMjY2XHUyMjY3XHUyMjY4XHUyMjY5XHUyMjZBXHUyMjZCXHUyMjZDXHUyMjZEXHUyMjZFXHUyMjZGXHUyMjcwXHUyMjcxXHUyMjcyXHUyMjczXHUyMjc0XHUyMjc1XHUyMjc2XHUyMjc3XHUyMjc4XHUyMjc5XHUyMjdBXHUyMjdCXHUyMjdDXHUyMjdEXHUyMjdFXHUyMjdGXHUyMjgwXHUyMjgxXHUyMjgyXHUyMjgzXHUyMjg0XHUyMjg1XHUyMjg2XHUyMjg3XHUyMjg4XHUyMjg5XHUyMjhBXHUyMjhCXHUyMjhDXHUyMjhEXHUyMjhFXHUyMjhGXHUyMjkwXHUyMjkxXHUyMjkyXHUyMjkzXHUyMjk0XHUyMjk1XHUyMjk2XHUyMjk3XHUyMjk4XHUyMjk5XHUyMjlBXHUyMjlCXHUyMjlDXHUyMjlEXHUyMjlFXHUyMjlGXHUyMkEwXHUyMkExXHUyMkEyXHUyMkEzXHUyMkE0XHUyMkE1XHUyMkE2XHUyMkE3XHUyMkE4XHUyMkE5XHUyMkFBXHUyMkFCXHUyMkFDXHUyMkFEXHUyMkFFXHUyMkFGXHUyMkIwXHUyMkIxXHUyMkIyXHUyMkIzXHUyMkI0XHUyMkI1XHUyMkI2XHUyMkI3XHUyMkI4XHUyMkI5XHUyMkJBXHUyMkJCXHUyMkJDXHUyMkJEXHUyMkJFXHUyMkJGXHUyMkMwXHUyMkMxXHUyMkMyXHUyMkMzXHUyMkM0XHUyMkM1XHUyMkM2XHUyMkM3XHUyMkM4XHUyMkM5XHUyMkNBXHUyMkNCXHUyMkNDXHUyMkNEXHUyMkNFXHUyMkNGXHUyMkQwXHUyMkQxXHUyMkQyXHUyMkQzXHUyMkQ0XHUyMkQ1XHUyMkQ2XHUyMkQ3XHUyMkQ4XHUyMkQ5XHUyMkRBXHUyMkRCXHUyMkRDXHUyMkREXHUyMkRFXHUyMkRGXHUyMkUwXHUyMkUxXHUyMkUyXHUyMkUzXHUyMkU0XHUyMkU1XHUyMkU2XHUyMkU3XHUyMkU4XHUyMkU5XHUyMkVBXHUyMkVCXHUyMkVDXHUyMkVEXHUyMkVFXHUyMkVGXHUyMkYwXHUyMkYxXHUyMkYyXHUyMkYzXHUyMkY0XHUyMkY1XHUyMkY2XHUyMkY3XHUyMkY4XHUyMkY5XHUyMkZBXHUyMkZCXHUyMkZDXHUyMkZEXHUyMkZFXHUyMkZGXHUyMzAwXHUyMzAxXHUyMzAyXHUyMzAzXHUyMzA0XHUyMzA1XHUyMzA2XHUyMzA3XHUyMzA4XHUyMzA5XHUyMzBBXHUyMzBCXHUyMzBDXHUyMzBEXHUyMzBFXHUyMzBGXHUyMzEwXHUyMzExXHUyMzEyXHUyMzEzXHUyMzE0XHUyMzE1XHUyMzE2XHUyMzE3XHUyMzE4XHUyMzE5XHUyMzFBXHUyMzFCXHUyMzFDXHUyMzFEXHUyMzFFXHUyMzFGXHUyMzIwXHUyMzIxXHUyMzIyXHUyMzIzXHUyMzI0XHUyMzI1XHUyMzI2XHUyMzI3XHUyMzI4XHUyMzI5XHUyMzJBXHUyMzJCXHUyMzJDXHUyMzJEXHUyMzJFXHUyMzJGXHUyMzMwXHUyMzMxXHUyMzMyXHUyMzMzXHUyMzM0XHUyMzM1XHUyMzM2XHUyMzM3XHUyMzM4XHUyMzM5XHUyMzNBXHUyMzNCXHUyMzNDXHUyMzNEXHUyMzNFXHUyMzNGXHUyMzQwXHUyMzQxXHUyMzQyXHUyMzQzXHUyMzQ0XHUyMzQ1XHUyMzQ2XHUyMzQ3XHUyMzQ4XHUyMzQ5XHUyMzRBXHUyMzRCXHUyMzRDXHUyMzREXHUyMzRFXHUyMzRGXHUyMzUwXHUyMzUxXHUyMzUyXHUyMzUzXHUyMzU0XHUyMzU1XHUyMzU2XHUyMzU3XHUyMzU4XHUyMzU5XHUyMzVBXHUyMzVCXHUyMzVDXHUyMzVEXHUyMzVFXHUyMzVGXHUyMzYwXHUyMzYxXHUyMzYyXHUyMzYzXHUyMzY0XHUyMzY1XHUyMzY2XHUyMzY3XHUyMzY4XHUyMzY5XHUyMzZBXHUyMzZCXHUyMzZDXHUyMzZEXHUyMzZFXHUyMzZGXHUyMzcwXHUyMzcxXHUyMzcyXHUyMzczXHUyMzc0XHUyMzc1XHUyMzc2XHUyMzc3XHUyMzc4XHUyMzc5XHUyMzdBXHUyMzdCXHUyMzdDXHUyMzdEXHUyMzdFXHUyMzdGXHUyMzgwXHUyMzgxXHUyMzgyXHUyMzgzXHUyMzg0XHUyMzg1XHUyMzg2XHUyMzg3XHUyMzg4XHUyMzg5XHUyMzhBXHUyMzhCXHUyMzhDXHUyMzhEXHUyMzhFXHUyMzhGXHUyMzkwXHUyMzkxXHUyMzkyXHUyMzkzXHUyMzk0XHUyMzk1XHUyMzk2XHUyMzk3XHUyMzk4XHUyMzk5XHUyMzlBXHUyMzlCXHUyMzlDXHUyMzlEXHUyMzlFXHUyMzlGXHUyM0EwXHUyM0ExXHUyM0EyXHUyM0EzXHUyM0E0XHUyM0E1XHUyM0E2XHUyM0E3XHUyM0E4XHUyM0E5XHUyM0FBXHUyM0FCXHUyM0FDXHUyM0FEXHUyM0FFXHUyM0FGXHUyM0IwXHUyM0IxXHUyM0IyXHUyM0IzXHUyM0I0XHUyM0I1XHUyM0I2XHUyM0I3XHUyM0I4XHUyM0I5XHUyM0JBXHUyM0JCXHUyM0JDXHUyM0JEXHUyM0JFXHUyM0JGXHUyM0MwXHUyM0MxXHUyM0MyXHUyM0MzXHUyM0M0XHUyM0M1XHUyM0M2XHUyM0M3XHUyM0M4XHUyM0M5XHUyM0NBXHUyM0NCXHUyM0NDXHUyM0NEXHUyM0NFXHUyM0NGXHUyM0QwXHUyM0QxXHUyM0QyXHUyM0QzXHUyM0Q0XHUyM0Q1XHUyM0Q2XHUyM0Q3XHUyM0Q4XHUyM0Q5XHUyM0RBXHUyM0RCXHUyM0RDXHUyM0REXHUyM0RFXHUyM0RGXHUyM0UwXHUyM0UxXHUyM0UyXHUyM0UzXHUyM0U0XHUyM0U1XHUyM0U2XHUyM0U3XHUyM0U4XHUyM0U5XHUyM0VBXHUyM0VCXHUyM0VDXHUyM0VEXHUyM0VFXHUyM0VGXHUyM0YwXHUyM0YxXHUyM0YyXHUyM0YzXHUyM0Y0XHUyM0Y1XHUyM0Y2XHUyM0Y3XHUyM0Y4XHUyM0Y5XHUyM0ZBXHUyM0ZCXHUyM0ZDXHUyM0ZEXHUyM0ZFXHUyM0ZGIjsKaWYgKGk4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDFcdTMwMDJcdTMwMDNcdTMwMDRcdTMwMDVcdTMwMDZcdTMwMDdcdTMwMDhcdTMwMDlcdTMwMEFcdTMwMEJcdTMwMENcdTMwMERcdTMwMEVcdTMwMEZcdTMwMTBcdTMwMTFcdTMwMTJcdTMwMTNcdTMwMTRcdTMwMTVcdTMwMTZcdTMwMTdcdTMwMThcdTMwMTlcdTMwMUFcdTMwMUJcdTMwMUNcdTMwMURcdTMwMUVcdTMwMUZcdTMwMjBcdTMwMjFcdTMwMjJcdTMwMjNcdTMwMjRcdTMwMjVcdTMwMjZcdTMwMjdcdTMwMjhcdTMwMjlcdTMwMkFcdTMwMkJcdTMwMkNcdTMwMkRcdTMwMkVcdTMwMkZcdTMwMzBcdTMwMzFcdTMwMzJcdTMwMzNcdTMwMzRcdTMwMzVcdTMwMzZcdTMwMzdcdTMwMzhcdTMwMzlcdTMwM0FcdTMwM0JcdTMwM0NcdTMwM0RcdTMwM0VcdTMwM0ZcdTMwNDBcdTMwNDFcdTMwNDJcdTMwNDNcdTMwNDRcdTMwNDVcdTMwNDZcdTMwNDdcdTMwNDhcdTMwNDlcdTMwNEFcdTMwNEJcdTMwNENcdTMwNERcdTMwNEVcdTMwNEZcdTMwNTBcdTMwNTFcdTMwNTJcdTMwNTNcdTMwNTRcdTMwNTVcdTMwNTZcdTMwNTdcdTMwNThcdTMwNTlcdTMwNUFcdTMwNUJcdTMwNUNcdTMwNURcdTMwNUVcdTMwNUZcdTMwNjBcdTMwNjFcdTMwNjJcdTMwNjNcdTMwNjRcdTMwNjVcdTMwNjZcdTMwNjdcdTMwNjhcdTMwNjlcdTMwNkFcdTMwNkJcdTMwNkNcdTMwNkRcdTMwNkVcdTMwNkZcdTMwNzBcdTMwNzFcdTMwNzJcdTMwNzNcdTMwNzRcdTMwNzVcdTMwNzZcdTMwNzdcdTMwNzhcdTMwNzlcdTMwN0FcdTMwN0JcdTMwN0NcdTMwN0RcdTMwN0VcdTMwN0ZcdTMwODBcdTMwODFcdTMwODJcdTMwODNcdTMwODRcdTMwODVcdTMwODZcdTMwODdcdTMwODhcdTMwODlcdTMwOEFcdTMwOEJcdTMwOENcdTMwOERcdTMwOEVcdTMwOEZcdTMwOTBcdTMwOTFcdTMwOTJcdTMwOTNcdTMwOTRcdTMwOTVcdTMwOTZcdTMwOTdcdTMwOThcdTMwOTlcdTMwOUFcdTMwOUJcdTMwOUNcdTMwOURcdTMwOUVcdTMwOUZcdTMwQTBcdTMwQTFcdTMwQTJcdTMwQTNcdTMwQTRcdTMwQTVcdTMwQTZcdTMwQTdcdTMwQThcdTMwQTlcdTMwQUFcdTMwQUJcdTMwQUNcdTMwQURcdTMwQUVcdTMwQUZcdTMwQjBcdTMwQjFcdTMwQjJcdTMwQjNcdTMwQjRcdTMwQjVcdTMwQjZcdTMwQjdcdTMwQjhcdTMwQjlcdTMwQkFcdTMwQkJcdTMwQkNcdTMwQkRcdTMwQkVcdTMwQkZcdTMwQzBcdTMwQzFcdTMwQzJcdTMwQzNcdTMwQzRcdTMwQzVcdTMwQzZcdTMwQzdcdTMwQzhcdTMwQzlcdTMwQ0FcdTMwQ0JcdTMwQ0NcdTMwQ0RcdTMwQ0VcdTMwQ0ZcdTMwRDBcdTMwRDFcdTMwRDJcdTMwRDNcdTMwRDRcdTMwRDVcdTMwRDZcdTMwRDdcdTMwRDhcdTMwRDlcdTMwREFcdTMwREJcdTMwRENcdTMwRERcdTMwREVcdTMwREZcdTMwRTBcdTMwRTFcdTMwRTJcdTMwRTNcdTMwRTRcdTMwRTVcdTMwRTZcdTMwRTdcdTMwRThcdTMwRTlcdTMwRUFcdTMwRUJcdTMwRUNcdTMwRURcdTMwRUVcdTMwRUZcdTMwRjBcdTMwRjFcdTMwRjJcdTMwRjNcdTMwRjRcdTMwRjVcdTMwRjZcdTMwRjdcdTMwRjhcdTMwRjlcdTMwRkFcdTMwRkJcdTMwRkNcdTMwRkRcdTMwRkVcdTMwRkZcdTMxMDBcdTMxMDFcdTMxMDJcdTMxMDNcdTMxMDRcdTMxMDVcdTMxMDZcdTMxMDdcdTMxMDhcdTMxMDlcdTMxMEFcdTMxMEJcdTMxMENcdTMxMERcdTMxMEVcdTMxMEZcdTMxMTBcdTMxMTFcdTMxMTJcdTMxMTNcdTMxMTRcdTMxMTVcdTMxMTZcdTMxMTdcdTMxMThcdTMxMTlcdTMxMUFcdTMxMUJcdTMxMUNcdTMxMURcdTMxMUVcdTMxMUZcdTMxMjBcdTMxMjFcdTMxMjJcdTMxMjNcdTMxMjRcdTMxMjVcdTMxMjZcdTMxMjdcdTMxMjhcdTMxMjlcdTMxMkFcdTMxMkJcdTMxMkNcdTMxMkRcdTMxMkVcdTMxMkZcdTMxMzBcdTMxMzFcdTMxMzJcdTMxMzNcdTMxMzRcdTMxMzVcdTMxMzZcdTMxMzdcdTMxMzhcdTMxMzlcdTMxM0FcdTMxM0JcdTMxM0NcdTMxM0RcdTMxM0VcdTMxM0ZcdTMxNDBcdTMxNDFcdTMxNDJcdTMxNDNcdTMxNDRcdTMxNDVcdTMxNDZcdTMxNDdcdTMxNDhcdTMxNDlcdTMxNEFcdTMxNEJcdTMxNENcdTMxNERcdTMxNEVcdTMxNEZcdTMxNTBcdTMxNTFcdTMxNTJcdTMxNTNcdTMxNTRcdTMxNTVcdTMxNTZcdTMxNTdcdTMxNThcdTMxNTlcdTMxNUFcdTMxNUJcdTMxNUNcdTMxNURcdTMxNUVcdTMxNUZcdTMxNjBcdTMxNjFcdTMxNjJcdTMxNjNcdTMxNjRcdTMxNjVcdTMxNjZcdTMxNjdcdTMxNjhcdTMxNjlcdTMxNkFcdTMxNkJcdTMxNkNcdTMxNkRcdTMxNkVcdTMxNkZcdTMxNzBcdTMxNzFcdTMxNzJcdTMxNzNcdTMxNzRcdTMxNzVcdTMxNzZcdTMxNzdcdTMxNzhcdTMxNzlcdTMxN0FcdTMxN0JcdTMxN0NcdTMxN0RcdTMxN0VcdTMxN0ZcdTMxODBcdTMxODFcdTMxODJcdTMxODNcdTMxODRcdTMxODVcdTMxODZcdTMxODdcdTMxODhcdTMxODlcdTMxOEFcdTMxOEJcdTMxOENcdTMxOERcdTMxOEVcdTMxOEZcdTMxOTBcdTMxOTFcdTMxOTJcdTMxOTNcdTMxOTRcdTMxOTVcdTMxOTZcdTMxOTdcdTMxOThcdTMxOTlcdTMxOUFcdTMxOUJcdTMxOUNcdTMxOURcdTMxOUVcdTMxOUZcdTMxQTBcdTMxQTFcdTMxQTJcdTMxQTNcdTMxQTRcdTMxQTVcdTMxQTZcdTMxQTdcdTMxQThcdTMxQTlcdTMxQUFcdTMxQUJcdTMxQUNcdTMxQURcdTMxQUVcdTMxQUZcdTMxQjBcdTMxQjFcdTMxQjJcdTMxQjNcdTMxQjRcdTMxQjVcdTMxQjZcdTMxQjdcdTMxQjhcdTMxQjlcdTMxQkFcdTMxQkJcdTMxQkNcdTMxQkRcdTMxQkVcdTMxQkZcdTMxQzBcdTMxQzFcdTMxQzJcdTMxQzNcdTMxQzRcdTMxQzVcdTMxQzZcdTMxQzdcdTMxQzhcdTMxQzlcdTMxQ0FcdTMxQ0JcdTMxQ0NcdTMxQ0RcdTMxQ0VcdTMxQ0ZcdTMxRDBcdTMxRDFcdTMxRDJcdTMxRDNcdTMxRDRcdTMxRDVcdTMxRDZcdTMxRDdcdTMxRDhcdTMxRDlcdTMxREFcdTMxREJcdTMxRENcdTMxRERcdTMxREVcdTMxREZcdTMxRTBcdTMxRTFcdTMxRTJcdTMxRTNcdTMxRTRcdTMxRTVcdTMxRTZcdTMxRTdcdTMxRThcdTMxRTlcdTMxRUFcdTMxRUJcdTMxRUNcdTMxRURcdTMxRUVcdTMxRUZcdTMxRjBcdTMxRjFcdTMxRjJcdTMxRjNcdTMxRjRcdTMxRjVcdTMxRjZcdTMxRjdcdTMxRjhcdTMxRjlcdTMxRkFcdTMxRkJcdTMxRkNcdTMxRkRcdTMxRkVcdTMxRkZcdTMyMDBcdTMyMDFcdTMyMDJcdTMyMDNcdTMyMDRcdTMyMDVcdTMyMDZcdTMyMDdcdTMyMDhcdTMyMDlcdTMyMEFcdTMyMEJcdTMyMENcdTMyMERcdTMyMEVcdTMyMEZcdTMyMTBcdTMyMTFcdTMyMTJcdTMyMTNcdTMyMTRcdTMyMTVcdTMyMTZcdTMyMTdcdTMyMThcdTMyMTlcdTMyMUFcdTMyMUJcdTMyMUNcdTMyMURcdTMyMUVcdTMyMUZcdTMyMjBcdTMyMjFcdTMyMjJcdTMyMjNcdTMyMjRcdTMyMjVcdTMyMjZcdTMyMjdcdTMyMjhcdTMyMjlcdTMyMkFcdTMyMkJcdTMyMkNcdTMyMkRcdTMyMkVcdTMyMkZcdTMyMzBcdTMyMzFcdTMyMzJcdTMyMzNcdTMyMzRcdTMyMzVcdTMyMzZcdTMyMzdcdTMyMzhcdTMyMzlcdTMyM0FcdTMyM0JcdTMyM0NcdTMyM0RcdTMyM0VcdTMyM0ZcdTMyNDBcdTMyNDFcdTMyNDJcdTMyNDNcdTMyNDRcdTMyNDVcdTMyNDZcdTMyNDdcdTMyNDhcdTMyNDlcdTMyNEFcdTMyNEJcdTMyNENcdTMyNERcdTMyNEVcdTMyNEZcdTMyNTBcdTMyNTFcdTMyNTJcdTMyNTNcdTMyNTRcdTMyNTVcdTMyNTZcdTMyNTdcdTMyNThcdTMyNTlcdTMyNUFcdTMyNUJcdTMyNUNcdTMyNURcdTMyNUVcdTMyNUZcdTMyNjBcdTMyNjFcdTMyNjJcdTMyNjNcdTMyNjRcdTMyNjVcdTMyNjZcdTMyNjdcdTMyNjhcdTMyNjlcdTMyNkFcdTMyNkJcdTMyNkNcdTMyNkRcdTMyNkVcdTMyNkZcdTMyNzBcdTMyNzFcdTMyNzJcdTMyNzNcdTMyNzRcdTMyNzVcdTMyNzZcdTMyNzdcdTMyNzhcdTMyNzlcdTMyN0FcdTMyN0JcdTMyN0NcdTMyN0RcdTMyN0VcdTMyN0ZcdTMyODBcdTMyODFcdTMyODJcdTMyODNcdTMyODRcdTMyODVcdTMyODZcdTMyODdcdTMyODhcdTMyODlcdTMyOEFcdTMyOEJcdTMyOENcdTMyOERcdTMyOEVcdTMyOEZcdTMyOTBcdTMyOTFcdTMyOTJcdTMyOTNcdTMyOTRcdTMyOTVcdTMyOTZcdTMyOTdcdTMyOThcdTMyOTlcdTMyOUFcdTMyOUJcdTMyOUNcdTMyOURcdTMyOUVcdTMyOUZcdTMyQTBcdTMyQTFcdTMyQTJcdTMyQTNcdTMyQTRcdTMyQTVcdTMyQTZcdTMyQTdcdTMyQThcdTMyQTlcdTMyQUFcdTMyQUJcdTMyQUNcdTMyQURcdTMyQUVcdTMyQUZcdTMyQjBcdTMyQjFcdTMyQjJcdTMyQjNcdTMyQjRcdTMyQjVcdTMyQjZcdTMyQjdcdTMyQjhcdTMyQjlcdTMyQkFcdTMyQkJcdTMyQkNcdTMyQkRcdTMyQkVcdTMyQkZcdTMyQzBcdTMyQzFcdTMyQzJcdTMyQzNcdTMyQzRcdTMyQzVcdTMyQzZcdTMyQzdcdTMyQzhcdTMyQzlcdTMyQ0FcdTMyQ0JcdTMyQ0NcdTMyQ0RcdTMyQ0VcdTMyQ0ZcdTMyRDBcdTMyRDFcdTMyRDJcdTMyRDNcdTMyRDRcdTMyRDVcdTMyRDZcdTMyRDdcdTMyRDhcdTMyRDlcdTMyREFcdTMyREJcdTMyRENcdTMyRERcdTMyREVcdTMyREZcdTMyRTBcdTMyRTFcdTMyRTJcdTMyRTNcdTMyRTRcdTMyRTVcdTMyRTZcdTMyRTdcdTMyRThcdTMyRTlcdTMyRUFcdTMyRUJcdTMyRUNcdTMyRURcdTMyRUVcdTMyRUZcdTMyRjBcdTMyRjFcdTMyRjJcdTMyRjNcdTMyRjRcdTMyRjVcdTMyRjZcdTMyRjdcdTMyRjhcdTMyRjlcdTMyRkFcdTMyRkJcdTMyRkNcdTMyRkRcdTMyRkVcdTMyRkZcdTMzMDBcdTMzMDFcdTMzMDJcdTMzMDNcdTMzMDRcdTMzMDVcdTMzMDZcdTMzMDdcdTMzMDhcdTMzMDlcdTMzMEFcdTMzMEJcdTMzMENcdTMzMERcdTMzMEVcdTMzMEZcdTMzMTBcdTMzMTFcdTMzMTJcdTMzMTNcdTMzMTRcdTMzMTVcdTMzMTZcdTMzMTdcdTMzMThcdTMzMTlcdTMzMUFcdTMzMUJcdTMzMUNcdTMzMURcdTMzMUVcdTMzMUZcdTMzMjBcdTMzMjFcdTMzMjJcdTMzMjNcdTMzMjRcdTMzMjVcdTMzMjZcdTMzMjdcdTMzMjhcdTMzMjlcdTMzMkFcdTMzMkJcdTMzMkNcdTMzMkRcdTMzMkVcdTMzMkZcdTMzMzBcdTMzMzFcdTMzMzJcdTMzMzNcdTMzMzRcdTMzMzVcdTMzMzZcdTMzMzdcdTMzMzhcdTMzMzlcdTMzM0FcdTMzM0JcdTMzM0NcdTMzM0RcdTMzM0VcdTMzM0ZcdTMzNDBcdTMzNDFcdTMzNDJcdTMzNDNcdTMzNDRcdTMzNDVcdTMzNDZcdTMzNDdcdTMzNDhcdTMzNDlcdTMzNEFcdTMzNEJcdTMzNENcdTMzNERcdTMzNEVcdTMzNEZcdTMzNTBcdTMzNTFcdTMzNTJcdTMzNTNcdTMzNTRcdTMzNTVcdTMzNTZcdTMzNTdcdTMzNThcdTMzNTlcdTMzNUFcdTMzNUJcdTMzNUNcdTMzNURcdTMzNUVcdTMzNUZcdTMzNjBcdTMzNjFcdTMzNjJcdTMzNjNcdTMzNjRcdTMzNjVcdTMzNjZcdTMzNjdcdTMzNjhcdTMzNjlcdTMzNkFcdTMzNkJcdTMzNkNcdTMzNkRcdTMzNkVcdTMzNkZcdTMzNzBcdTMzNzFcdTMzNzJcdTMzNzNcdTMzNzRcdTMzNzVcdTMzNzZcdTMzNzdcdTMzNzhcdTMzNzlcdTMzN0FcdTMzN0JcdTMzN0NcdTMzN0RcdTMzN0VcdTMzN0ZcdTMzODBcdTMzODFcdTMzODJcdTMzODNcdTMzODRcdTMzODVcdTMzODZcdTMzODdcdTMzODhcdTMzODlcdTMzOEFcdTMzOEJcdTMzOENcdTMzOERcdTMzOEVcdTMzOEZcdTMzOTBcdTMzOTFcdTMzOTJcdTMzOTNcdTMzOTRcdTMzOTVcdTMzOTZcdTMzOTdcdTMzOThcdTMzOTlcdTMzOUFcdTMzOUJcdTMzOUNcdTMzOURcdTMzOUVcdTMzOUZcdTMzQTBcdTMzQTFcdTMzQTJcdTMzQTNcdTMzQTRcdTMzQTVcdTMzQTZcdTMzQTdcdTMzQThcdTMzQTlcdTMzQUFcdTMzQUJcdTMzQUNcdTMzQURcdTMzQUVcdTMzQUZcdTMzQjBcdTMzQjFcdTMzQjJcdTMzQjNcdTMzQjRcdTMzQjVcdTMzQjZcdTMzQjdcdTMzQjhcdTMzQjlcdTMzQkFcdTMzQkJcdTMzQkNcdTMzQkRcdTMzQkVcdTMzQkZcdTMzQzBcdTMzQzFcdTMzQzJcdTMzQzNcdTMzQzRcdTMzQzVcdTMzQzZcdTMzQzdcdTMzQzhcdTMzQzlcdTMzQ0FcdTMzQ0JcdTMzQ0NcdTMzQ0RcdTMzQ0VcdTMzQ0ZcdTMzRDBcdTMzRDFcdTMzRDJcdTMzRDNcdTMzRDRcdTMzRDVcdTMzRDZcdTMzRDdcdTMzRDhcdTMzRDlcdTMzREFcdTMzREJcdTMzRENcdTMzRERcdTMzREVcdTMzREZcdTMzRTBcdTMzRTFcdTMzRTJcdTMzRTNcdTMzRTRcdTMzRTVcdTMzRTZcdTMzRTdcdTMzRThcdTMzRTlcdTMzRUFcdTMzRUJcdTMzRUNcdTMzRURcdTMzRUVcdTMzRUZcdTMzRjBcdTMzRjFcdTMzRjJcdTMzRjNcdTMzRjRcdTMzRjVcdTMzRjZcdTMzRjdcdTMzRjhcdTMzRjlcdTMzRkFcdTMzRkJcdTMzRkNcdTMzRkRcdTMzRkVcdTMzRkYiOwppZiAoaTEyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSBpMTM7CmlmIChpMTMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9IGkxNDsKaWYgKGkxNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTQpIHsKICAkRVJST1IoIiMxNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDM4MDAgYW5kIDNiZmYiKTsKfQoKdmFyIGkxNSA9ICIiOwpmb3IgKHZhciBqID0gMTUzNjA7IGogPCAxNjM4NDsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSBpMTY7CmlmIChpMTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDQ0MDAgYW5kIDQ3ZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gMTg0MzI7IGogPCAxOTQ1NjsgaisrKQogIGkxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4ID0gaTE4OwppZiAoaTE4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSBpMTk7CmlmIChpMTkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDUwMDAgYW5kIDUzZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gMjE1MDQ7IGogPCAyMjUyODsgaisrKQogIGkyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxID0gaTIxOwppZiAoaTIxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSBpMjI7CmlmIChpMjIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDVjMDAgYW5kIDVmZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gMjQ1NzY7IGogPCAyNTYwMDsgaisrKQogIGkyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0ID0gaTI0OwppZiAoaTI0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSBpMjU7CmlmIChpMjUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDY4MDAgYW5kIDZiZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gMjc2NDg7IGogPCAyODY3MjsgaisrKQogIGkyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI3ID0gaTI3OwppZiAoaTI3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSBpMjg7CmlmIChpMjgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDc0MDAgYW5kIDc3ZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjA7IGogPCAzMTc0NDsgaisrKQogIGkzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMwID0gaTMwOwppZiAoaTMwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSBpMzE7CmlmIChpMzEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDgwMDAgYW5kIDgzZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gMzM3OTI7IGogPCAzNDgxNjsgaisrKQogIGkzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMzID0gaTMzOwppZiAoaTMzLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSBpMzQ7CmlmIChpMzQucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDhjMDAgYW5kIDhmZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gMzY4NjQ7IGogPCAzNzg4ODsgaisrKQogIGkzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM2ID0gaTM2OwppZiAoaTM2LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSBpMzc7CmlmIChpMzcucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDk4MDAgYW5kIDliZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gMzk5MzY7IGogPCA0MDk2MDsgaisrKQogIGkzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM5ID0gaTM5OwppZiAoaTM5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSBpNDA7CmlmIChpNDAucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9IGk0MTsKaWYgKGk0MS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDEpIHsKICAkRVJST1IoIiM0MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGE0MDAgYW5kIGE3ZmYiKTsKfQoKdmFyIGk0MiA9ICIiOwpmb3IgKHZhciBqID0gNDMwMDg7IGogPCA0NDAzMjsgaisrKQogIGk0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQyID0gaTQyOwppZiAoaTQyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSBpNDM7CmlmIChpNDMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9IGk0NDsKaWYgKGk0NC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDQpIHsKICAkRVJST1IoIiM0NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGIwMDAgYW5kIGIzZmYiKTsKfQoKdmFyIGk0NSA9ICIiOwpmb3IgKHZhciBqID0gNDYwODA7IGogPCA0NzEwNDsgaisrKQogIGk0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ1ID0gaTQ1OwppZiAoaTQ1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSBpNDY7CmlmIChpNDYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9IGk0NzsKaWYgKGk0Ny5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDcpIHsKICAkRVJST1IoIiM0NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGJjMDAgYW5kIGJmZmYiKTsKfQoKdmFyIGk0OCA9ICIiOwpmb3IgKHZhciBqID0gNDkxNTI7IGogPCA1MDE3NjsgaisrKQogIGk0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ4ID0gaTQ4OwppZiAoaTQ4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSBpNDk7CmlmIChpNDkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9IGk1MDsKaWYgKGk1MC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTApIHsKICAkRVJST1IoIiM1MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGM4MDAgYW5kIGNiZmYiKTsKfQoKdmFyIGk1MSA9ICIiOwpmb3IgKHZhciBqID0gNTIyMjQ7IGogPCA1MzI0ODsgaisrKQogIGk1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUxID0gaTUxOwppZiAoaTUxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSBpNTI7CmlmIChpNTIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9IGk1MzsKaWYgKGk1My5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTMpIHsKICAkRVJST1IoIiM1MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGQ0MDAgYW5kIGQ3ZmYiKTsKfQoKdmFyIGk1NCA9ICIiOwpmb3IgKHZhciBqID0gNTUyOTY7IGogPCA1NjMyMDsgaisrKQogIGk1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU0ID0gaTU0OwppZiAoaTU0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSBpNTU7CmlmIChpNTUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9IGk1NjsKaWYgKGk1Ni5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTYpIHsKICAkRVJST1IoIiM1NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGUwMDAgYW5kIGUzZmYiKTsKfQoKdmFyIGk1NyA9ICIiOwpmb3IgKHZhciBqID0gNTgzNjg7IGogPCA1OTM5MjsgaisrKQogIGk1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU3ID0gaTU3OwppZiAoaTU3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSBpNTg7CmlmIChpNTgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9IGk1OTsKaWYgKGk1OS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTkpIHsKICAkRVJST1IoIiM1OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGVjMDAgYW5kIGVmZmYiKTsKfQoKdmFyIGk2MCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDA7IGogPCA2MjQ2NDsgaisrKQogIGk2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYwID0gaTYwOwppZiAoaTYwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSBpNjE7CmlmIChpNjEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9IGk2MjsKaWYgKGk2Mi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNjIpIHsKICAkRVJST1IoIiM2MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGY4MDAgYW5kIGZiZmYiKTsKfQoKdmFyIGk2MyA9ICIiOwpmb3IgKHZhciBqID0gNjQ1MTI7IGogPCA2NTUzNjsgaisrKSB7CiAgaWYgKGo9PT02NTI3OSkgeyBjb250aW51ZTt9IC8vSWdub3JlIEJPTQogIGk2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp9CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9ccy9nLCAiIikgIT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gTGluZVRlcm1pbmF0b3IKICovCgovL0NIRUNLIzEKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUwMDBBIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MDAwQSIpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MjAyOCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MjAyOCIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTIwMjgiKTsgYXJyWzBdID09PSAiXFx1MjAyOCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgovL0NIRUNLIzQKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUyMDI5Iik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUyMDI5IikpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MjAyOSIpOyBhcnJbMF0gPT09ICJcXHUyMDI5Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRU5HTElTSCBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUlVTU0lBTiBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCcpOwp9Cgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpcyAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIicKICovCgovL0NIRUNLIzEKdmFyIG5vbl9zID0gIjAxMjM0NTY3ODlfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwppZiAoL1xzLy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tcycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKdmFyIHJlZ2V4cF9zID0gL1xzL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9zLmV4ZWMobm9uX1MpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl9TLmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMyOiBub24tUycpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGl0ZVNwYWNlCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMTAyNDsgaisrKQogIGkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMCA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTAiOwppZiAoaTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzApIHsKICAkRVJST1IoIiMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMCBhbmQgM2ZmIik7Cn0KCnZhciBpMSA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDsgaiA8IDIwNDg7IGorKykKICBpMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEgPSAiIjsKaWYgKGkxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xKSB7CiAgJEVSUk9SKCIjMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMCBhbmQgN2ZmIik7Cn0KCnZhciBpMiA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODsgaiA8IDMwNzI7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSAiIjsKaWYgKGkyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDgwMCBhbmQgYmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjsgaiA8IDQwOTY7IGorKykKICBpMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMgPSAiIjsKaWYgKGkzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zKSB7CiAgJEVSUk9SKCIjMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGMwMCBhbmQgZmZmIik7Cn0KCnZhciBpNCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDUxMjA7IGorKykKICBpNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQgPSAiIjsKaWYgKGk0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80KSB7CiAgJEVSUk9SKCIjNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSA1MTIwOyBqIDwgNjE0NDsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9ICJcdTE2ODAiOwppZiAoaTUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMTQwMCBhbmQgMTdmZiIpOwp9Cgp2YXIgaTYgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQ7IGogPCA3MTY4OyBqKyspCiAgaTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82ID0gIlx1MTgwRSI7CmlmIChpNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNikgewogICRFUlJPUigiIzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAxODAwIGFuZCAxYmZmIik7Cn0KCnZhciBpNyA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDgxOTI7IGorKykKICBpNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcgPSAiIjsKaWYgKGk3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG83KSB7CiAgJEVSUk9SKCIjNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSA4MTkyOyBqIDwgOTIxNjsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9ICJcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUYiOwppZiAoaTgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjAwMCBhbmQgMjNmZiIpOwp9Cgp2YXIgaTkgPSAiIjsKZm9yICh2YXIgaiA9IDkyMTY7IGogPCAxMDI0MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9ICIiOwppZiAoaTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjQwMCBhbmQgMjdmZiIpOwp9Cgp2YXIgaTEwID0gIiI7CmZvciAodmFyIGogPSAxMDI0MDsgaiA8IDExMjY0OyBqKyspCiAgaTEwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTAgPSAiIjsKaWYgKGkxMC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDJiZmYiKTsKfQoKdmFyIGkxMSA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMjI4ODsgaisrKQogIGkxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExID0gIiI7CmlmIChpMTEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDAiOwppZiAoaTEyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSAiIjsKaWYgKGkxMy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGkxNCA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNTM2MDsgaisrKQogIGkxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0ID0gIiI7CmlmIChpMTQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9ICIiOwppZiAoaTE1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSAiIjsKaWYgKGkxNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxODQzMjsgaisrKQogIGkxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3ID0gIiI7CmlmIChpMTcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9ICIiOwppZiAoaTE4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSAiIjsKaWYgKGkxOS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMTUwNDsgaisrKQogIGkyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwID0gIiI7CmlmIChpMjAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9ICIiOwppZiAoaTIxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSAiIjsKaWYgKGkyMi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDViZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyNDU3NjsgaisrKQogIGkyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzID0gIiI7CmlmIChpMjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9ICIiOwppZiAoaTI0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSAiIjsKaWYgKGkyNS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDY0MDAgYW5kIDY3ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gMjY2MjQ7IGogPCAyNzY0ODsgaisrKQogIGkyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI2ID0gIiI7CmlmIChpMjYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9ICIiOwppZiAoaTI3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSAiIjsKaWYgKGkyOC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDcwMDAgYW5kIDczZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gMjk2OTY7IGogPCAzMDcyMDsgaisrKQogIGkyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI5ID0gIiI7CmlmIChpMjkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9ICIiOwppZiAoaTMwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSAiIjsKaWYgKGkzMS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDdjMDAgYW5kIDdmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gMzI3Njg7IGogPCAzMzc5MjsgaisrKQogIGkzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMyID0gIiI7CmlmIChpMzIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9ICIiOwppZiAoaTMzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSAiIjsKaWYgKGkzNC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDg4MDAgYW5kIDhiZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gMzU4NDA7IGogPCAzNjg2NDsgaisrKQogIGkzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM1ID0gIiI7CmlmIChpMzUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9ICIiOwppZiAoaTM2LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSAiIjsKaWYgKGkzNy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDk0MDAgYW5kIDk3ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gMzg5MTI7IGogPCAzOTkzNjsgaisrKQogIGkzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM4ID0gIiI7CmlmIChpMzgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9ICIiOwppZiAoaTM5LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSAiIjsKaWYgKGk0MC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGEwMDAgYW5kIGEzZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gNDE5ODQ7IGogPCA0MzAwODsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gIiI7CmlmIChpNDEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9ICIiOwppZiAoaTQyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSAiIjsKaWYgKGk0My5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGFjMDAgYW5kIGFmZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gNDUwNTY7IGogPCA0NjA4MDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gIiI7CmlmIChpNDQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9ICIiOwppZiAoaTQ1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSAiIjsKaWYgKGk0Ni5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGI4MDAgYW5kIGJiZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gNDgxMjg7IGogPCA0OTE1MjsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gIiI7CmlmIChpNDcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9ICIiOwppZiAoaTQ4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSAiIjsKaWYgKGk0OS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGM0MDAgYW5kIGM3ZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDA7IGogPCA1MjIyNDsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gIiI7CmlmIChpNTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9ICIiOwppZiAoaTUxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSAiIjsKaWYgKGk1Mi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGQwMDAgYW5kIGQzZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gNTQyNzI7IGogPCA1NTI5NjsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gIiI7CmlmIChpNTMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9ICIiOwppZiAoaTU0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSAiIjsKaWYgKGk1NS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGRjMDAgYW5kIGRmZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gNTczNDQ7IGogPCA1ODM2ODsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gIiI7CmlmIChpNTYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9ICIiOwppZiAoaTU3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSAiIjsKaWYgKGk1OC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGU4MDAgYW5kIGViZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gNjA0MTY7IGogPCA2MTQ0MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gIiI7CmlmIChpNTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9ICIiOwppZiAoaTYwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSAiIjsKaWYgKGk2MS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGY0MDAgYW5kIGY3ZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gNjM0ODg7IGogPCA2NDUxMjsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gIiI7CmlmIChpNjIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykgewogIGlmIChqPT09NjUyNzkpIHsgY29udGludWU7fSAvL0lnbm9yZSBCT00KICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKfQp2YXIgbzYzID0gIiI7CmlmIChpNjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9cUy9nLCAiIikgPT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBMaW5lVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTAwMEEiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUwMDBBIik7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUwMDBEIik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MDAwRCIpOyBhcnJbMF0gPT09ICJcXHUwMDBEIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUyMDI4Iik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MjAyOCIpOyBhcnJbMF0gPT09ICJcXHUyMDI4Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTIwMjkiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUyMDI5Iik7IGFyclswXSA9PT0gIlxcdTIwMjkiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGFscGhhID0gMHgwMDQxOyBhbHBoYSA8PSAweDAwNUE7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfUy5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGIAp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICIwMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVp+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3MgPSAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIic7CnZhciByZWdleHBfUyA9IC9cUy9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfUy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fcy5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLXMnKTsKfSAgCgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKaWYgKC9cUy8uZXhlYyhub25fUykgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLVMnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEEgLSBaCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMjU2OyBqKyspCiAgaTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8wID0gIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRlx1MDAyMFx1MDAyMVx1MDAyMlx1MDAyM1x1MDAyNFx1MDAyNVx1MDAyNlx1MDAyN1x1MDAyOFx1MDAyOVx1MDAyQVx1MDAyQlx1MDAyQ1x1MDAyRFx1MDAyRVx1MDAyRlx1MDAzQVx1MDAzQlx1MDAzQ1x1MDAzRFx1MDAzRVx1MDAzRlx1MDA0MFx1MDA1Qlx1MDA1Q1x1MDA1RFx1MDA1RVx1MDA2MFx1MDA3Qlx1MDA3Q1x1MDA3RFx1MDA3RVx1MDA3Rlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDBEMFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDBERVx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDBGMFx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDBGRVx1MDBGRiI7CmlmIChpMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMCkgewogICRFUlJPUigiIzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAwIGFuZCBmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDI1NjsgaiA8IDUxMjsgaisrKQogIGkxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMSA9IGkxOwppZiAoaTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzEpIHsKICAkRVJST1IoIiMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMTAwIGFuZCAxZmYiKTsKfQoKdmFyIGkyID0gIiI7CmZvciAodmFyIGogPSA1MTI7IGogPCA3Njg7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSBpMjsKaWYgKGkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMCBhbmQgMmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gNzY4OyBqIDwgMTAyNDsgaisrKQogIGkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMyA9IGkzOwppZiAoaTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzMpIHsKICAkRVJST1IoIiMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwIGFuZCAzZmYiKTsKfQoKdmFyIGk0ID0gIiI7CmZvciAodmFyIGogPSAxMDI0OyBqIDwgMTI4MDsgaisrKQogIGk0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNCA9IGk0OwppZiAoaTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQpIHsKICAkRVJST1IoIiM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwIGFuZCA0ZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSAxMjgwOyBqIDwgMTUzNjsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9IGk1OwppZiAoaTUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwIGFuZCA1ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSAxNTM2OyBqIDwgMTc5MjsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwIGFuZCA2ZmYiKTsKfQoKdmFyIGk3ID0gIiI7CmZvciAodmFyIGogPSAxNzkyOyBqIDwgMjA0ODsgaisrKQogIGk3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNyA9IGk3OwppZiAoaTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcpIHsKICAkRVJST1IoIiM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwIGFuZCA3ZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSAyMDQ4OyBqIDwgMjMwNDsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9IGk4OwppZiAoaTgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwIGFuZCA4ZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSAyMzA0OyBqIDwgMjU2MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9IGk5OwppZiAoaTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwIGFuZCA5ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDsgaiA8IDI4MTY7IGorKykKICBpMTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMCA9IGkxMDsKaWYgKGkxMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGEwMCBhbmQgYWZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDI4MTY7IGogPCAzMDcyOyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAzMDcyOyBqIDwgMzMyODsgaisrKQogIGkxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyID0gaTEyOwppZiAoaTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwIGFuZCBjZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMzMyODsgaiA8IDM1ODQ7IGorKykKICBpMTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMyA9IGkxMzsKaWYgKGkxMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGQwMCBhbmQgZGZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQ7IGogPCAzODQwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAgYW5kIGVmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAzODQwOyBqIDwgNDA5NjsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwIGFuZCBmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDQzNTI7IGorKykKICBpMTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNiA9IGkxNjsKaWYgKGkxNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEwZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gNDM1MjsgaiA8IDQ2MDg7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDExMDAgYW5kIDExZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gNDYwODsgaiA8IDQ4NjQ7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEyMDAgYW5kIDEyZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gNDg2NDsgaiA8IDUxMjA7IGorKykKICBpMTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOSA9IGkxOTsKaWYgKGkxOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEzMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDUzNzY7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE0ZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gNTM3NjsgaiA8IDU2MzI7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE1MDAgYW5kIDE1ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjsgaiA8IDU4ODg7IGorKykKICBpMjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMiA9IGkyMjsKaWYgKGkyMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE2MDAgYW5kIDE2ZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gNTg4ODsgaiA8IDYxNDQ7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE3MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDsgaiA8IDY0MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE4MDAgYW5kIDE4ZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gNjQwMDsgaiA8IDY2NTY7IGorKykKICBpMjUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNSA9IGkyNTsKaWYgKGkyNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE5MDAgYW5kIDE5ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gNjY1NjsgaiA8IDY5MTI7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFhMDAgYW5kIDFhZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gNjkxMjsgaiA8IDcxNjg7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFiMDAgYW5kIDFiZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDc0MjQ7IGorKykKICBpMjggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOCA9IGkyODsKaWYgKGkyOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFjZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gNzQyNDsgaiA8IDc2ODA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFkMDAgYW5kIDFkZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gNzY4MDsgaiA8IDc5MzY7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFlMDAgYW5kIDFlZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gNzkzNjsgaiA8IDgxOTI7IGorKykKICBpMzEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMSA9IGkzMTsKaWYgKGkzMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFmMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDg0NDg7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIwZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gODQ0ODsgaiA8IDg3MDQ7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIxMDAgYW5kIDIxZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gODcwNDsgaiA8IDg5NjA7IGorKykKICBpMzQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNCA9IGkzNDsKaWYgKGkzNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIyMDAgYW5kIDIyZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gODk2MDsgaiA8IDkyMTY7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIzMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gOTIxNjsgaiA8IDk0NzI7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI0ZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gOTQ3MjsgaiA8IDk3Mjg7IGorKykKICBpMzcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNyA9IGkzNzsKaWYgKGkzNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI1MDAgYW5kIDI1ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gOTcyODsgaiA8IDk5ODQ7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI2MDAgYW5kIDI2ZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gOTk4NDsgaiA8IDEwMjQwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSBpMzk7CmlmIChpMzkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzM5KSB7CiAgJEVSUk9SKCIjMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyNzAwIGFuZCAyN2ZmIik7Cn0KCnZhciBpNDAgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQwOyBqIDwgMTA0OTY7IGorKykKICBpNDAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MCA9IGk0MDsKaWYgKGk0MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDI4ZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gMTA0OTY7IGogPCAxMDc1MjsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gaTQxOwppZiAoaTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMjkwMCBhbmQgMjlmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSAxMDc1MjsgaiA8IDExMDA4OyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSBpNDI7CmlmIChpNDIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQyKSB7CiAgJEVSUk9SKCIjNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyYTAwIGFuZCAyYWZmIik7Cn0KCnZhciBpNDMgPSAiIjsKZm9yICh2YXIgaiA9IDExMDA4OyBqIDwgMTEyNjQ7IGorKykKICBpNDMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MyA9IGk0MzsKaWYgKGk0My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJiMDAgYW5kIDJiZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMTUyMDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gaTQ0OwppZiAoaTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSAxMTUyMDsgaiA8IDExNzc2OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSBpNDU7CmlmIChpNDUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ1KSB7CiAgJEVSUk9SKCIjNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyZDAwIGFuZCAyZGZmIik7Cn0KCnZhciBpNDYgPSAiIjsKZm9yICh2YXIgaiA9IDExNzc2OyBqIDwgMTIwMzI7IGorKykKICBpNDYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NiA9IGk0NjsKaWYgKGk0Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJlMDAgYW5kIDJlZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gMTIwMzI7IGogPCAxMjI4ODsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gaTQ3OwppZiAoaTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmYwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEyNTQ0OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSBpNDg7CmlmIChpNDgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ4KSB7CiAgJEVSUk9SKCIjNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMDAwIGFuZCAzMGZmIik7Cn0KCnZhciBpNDkgPSAiIjsKZm9yICh2YXIgaiA9IDEyNTQ0OyBqIDwgMTI4MDA7IGorKykKICBpNDkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OSA9IGk0OTsKaWYgKGk0OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDMxMDAgYW5kIDMxZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gMTI4MDA7IGogPCAxMzA1NjsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gaTUwOwppZiAoaTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzIwMCBhbmQgMzJmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSAxMzA1NjsgaiA8IDEzMzEyOyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSBpNTE7CmlmIChpNTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUxKSB7CiAgJEVSUk9SKCIjNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMzAwIGFuZCAzM2ZmIik7Cn0KCnZhciBpNTIgPSAiIjsKZm9yICh2YXIgaiA9IDEzMzEyOyBqIDwgMTM1Njg7IGorKykKICBpNTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MiA9IGk1MjsKaWYgKGk1Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM0ZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gMTM1Njg7IGogPCAxMzgyNDsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gaTUzOwppZiAoaTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzUwMCBhbmQgMzVmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSAxMzgyNDsgaiA8IDE0MDgwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSBpNTQ7CmlmIChpNTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU0KSB7CiAgJEVSUk9SKCIjNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzNjAwIGFuZCAzNmZmIik7Cn0KCnZhciBpNTUgPSAiIjsKZm9yICh2YXIgaiA9IDE0MDgwOyBqIDwgMTQzMzY7IGorKykKICBpNTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NSA9IGk1NTsKaWYgKGk1NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM3MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNDU5MjsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gaTU2OwppZiAoaTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgMzhmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSAxNDU5MjsgaiA8IDE0ODQ4OyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSBpNTc7CmlmIChpNTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU3KSB7CiAgJEVSUk9SKCIjNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzOTAwIGFuZCAzOWZmIik7Cn0KCnZhciBpNTggPSAiIjsKZm9yICh2YXIgaiA9IDE0ODQ4OyBqIDwgMTUxMDQ7IGorKykKICBpNTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OCA9IGk1ODsKaWYgKGk1OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNhMDAgYW5kIDNhZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gMTUxMDQ7IGogPCAxNTM2MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gaTU5OwppZiAoaTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2IwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE1NjE2OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSBpNjA7CmlmIChpNjAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYwKSB7CiAgJEVSUk9SKCIjNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzYzAwIGFuZCAzY2ZmIik7Cn0KCnZhciBpNjEgPSAiIjsKZm9yICh2YXIgaiA9IDE1NjE2OyBqIDwgMTU4NzI7IGorKykKICBpNjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MSA9IGk2MTsKaWYgKGk2MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNkMDAgYW5kIDNkZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gMTU4NzI7IGogPCAxNjEyODsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gaTYyOwppZiAoaTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2UwMCBhbmQgM2VmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSAxNjEyODsgaiA8IDE2Mzg0OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzZjAwIGFuZCAzZmZmIik7Cn0KCnZhciBpNjQgPSAiIjsKZm9yICh2YXIgaiA9IDE2Mzg0OyBqIDwgMTY2NDA7IGorKykKICBpNjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NCA9IGk2NDsKaWYgKGk2NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjQpIHsKICAkRVJST1IoIiM2NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQwZmYiKTsKfQoKdmFyIGk2NSA9ICIiOwpmb3IgKHZhciBqID0gMTY2NDA7IGogPCAxNjg5NjsgaisrKQogIGk2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY1ID0gaTY1OwppZiAoaTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82NSkgewogICRFUlJPUigiIzY1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDEwMCBhbmQgNDFmZiIpOwp9Cgp2YXIgaTY2ID0gIiI7CmZvciAodmFyIGogPSAxNjg5NjsgaiA8IDE3MTUyOyBqKyspCiAgaTY2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjYgPSBpNjY7CmlmIChpNjYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY2KSB7CiAgJEVSUk9SKCIjNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0MjAwIGFuZCA0MmZmIik7Cn0KCnZhciBpNjcgPSAiIjsKZm9yICh2YXIgaiA9IDE3MTUyOyBqIDwgMTc0MDg7IGorKykKICBpNjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NyA9IGk2NzsKaWYgKGk2Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjcpIHsKICAkRVJST1IoIiM2NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQzMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGk2OCA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxNzY2NDsgaisrKQogIGk2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY4ID0gaTY4OwppZiAoaTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82OCkgewogICRFUlJPUigiIzY4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDRmZiIpOwp9Cgp2YXIgaTY5ID0gIiI7CmZvciAodmFyIGogPSAxNzY2NDsgaiA8IDE3OTIwOyBqKyspCiAgaTY5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjkgPSBpNjk7CmlmIChpNjkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY5KSB7CiAgJEVSUk9SKCIjNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0NTAwIGFuZCA0NWZmIik7Cn0KCnZhciBpNzAgPSAiIjsKZm9yICh2YXIgaiA9IDE3OTIwOyBqIDwgMTgxNzY7IGorKykKICBpNzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MCA9IGk3MDsKaWYgKGk3MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzApIHsKICAkRVJST1IoIiM3MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ2MDAgYW5kIDQ2ZmYiKTsKfQoKdmFyIGk3MSA9ICIiOwpmb3IgKHZhciBqID0gMTgxNzY7IGogPCAxODQzMjsgaisrKQogIGk3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcxID0gaTcxOwppZiAoaTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83MSkgewogICRFUlJPUigiIzcxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDcwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTcyID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE4Njg4OyBqKyspCiAgaTcyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzIgPSBpNzI7CmlmIChpNzIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcyKSB7CiAgJEVSUk9SKCIjNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ODAwIGFuZCA0OGZmIik7Cn0KCnZhciBpNzMgPSAiIjsKZm9yICh2YXIgaiA9IDE4Njg4OyBqIDwgMTg5NDQ7IGorKykKICBpNzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MyA9IGk3MzsKaWYgKGk3My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzMpIHsKICAkRVJST1IoIiM3MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ5MDAgYW5kIDQ5ZmYiKTsKfQoKdmFyIGk3NCA9ICIiOwpmb3IgKHZhciBqID0gMTg5NDQ7IGogPCAxOTIwMDsgaisrKQogIGk3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc0ID0gaTc0OwppZiAoaTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NCkgewogICRFUlJPUigiIzc0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGEwMCBhbmQgNGFmZiIpOwp9Cgp2YXIgaTc1ID0gIiI7CmZvciAodmFyIGogPSAxOTIwMDsgaiA8IDE5NDU2OyBqKyspCiAgaTc1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzUgPSBpNzU7CmlmIChpNzUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc1KSB7CiAgJEVSUk9SKCIjNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0YjAwIGFuZCA0YmZmIik7Cn0KCnZhciBpNzYgPSAiIjsKZm9yICh2YXIgaiA9IDE5NDU2OyBqIDwgMTk3MTI7IGorKykKICBpNzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83NiA9IGk3NjsKaWYgKGk3Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzYpIHsKICAkRVJST1IoIiM3NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRjZmYiKTsKfQoKdmFyIGk3NyA9ICIiOwpmb3IgKHZhciBqID0gMTk3MTI7IGogPCAxOTk2ODsgaisrKQogIGk3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc3ID0gaTc3OwppZiAoaTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NykgewogICRFUlJPUigiIzc3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGQwMCBhbmQgNGRmZiIpOwp9Cgp2YXIgaTc4ID0gIiI7CmZvciAodmFyIGogPSAxOTk2ODsgaiA8IDIwMjI0OyBqKyspCiAgaTc4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzggPSBpNzg7CmlmIChpNzgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc4KSB7CiAgJEVSUk9SKCIjNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ZTAwIGFuZCA0ZWZmIik7Cn0KCnZhciBpNzkgPSAiIjsKZm9yICh2YXIgaiA9IDIwMjI0OyBqIDwgMjA0ODA7IGorKykKICBpNzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83OSA9IGk3OTsKaWYgKGk3OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzkpIHsKICAkRVJST1IoIiM3OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRmMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGk4MCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMDczNjsgaisrKQogIGk4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgwID0gaTgwOwppZiAoaTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MCkgewogICRFUlJPUigiIzgwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTBmZiIpOwp9Cgp2YXIgaTgxID0gIiI7CmZvciAodmFyIGogPSAyMDczNjsgaiA8IDIwOTkyOyBqKyspCiAgaTgxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODEgPSBpODE7CmlmIChpODEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgxKSB7CiAgJEVSUk9SKCIjODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1MTAwIGFuZCA1MWZmIik7Cn0KCnZhciBpODIgPSAiIjsKZm9yICh2YXIgaiA9IDIwOTkyOyBqIDwgMjEyNDg7IGorKykKICBpODIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84MiA9IGk4MjsKaWYgKGk4Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODIpIHsKICAkRVJST1IoIiM4MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDUyMDAgYW5kIDUyZmYiKTsKfQoKdmFyIGk4MyA9ICIiOwpmb3IgKHZhciBqID0gMjEyNDg7IGogPCAyMTUwNDsgaisrKQogIGk4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgzID0gaTgzOwppZiAoaTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MykgewogICRFUlJPUigiIzgzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTMwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTg0ID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIxNzYwOyBqKyspCiAgaTg0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODQgPSBpODQ7CmlmIChpODQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg0KSB7CiAgJEVSUk9SKCIjODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NDAwIGFuZCA1NGZmIik7Cn0KCnZhciBpODUgPSAiIjsKZm9yICh2YXIgaiA9IDIxNzYwOyBqIDwgMjIwMTY7IGorKykKICBpODUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84NSA9IGk4NTsKaWYgKGk4NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODUpIHsKICAkRVJST1IoIiM4NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU1MDAgYW5kIDU1ZmYiKTsKfQoKdmFyIGk4NiA9ICIiOwpmb3IgKHZhciBqID0gMjIwMTY7IGogPCAyMjI3MjsgaisrKQogIGk4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg2ID0gaTg2OwppZiAoaTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84NikgewogICRFUlJPUigiIzg2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTYwMCBhbmQgNTZmZiIpOwp9Cgp2YXIgaTg3ID0gIiI7CmZvciAodmFyIGogPSAyMjI3MjsgaiA8IDIyNTI4OyBqKyspCiAgaTg3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODcgPSBpODc7CmlmIChpODcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg3KSB7CiAgJEVSUk9SKCIjODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NzAwIGFuZCA1N2ZmIik7Cn0KCnZhciBpODggPSAiIjsKZm9yICh2YXIgaiA9IDIyNTI4OyBqIDwgMjI3ODQ7IGorKykKICBpODggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84OCA9IGk4ODsKaWYgKGk4OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODgpIHsKICAkRVJST1IoIiM4ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDU4ZmYiKTsKfQoKdmFyIGk4OSA9ICIiOwpmb3IgKHZhciBqID0gMjI3ODQ7IGogPCAyMzA0MDsgaisrKQogIGk4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg5ID0gaTg5OwppZiAoaTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84OSkgewogICRFUlJPUigiIzg5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTkwMCBhbmQgNTlmZiIpOwp9Cgp2YXIgaTkwID0gIiI7CmZvciAodmFyIGogPSAyMzA0MDsgaiA8IDIzMjk2OyBqKyspCiAgaTkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTAgPSBpOTA7CmlmIChpOTAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkwKSB7CiAgJEVSUk9SKCIjOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1YTAwIGFuZCA1YWZmIik7Cn0KCnZhciBpOTEgPSAiIjsKZm9yICh2YXIgaiA9IDIzMjk2OyBqIDwgMjM1NTI7IGorKykKICBpOTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85MSA9IGk5MTsKaWYgKGk5MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTEpIHsKICAkRVJST1IoIiM5MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDViMDAgYW5kIDViZmYiKTsKfQoKdmFyIGk5MiA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyMzgwODsgaisrKQogIGk5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkyID0gaTkyOwppZiAoaTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85MikgewogICRFUlJPUigiIzkyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWNmZiIpOwp9Cgp2YXIgaTkzID0gIiI7CmZvciAodmFyIGogPSAyMzgwODsgaiA8IDI0MDY0OyBqKyspCiAgaTkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTMgPSBpOTM7CmlmIChpOTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkzKSB7CiAgJEVSUk9SKCIjOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1ZDAwIGFuZCA1ZGZmIik7Cn0KCnZhciBpOTQgPSAiIjsKZm9yICh2YXIgaiA9IDI0MDY0OyBqIDwgMjQzMjA7IGorKykKICBpOTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NCA9IGk5NDsKaWYgKGk5NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTQpIHsKICAkRVJST1IoIiM5NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDVlMDAgYW5kIDVlZmYiKTsKfQoKdmFyIGk5NSA9ICIiOwpmb3IgKHZhciBqID0gMjQzMjA7IGogPCAyNDU3NjsgaisrKQogIGk5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk1ID0gaTk1OwppZiAoaTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85NSkgewogICRFUlJPUigiIzk1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWYwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTk2ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI0ODMyOyBqKyspCiAgaTk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTYgPSBpOTY7CmlmIChpOTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk2KSB7CiAgJEVSUk9SKCIjOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MDAwIGFuZCA2MGZmIik7Cn0KCnZhciBpOTcgPSAiIjsKZm9yICh2YXIgaiA9IDI0ODMyOyBqIDwgMjUwODg7IGorKykKICBpOTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NyA9IGk5NzsKaWYgKGk5Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTcpIHsKICAkRVJST1IoIiM5NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDYxMDAgYW5kIDYxZmYiKTsKfQoKdmFyIGk5OCA9ICIiOwpmb3IgKHZhciBqID0gMjUwODg7IGogPCAyNTM0NDsgaisrKQogIGk5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk4ID0gaTk4OwppZiAoaTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85OCkgewogICRFUlJPUigiIzk4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjIwMCBhbmQgNjJmZiIpOwp9Cgp2YXIgaTk5ID0gIiI7CmZvciAodmFyIGogPSAyNTM0NDsgaiA8IDI1NjAwOyBqKyspCiAgaTk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTkgPSBpOTk7CmlmIChpOTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk5KSB7CiAgJEVSUk9SKCIjOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MzAwIGFuZCA2M2ZmIik7Cn0KCnZhciBpMTAwID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI1ODU2OyBqKyspCiAgaTEwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMCA9IGkxMDA7CmlmIChpMTAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDApIHsKICAkRVJST1IoIiMxMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2NGZmIik7Cn0KCnZhciBpMTAxID0gIiI7CmZvciAodmFyIGogPSAyNTg1NjsgaiA8IDI2MTEyOyBqKyspCiAgaTEwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMSA9IGkxMDE7CmlmIChpMTAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDEpIHsKICAkRVJST1IoIiMxMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NTAwIGFuZCA2NWZmIik7Cn0KCnZhciBpMTAyID0gIiI7CmZvciAodmFyIGogPSAyNjExMjsgaiA8IDI2MzY4OyBqKyspCiAgaTEwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMiA9IGkxMDI7CmlmIChpMTAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDIpIHsKICAkRVJST1IoIiMxMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NjAwIGFuZCA2NmZmIik7Cn0KCnZhciBpMTAzID0gIiI7CmZvciAodmFyIGogPSAyNjM2ODsgaiA8IDI2NjI0OyBqKyspCiAgaTEwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMyA9IGkxMDM7CmlmIChpMTAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDMpIHsKICAkRVJST1IoIiMxMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NzAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMTA0ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI2ODgwOyBqKyspCiAgaTEwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNCA9IGkxMDQ7CmlmIChpMTA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDQpIHsKICAkRVJST1IoIiMxMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2OGZmIik7Cn0KCnZhciBpMTA1ID0gIiI7CmZvciAodmFyIGogPSAyNjg4MDsgaiA8IDI3MTM2OyBqKyspCiAgaTEwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNSA9IGkxMDU7CmlmIChpMTA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDUpIHsKICAkRVJST1IoIiMxMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2OTAwIGFuZCA2OWZmIik7Cn0KCnZhciBpMTA2ID0gIiI7CmZvciAodmFyIGogPSAyNzEzNjsgaiA8IDI3MzkyOyBqKyspCiAgaTEwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNiA9IGkxMDY7CmlmIChpMTA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDYpIHsKICAkRVJST1IoIiMxMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YTAwIGFuZCA2YWZmIik7Cn0KCnZhciBpMTA3ID0gIiI7CmZvciAodmFyIGogPSAyNzM5MjsgaiA8IDI3NjQ4OyBqKyspCiAgaTEwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNyA9IGkxMDc7CmlmIChpMTA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDcpIHsKICAkRVJST1IoIiMxMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YjAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMTA4ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI3OTA0OyBqKyspCiAgaTEwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOCA9IGkxMDg7CmlmIChpMTA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDgpIHsKICAkRVJST1IoIiMxMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YzAwIGFuZCA2Y2ZmIik7Cn0KCnZhciBpMTA5ID0gIiI7CmZvciAodmFyIGogPSAyNzkwNDsgaiA8IDI4MTYwOyBqKyspCiAgaTEwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOSA9IGkxMDk7CmlmIChpMTA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDkpIHsKICAkRVJST1IoIiMxMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZDAwIGFuZCA2ZGZmIik7Cn0KCnZhciBpMTEwID0gIiI7CmZvciAodmFyIGogPSAyODE2MDsgaiA8IDI4NDE2OyBqKyspCiAgaTExMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMCA9IGkxMTA7CmlmIChpMTEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTApIHsKICAkRVJST1IoIiMxMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZTAwIGFuZCA2ZWZmIik7Cn0KCnZhciBpMTExID0gIiI7CmZvciAodmFyIGogPSAyODQxNjsgaiA8IDI4NjcyOyBqKyspCiAgaTExMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMSA9IGkxMTE7CmlmIChpMTExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTEpIHsKICAkRVJST1IoIiMxMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZjAwIGFuZCA2ZmZmIik7Cn0KCnZhciBpMTEyID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI4OTI4OyBqKyspCiAgaTExMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMiA9IGkxMTI7CmlmIChpMTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTIpIHsKICAkRVJST1IoIiMxMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3MGZmIik7Cn0KCnZhciBpMTEzID0gIiI7CmZvciAodmFyIGogPSAyODkyODsgaiA8IDI5MTg0OyBqKyspCiAgaTExMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMyA9IGkxMTM7CmlmIChpMTEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTMpIHsKICAkRVJST1IoIiMxMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MTAwIGFuZCA3MWZmIik7Cn0KCnZhciBpMTE0ID0gIiI7CmZvciAodmFyIGogPSAyOTE4NDsgaiA8IDI5NDQwOyBqKyspCiAgaTExNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNCA9IGkxMTQ7CmlmIChpMTE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTQpIHsKICAkRVJST1IoIiMxMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MjAwIGFuZCA3MmZmIik7Cn0KCnZhciBpMTE1ID0gIiI7CmZvciAodmFyIGogPSAyOTQ0MDsgaiA8IDI5Njk2OyBqKyspCiAgaTExNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNSA9IGkxMTU7CmlmIChpMTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTUpIHsKICAkRVJST1IoIiMxMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MzAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMTE2ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDI5OTUyOyBqKyspCiAgaTExNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNiA9IGkxMTY7CmlmIChpMTE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTYpIHsKICAkRVJST1IoIiMxMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3NGZmIik7Cn0KCnZhciBpMTE3ID0gIiI7CmZvciAodmFyIGogPSAyOTk1MjsgaiA8IDMwMjA4OyBqKyspCiAgaTExNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNyA9IGkxMTc7CmlmIChpMTE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTcpIHsKICAkRVJST1IoIiMxMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NTAwIGFuZCA3NWZmIik7Cn0KCnZhciBpMTE4ID0gIiI7CmZvciAodmFyIGogPSAzMDIwODsgaiA8IDMwNDY0OyBqKyspCiAgaTExOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOCA9IGkxMTg7CmlmIChpMTE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTgpIHsKICAkRVJST1IoIiMxMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NjAwIGFuZCA3NmZmIik7Cn0KCnZhciBpMTE5ID0gIiI7CmZvciAodmFyIGogPSAzMDQ2NDsgaiA8IDMwNzIwOyBqKyspCiAgaTExOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOSA9IGkxMTk7CmlmIChpMTE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTkpIHsKICAkRVJST1IoIiMxMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NzAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMTIwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMwOTc2OyBqKyspCiAgaTEyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMCA9IGkxMjA7CmlmIChpMTIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjApIHsKICAkRVJST1IoIiMxMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ODAwIGFuZCA3OGZmIik7Cn0KCnZhciBpMTIxID0gIiI7CmZvciAodmFyIGogPSAzMDk3NjsgaiA8IDMxMjMyOyBqKyspCiAgaTEyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMSA9IGkxMjE7CmlmIChpMTIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjEpIHsKICAkRVJST1IoIiMxMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3OTAwIGFuZCA3OWZmIik7Cn0KCnZhciBpMTIyID0gIiI7CmZvciAodmFyIGogPSAzMTIzMjsgaiA8IDMxNDg4OyBqKyspCiAgaTEyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMiA9IGkxMjI7CmlmIChpMTIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjIpIHsKICAkRVJST1IoIiMxMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YTAwIGFuZCA3YWZmIik7Cn0KCnZhciBpMTIzID0gIiI7CmZvciAodmFyIGogPSAzMTQ4ODsgaiA8IDMxNzQ0OyBqKyspCiAgaTEyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMyA9IGkxMjM7CmlmIChpMTIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjMpIHsKICAkRVJST1IoIiMxMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YjAwIGFuZCA3YmZmIik7Cn0KCnZhciBpMTI0ID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyMDAwOyBqKyspCiAgaTEyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNCA9IGkxMjQ7CmlmIChpMTI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjQpIHsKICAkRVJST1IoIiMxMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3Y2ZmIik7Cn0KCnZhciBpMTI1ID0gIiI7CmZvciAodmFyIGogPSAzMjAwMDsgaiA8IDMyMjU2OyBqKyspCiAgaTEyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNSA9IGkxMjU7CmlmIChpMTI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjUpIHsKICAkRVJST1IoIiMxMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZDAwIGFuZCA3ZGZmIik7Cn0KCnZhciBpMTI2ID0gIiI7CmZvciAodmFyIGogPSAzMjI1NjsgaiA8IDMyNTEyOyBqKyspCiAgaTEyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNiA9IGkxMjY7CmlmIChpMTI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjYpIHsKICAkRVJST1IoIiMxMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZTAwIGFuZCA3ZWZmIik7Cn0KCnZhciBpMTI3ID0gIiI7CmZvciAodmFyIGogPSAzMjUxMjsgaiA8IDMyNzY4OyBqKyspCiAgaTEyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNyA9IGkxMjc7CmlmIChpMTI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjcpIHsKICAkRVJST1IoIiMxMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZjAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMTI4ID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzMDI0OyBqKyspCiAgaTEyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOCA9IGkxMjg7CmlmIChpMTI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjgpIHsKICAkRVJST1IoIiMxMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4MGZmIik7Cn0KCnZhciBpMTI5ID0gIiI7CmZvciAodmFyIGogPSAzMzAyNDsgaiA8IDMzMjgwOyBqKyspCiAgaTEyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOSA9IGkxMjk7CmlmIChpMTI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjkpIHsKICAkRVJST1IoIiMxMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MTAwIGFuZCA4MWZmIik7Cn0KCnZhciBpMTMwID0gIiI7CmZvciAodmFyIGogPSAzMzI4MDsgaiA8IDMzNTM2OyBqKyspCiAgaTEzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMCA9IGkxMzA7CmlmIChpMTMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzApIHsKICAkRVJST1IoIiMxMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MjAwIGFuZCA4MmZmIik7Cn0KCnZhciBpMTMxID0gIiI7CmZvciAodmFyIGogPSAzMzUzNjsgaiA8IDMzNzkyOyBqKyspCiAgaTEzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMSA9IGkxMzE7CmlmIChpMTMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzEpIHsKICAkRVJST1IoIiMxMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MzAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMTMyID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0MDQ4OyBqKyspCiAgaTEzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMiA9IGkxMzI7CmlmIChpMTMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzIpIHsKICAkRVJST1IoIiMxMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NDAwIGFuZCA4NGZmIik7Cn0KCnZhciBpMTMzID0gIiI7CmZvciAodmFyIGogPSAzNDA0ODsgaiA8IDM0MzA0OyBqKyspCiAgaTEzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMyA9IGkxMzM7CmlmIChpMTMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzMpIHsKICAkRVJST1IoIiMxMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NTAwIGFuZCA4NWZmIik7Cn0KCnZhciBpMTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDMwNDsgaiA8IDM0NTYwOyBqKyspCiAgaTEzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNCA9IGkxMzQ7CmlmIChpMTM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzQpIHsKICAkRVJST1IoIiMxMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NjAwIGFuZCA4NmZmIik7Cn0KCnZhciBpMTM1ID0gIiI7CmZvciAodmFyIGogPSAzNDU2MDsgaiA8IDM0ODE2OyBqKyspCiAgaTEzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNSA9IGkxMzU7CmlmIChpMTM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzUpIHsKICAkRVJST1IoIiMxMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NzAwIGFuZCA4N2ZmIik7Cn0KCnZhciBpMTM2ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1MDcyOyBqKyspCiAgaTEzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNiA9IGkxMzY7CmlmIChpMTM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzYpIHsKICAkRVJST1IoIiMxMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4OGZmIik7Cn0KCnZhciBpMTM3ID0gIiI7CmZvciAodmFyIGogPSAzNTA3MjsgaiA8IDM1MzI4OyBqKyspCiAgaTEzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNyA9IGkxMzc7CmlmIChpMTM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzcpIHsKICAkRVJST1IoIiMxMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4OTAwIGFuZCA4OWZmIik7Cn0KCnZhciBpMTM4ID0gIiI7CmZvciAodmFyIGogPSAzNTMyODsgaiA8IDM1NTg0OyBqKyspCiAgaTEzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOCA9IGkxMzg7CmlmIChpMTM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzgpIHsKICAkRVJST1IoIiMxMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YTAwIGFuZCA4YWZmIik7Cn0KCnZhciBpMTM5ID0gIiI7CmZvciAodmFyIGogPSAzNTU4NDsgaiA8IDM1ODQwOyBqKyspCiAgaTEzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOSA9IGkxMzk7CmlmIChpMTM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzkpIHsKICAkRVJST1IoIiMxMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YjAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMTQwID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2MDk2OyBqKyspCiAgaTE0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MCA9IGkxNDA7CmlmIChpMTQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDApIHsKICAkRVJST1IoIiMxNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4Y2ZmIik7Cn0KCnZhciBpMTQxID0gIiI7CmZvciAodmFyIGogPSAzNjA5NjsgaiA8IDM2MzUyOyBqKyspCiAgaTE0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MSA9IGkxNDE7CmlmIChpMTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDEpIHsKICAkRVJST1IoIiMxNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZDAwIGFuZCA4ZGZmIik7Cn0KCnZhciBpMTQyID0gIiI7CmZvciAodmFyIGogPSAzNjM1MjsgaiA8IDM2NjA4OyBqKyspCiAgaTE0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MiA9IGkxNDI7CmlmIChpMTQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDIpIHsKICAkRVJST1IoIiMxNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZTAwIGFuZCA4ZWZmIik7Cn0KCnZhciBpMTQzID0gIiI7CmZvciAodmFyIGogPSAzNjYwODsgaiA8IDM2ODY0OyBqKyspCiAgaTE0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MyA9IGkxNDM7CmlmIChpMTQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDMpIHsKICAkRVJST1IoIiMxNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZjAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMTQ0ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3MTIwOyBqKyspCiAgaTE0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NCA9IGkxNDQ7CmlmIChpMTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDQpIHsKICAkRVJST1IoIiMxNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MDAwIGFuZCA5MGZmIik7Cn0KCnZhciBpMTQ1ID0gIiI7CmZvciAodmFyIGogPSAzNzEyMDsgaiA8IDM3Mzc2OyBqKyspCiAgaTE0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NSA9IGkxNDU7CmlmIChpMTQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDUpIHsKICAkRVJST1IoIiMxNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MTAwIGFuZCA5MWZmIik7Cn0KCnZhciBpMTQ2ID0gIiI7CmZvciAodmFyIGogPSAzNzM3NjsgaiA8IDM3NjMyOyBqKyspCiAgaTE0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NiA9IGkxNDY7CmlmIChpMTQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDYpIHsKICAkRVJST1IoIiMxNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MjAwIGFuZCA5MmZmIik7Cn0KCnZhciBpMTQ3ID0gIiI7CmZvciAodmFyIGogPSAzNzYzMjsgaiA8IDM3ODg4OyBqKyspCiAgaTE0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NyA9IGkxNDc7CmlmIChpMTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDcpIHsKICAkRVJST1IoIiMxNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MzAwIGFuZCA5M2ZmIik7Cn0KCnZhciBpMTQ4ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4MTQ0OyBqKyspCiAgaTE0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OCA9IGkxNDg7CmlmIChpMTQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDgpIHsKICAkRVJST1IoIiMxNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5NGZmIik7Cn0KCnZhciBpMTQ5ID0gIiI7CmZvciAodmFyIGogPSAzODE0NDsgaiA8IDM4NDAwOyBqKyspCiAgaTE0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OSA9IGkxNDk7CmlmIChpMTQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDkpIHsKICAkRVJST1IoIiMxNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NTAwIGFuZCA5NWZmIik7Cn0KCnZhciBpMTUwID0gIiI7CmZvciAodmFyIGogPSAzODQwMDsgaiA8IDM4NjU2OyBqKyspCiAgaTE1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MCA9IGkxNTA7CmlmIChpMTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTApIHsKICAkRVJST1IoIiMxNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NjAwIGFuZCA5NmZmIik7Cn0KCnZhciBpMTUxID0gIiI7CmZvciAodmFyIGogPSAzODY1NjsgaiA8IDM4OTEyOyBqKyspCiAgaTE1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MSA9IGkxNTE7CmlmIChpMTUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTEpIHsKICAkRVJST1IoIiMxNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NzAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMTUyID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5MTY4OyBqKyspCiAgaTE1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MiA9IGkxNTI7CmlmIChpMTUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTIpIHsKICAkRVJST1IoIiMxNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5OGZmIik7Cn0KCnZhciBpMTUzID0gIiI7CmZvciAodmFyIGogPSAzOTE2ODsgaiA8IDM5NDI0OyBqKyspCiAgaTE1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MyA9IGkxNTM7CmlmIChpMTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTMpIHsKICAkRVJST1IoIiMxNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5OTAwIGFuZCA5OWZmIik7Cn0KCnZhciBpMTU0ID0gIiI7CmZvciAodmFyIGogPSAzOTQyNDsgaiA8IDM5NjgwOyBqKyspCiAgaTE1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NCA9IGkxNTQ7CmlmIChpMTU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTQpIHsKICAkRVJST1IoIiMxNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YTAwIGFuZCA5YWZmIik7Cn0KCnZhciBpMTU1ID0gIiI7CmZvciAodmFyIGogPSAzOTY4MDsgaiA8IDM5OTM2OyBqKyspCiAgaTE1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NSA9IGkxNTU7CmlmIChpMTU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTUpIHsKICAkRVJST1IoIiMxNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YjAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMTU2ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwMTkyOyBqKyspCiAgaTE1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NiA9IGkxNTY7CmlmIChpMTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTYpIHsKICAkRVJST1IoIiMxNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YzAwIGFuZCA5Y2ZmIik7Cn0KCnZhciBpMTU3ID0gIiI7CmZvciAodmFyIGogPSA0MDE5MjsgaiA8IDQwNDQ4OyBqKyspCiAgaTE1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NyA9IGkxNTc7CmlmIChpMTU3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTcpIHsKICAkRVJST1IoIiMxNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZDAwIGFuZCA5ZGZmIik7Cn0KCnZhciBpMTU4ID0gIiI7CmZvciAodmFyIGogPSA0MDQ0ODsgaiA8IDQwNzA0OyBqKyspCiAgaTE1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OCA9IGkxNTg7CmlmIChpMTU4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTgpIHsKICAkRVJST1IoIiMxNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZTAwIGFuZCA5ZWZmIik7Cn0KCnZhciBpMTU5ID0gIiI7CmZvciAodmFyIGogPSA0MDcwNDsgaiA8IDQwOTYwOyBqKyspCiAgaTE1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OSA9IGkxNTk7CmlmIChpMTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTkpIHsKICAkRVJST1IoIiMxNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZjAwIGFuZCA5ZmZmIik7Cn0KCnZhciBpMTYwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxMjE2OyBqKyspCiAgaTE2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MCA9IGkxNjA7CmlmIChpMTYwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjApIHsKICAkRVJST1IoIiMxNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhMGZmIik7Cn0KCnZhciBpMTYxID0gIiI7CmZvciAodmFyIGogPSA0MTIxNjsgaiA8IDQxNDcyOyBqKyspCiAgaTE2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MSA9IGkxNjE7CmlmIChpMTYxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjEpIHsKICAkRVJST1IoIiMxNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMTAwIGFuZCBhMWZmIik7Cn0KCnZhciBpMTYyID0gIiI7CmZvciAodmFyIGogPSA0MTQ3MjsgaiA8IDQxNzI4OyBqKyspCiAgaTE2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MiA9IGkxNjI7CmlmIChpMTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjIpIHsKICAkRVJST1IoIiMxNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMjAwIGFuZCBhMmZmIik7Cn0KCnZhciBpMTYzID0gIiI7CmZvciAodmFyIGogPSA0MTcyODsgaiA8IDQxOTg0OyBqKyspCiAgaTE2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MyA9IGkxNjM7CmlmIChpMTYzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjMpIHsKICAkRVJST1IoIiMxNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMzAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpMTY0ID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQyMjQwOyBqKyspCiAgaTE2NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NCA9IGkxNjQ7CmlmIChpMTY0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjQpIHsKICAkRVJST1IoIiMxNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhNGZmIik7Cn0KCnZhciBpMTY1ID0gIiI7CmZvciAodmFyIGogPSA0MjI0MDsgaiA8IDQyNDk2OyBqKyspCiAgaTE2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NSA9IGkxNjU7CmlmIChpMTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjUpIHsKICAkRVJST1IoIiMxNjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNTAwIGFuZCBhNWZmIik7Cn0KCnZhciBpMTY2ID0gIiI7CmZvciAodmFyIGogPSA0MjQ5NjsgaiA8IDQyNzUyOyBqKyspCiAgaTE2NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NiA9IGkxNjY7CmlmIChpMTY2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjYpIHsKICAkRVJST1IoIiMxNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNjAwIGFuZCBhNmZmIik7Cn0KCnZhciBpMTY3ID0gIiI7CmZvciAodmFyIGogPSA0Mjc1MjsgaiA8IDQzMDA4OyBqKyspCiAgaTE2NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NyA9IGkxNjc7CmlmIChpMTY3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjcpIHsKICAkRVJST1IoIiMxNjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNzAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpMTY4ID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQzMjY0OyBqKyspCiAgaTE2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OCA9IGkxNjg7CmlmIChpMTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjgpIHsKICAkRVJST1IoIiMxNjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhODAwIGFuZCBhOGZmIik7Cn0KCnZhciBpMTY5ID0gIiI7CmZvciAodmFyIGogPSA0MzI2NDsgaiA8IDQzNTIwOyBqKyspCiAgaTE2OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OSA9IGkxNjk7CmlmIChpMTY5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjkpIHsKICAkRVJST1IoIiMxNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhOTAwIGFuZCBhOWZmIik7Cn0KCnZhciBpMTcwID0gIiI7CmZvciAodmFyIGogPSA0MzUyMDsgaiA8IDQzNzc2OyBqKyspCiAgaTE3MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MCA9IGkxNzA7CmlmIChpMTcwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzApIHsKICAkRVJST1IoIiMxNzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYTAwIGFuZCBhYWZmIik7Cn0KCnZhciBpMTcxID0gIiI7CmZvciAodmFyIGogPSA0Mzc3NjsgaiA8IDQ0MDMyOyBqKyspCiAgaTE3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MSA9IGkxNzE7CmlmIChpMTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzEpIHsKICAkRVJST1IoIiMxNzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYjAwIGFuZCBhYmZmIik7Cn0KCnZhciBpMTcyID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ0Mjg4OyBqKyspCiAgaTE3MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MiA9IGkxNzI7CmlmIChpMTcyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzIpIHsKICAkRVJST1IoIiMxNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhY2ZmIik7Cn0KCnZhciBpMTczID0gIiI7CmZvciAodmFyIGogPSA0NDI4ODsgaiA8IDQ0NTQ0OyBqKyspCiAgaTE3MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MyA9IGkxNzM7CmlmIChpMTczLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzMpIHsKICAkRVJST1IoIiMxNzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZDAwIGFuZCBhZGZmIik7Cn0KCnZhciBpMTc0ID0gIiI7CmZvciAodmFyIGogPSA0NDU0NDsgaiA8IDQ0ODAwOyBqKyspCiAgaTE3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NCA9IGkxNzQ7CmlmIChpMTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzQpIHsKICAkRVJST1IoIiMxNzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZTAwIGFuZCBhZWZmIik7Cn0KCnZhciBpMTc1ID0gIiI7CmZvciAodmFyIGogPSA0NDgwMDsgaiA8IDQ1MDU2OyBqKyspCiAgaTE3NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NSA9IGkxNzU7CmlmIChpMTc1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzUpIHsKICAkRVJST1IoIiMxNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZjAwIGFuZCBhZmZmIik7Cn0KCnZhciBpMTc2ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ1MzEyOyBqKyspCiAgaTE3NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NiA9IGkxNzY7CmlmIChpMTc2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzYpIHsKICAkRVJST1IoIiMxNzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiMGZmIik7Cn0KCnZhciBpMTc3ID0gIiI7CmZvciAodmFyIGogPSA0NTMxMjsgaiA8IDQ1NTY4OyBqKyspCiAgaTE3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NyA9IGkxNzc7CmlmIChpMTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzcpIHsKICAkRVJST1IoIiMxNzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMTAwIGFuZCBiMWZmIik7Cn0KCnZhciBpMTc4ID0gIiI7CmZvciAodmFyIGogPSA0NTU2ODsgaiA8IDQ1ODI0OyBqKyspCiAgaTE3OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OCA9IGkxNzg7CmlmIChpMTc4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzgpIHsKICAkRVJST1IoIiMxNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMjAwIGFuZCBiMmZmIik7Cn0KCnZhciBpMTc5ID0gIiI7CmZvciAodmFyIGogPSA0NTgyNDsgaiA8IDQ2MDgwOyBqKyspCiAgaTE3OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OSA9IGkxNzk7CmlmIChpMTc5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzkpIHsKICAkRVJST1IoIiMxNzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMzAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpMTgwID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ2MzM2OyBqKyspCiAgaTE4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MCA9IGkxODA7CmlmIChpMTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODApIHsKICAkRVJST1IoIiMxODA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNDAwIGFuZCBiNGZmIik7Cn0KCnZhciBpMTgxID0gIiI7CmZvciAodmFyIGogPSA0NjMzNjsgaiA8IDQ2NTkyOyBqKyspCiAgaTE4MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MSA9IGkxODE7CmlmIChpMTgxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODEpIHsKICAkRVJST1IoIiMxODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNTAwIGFuZCBiNWZmIik7Cn0KCnZhciBpMTgyID0gIiI7CmZvciAodmFyIGogPSA0NjU5MjsgaiA8IDQ2ODQ4OyBqKyspCiAgaTE4MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MiA9IGkxODI7CmlmIChpMTgyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODIpIHsKICAkRVJST1IoIiMxODI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNjAwIGFuZCBiNmZmIik7Cn0KCnZhciBpMTgzID0gIiI7CmZvciAodmFyIGogPSA0Njg0ODsgaiA8IDQ3MTA0OyBqKyspCiAgaTE4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MyA9IGkxODM7CmlmIChpMTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODMpIHsKICAkRVJST1IoIiMxODM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNzAwIGFuZCBiN2ZmIik7Cn0KCnZhciBpMTg0ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ3MzYwOyBqKyspCiAgaTE4NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NCA9IGkxODQ7CmlmIChpMTg0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODQpIHsKICAkRVJST1IoIiMxODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiOGZmIik7Cn0KCnZhciBpMTg1ID0gIiI7CmZvciAodmFyIGogPSA0NzM2MDsgaiA8IDQ3NjE2OyBqKyspCiAgaTE4NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NSA9IGkxODU7CmlmIChpMTg1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODUpIHsKICAkRVJST1IoIiMxODU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiOTAwIGFuZCBiOWZmIik7Cn0KCnZhciBpMTg2ID0gIiI7CmZvciAodmFyIGogPSA0NzYxNjsgaiA8IDQ3ODcyOyBqKyspCiAgaTE4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NiA9IGkxODY7CmlmIChpMTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODYpIHsKICAkRVJST1IoIiMxODY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYTAwIGFuZCBiYWZmIik7Cn0KCnZhciBpMTg3ID0gIiI7CmZvciAodmFyIGogPSA0Nzg3MjsgaiA8IDQ4MTI4OyBqKyspCiAgaTE4NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NyA9IGkxODc7CmlmIChpMTg3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODcpIHsKICAkRVJST1IoIiMxODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYjAwIGFuZCBiYmZmIik7Cn0KCnZhciBpMTg4ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ4Mzg0OyBqKyspCiAgaTE4OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OCA9IGkxODg7CmlmIChpMTg4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODgpIHsKICAkRVJST1IoIiMxODg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiY2ZmIik7Cn0KCnZhciBpMTg5ID0gIiI7CmZvciAodmFyIGogPSA0ODM4NDsgaiA8IDQ4NjQwOyBqKyspCiAgaTE4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OSA9IGkxODk7CmlmIChpMTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODkpIHsKICAkRVJST1IoIiMxODk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZDAwIGFuZCBiZGZmIik7Cn0KCnZhciBpMTkwID0gIiI7CmZvciAodmFyIGogPSA0ODY0MDsgaiA8IDQ4ODk2OyBqKyspCiAgaTE5MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MCA9IGkxOTA7CmlmIChpMTkwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTApIHsKICAkRVJST1IoIiMxOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZTAwIGFuZCBiZWZmIik7Cn0KCnZhciBpMTkxID0gIiI7CmZvciAodmFyIGogPSA0ODg5NjsgaiA8IDQ5MTUyOyBqKyspCiAgaTE5MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MSA9IGkxOTE7CmlmIChpMTkxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTEpIHsKICAkRVJST1IoIiMxOTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZjAwIGFuZCBiZmZmIik7Cn0KCnZhciBpMTkyID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDQ5NDA4OyBqKyspCiAgaTE5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MiA9IGkxOTI7CmlmIChpMTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTIpIHsKICAkRVJST1IoIiMxOTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAwIGFuZCBjMGZmIik7Cn0KCnZhciBpMTkzID0gIiI7CmZvciAodmFyIGogPSA0OTQwODsgaiA8IDQ5NjY0OyBqKyspCiAgaTE5MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MyA9IGkxOTM7CmlmIChpMTkzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTMpIHsKICAkRVJST1IoIiMxOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMTAwIGFuZCBjMWZmIik7Cn0KCnZhciBpMTk0ID0gIiI7CmZvciAodmFyIGogPSA0OTY2NDsgaiA8IDQ5OTIwOyBqKyspCiAgaTE5NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NCA9IGkxOTQ7CmlmIChpMTk0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTQpIHsKICAkRVJST1IoIiMxOTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMjAwIGFuZCBjMmZmIik7Cn0KCnZhciBpMTk1ID0gIiI7CmZvciAodmFyIGogPSA0OTkyMDsgaiA8IDUwMTc2OyBqKyspCiAgaTE5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NSA9IGkxOTU7CmlmIChpMTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTUpIHsKICAkRVJST1IoIiMxOTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMzAwIGFuZCBjM2ZmIik7Cn0KCnZhciBpMTk2ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUwNDMyOyBqKyspCiAgaTE5NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NiA9IGkxOTY7CmlmIChpMTk2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTYpIHsKICAkRVJST1IoIiMxOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjNGZmIik7Cn0KCnZhciBpMTk3ID0gIiI7CmZvciAodmFyIGogPSA1MDQzMjsgaiA8IDUwNjg4OyBqKyspCiAgaTE5NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NyA9IGkxOTc7CmlmIChpMTk3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTcpIHsKICAkRVJST1IoIiMxOTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNTAwIGFuZCBjNWZmIik7Cn0KCnZhciBpMTk4ID0gIiI7CmZvciAodmFyIGogPSA1MDY4ODsgaiA8IDUwOTQ0OyBqKyspCiAgaTE5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OCA9IGkxOTg7CmlmIChpMTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTgpIHsKICAkRVJST1IoIiMxOTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNjAwIGFuZCBjNmZmIik7Cn0KCnZhciBpMTk5ID0gIiI7CmZvciAodmFyIGogPSA1MDk0NDsgaiA8IDUxMjAwOyBqKyspCiAgaTE5OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OSA9IGkxOTk7CmlmIChpMTk5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTkpIHsKICAkRVJST1IoIiMxOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNzAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpMjAwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUxNDU2OyBqKyspCiAgaTIwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMCA9IGkyMDA7CmlmIChpMjAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDApIHsKICAkRVJST1IoIiMyMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjOGZmIik7Cn0KCnZhciBpMjAxID0gIiI7CmZvciAodmFyIGogPSA1MTQ1NjsgaiA8IDUxNzEyOyBqKyspCiAgaTIwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMSA9IGkyMDE7CmlmIChpMjAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDEpIHsKICAkRVJST1IoIiMyMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjOTAwIGFuZCBjOWZmIik7Cn0KCnZhciBpMjAyID0gIiI7CmZvciAodmFyIGogPSA1MTcxMjsgaiA8IDUxOTY4OyBqKyspCiAgaTIwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMiA9IGkyMDI7CmlmIChpMjAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDIpIHsKICAkRVJST1IoIiMyMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYTAwIGFuZCBjYWZmIik7Cn0KCnZhciBpMjAzID0gIiI7CmZvciAodmFyIGogPSA1MTk2ODsgaiA8IDUyMjI0OyBqKyspCiAgaTIwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMyA9IGkyMDM7CmlmIChpMjAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDMpIHsKICAkRVJST1IoIiMyMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYjAwIGFuZCBjYmZmIik7Cn0KCnZhciBpMjA0ID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUyNDgwOyBqKyspCiAgaTIwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNCA9IGkyMDQ7CmlmIChpMjA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDQpIHsKICAkRVJST1IoIiMyMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYzAwIGFuZCBjY2ZmIik7Cn0KCnZhciBpMjA1ID0gIiI7CmZvciAodmFyIGogPSA1MjQ4MDsgaiA8IDUyNzM2OyBqKyspCiAgaTIwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNSA9IGkyMDU7CmlmIChpMjA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDUpIHsKICAkRVJST1IoIiMyMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZDAwIGFuZCBjZGZmIik7Cn0KCnZhciBpMjA2ID0gIiI7CmZvciAodmFyIGogPSA1MjczNjsgaiA8IDUyOTkyOyBqKyspCiAgaTIwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNiA9IGkyMDY7CmlmIChpMjA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDYpIHsKICAkRVJST1IoIiMyMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZTAwIGFuZCBjZWZmIik7Cn0KCnZhciBpMjA3ID0gIiI7CmZvciAodmFyIGogPSA1Mjk5MjsgaiA8IDUzMjQ4OyBqKyspCiAgaTIwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNyA9IGkyMDc7CmlmIChpMjA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDcpIHsKICAkRVJST1IoIiMyMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZjAwIGFuZCBjZmZmIik7Cn0KCnZhciBpMjA4ID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDUzNTA0OyBqKyspCiAgaTIwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOCA9IGkyMDg7CmlmIChpMjA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDgpIHsKICAkRVJST1IoIiMyMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkMGZmIik7Cn0KCnZhciBpMjA5ID0gIiI7CmZvciAodmFyIGogPSA1MzUwNDsgaiA8IDUzNzYwOyBqKyspCiAgaTIwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOSA9IGkyMDk7CmlmIChpMjA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDkpIHsKICAkRVJST1IoIiMyMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMTAwIGFuZCBkMWZmIik7Cn0KCnZhciBpMjEwID0gIiI7CmZvciAodmFyIGogPSA1Mzc2MDsgaiA8IDU0MDE2OyBqKyspCiAgaTIxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMCA9IGkyMTA7CmlmIChpMjEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTApIHsKICAkRVJST1IoIiMyMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMjAwIGFuZCBkMmZmIik7Cn0KCnZhciBpMjExID0gIiI7CmZvciAodmFyIGogPSA1NDAxNjsgaiA8IDU0MjcyOyBqKyspCiAgaTIxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMSA9IGkyMTE7CmlmIChpMjExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTEpIHsKICAkRVJST1IoIiMyMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMzAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpMjEyID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU0NTI4OyBqKyspCiAgaTIxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMiA9IGkyMTI7CmlmIChpMjEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTIpIHsKICAkRVJST1IoIiMyMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkNGZmIik7Cn0KCnZhciBpMjEzID0gIiI7CmZvciAodmFyIGogPSA1NDUyODsgaiA8IDU0Nzg0OyBqKyspCiAgaTIxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMyA9IGkyMTM7CmlmIChpMjEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTMpIHsKICAkRVJST1IoIiMyMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNTAwIGFuZCBkNWZmIik7Cn0KCnZhciBpMjE0ID0gIiI7CmZvciAodmFyIGogPSA1NDc4NDsgaiA8IDU1MDQwOyBqKyspCiAgaTIxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNCA9IGkyMTQ7CmlmIChpMjE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTQpIHsKICAkRVJST1IoIiMyMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNjAwIGFuZCBkNmZmIik7Cn0KCnZhciBpMjE1ID0gIiI7CmZvciAodmFyIGogPSA1NTA0MDsgaiA8IDU1Mjk2OyBqKyspCiAgaTIxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNSA9IGkyMTU7CmlmIChpMjE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTUpIHsKICAkRVJST1IoIiMyMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNzAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpMjE2ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU1NTUyOyBqKyspCiAgaTIxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNiA9IGkyMTY7CmlmIChpMjE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTYpIHsKICAkRVJST1IoIiMyMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkODAwIGFuZCBkOGZmIik7Cn0KCnZhciBpMjE3ID0gIiI7CmZvciAodmFyIGogPSA1NTU1MjsgaiA8IDU1ODA4OyBqKyspCiAgaTIxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNyA9IGkyMTc7CmlmIChpMjE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTcpIHsKICAkRVJST1IoIiMyMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkOTAwIGFuZCBkOWZmIik7Cn0KCnZhciBpMjE4ID0gIiI7CmZvciAodmFyIGogPSA1NTgwODsgaiA8IDU2MDY0OyBqKyspCiAgaTIxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOCA9IGkyMTg7CmlmIChpMjE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTgpIHsKICAkRVJST1IoIiMyMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYTAwIGFuZCBkYWZmIik7Cn0KCnZhciBpMjE5ID0gIiI7CmZvciAodmFyIGogPSA1NjA2NDsgaiA8IDU2MzIwOyBqKyspCiAgaTIxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOSA9IGkyMTk7CmlmIChpMjE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTkpIHsKICAkRVJST1IoIiMyMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYjAwIGFuZCBkYmZmIik7Cn0KCnZhciBpMjIwID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU2NTc2OyBqKyspCiAgaTIyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMCA9IGkyMjA7CmlmIChpMjIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjApIHsKICAkRVJST1IoIiMyMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkY2ZmIik7Cn0KCnZhciBpMjIxID0gIiI7CmZvciAodmFyIGogPSA1NjU3NjsgaiA8IDU2ODMyOyBqKyspCiAgaTIyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMSA9IGkyMjE7CmlmIChpMjIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjEpIHsKICAkRVJST1IoIiMyMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZDAwIGFuZCBkZGZmIik7Cn0KCnZhciBpMjIyID0gIiI7CmZvciAodmFyIGogPSA1NjgzMjsgaiA8IDU3MDg4OyBqKyspCiAgaTIyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMiA9IGkyMjI7CmlmIChpMjIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjIpIHsKICAkRVJST1IoIiMyMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZTAwIGFuZCBkZWZmIik7Cn0KCnZhciBpMjIzID0gIiI7CmZvciAodmFyIGogPSA1NzA4ODsgaiA8IDU3MzQ0OyBqKyspCiAgaTIyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMyA9IGkyMjM7CmlmIChpMjIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjMpIHsKICAkRVJST1IoIiMyMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZjAwIGFuZCBkZmZmIik7Cn0KCnZhciBpMjI0ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU3NjAwOyBqKyspCiAgaTIyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNCA9IGkyMjQ7CmlmIChpMjI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjQpIHsKICAkRVJST1IoIiMyMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlMGZmIik7Cn0KCnZhciBpMjI1ID0gIiI7CmZvciAodmFyIGogPSA1NzYwMDsgaiA8IDU3ODU2OyBqKyspCiAgaTIyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNSA9IGkyMjU7CmlmIChpMjI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjUpIHsKICAkRVJST1IoIiMyMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMTAwIGFuZCBlMWZmIik7Cn0KCnZhciBpMjI2ID0gIiI7CmZvciAodmFyIGogPSA1Nzg1NjsgaiA8IDU4MTEyOyBqKyspCiAgaTIyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNiA9IGkyMjY7CmlmIChpMjI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjYpIHsKICAkRVJST1IoIiMyMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMjAwIGFuZCBlMmZmIik7Cn0KCnZhciBpMjI3ID0gIiI7CmZvciAodmFyIGogPSA1ODExMjsgaiA8IDU4MzY4OyBqKyspCiAgaTIyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNyA9IGkyMjc7CmlmIChpMjI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjcpIHsKICAkRVJST1IoIiMyMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMzAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpMjI4ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU4NjI0OyBqKyspCiAgaTIyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOCA9IGkyMjg7CmlmIChpMjI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjgpIHsKICAkRVJST1IoIiMyMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNDAwIGFuZCBlNGZmIik7Cn0KCnZhciBpMjI5ID0gIiI7CmZvciAodmFyIGogPSA1ODYyNDsgaiA8IDU4ODgwOyBqKyspCiAgaTIyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOSA9IGkyMjk7CmlmIChpMjI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjkpIHsKICAkRVJST1IoIiMyMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNTAwIGFuZCBlNWZmIik7Cn0KCnZhciBpMjMwID0gIiI7CmZvciAodmFyIGogPSA1ODg4MDsgaiA8IDU5MTM2OyBqKyspCiAgaTIzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMCA9IGkyMzA7CmlmIChpMjMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzApIHsKICAkRVJST1IoIiMyMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNjAwIGFuZCBlNmZmIik7Cn0KCnZhciBpMjMxID0gIiI7CmZvciAodmFyIGogPSA1OTEzNjsgaiA8IDU5MzkyOyBqKyspCiAgaTIzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMSA9IGkyMzE7CmlmIChpMjMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzEpIHsKICAkRVJST1IoIiMyMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNzAwIGFuZCBlN2ZmIik7Cn0KCnZhciBpMjMyID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDU5NjQ4OyBqKyspCiAgaTIzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMiA9IGkyMzI7CmlmIChpMjMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzIpIHsKICAkRVJST1IoIiMyMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlOGZmIik7Cn0KCnZhciBpMjMzID0gIiI7CmZvciAodmFyIGogPSA1OTY0ODsgaiA8IDU5OTA0OyBqKyspCiAgaTIzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMyA9IGkyMzM7CmlmIChpMjMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzMpIHsKICAkRVJST1IoIiMyMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlOTAwIGFuZCBlOWZmIik7Cn0KCnZhciBpMjM0ID0gIiI7CmZvciAodmFyIGogPSA1OTkwNDsgaiA8IDYwMTYwOyBqKyspCiAgaTIzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNCA9IGkyMzQ7CmlmIChpMjM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzQpIHsKICAkRVJST1IoIiMyMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYTAwIGFuZCBlYWZmIik7Cn0KCnZhciBpMjM1ID0gIiI7CmZvciAodmFyIGogPSA2MDE2MDsgaiA8IDYwNDE2OyBqKyspCiAgaTIzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNSA9IGkyMzU7CmlmIChpMjM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzUpIHsKICAkRVJST1IoIiMyMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYjAwIGFuZCBlYmZmIik7Cn0KCnZhciBpMjM2ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYwNjcyOyBqKyspCiAgaTIzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNiA9IGkyMzY7CmlmIChpMjM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzYpIHsKICAkRVJST1IoIiMyMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlY2ZmIik7Cn0KCnZhciBpMjM3ID0gIiI7CmZvciAodmFyIGogPSA2MDY3MjsgaiA8IDYwOTI4OyBqKyspCiAgaTIzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNyA9IGkyMzc7CmlmIChpMjM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzcpIHsKICAkRVJST1IoIiMyMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZDAwIGFuZCBlZGZmIik7Cn0KCnZhciBpMjM4ID0gIiI7CmZvciAodmFyIGogPSA2MDkyODsgaiA8IDYxMTg0OyBqKyspCiAgaTIzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOCA9IGkyMzg7CmlmIChpMjM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzgpIHsKICAkRVJST1IoIiMyMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZTAwIGFuZCBlZWZmIik7Cn0KCnZhciBpMjM5ID0gIiI7CmZvciAodmFyIGogPSA2MTE4NDsgaiA8IDYxNDQwOyBqKyspCiAgaTIzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOSA9IGkyMzk7CmlmIChpMjM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzkpIHsKICAkRVJST1IoIiMyMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZjAwIGFuZCBlZmZmIik7Cn0KCnZhciBpMjQwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYxNjk2OyBqKyspCiAgaTI0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MCA9IGkyNDA7CmlmIChpMjQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDApIHsKICAkRVJST1IoIiMyNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMDAwIGFuZCBmMGZmIik7Cn0KCnZhciBpMjQxID0gIiI7CmZvciAodmFyIGogPSA2MTY5NjsgaiA8IDYxOTUyOyBqKyspCiAgaTI0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MSA9IGkyNDE7CmlmIChpMjQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDEpIHsKICAkRVJST1IoIiMyNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMTAwIGFuZCBmMWZmIik7Cn0KCnZhciBpMjQyID0gIiI7CmZvciAodmFyIGogPSA2MTk1MjsgaiA8IDYyMjA4OyBqKyspCiAgaTI0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MiA9IGkyNDI7CmlmIChpMjQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDIpIHsKICAkRVJST1IoIiMyNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMjAwIGFuZCBmMmZmIik7Cn0KCnZhciBpMjQzID0gIiI7CmZvciAodmFyIGogPSA2MjIwODsgaiA8IDYyNDY0OyBqKyspCiAgaTI0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MyA9IGkyNDM7CmlmIChpMjQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDMpIHsKICAkRVJST1IoIiMyNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMzAwIGFuZCBmM2ZmIik7Cn0KCnZhciBpMjQ0ID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYyNzIwOyBqKyspCiAgaTI0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NCA9IGkyNDQ7CmlmIChpMjQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDQpIHsKICAkRVJST1IoIiMyNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmNGZmIik7Cn0KCnZhciBpMjQ1ID0gIiI7CmZvciAodmFyIGogPSA2MjcyMDsgaiA8IDYyOTc2OyBqKyspCiAgaTI0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NSA9IGkyNDU7CmlmIChpMjQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDUpIHsKICAkRVJST1IoIiMyNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNTAwIGFuZCBmNWZmIik7Cn0KCnZhciBpMjQ2ID0gIiI7CmZvciAodmFyIGogPSA2Mjk3NjsgaiA8IDYzMjMyOyBqKyspCiAgaTI0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NiA9IGkyNDY7CmlmIChpMjQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDYpIHsKICAkRVJST1IoIiMyNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNjAwIGFuZCBmNmZmIik7Cn0KCnZhciBpMjQ3ID0gIiI7CmZvciAodmFyIGogPSA2MzIzMjsgaiA8IDYzNDg4OyBqKyspCiAgaTI0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NyA9IGkyNDc7CmlmIChpMjQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDcpIHsKICAkRVJST1IoIiMyNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNzAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpMjQ4ID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDYzNzQ0OyBqKyspCiAgaTI0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OCA9IGkyNDg7CmlmIChpMjQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDgpIHsKICAkRVJST1IoIiMyNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmOGZmIik7Cn0KCnZhciBpMjQ5ID0gIiI7CmZvciAodmFyIGogPSA2Mzc0NDsgaiA8IDY0MDAwOyBqKyspCiAgaTI0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OSA9IGkyNDk7CmlmIChpMjQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDkpIHsKICAkRVJST1IoIiMyNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmOTAwIGFuZCBmOWZmIik7Cn0KCnZhciBpMjUwID0gIiI7CmZvciAodmFyIGogPSA2NDAwMDsgaiA8IDY0MjU2OyBqKyspCiAgaTI1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MCA9IGkyNTA7CmlmIChpMjUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTApIHsKICAkRVJST1IoIiMyNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYTAwIGFuZCBmYWZmIik7Cn0KCnZhciBpMjUxID0gIiI7CmZvciAodmFyIGogPSA2NDI1NjsgaiA8IDY0NTEyOyBqKyspCiAgaTI1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MSA9IGkyNTE7CmlmIChpMjUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTEpIHsKICAkRVJST1IoIiMyNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYjAwIGFuZCBmYmZmIik7Cn0KCnZhciBpMjUyID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY0NzY4OyBqKyspCiAgaTI1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MiA9IGkyNTI7CmlmIChpMjUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTIpIHsKICAkRVJST1IoIiMyNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmY2ZmIik7Cn0KCnZhciBpMjUzID0gIiI7CmZvciAodmFyIGogPSA2NDc2ODsgaiA8IDY1MDI0OyBqKyspCiAgaTI1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MyA9IGkyNTM7CmlmIChpMjUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTMpIHsKICAkRVJST1IoIiMyNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZDAwIGFuZCBmZGZmIik7Cn0KCnZhciBpMjU0ID0gIiI7CmZvciAodmFyIGogPSA2NTAyNDsgaiA8IDY1MjgwOyBqKyspCiAgaTI1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NCA9IGkyNTQ7CmlmIChpMjU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTQpIHsKICAkRVJST1IoIiMyNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZTAwIGFuZCBmZWZmIik7Cn0KCnZhciBpMjU1ID0gIiI7CmZvciAodmFyIGogPSA2NTI4MDsgaiA8IDY1NTM2OyBqKyspCiAgaTI1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NSA9IGkyNTU7CmlmIChpMjU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTUpIHsKICAkRVJST1IoIiMyNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZjAwIGFuZCBmZmZmIik7Cn0KCg==","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIGEgLSB6CiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDA2MS0wMDdBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA2MTsgYWxwaGEgPD0gMHgwMDdBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIDAgLSA5LCBfCiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDAzMC0wMDM5CnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDAzMDsgYWxwaGEgPD0gMHgwMDM5OyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGCnZhciBhcnIgPSByZWdleHBfdy5leGVjKCJfIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDA1RiIpKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKaWYgKHJlZ2V4cF93LmV4ZWMoIiAiKSAhPT0gbnVsbCkgewogICRFUlJPUignIzM6ICAnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"0 - 9, _","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgcmVnZXhwX3cgPSAvXHcvOwoKLy9DSEVDSyMwNDEwLTA0MkYKdmFyIHJlc3VsdCA9IHRydWU7ICAKZm9yIChhbHBoYSA9IDB4MDQxMDsgYWxwaGEgPD0gMHgwNDJGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF93LmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQnKTsKfQoKLy9DSEVDSyMwNDMwLTA0NEYKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwNDMwOyBhbHBoYSA8PSAweDA0NEY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3cuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIG5vbi13CiAqLwoKLy9DSEVDSyMxCnZhciBub25fdyA9ICJcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1x3Ly5leGVjKG5vbl93KSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwp2YXIgcmVnZXhwX3cgPSAvXHcvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX3cuZXhlYyhub25fVykgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX1cubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1XJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBIC0gWgogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVGXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBIjsKaWYgKGkwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBhIC0gegogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwMzAtMDAzOQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwMzA7IGFscGhhIDw9IDB4MDAzOTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGIAppZiAocmVnZXhwX1cuZXhlYygiXyIpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKdmFyIGFyciA9IHJlZ2V4cF9XLmV4ZWMoIiAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDIwIikpIHsKICAkRVJST1IoJyMyOiAgJyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9XID0gL1xXLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tdwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3cgPSAiXGZcblxyXHRcdn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8gIiArICciJzsKdmFyIHJlZ2V4cF9XID0gL1xXL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9XLmV4ZWMobm9uX3cpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl93Lmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwppZiAoL1xXLy5leGVjKG5vbl9XKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMyOiBub24tVycpOwp9Cgo=","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIwXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSBpNTsKaWYgKGk1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSBpODsKaWYgKGk4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9IGkxMjsKaWYgKGkxMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gaTEzOwppZiAoaTEzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMykgewogICRFUlJPUigiIzEzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMzQwMCBhbmQgMzdmZiIpOwp9Cgp2YXIgaTE0ID0gIiI7CmZvciAodmFyIGogPSAxNDMzNjsgaiA8IDE1MzYwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9IGkxNTsKaWYgKGkxNS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gaTE2OwppZiAoaTE2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xNikgewogICRFUlJPUigiIzE2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwMCBhbmQgNDNmZiIpOwp9Cgp2YXIgaTE3ID0gIiI7CmZvciAodmFyIGogPSAxNzQwODsgaiA8IDE4NDMyOyBqKyspCiAgaTE3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTcgPSBpMTc7CmlmIChpMTcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gaTE5OwppZiAoaTE5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xOSkgewogICRFUlJPUigiIzE5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNGMwMCBhbmQgNGZmZiIpOwp9Cgp2YXIgaTIwID0gIiI7CmZvciAodmFyIGogPSAyMDQ4MDsgaiA8IDIxNTA0OyBqKyspCiAgaTIwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjAgPSBpMjA7CmlmIChpMjAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gaTIyOwppZiAoaTIyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yMikgewogICRFUlJPUigiIzIyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNTgwMCBhbmQgNWJmZiIpOwp9Cgp2YXIgaTIzID0gIiI7CmZvciAodmFyIGogPSAyMzU1MjsgaiA8IDI0NTc2OyBqKyspCiAgaTIzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjMgPSBpMjM7CmlmIChpMjMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gaTI1OwppZiAoaTI1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yNSkgewogICRFUlJPUigiIzI1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNjQwMCBhbmQgNjdmZiIpOwp9Cgp2YXIgaTI2ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI3NjQ4OyBqKyspCiAgaTI2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjYgPSBpMjY7CmlmIChpMjYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gaTI4OwppZiAoaTI4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yOCkgewogICRFUlJPUigiIzI4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwMCBhbmQgNzNmZiIpOwp9Cgp2YXIgaTI5ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDMwNzIwOyBqKyspCiAgaTI5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjkgPSBpMjk7CmlmIChpMjkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gaTMxOwppZiAoaTMxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zMSkgewogICRFUlJPUigiIzMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgN2MwMCBhbmQgN2ZmZiIpOwp9Cgp2YXIgaTMyID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzNzkyOyBqKyspCiAgaTMyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzIgPSBpMzI7CmlmIChpMzIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gaTM0OwppZiAoaTM0LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNCkgewogICRFUlJPUigiIzM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgODgwMCBhbmQgOGJmZiIpOwp9Cgp2YXIgaTM1ID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2ODY0OyBqKyspCiAgaTM1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzUgPSBpMzU7CmlmIChpMzUucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gaTM3OwppZiAoaTM3LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNykgewogICRFUlJPUigiIzM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgOTQwMCBhbmQgOTdmZiIpOwp9Cgp2YXIgaTM4ID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5OTM2OyBqKyspCiAgaTM4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzggPSBpMzg7CmlmIChpMzgucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9IGkzOTsKaWYgKGkzOS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gaTQwOwppZiAoaTQwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MCkgewogICRFUlJPUigiIzQwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYTAwMCBhbmQgYTNmZiIpOwp9Cgp2YXIgaTQxID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQzMDA4OyBqKyspCiAgaTQxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDEgPSBpNDE7CmlmIChpNDEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9IGk0MjsKaWYgKGk0Mi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gaTQzOwppZiAoaTQzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MykgewogICRFUlJPUigiIzQzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYWMwMCBhbmQgYWZmZiIpOwp9Cgp2YXIgaTQ0ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ2MDgwOyBqKyspCiAgaTQ0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDQgPSBpNDQ7CmlmIChpNDQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9IGk0NTsKaWYgKGk0NS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gaTQ2OwppZiAoaTQ2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80NikgewogICRFUlJPUigiIzQ2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYjgwMCBhbmQgYmJmZiIpOwp9Cgp2YXIgaTQ3ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ5MTUyOyBqKyspCiAgaTQ3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDcgPSBpNDc7CmlmIChpNDcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9IGk0ODsKaWYgKGk0OC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gaTQ5OwppZiAoaTQ5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80OSkgewogICRFUlJPUigiIzQ5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYzQwMCBhbmQgYzdmZiIpOwp9Cgp2YXIgaTUwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUyMjI0OyBqKyspCiAgaTUwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTAgPSBpNTA7CmlmIChpNTAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9IGk1MTsKaWYgKGk1MS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gaTUyOwppZiAoaTUyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81MikgewogICRFUlJPUigiIzUyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZDAwMCBhbmQgZDNmZiIpOwp9Cgp2YXIgaTUzID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU1Mjk2OyBqKyspCiAgaTUzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTMgPSBpNTM7CmlmIChpNTMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9IGk1NDsKaWYgKGk1NC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gaTU1OwppZiAoaTU1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81NSkgewogICRFUlJPUigiIzU1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZGMwMCBhbmQgZGZmZiIpOwp9Cgp2YXIgaTU2ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU4MzY4OyBqKyspCiAgaTU2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTYgPSBpNTY7CmlmIChpNTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9IGk1NzsKaWYgKGk1Ny5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gaTU4OwppZiAoaTU4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81OCkgewogICRFUlJPUigiIzU4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZTgwMCBhbmQgZWJmZiIpOwp9Cgp2YXIgaTU5ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYxNDQwOyBqKyspCiAgaTU5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTkgPSBpNTk7CmlmIChpNTkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9IGk2MDsKaWYgKGk2MC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gaTYxOwppZiAoaTYxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG82MSkgewogICRFUlJPUigiIzYxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZjQwMCBhbmQgZjdmZiIpOwp9Cgp2YXIgaTYyID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDY0NTEyOyBqKyspCiAgaTYyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjIgPSBpNjI7CmlmIChpNjIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykKICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MyA9IGk2MzsKaWYgKGk2My5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogUlVTU0lBTiBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBydXNzaWFuIHNtYWxsIGFscGhhYmV0Jyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tZAogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2QgPSAiX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1xkLy5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tZCcpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9EID0gJzAxMjM0NTY3ODknOwp2YXIgcmVnZXhwX2QgPSAvXGQvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX2QuZXhlYyhub25fRCkgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX0QubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1EJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"non-d","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5IjsKaWYgKGkwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX0QuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfRC5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKLy9DSEVDSyMxCnZhciBub25fZCA9ICJfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlxmXG5cclx0XHZ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/ICIgKyAnIic7CnZhciByZWdleHBfRCA9IC9cRC9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfRC5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fZC5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLWQnKTsKfQoKLy9DSEVDSyMyCnZhciBub25fZCA9ICcwMTIzNDU2Nzg5JzsKaWYgKC9cRC8uZXhlYyhub25fZCkgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLWQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW11hLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW11hLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKIGlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW11hLy50ZXN0KCJcXDBhXFwwYSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]a/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIik7CgpfX2V4cGVjdGVkID0gWyJhYmMzMjQyMzQiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXG5cblxhYmMzMjQyMzRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-c\\d]+/.exec(\"\\n\\n\\abc324234\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FiWy5dP2MvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiWy5dP2MvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[.]?c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYl1jLy5leGVjKCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtiXWMvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[b]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7CgpfX2V4cGVjdGVkID0gWyJkZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE1OwpfX2V4cGVjdGVkLmlucHV0ID0gImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XVteMS05XVthLXpdLy5leGVjKCJhMWIgIGIyYyAgYzNkICBkZWYgIGY0ZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel1bXjEtOV1bYS16XS8uZXhlYygiYTFiICBiMmMgIGMzZCAgZGVmICBmNGciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-z][^1-9][a-z]/.exec(\"a1b b2c c3d def f4g\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1sqJiRdezN9Ly5leGVjKCIxMjMqJiRhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvWyomJF17M30vLmV4ZWMoIjEyMyomJGFiYyIpOwoKX19leHBlY3RlZCA9IFsiKiYkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyMyomJGFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[*&$]{3}/.exec(\"123*&$abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXG5dW15cZF0vLmV4ZWMoImxpbmUxXG5saW5lMiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdW1xuXVteXGRdLy5leGVjKCJsaW5lMVxubGluZTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjFcbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcbmxpbmUyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\n][^\\d]/.exec(\"line1\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIik7CgpfX2V4cGVjdGVkID0gWyIxXG5cblxuXG5cbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcblxuXG5cblxubGluZTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcMTItXFwxNF17MSx9W15cXGRdLy5leGVjKCJsaW5lMVxcblxcblxcblxcblxcbmxpbmUyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXFxkXVtcXDEyLVxcMTRdezEsfVteXFxkXS8uZXhlYygibGluZTFcXG5cXG5cXG5cXG5cXG5saW5lMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\12-\\14]{1,}[^\\d]/.exec(\"line1\\n\\n\\n\\n\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tdLy5leGVjKCJhW2JcbltdXHRjXWQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW10vLmV4ZWMoImFbYlxuW11cdGNdZCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CgkkRVJST1IoJyMxOiAvW10vLmV4ZWMoImFbYlxcbltdXFx0Y11kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]/.exec(\"a[b\\n[]\\tc]d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVtdLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtdLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hW10vLnRlc3QoIlxcMGFcXDBhIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[]/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJxWXF5ICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxzKykvLmV4ZWMoInFZcXkgIik7CgpfX2V4cGVjdGVkID0gWyJxeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJxWXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygicVlxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInFZcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"qYqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKTsKCl9fZXhwZWN0ZWQgPSBbInF5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gInRxYXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYXF5ICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqaqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFcdCAgcXkgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XHMrKS8uZXhlYygidHFhXHQgIHF5ICIpOwoKX19leHBlY3RlZCA9IFsicWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidHFhXHQgIHF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhXFx0ICBxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYVxcdCAgcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqa\\t qy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYltlcmNzdF1kZS8uZXhlYygiYWJjZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[ercst]de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FiW2Vyc3RdZGUvLnRlc3QoImFiY2RlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[erst]de/.test(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsKCl9fZXhwZWN0ZWQgPSBbImRlZmdoIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tkLWhdKy8uZXhlYygiYWJjZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[d-h]+/.exec(\"abcdefghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWzEyMzQ1NjddLnsyfS8uZXhlYygiYWJjNmRlZmdoaWprbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7CgpfX2V4cGVjdGVkID0gWyI2ZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjNmRlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[1234567].{2}/.exec(\"abc6defghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dYS9tLmV4ZWMoImFcbmFiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxuYWJhIik7CgpfX2V4cGVjdGVkID0gWyJcbmEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYVxuYWJhIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxcbmFiYSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15dYS9tLmV4ZWMoImFcXG5hYmEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]a/m.exec(\"a\\naba\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteXS8uZXhlYygiICAgYVx0XG4iKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteXS8uZXhlYygiICAgYVx0XG4iKTsKCl9fZXhwZWN0ZWQgPSBbImFcdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMzsKX19leHBlY3RlZC5pbnB1dCA9ICIgICBhXHRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^]/.exec(\" a\\t\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYi16XVxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW15iLXpdXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7CgpfX2V4cGVjdGVkID0gWyJhWSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWIgYW4gYXogYVkgbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVteYi16XVxccysvLmV4ZWMoImFiIGFuIGF6IGFZIG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXmItel1cXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b-z]\\s+/.exec(\"ab an az aY n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15cYl0rL2cuZXhlYygiZWFzeVxidG9cdTAwMDhyaWRlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXGJdKy9nLmV4ZWMoImVhc3lcYnRvXHUwMDA4cmlkZSIpOwoKX19leHBlY3RlZCA9IFsiZWFzeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJlYXN5XGJ0b1x1MDAwOHJpZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcYl0rL2cuZXhlYygiZWFzeVxcYnRvXFx1MDAwOHJpZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxiXSsvZy5leGVjKCJlYXN5XFxidG9cXHUwMDA4cmlkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^\\b]+/g.exec(\"easy\\bto\\u0008ride\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteMS05XWMvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW14xLTldYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^1-9]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYl1jLy50ZXN0KCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteYl1jLy50ZXN0KCJhYmMiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FbXmJdYy8udGVzdCgiYWJjIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b]c/.test(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiJSYqQCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXmEtel17NH0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^a-z]{4}/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXl0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy5bXGJdLi8uZXhlYygiYWJjXGJkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLltcYl0uLy5leGVjKCJhYmNcYmRlZiIpOwoKX19leHBlY3RlZCA9IFsiY1xiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYmRlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy5bXFxiXS4vLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLltcXGJdLi8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /.[\\b]./.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJjXGJcYlxiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYlxiXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jW1xcYl17M31kLy5leGVjKCJhYmNcXGJcXGJcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NbXFxiXXszfWQvLmV4ZWMoImFiY1xcYlxcYlxcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /c[\\b]{3}d/.exec(\"abc\\b\\b\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXlxbXGJcXV0rLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tiLWFjLWVdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLWFjLWVdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1hYy1lXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItYWMtZV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-ac-e]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXDEwYi1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFwxMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDEwYi1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcMTBiLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\10b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxiZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXEJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXEJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxCZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcQmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHRkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHRkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx0ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdGQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\td-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXG5kLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXG5kLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxuZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcbmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\nd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx2ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\vd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxmZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcZmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\fd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxyZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xccmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\rd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGMwMDAxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFxjMDAwMWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGMwMDAxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYzAwMDFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\c0001d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHgwMDYxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx4MDA2MWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHgwMDYxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xceDAwNjFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\x0061d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1thLWRjLWJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1thLWRjLWJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYS1kYy1iXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2EtZGMtYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[a-dc-b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHUwMDYxZC1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx1MDA2MWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHUwMDYxZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdTAwNjFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\u0061d-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGFkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxhZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\ad-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYy1lYi1hXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYy1lYi1hXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2MtZWItYV0iKS5leGVjKCJhIikpKTsKfSBjYXRjaCAoZSkgewogIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKICAgICRFUlJPUignIzEuMjogL1tjLWViLWFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[c-eb-a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXGRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXGRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxkXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcZF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\d]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXERdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXERdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxEXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcRF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\D]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxzXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcc10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\s]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxTXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcU10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\S]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFx3XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcd10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\w]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxXXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcV10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\W]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDBdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXDBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFwwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\0]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcZGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcZGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGRiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxkYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDEwXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYi1HXFwxMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltiLUdcXDEwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMTBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\10]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxiXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXEJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXEJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxCXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcQl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\B]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx0XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\t]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXG5dLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXG5dLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxuXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcbl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\n]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx2XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\v]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxmXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcZl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\f]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxyXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xccl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\r]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGMwMDAxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFxjMDAwMV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXGMwMDAxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYzAwMDFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\c0001]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHgwMDYxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx4MDA2MV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHgwMDYxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xceDAwNjFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\x0061]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcRGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcRGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXERiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxEYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHUwMDYxXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx1MDA2MV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHUwMDYxXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdTAwNjFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\u0061]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGFdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxhXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcc2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcc2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxzYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcU2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcU2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxTYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcd2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcd2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFx3Yi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcV2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcV2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxXYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcMGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDBiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFwwYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\0b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXxhYi8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hfGFiLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /a|ab/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS2VGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiZUYiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUVLZUZDRGFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKeFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsKCl9fZXhwZWN0ZWQgPSBbIjExMTExIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIjExMTExMTExMTExMTExMTEiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /11111|111/.exec(\"1111111111111111\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3h5enwuLi4vLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h5enwuLi4vLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /xyz|.../.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKS4ufGFiYy8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKC4pLi58YWJjLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(.)..|abc/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLis6IGdyKGF8ZSl5Ly5leGVjKCJjb2xvcjogZ3JleSIpOwoKX19leHBlY3RlZCA9IFsiY29sb3I6IGdyZXkiLCJlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImNvbG9yOiBncmV5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /.+: gr(a|e)y/.exec(\"color: grey\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsKCl9fZXhwZWN0ZWQgPSBbIkJvYiIsdW5kZWZpbmVkLCJCb2IiLCB1bmRlZmluZWQsIHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhpIEJvYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFJvYil8KEJvYil8KFJvYmVydCl8KEJvYmJ5KS8uZXhlYygiSGkgQm9iIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(Rob)|(Bob)|(Robert)|(Bobby)/.exec(\"Hi Bob\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLygpfC8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oKXwvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKCl8Ly5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /()|/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3woKS8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvfCgpLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /|()/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oKGEpfChhYikpKChjKXwoYmMpKS8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCAiYSIsICJhIiwgdW5kZWZpbmVkLCAiYmMiLCB1bmRlZmluZWQsICJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /((a)|(ab))((c)|(bc))/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCBvZiBjb3Vyc2UgcmVwZWF0IDEyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOwoKX19leHBlY3RlZCA9IFsiY291ciJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIG9mIGNvdXJzZSByZXBlYXQgMTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjIzNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHszfXxbYS16XXs0fS8uZXhlYygiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgMjM0IEFORCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and 234 AND of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLnRlc3QoIjIsIDEyIGFuZCAyMyBBTkQgMC4wMC4xIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.test(\"2, 12 and 23 AND 0.00.1\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNEIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gIkFFS0ZDRCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FifGNkfGVmL2kuZXhlYygiQUVLRkNEIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvLnRlc3QoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/.test(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEIik7CgpfX2V4cGVjdGVkID0gWyJDRCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiQ0RhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0RhYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMoImFiY2RlZmdoaSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoImFiY2RlZmdoaSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}?/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhYXxhYWJhYWN8YmF8YnxjKSogLy5leGVjKCJhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoImFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(aa|aabaac|ba|b|c)* /.exec(\"aabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh6KSgoYSspPyhiKyk/KGMpKSogLy5leGVjKCJ6YWFjYmJiY2FjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsKCl9fZXhwZWN0ZWQgPSBbInphYWNiYmJjYWMiLCAieiIsICJhYyIsICJhIiwgdW5kZWZpbmVkLCAiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(z)((a+)?(b+)?(c))* /.exec(\"zaacbbbcac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhKiliXDErLy5leGVjKCJiYWFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFhYyIpOwoKX19leHBlY3RlZCA9IFsiYiIsICIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYmFhYWFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEqKWJcXDErLy5leGVjKCJiYWFhYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(a*)b\\1+/.exec(\"baaaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3MkLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvcyQvLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZSQvLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9lJC8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e$/.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcyQvbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKTsKCl9fZXhwZWN0ZWQgPSBbInMiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^e]$/mg.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZXMkL21nLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxcdTAwNjVzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsXHUwMDY1cyIpOwoKX19leHBlY3RlZCA9IFsiZXMiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlcyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxcXHUwMDY1cyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZXMkL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibFxcdTAwNjVzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /es$/mg.exec(\"pairs\\nmakes\\tdoubl\\u0065s\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15tLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXm0vLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL15cZCsvbS5leGVjKCJhYmNcbjEyM3h5eiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXGQrL20uZXhlYygiYWJjXG4xMjN4eXoiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcbjEyM3h5eiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcZCsvbS5leGVjKCJhYmNcXG4xMjN4eXoiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXGQrL20uZXhlYygiYWJjXFxuMTIzeHl6Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\d+/m.exec(\"abc\\n123xyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJtIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA2OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXm0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS8uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpOwoKX19leHBlY3RlZCA9IFsicGEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXnBbYS16XS8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ecFthLXpdLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ecFtiLXpdL20uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIik7CgpfX2V4cGVjdGVkID0gWyJwZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKTsKCl9fZXhwZWN0ZWQgPSBbIm0iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eW15wXS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^[^p]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXmFiLy5leGVjKCJhYmNkZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7CgpfX2V4cGVjdGVkID0gWyJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^ab/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL14uLl5lLy50ZXN0KCJhYlxcbmNkZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^..^e/.test(\"ab\\ncde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnh4eC8udGVzdCgieXl5eXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXnh4eC8udGVzdCgieXl5eXkiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL154eHgvLnRlc3QoInl5eXl5IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^xxx/.test(\"yyyyy\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXlxeKy8uZXhlYygiXl5eeCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXF4rLy5leGVjKCJeXl54Iik7CgpfX2V4cGVjdGVkID0gWyJeXl4iXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXl5eeCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcXisvLmV4ZWMoIl5eXngiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXF4rLy5leGVjKCJeXl54Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\^+/.exec(\"^^^x\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicC8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYnAvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbInAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYnAvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicC8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bp/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYnJvYm90XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyb2JvdFxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJyb2JvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\brobot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYlx3ezV9XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJcd3s1fVxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJwaWxvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJcXHd7NX1cXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxiXFx3ezV9XFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\b\\w{5}\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYm9wLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xib3AvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbIm9wIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxOTsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bop/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9vcFxiLy50ZXN0KCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL29wXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL29wXFxiLy50ZXN0KCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /op\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjg7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VcXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljXFx1MDA2NSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e\\b/.exec(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxiZS8udGVzdCgicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\be/.test(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL290XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvb3RcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /ot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xib3QvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJvdC8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxib3QvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bot/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xic28vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJzby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsic28iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bso/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3NvXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvc29cYi8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvc29cXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /so\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvLmV4ZWMoInBpbE90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15vXXRcYi8uZXhlYygicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsiT3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJldCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15vXXRcXGIvaS5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teb110XFxiL2kuZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/i.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicm8vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsicm8iXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bro/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3JcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9yXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL3JcXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /r\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCZXZpbFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQmV2aWxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImV2aWwiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bevil\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tmLXpdZVxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bZi16XWVcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIik7CgpfX2V4cGVjdGVkID0gWyJyZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[f-z]e\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCb1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQm9cQi9pLmV4ZWMoImRldmlscyBhcmlzZVx0Zk9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiTyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmT3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCb1xcQi9pLmV4ZWMoImRldmlscyBhcmlzZVxcdGZPclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXEJvXFxCL2kuZXhlYygiZGV2aWxzIGFyaXNlXFx0Zk9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bo\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHdcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXFteel17NH1cQi8udGVzdCgiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcW156XXs0fVxCLy50ZXN0KCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxCXFxbXnpdezR9XFxCLy50ZXN0KCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\[^z]{4}\\B/.test(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHd7NH1cQi8uZXhlYygiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd3s0fVxCLy5leGVjKCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKX19leHBlY3RlZCA9IFsib3J6eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXHd7NH1cXEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZpbHMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd3s0fVxcQi8uZXhlYygiZGV2aWwgYXJpc2VcXHRmb3J6enhcXG5ldmlscyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w{4}\\B/.exec(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsKCl9fZXhwZWN0ZWQgPSBbInJvYm90Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gInJvYm90IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eXl5eXl5ecm9ib3QkJCQkLy5leGVjKCJyb2JvdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /^^^^^^^robot$$$$/.exec(\"robot\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXEJcQlxCXEJcQlxCYm90XGJcYlxiXGJcYlxiXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQlxCXEJcQlxCXEJib3RcYlxiXGJcYlxiXGJcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7CgpfX2V4cGVjdGVkID0gWyJib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicm9ib3Qgd2FsbC1lIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXEJcXEJcXEJcXEJcXEJib3RcXGJcXGJcXGJcXGJcXGJcXGJcXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFxCXFxCXFxCXFxCXFxCYm90XFxiXFxiXFxiXFxiXFxiXFxiXFxiLy5leGVjKCJyb2JvdCB3YWxsLWUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec(\"robot wall-e\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIHRoZSBlbmQgYmVjYXVzZSBvZiBkb2xsYXIgYXNzZXJ0aW9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIkhlbGxvIFdvcmxkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvIFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPyQvLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till the end because of dollar assertion","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJIZWxsbyBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14uKj8vLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"Execute /^.*?/.exec(\"Hello World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIG1hdGNoZXMgZW5kIG9yIGNvbG9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOwoKX19leHBlY3RlZCA9IFsiSGVsbG86IiwgIjoiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSGVsbG86IFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXi4qPyg6fCQpLy5leGVjKCJIZWxsbzogV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till matches end or colon","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qKDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7CgpfX2V4cGVjdGVkID0gWyJIZWxsbzogV29ybGQiLCAiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvOiBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"Execute /^.*(:|$)/.exec(\"Hello: World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7CgpfX2V4cGVjdGVkID0gWyI0MiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIGFuc3dlciBpcyA0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBhbnN3ZXIgaXMgNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the answer is 42\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7CgpfX2V4cGVjdGVkID0gWyJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ieHswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /bx{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsKCl9fZXhwZWN0ZWQgPSBbIndlaXJ3ZXJkZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ3ZWlyd2VyZGYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /.{0,93}/.exec(\"weirwerdf\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcZHsyLDR9Ly50ZXN0KCJ0aGUgNyBtb3ZpZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.test(\"the 7 movie\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDIwMDAwIExlYWd1ZXMgVW5kZXIgdGhlIFNlYSBib29rIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOwoKX19leHBlY3RlZCA9IFsiMjAwMCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0aGUgMjAwMDAgTGVhZ3VlcyBVbmRlciB0aGUgU2VhIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 20000 Leagues Under the Sea book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsKCl9fZXhwZWN0ZWQgPSBbIjQ1MSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgRmFocmVuaGVpdCA0NTEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the Fahrenheit 451 book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsKCl9fZXhwZWN0ZWQgPSBbIjE5ODQiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIDE5ODQgbm92ZWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgMTk4NCBub3ZlbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 1984 novel\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCIwYTBcdTAwMzFcdTAwMzFiIik7CgpfX2V4cGVjdGVkID0gWyIwMTEiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMGEwMTFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u0031b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxMjJiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoIjBhMFx1MDAzMVx1MDAzMTIyYiIpOwoKX19leHBlY3RlZCA9IFsiMDExMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICIwYTAxMTIyYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMTIyYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFcXHUwMDMxMjJiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u003122b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iezIsM31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{2,3}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns0Miw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns0Miw5M31jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7NDIsOTN9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{42,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VcdUZGRkZMXHVGRkREYm94MTI3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3ezN9XGQ/Ly5leGVjKCJDRVx1RkZGRkxcdUZGRERib3gxMjciKTsKCl9fZXhwZWN0ZWQgPSBbImJveDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQ0VcdUZGRkZMXHVGRkREYm94MTI3IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRVxcdUZGRkZMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VcXHVGRkZGTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CE\\uFFFFL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpOwoKX19leHBlY3RlZCA9IFsiQ0VMIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkNFTExcdUZGRERib3gxMjciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFTExcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRUxMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CELL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezJ9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7Mn1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{2}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezh9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7OH0vLnRlc3QoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvYns4fS8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{8}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy5leGVjKCJsYW5ndWFnZSAgamF2YVxuIik7CgpfX2V4cGVjdGVkID0gWyIgIGphdmFcbiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gODsKX19leHBlY3RlZC5pbnB1dCA9ICJsYW5ndWFnZSAgamF2YVxuIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"language java\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28rLy50ZXN0KCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28rLy50ZXN0KCJhYmNkZWZnIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9vKy8udGVzdCgiYWJjZGVmZyIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /o+/.test(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QrLy5leGVjKCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7CgpfX2V4cGVjdGVkID0gWyJiYmJiYmJiIiwiYmJiYmIiLCJiIiwiYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmJiYmJiYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYispKGIrKShiKykvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b+)(b+)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGIrKShiKikvLmV4ZWMoImFiYmJiYmJiYyIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmJiYiIsImJiYmJiYmIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b*)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYipiKy8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /b*b+/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKTsKCl9fZXhwZWN0ZWQgPSBbIlx0IGphdmEgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIlx0IGphdmEgb2JqZWN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHMramF2YVxccysvLmV4ZWMoIlxcdCBqYXZhIG9iamVjdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxzK2phdmFcXHMrLy5leGVjKCJcXHQgamF2YSBvYmplY3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"\\t java object\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiXHQgamF2YXggcGFja2FnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy50ZXN0KCJcdCBqYXZheCBwYWNrYWdlIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9cXHMramF2YVxccysvLnRlc3QoIlxcdCBqYXZheCBwYWNrYWdlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"\\t javax package\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xccytqYXZhXFxzKy8udGVzdCgiamF2YVxcblxcbm9iamVjdCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"java\\n\\nobject\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOwoKX19leHBlY3RlZCA9IFsieDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDEwOwpfX2V4cGVjdGVkLmlucHV0ID0gInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJfX2FiYzEyMy4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygiX19hYmMxMjMuMCIpOwoKX19leHBlY3RlZCA9IFsiYWJjMTIzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gIl9fYWJjMTIzLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsKCl9fZXhwZWN0ZWQgPSBbIngyIiwiMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJfX2FiYzEyMy4wIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiZGRkZGQiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGRkZGRlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGRkZGRlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdddddefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJyk7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnImJlYXN0Ii1uaWNrbmFtZSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('\"beast\"-nickname') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QqIC8uZXhlYygnYWJjZGRkZGVmZycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9kKi8uZXhlYygnYWJjZGRkZGVmZycpOwoKX19leHBlY3RlZCA9IFsiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FiY2RkZGRlZmcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /d* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkKiAvLmV4ZWMoJ2FiY2RkZGRlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKCdhYmNkZGRkZWZnJyk7CgpfX2V4cGVjdGVkID0gWyJjZGRkZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZGRkZWZnJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKFwnYWJjZGRkZGVmZ1wnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cd* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2N4KmQvLmV4ZWMoJ2FiY2RlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYygnYWJjZGVmZycpOwoKX19leHBlY3RlZCA9IFsiY2QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmZyc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2N4KmQvLmV4ZWMoXCdhYmNkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYyhcJ2FiY2RlZmdcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cx*d/.exec('abcdefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KikoeCspLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4IiwieCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x*)(x+)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkKikoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpOwoKX19leHBlY3RlZCA9IFsiMTIzNDU2Nzg5MCIsIjEyMzQ1Njc4OSIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKShcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopXGQoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXGQqKVxkKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1Njc4OTAiLCIxMjM0NTY3OCIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopXFxkKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKVxcZChcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)\\d(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KykoeCopLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4eCIsIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x+)(x*)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3gqeSskLy5leGVjKCd4eHh4eHh5eXl5eXknKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoJ3h4eHh4eHl5eXl5eScpOwoKX19leHBlY3RlZCA9IFsieHh4eHh4eXl5eXl5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ3h4eHh4eHl5eXl5eSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3gqeSskLy5leGVjKFwneHh4eHh4eXl5eXl5XCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoXCd4eHh4eHh5eXl5eXlcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /x*y+$/.exec('xxxxxxyyyyyy') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF0qW1xzXSpiYy4vLmV4ZWMoJ2FiY2RlZicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdKltcc10qYmMuLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZWYnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\\d]*[\\s]*bc./.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2JjLi5bXGRdKltcc10qIC8uZXhlYygnYWJjZGVmJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2JjLi5bXGRdKltcc10qLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iYy4uW1xcZF0qW1xcc10qLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYmMuLltcXGRdKltcXHNdKi8uZXhlYyhcJ2FiY2RlZlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /bc..[\\d]*[\\s]* /.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBzYWlkOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygnYWxpY2Ugc2FpZDogImRvblwndCInKTsKCl9fZXhwZWN0ZWQgPSBbImFsaWNlIHNhaWQ6ICJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBzYWlkOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBzYWlkOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2Ugc2FpZDogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice said: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4qIC8uZXhlYygnYTFiMmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLy4qLy5leGVjKCdhMWIyYzMnKTsKCl9fZXhwZWN0ZWQgPSBbImExYjJjMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhMWIyYzMnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uKi8uZXhlYyhcJ2ExYjJjM1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4qLy5leGVjKFwnYTFiMmMzXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /.* /.exec('a1b2c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJyk7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9beHl6XSoxLy50ZXN0KFwnYTAuYjIuYzNcJykgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[xyz]*1/.test('a0.b2.c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7CgpfX2V4cGVjdGVkID0gWyJiZWZvcmVcJ2lcJ3N0YXJ0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImJlZm9yZVwnaVwnc3RhcnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygiYmVmb3JlXCdpXCdzdGFydCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec(\"before\\'i\\'start\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJhbGljZSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgXCJzd2VlcFwiOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFwic3dlZXBcXCI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXCJzd2VlcFxcIjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\\"sweep\\\": \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcdTAwMjJzd2VlcFx1MDAyMjogImRvblwndCInKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpOwoKX19leHBlY3RlZCA9IFsiYWxpY2UgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlICJzd2VlcCI6ICJkb25cJ3QiJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgXHUwMDIyc3dlZXBcdTAwMjI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJcInN3ZWVwXCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgInN3ZWVwIjogImRvblwndCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnJyk7CgpfX2V4cGVjdGVkID0gWyJcJ2RvblwnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJ1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out: \\'don\\'t\\'') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLnRlc3QoJ2FsaWNlIGNyaWVzIG91dDogZG9uXCd0JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy50ZXN0KCdhbGljZSBjcmllcyBvdXQ6IGRvblwndCcpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvWyJcJ11bXiJcJ10qWyJcJ10vLnRlc3QoXCdhbGljZSBjcmllcyBvdXQ6IGRvblwndFwnKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.test('alice cries out: don\\'t') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDpcIlwiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy5leGVjKCdhbGljZSBjcmllcyBvdXQ6XCJcIicpOwoKX19leHBlY3RlZCA9IFsnXCJcIiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMTY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgY3JpZXMgb3V0OlwiXCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out:\\\"\\\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFzY3JpcHQiLCAic2NyaXB0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSA3OwpfX2V4cGVjdGVkLmlucHV0ID0gInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmFzY3JpcHQgaXMgZXh0ZW5zaW9uIG9mIGVjbWEgc2NyaXB0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: javascript is extension of ecma script\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYj9jP2Q/eD95P3ovLmV4ZWMoIjEyM2F6Nzg5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsKCl9fZXhwZWN0ZWQgPSBbImF6Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyM2F6Nzg5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /ab?c?d?x?y?z/.exec(\"123az789\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cPz9cPz9cPz9cPz9cPz8vLmV4ZWMoIj8/Pz8/IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1w/P1w/P1w/P1w/P1w/Py8uZXhlYygiPz8/Pz8iKTsKCl9fZXhwZWN0ZWQgPSBbIj8/Pz8/Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIj8/Pz8/IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFw/P1xcPz9cXD8/XFw/P1xcPz8vLmV4ZWMoIj8/Pz8/Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXD8/XFw/P1xcPz9cXD8/XFw/Py8uZXhlYygiPz8/Pz8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\??\\??\\??\\??\\??/.exec(\"?????\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOwoKX19leHBlY3RlZCA9IFsidGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0ZXN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLj8uPy4/Lj8uPy4/Lj8vLmV4ZWMoInRlc3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /.?.?.?.?.?.?.?/.exec(\"test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7CgpfX2V4cGVjdGVkID0gWyJqYXZhIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YSBhbmQgamF2YXNjcmlwdCBhcmUgdmFzdGx5IGRpZmZlcmVudCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: java and javascript are vastly different\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLnRlc3QoInN0YXRlOiBib3RoIEphdmEgYW5kIEphdmFTY3JpcHQgdXNlZCBpbiB3ZWIgZGV2ZWxvcG1lbnQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.test(\"state: both Java and JavaScript used in web development\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkP2UvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NkP2UvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cd?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkeD9lLy5leGVjKCJhYmNkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2R4P2UvLmV4ZWMoImFiY2RlZiIpOwoKX19leHBlY3RlZCA9IFsiY2RlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cdx?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7CgpfX2V4cGVjdGVkID0gWyJwcXJzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwcXJzdHV2dyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbz9wcXJzdC8uZXhlYygicHFyc3R1dnciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /o?pqrst/.exec(\"pqrstuvw\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/eT96Py8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD95P3o/Ly5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?y?z?/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD9heT9iej9jLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?ay?bz?c/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYj9iP2I/Yi8uZXhlYygiYWJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b?b?b?b/.exec(\"abbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYWJiYmJjY2NkZGVlZWVmZmZmZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7Mix9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{2,}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7OCx9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{8,}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7MSx9Ly5leGVjKCJ3cWU0NTY2NDZkc2ZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOwoKX19leHBlY3RlZCA9IFsiNDU2NjQ2Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIndxZTQ1NjY0NmRzZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /\\d{1,}/.exec(\"wqe456646dsff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfS8uZXhlYygiMTIzMTIzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oMTIzKXsxLH0vLmV4ZWMoIjEyMzEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}/.exec(\"123123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9eFwxLy5leGVjKCIxMjMxMjN4MTIzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcMS8uZXhlYygiMTIzMTIzeDEyMyIpOwoKX19leHBlY3RlZCA9IFsiMTIzMTIzeDEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjN4MTIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDFcXC8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9eFxcMS8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}x\\1/.exec(\"123123x123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsKCl9fZXhwZWN0ZWQgPSBbInh4eHh4eHgiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieHh4eHh4eCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h7MSwyfXh7MSx9Ly5leGVjKCJ4eHh4eHh4Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /x{1,2}x{1,}/.exec(\"xxxxxxx\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOwoKX19leHBlY3RlZCA9IFsiIiwgImFhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSkvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKWEqYlwxLy5leGVjKCJiYWFhYmFjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXDEvLmV4ZWMoImJhYWFiYWMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYSIsICJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImJhYWFiYWMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXFwxLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPz0oYSspKWEqYlxcMS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))a*b\\1/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YXNjcmlwdCIsICJzY3JpcHQiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"just Javascript: the way af jedi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmEiLCB1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygidGFzdGUgb2YgamF2YTogdGhlIGNvb2tib29rICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"taste of java: the cookbook \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLnRlc3QoInJoaW5vIGlzIEphdmFTY3JpcHQgZW5naW5lIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.test(\"rhino is JavaScript engine\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKj8pYSg/IShhKyliXDJjKVwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcMmMpXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOwoKX19leHBlY3RlZCA9IFsiYmFhYWJhYWMiLCAiYmEiLCB1bmRlZmluZWQsICJhYmFhYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguKj8pYSg/IShhKyliXFwyYylcXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcXDJjKVxcMiguKikvLmV4ZWMoImJhYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec(\"baaabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"bc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YUJlYW5zIiwgIkJlYW5zIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA5OwpfX2V4cGVjdGVkLmlucHV0ID0gInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"using of JavaBeans technology\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgidXNpbmcgb2YgSmF2YSBsYW5ndWFnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"using of Java language\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgiaSdtIGEgSmF2YVNjcmlwdGVyICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoImknbSBhIEphdmFTY3JpcHRlciAiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoImlcJ20gYSBKYXZhU2NyaXB0ZXIgIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"i'm a JavaScripter \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOwoKX19leHBlY3RlZCA9IFsiSmF2YVNjciIsICJTY3IiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSmF2YVNjciBvb3BzIGlwdCAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoIkphdmFTY3Igb29wcyBpcHQgIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"JavaScr oops ipt \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWguaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoLmluZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy4nLCAnLiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC5pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWguaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoLmluZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah.info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWgvaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoL2luZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy8nLCAnLyddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC9pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWgvaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoL2luZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah/info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8udGVzdCgiYWguY29tIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.test(\"ah.com\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/IWF8Yil8Yy8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxzaXNccyhmdW5cdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFTY3JpcHQgaXMgZnVubnkiLCJqYXZhU2NyaXB0IiwiU2NyaXB0IiwiZnVubnkiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Learning javaScript is funny, really\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1NjEyMzQ1NiIsIjEyMyIsIjQ1NiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjM0NTYxMjM0NTYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFxkezN9KShcXGR7M30pXFwxXFwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGR7M30pKFxcZHszfSlcXDFcXDIvLmV4ZWMoIjEyMzQ1NjEyMzQ1NiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(\\d{3})(\\d{3})\\1\\2/.exec(\"123456123456\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjZGVmZyIsImRlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hKC4uKC4uKS4uKS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(..(..)..)/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSkvLmV4ZWMoInhhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWYiLCJhYmMiLCJiYyIsImMiLCJkZWYiLCJlZiIsImYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieGFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))/.exec(\"xabcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpXDJcNS8uZXhlYygieGFiY2RlZmJjZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVwyXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmYmNlZiIsImFiYyIsImJjIiwiYyIsImRlZiIsImVmIiwiZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJ4YWJjZGVmYmNlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVxcMlxcNS8uZXhlYygieGFiY2RlZmJjZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSlcXDJcXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))\\2\\5/.exec(\"xabcdefbcefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2QiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguPyliXFwxY1xcMWRcXDEvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoLj8pYlxcMWNcXDFkXFwxLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(.?)b\\1c\\1d\\1/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKCc7Cl9fY2xvc2VQYXJlbiA9ICcpJzsKX19wYXR0ZXJuID0gJyc7CiBudW1QYXJlbnMgPSAyMDA7CiAgCmZvciAodmFyIGk9MDsgaTxudW1QYXJlbnM7IGkrKykKICAgIF9fcGF0dGVybiArPSBfX29wZW5QYXJlbjsKICAgIApfX3BhdHRlcm4gKz0gX19zdHJPcmlnaW5hbDsKCmZvciAoaT0wOyBpPG51bVBhcmVuczsgaSsrKSAKICAgIF9fcGF0dGVybiArPSBfX2Nsb3NlUGFyZW47CiAgICAKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7CgpfX2V4cGVjdGVkID0gW107CmZvciAodmFyIGk9MDsgaTw9bnVtUGFyZW5zOyBpKyspCiAgICBfX2V4cGVjdGVkLnB1c2goX19zdHJPcmlnaW5hbCk7Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKD86JzsKX19jbG9zZVBhcmVuID0gJyknOwpfX3BhdHRlcm4gPSAnJzsKIG51bVBhcmVucyA9IDIwMDsKICAKZm9yICh2YXIgaT0wOyBpPG51bVBhcmVuczsgaSsrKQogICAgX19wYXR0ZXJuICs9IF9fb3BlblBhcmVuOwogICAgCl9fcGF0dGVybiArPSBfX3N0ck9yaWdpbmFsOwoKZm9yIChpPTA7IGk8bnVtUGFyZW5zOyBpKyspIAogICAgX19wYXR0ZXJuICs9IF9fY2xvc2VQYXJlbjsKICAgIApfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsKCl9fZXhwZWN0ZWQgPSBbX19zdHJPcmlnaW5hbF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0OTcKICovCgpfX2JvZHk9IiI7Cl9fYm9keSArPSAnPGJvZHkgb25YWFg9ImFsZXJ0KGV2ZW50LnR5cGUpOyI+XG4nOwpfX2JvZHkgKz0gJzxwPktpYm9sb2d5IGZvciBhbGw8XC9wPlxuJzsKX19ib2R5ICs9ICc8cD5BbGwgZm9yIEtpYm9sb2d5PFwvcD5cbic7Cl9fYm9keSArPSAnPFwvYm9keT4nOwoKX19odG1sPSIiOwpfX2h0bWwgKz0gJzxodG1sPlxuJzsKX19odG1sICs9IF9fYm9keTsKX19odG1sICs9ICdcbjxcL2h0bWw+JzsKCl9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXG4/KSo/KTxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOwoKX19leHBlY3RlZCA9IFtfX2JvZHksICdcbjxwPktpYm9sb2d5IGZvciBhbGw8L3A+XG48cD5BbGwgZm9yIEtpYm9sb2d5PC9wPlxuJywgJzxwPkFsbCBmb3IgS2lib2xvZ3k8L3A+XG4nXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX2h0bWw7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzxib2R5Lio+KCguKlxcbj8pKj8pPFxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXFxuPykqPyk8XFwvYm9keT4vaS5leGVjKF9faHRtbCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169497","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyAgaHR0cDpidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NTM0CiAqLwoKX19yZXBsYWNlZCA9ICJUbyBzaWduIHVwIGNsaWNrIHxoZXJlfGh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtfCIucmVwbGFjZSgvKFx8KShbXHdceDgxLVx4ZmYgXSopKFx8KShbXC9hLXpdW1x3OlwvXC5dKlwuW2Etel17Myw0fSkoXHwpL2lnLCAnPGEgaHJlZj0iJDQiPiQyPC9hPicpOwoKX19leHBlY3RlZCA9ICdUbyBzaWduIHVwIGNsaWNrIDxhIGhyZWY9Imh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtIj5oZXJlPC9hPic7CgovL0NIRUNLIzEKaWYgKF9fcmVwbGFjZWQgIT09IF9fZXhwZWN0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmVwbGFjZWQgPSAiVG8gc2lnbiB1cCBjbGljayB8aGVyZXxodHRwczp3d3cueHh4eC5vcmcvc3Vic2NyaWJlLmh0bXwiLnJlcGxhY2UoLyhcXHwpKFtcXHdcXHg4MS1cXHhmZiBdKikoXFx8KShbXFwvYS16XVtcXHc6XFwvXFwuXSpcXC5bYS16XXszLDR9KShcXHwpL2lnLCBcJzxhIGhyZWY9IiQ0Ij4kMjwvYT5cJyk7IF9fcmVwbGFjZWQgPT09ICcgKyBfX2V4cGVjdGVkICsgJy4gQWN0dWFsOiAnICsgX19yZXBsYWNlZCk7Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169534","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIsIkNvdXJzZV9DcmVhdG9yIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbXFxTXSsoWyBcXHRdK1tcXFNdKykqKVsgXFx0XSo9WyBcXHRdKltcXFNdKy8uZXhlYygiQ291cnNlX0NyZWF0b3IgPSBUZXN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oW1xcU10rKFsgXFx0XStbXFxTXSspKilbIFxcdF0qPVsgXFx0XSpbXFxTXSsvLmV4ZWMoIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec(\"Course_Creator = Test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXHNpc1xzKGZ1blx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7CgpfX2V4cGVjdGVkID0gWyJKYXZhIGlzIGZ1biIsIkphdmEiLHVuZGVmaW5lZCwiZnVuIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNjsKX19leHBlY3RlZC5pbnB1dCA9ICJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Developing with Java is fun, try it\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBQSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUFBIik7CgpfX2V4cGVjdGVkID0gWyJBQUEiLCJBIiwiQUEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUFBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AAA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOwoKX19leHBlY3RlZCA9IFsiQUEiLCJBIiwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBQSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsKCl9fZXhwZWN0ZWQgPSBbIkEiLHVuZGVmaW5lZCwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"A\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7CgpfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQUFhYUFBYWFhZjtscmxyenMiXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFhYUFBYWFhZjtscmxyenMiOwoKX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsKCl9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbIkFhYUFBYWFhZjtscmxyenMiLHVuZGVmaW5lZCwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpP2EvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvKGEpP2EvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?a/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXwoYikvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvYXwoYikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a|(b)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpPyhhKS8uZXhlYygiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiYSI7CgpfX2V4ZWN1dGVkID0gLyhhKT8oYSkvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYScsIHVuZGVmaW5lZCwgJ2EnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?(a)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhIjsKCl9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWydhJywgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLnRlc3QoIkRldmVsb3Bpbmcgd2l0aCBKYXZhU2NyaXB0IGlzIGRhbmdlcm91cywgZG8gbm90IHRyeSBpdCB3aXRob3V0IGFzc2lzdGFuY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.test(\"Developing with JavaScript is dangerous, do not try it without assistance\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYiI7CgpfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYWInLCAiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhYiI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYWIiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYmMiOwoKX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ2FiYycsICJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmMiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSpbYS16XVwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ3d3dy5uZXRzY2FwZS5jb20nLCAnbmV0c2NhcGUuJywgJ25ldHNjYXAnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnd3d3Lm5ldHNjYXBlLmNvbScsICduZXRzY2FwZS4nLCAnbmV0c2NhcCcsICdlJ107Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKihbYS16XSlcXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqKFthLXpdKVxcLikrW2Etel17Mix9JC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWJjKS8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhYmMpLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyIsImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(abc)/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjIiwiZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYShiYylkKGVmKWcvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoYmMpZChlZilnLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(bc)d(ef)g/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnszfSkoLns0fSkvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZmciLCJhYmMiLCJkZWZnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{3})(.{4})/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpYmNkXDEvLmV4ZWMoImFhYmNkYWFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhKWJjZFwxLy5leGVjKCJhYWJjZGFhYmNkIik7CgpfX2V4cGVjdGVkID0gWyJhYWJjZGFhIiwiYWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFiY2RhYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa)bcd\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpOwoKX19leHBlY3RlZCA9IFsiYWFiY2RhYSIsImFhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmNkYWFiY2QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhhYSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnsyfSkuK1wxLy5leGVjKCJhYWJjZGFhYmNkIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezJ9KS4rXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFhYmNkYWEiLCJhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWJjZGFhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oLnsyfSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC57Mn0pLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{2}).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYi5kZS8uZXhlYygiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlIjsKX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGUiOyBfX2V4ZWN1dGVkID0gL2FiLmRlLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZSI7IF9fZXhlY3V0ZWQgPSAvYWIuZGUvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /ab.de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygibGluZSAxXG5saW5lIDIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJsaW5lIDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAibGluZSAxXG5saW5lIDIiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"line 1\\nline 2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKmEuKiAvLmV4ZWMoInRoaXMgaXMgYSB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7Cl9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsidGhpcyBpcyBhIHRlc3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSB0ZXN0IjsgX19leGVjdXRlZCA9IC8uKmEuKi8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAidGhpcyBpcyBhIHRlc3QiOyBfX2V4ZWN1dGVkID0gLy4qYS4qLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.*a.* /.exec(\"this is a test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygidGhpcyBpcyBhIComXiUkIyB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgKiZeJSQjIHRlc3QiOwpfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbInRoaXMgaXMgYSAqJl4lJCMgdGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"this is a *&^%$# test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiLi4uLiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiLi4uLiI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiLi4uLiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIuLi4uIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiLi4uLiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"....\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"abcdefghijklmnopqrstuvwxyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"`1234567890-=~!@#$%^&*()_+\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygifFxcW3tdfTs6XCJcJyw8Pi4/LyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsifFxcW3tdfTs6XCJcJyw8Pi4/LyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ8XFxbe119OzpcIlwnLDw+Lj8vIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"|\\\\[{]};:\\\"\\',<>.?/\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvaWcuZXhlYygiQUJDIGRlZiBnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsKX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQUJDIGRlZiBnaGkiOyBfX2V4ZWN1dGVkID0gL1thLXpdKy9pZy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/ig.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvLmV4ZWMoIkFCQyBkZWYgZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7Cl9fZXhlY3V0ZWQgPSAvW2Etel0rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbImRlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwxXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDFcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCl9fZXhwZWN0ZWQgPSBbInRoZSB0aGUiLCAidGhlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNDsKX19leHBlY3RlZC5pbnB1dCA9ICJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxiKFxcdyspIFxcMVxcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYihcXHcrKSBcXDFcXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\1\\b/.exec(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ4MDF4MDEiLCAieDAxIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x01u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ1MDBGRnUwMEZGIiwgInUwMEZGIiwgIkZGIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxMjsKX19leHBlY3RlZC5pbnB1dCA9ICJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDA1dTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x05u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwyXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDJcYi8udGVzdCgiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcYihcXHcrKSBcXDJcXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\2\\b/.test(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYSopYlwxKy8uZXhlYygiYmFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFjIik7CgpfX2V4cGVjdGVkID0gWyJiIiwgIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /(a*)b\\1+/.exec(\"baaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAveC9pIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUikKICovCgpfX3JlID0gL3gvaTsKX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC94L2k7IF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /x/i and instance is RegExp(R)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwgZnVuY3Rpb24oKXt9KCkpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgZnVuY3Rpb24oKXt9KCkpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCBmdW5jdGlvbigpe30oKSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp and instance is RegExp(R, function(){}())","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgpOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB2b2lkIDApCiAqLwoKX19yZSA9IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHZvaWQgMCk7Cl9fcmUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5pbmRpY2F0b3IgIT09IDEpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBSZWdFeHAoKTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB2b2lkIDApOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, void 0)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAvXGIvbSBhbmQgaW5zdGFuY2UgaXMgUmVnRXhwKFIsIHVuZGVmaW5lZCkKICovCgpfX3JlID0gL1xiL207Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgdW5kZWZpbmVkKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9cXGIvbTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB1bmRlZmluZWQpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /\\b/m and instance is RegExp(R, undefined)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgIjEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBSZWdFeHAobmV3IFJlZ0V4cCgiXFxkIiksICIxIikpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKFJlZ0V4cChuZXcgUmVnRXhwKCJcZCIpLCAiMSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IFJlZ0V4cChuZXcgUmVnRXhwKCJcXGQiKSwgIjEiKSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using \"1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgZGFmaW5lZCB2YXJpYWJsZSAieCA9IDEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCnZhciB4ID0gMTsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoUmVnRXhwKC9bYS1iXT8vLCB4KSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfSAKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using dafined variable \"x = 1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAiZCsiIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwiaSIpCiAqLwoKX19yZSA9ICJkKyI7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgImkiKTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gImQrIjsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCAiaSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5zb3VyY2UgIT09IF9fcmUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAiZCsiOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsICJpIik7IF9faW5zdGFuY2Uuc291cmNlID09PSBfX3JlLiBBY3R1YWw6ICcrIChfX2luc3RhbmNlLnNvdXJjZSkpOwp9CgoK","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is \"d+\" and instance is RegExp(R,\"i\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0gYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCJnbSIpCiAqLwoKX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbYS1jXSoiO319LCAiZ20iKTsgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gUmVnRXhwLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2Uuc291cmNlICE9PSAiW2EtY10qIikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOyBfX2luc3RhbmNlLnNvdXJjZSA9PT0gIlthLWNdKiIuIEFjdHVhbDogJysgKF9faW5zdGFuY2Uuc291cmNlKSk7Cn0KCgo=","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is {toString:function(){return \"[a-c]*\";}} and instance is RegExp(R,\"gm\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgVHlwZUVycm9yIGluc3RlYWQgb2YgUmVnRXhwRXJyb3Igd2hlbiBwYXR0ZXJuIGlzIGFuIG9iamVjdCB3aG9zZSBbW0NsYXNzXV0gcHJvcGVydHkgaXMgJ1JlZ0V4cCcgYW5kIGZsYWdzIGlzIG5vdCB1bmRlZmluZWQgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHBPYmogPSBuZXcgUmVnRXhwKHJlZ09iaiwgdHJ1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp - the thrown error is TypeError instead of RegExpError when pattern is an object whose [[Class]] property is 'RegExp' and flags is not undefined","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuIHRoZSBjaGFyYWN0ZXJzIG9mICdQJyBkbyBub3QgaGF2ZSB0aGUgc3ludGFjdGljIGZvcm0gUGF0dGVybg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwT2JqID0gbmV3IFJlZ0V4cCgnXFwnKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when the characters of 'P' do not have the syntactic form Pattern","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuICdGJyBjb250YWlucyBhbnkgY2hhcmFjdGVyIG90aGVyIHRoYW4gJ2cnLCAnaScsIG9yICdtJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdhJyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when 'F' contains any character other than 'g', 'i', or 'm'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gZmxhZ3MgaXMgJ2dpbScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdnaW0nKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the SyntaxError is not thrown when flags is 'gim'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC8uL2kgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4pCiAqLwoKX19wYXR0ZXJuID0gLy4vaTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgCgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSBfX3BhdHRlcm4uc291cmNlKSB7CiAgJEVSUk9SKCcjMTogX19wYXR0ZXJuID0gLy4vaTsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLmdsb2JhbCA9PT0gX19wYXR0ZXJuLmdsb2JhbC4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX3BhdHRlcm4uaWdub3JlQ2FzZSkgewogICRFUlJPUignIzQ6IF9fcGF0dGVybiA9IC8uL2k7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /./i and RegExp is new RegExp(pattern)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9cdC9tIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHgpLCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCl9fcGF0dGVybiA9IC9cdC9tOwpfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUubXVsdGlsaW5lID09PSBfX3BhdHRlcm4ubXVsdGlsaW5lLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gX19wYXR0ZXJuLmdsb2JhbCkgewogICRFUlJPUignIzM6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /\\t/m and RegExp is new RegExp(pattern,x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9bYS1iXS9nIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHZvaWQgMCkKICovCgpfX3BhdHRlcm4gPSAvW2EtYl0vZzsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9bYS1iXS9nOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IF9fcGF0dGVybi5tdWx0aWxpbmUuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBfX3BhdHRlcm4uZ2xvYmFsKSB7CiAgJEVSUk9SKCcjMzogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvW2EtYl0vZzsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /[a-b]/g and RegExp is new RegExp(pattern,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBSZWdFeHAgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4sdW5kZWZpbmVkKQogKi8KCl9fcGF0dGVybiA9IG5ldyBSZWdFeHA7Cl9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is new RegExp and RegExp is new RegExp(pattern,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIFJlZ0V4cCgiMT8iLCJtaWciKSBhbmQgUmVnRXhwIGlzIG5ldyBSZWdFeHAocGF0dGVybiwoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcGF0dGVybiA9IFJlZ0V4cCgiMT8iLCJtaWciKTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is RegExp(\"1?\",\"mig\") and RegExp is new RegExp(pattern,(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCAiaSIpIiwgd2hlcmUgdGhlIHBhdHRlcm4gaXMgIi9cdTAwNDIvaSIsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoL1xcdTAwNDIvaSwgImkiKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKC9cdTAwNDIvaSwgImkiKSkpOyAKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvXFx1MDA0Mi9pLCAiaSIpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, \"i\")\", where the pattern is \"/\\u0042/i\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCB7fSkiLCB3aGVyZSB0aGUgcGF0dGVybiBpcyAiLzE/MS9taWciLCBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoLzE/MS9taWcsIHt9KSkpOyAKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, {})\", where the pattern is \"/1?1/mig\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh4KTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCnZhciB4OwoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh1bmRlZmluZWQpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp((function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLnNvdXJjZSA9PT0gIm51bGwiLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoKCg==","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkLHVuZGVmaW5lZCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoK","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHVuZGVmaW5lZCBwcm9wZXJ0aWVzIG9mIG9iamVjdCBhcyBmbGFncyBvZiBSZWdFeHAKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7fS5wLCB7fS5xKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt9LnAsIHt9LnEpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"Use undefined properties of object as flags of RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAobnVsbCx2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09ICJudWxsIikgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSAibnVsbCIuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(null,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAoIiIsKGZ1bmN0aW9uKCl7fSkoKSkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9Cgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(\"\",(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJpaSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh1bmRlZmluZWQsImlpIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHVuZGVmaW5lZCwiaWkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAodW5kZWZpbmVkLCJpaSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"ii\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJtaWdnIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKG51bGwsIm1pZ2ciKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAobnVsbCwibWlnZyIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cChudWxsLCJtaWdnIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"migg\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIHRyeSB0byB1c2UgZXZhbCgiXCJtaWdnXCIiKSBhcyBGCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIiIsZXZhbCgiXFwibWlnclxcIiIpKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiIsZXZhbCgiXCJtaWdyXCIiKSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIiLGV2YWwoIlxcIm1pZ3JcXCIiKSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking by using eval, try to use eval(\"\\\"migg\\\"\") as F","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ6IiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhfGIiLCJ6IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"z\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJudWxsIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIuIixudWxsKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIi4iLG51bGwpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiLiIsbnVsbCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"null\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nIDEuMCBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJeIiwxLjApIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiXiIsMS4wKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIl4iLDEuMCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using 1.0 as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ0cnVlIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ8Iix0cnVlKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInwiLHRydWUpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgifCIsdHJ1ZSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"true\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"{toString:function(){}}\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwpfX3JlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19yZS50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJSZWdFeHAiKyJdIikgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3JlLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIrIlJlZ0V4cCIrIl0iLiBBY3R1YWw6ICcgKyAoX19yZS50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Class]] property of the newly constructed object is set to \"RegExp\"","description":"Checking [[Class]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIFtbUHJvdG90eXBlXV0gb2YgUkVnRXhwIGFuZCBjaGVjayB0aGlzIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cDsKUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX3JlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgX19yZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX3JlLmluZGljYXRvcikpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Add new property to [[Prototype]] of REgExp and check this property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19yZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCk7IFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Checking [[Prototype]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJhfGIiIGFuZCBmbGFncyBpcyAiaSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOwoKLy9DSEVDSyMxCmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoImF8YiIsImkiKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"a|b\" and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyB0cnVlIGFuZCBmbGFncyBpcyAibSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7CgovL0NIRUNLIzEKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is true and flags is \"m\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgcGF0dGVybiBpcyBNYXRoIGFuZCBmbGFncyBpcyBldmFsKCJcImdcIiIpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcImdcIiIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcXCJnXFwiIikpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKE1hdGgsZXZhbCgiXFwiZ1xcIiIpKTsgX19yZS5nbG9iYWwgPT09IHRydWUuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Checking by using eval, pattern is Math and flags is eval(\"\\\"g\\\"\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiXHUwMDQyIiBhbmQgZmxhZ3MgaXMge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiXFx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJcXHUwMDQyIiwge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"\\u0042\" and flags is {toString:void 0, valueOf:function(){throw \"invalof\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiMSIgYW5kIGZsYWdzIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIiApIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIjEiLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"1\" and flags is {toString:function(){throw \"intostr\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSBhbmQgZmxhZ3MgaXMgImlnIgogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSwiaWciKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is function(){return \"a|b|[]\";}() and flags is \"ig\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iO319IGFuZCBmbGFncyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gIm0iO30pKCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjt9fSwgKGZ1bmN0aW9uKCl7cmV0dXJuICJtIjt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3JlLnNvdXJjZSA9PT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzU6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){return \"[0-9]\";}} and flags is (function(){return \"m\";})()","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iO319IGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIm1pZyI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjt9fSwge3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJtaWciO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IHRydWUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLm11bHRpbGluZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmdsb2JhbCA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJbei16XSI7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0,valueOf:function(){return \"[z-z]\";}} and flags is {toString:void 0,valueOf:function(){return \"mig\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBPYmplY3QoImFiY3sxfSIpIGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is new Object(\"abc{1}\") and flags is {toString:function(){return \"\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJpIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJpIikgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fSB9IGFuZCBmbGFncyBpcyAiaSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0, valueOf:function(){throw \"invalof\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJlcnJvciIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319LCAiZXJyb3IiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"error\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIDEgYW5kIGZsYWdzIGlzIG5ldyBPYmplY3QoImdpIikKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is 1 and flags is new Object(\"gi\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICI/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiPz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCI/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"??\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbey16XSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiW3stel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlt7LXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbey16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[{-z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbYS0tel0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIlthLS16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2EtLXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbYS0tel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[a--z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC41L1MxNS4xMC41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp has property prototype","description":"Checking RegExp.prototype property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpID09PSBmYWxzZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7CmZvciAocCBpbiBSZWdFeHApewoJaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gUmVnRXhwKXsgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZTsgUmVnRXhwLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMxOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlOwoKUmVnRXhwLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlOyBSZWdFeHAucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFJlZ0V4cC5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZSkpOwp9CgoK","commentary":"The RegExp.prototype property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLmxlbmd0aCBwcm9wZXJ0eQogKi8KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5sZW5ndGggIT09IDIpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChSZWdFeHAubGVuZ3RoKSk7Cn0KCgo=","commentary":"RegExp constructor has length property whose value is 2","description":"Checking RegExp.length property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cCkKICovCgogLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(RegExp)","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCB0aGVuIGNoZWNrIHRoaXMgcHJvcGVydHkgb2YgUmVnRXhwCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgogLy9DSEVDSyMxCmlmIChSZWdFeHAuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgUmVnRXhwLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Add new property to Function.prototype and then check this property of RegExp","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZSBpcyBpdHNlbGYgYSBSZWdFeHANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWdFeHAucHJvdG90eXBlKTsNCiAgcmV0dXJuIHMgPT09ICdbb2JqZWN0IFJlZ0V4cF0nOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype is itself a RegExp","path":"TestCases/ch15/15.10/15.10.6/15.10.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIFJlZ0V4cAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKSk7Cn0KCgo=","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare RegExp.prototype.constructor with RegExp","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCwgd2hlcmUgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yOwoKX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IF9faW5zdGFuY2UuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQoKCg==","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare instance.constructor !== RegExp, where instance is new RegExp.prototype.constructor","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cC5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoUmVnRXhwLnByb3RvdHlwZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHAucHJvdG90eXBlKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Checking Object.prototype.isPrototypeOf(RegExp.prototype)","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBPYmplY3QucHJvdG90eXBlIGFuZCBjaGVjayBpdCBvZiBSZWdFeHAucHJvdG90eXBlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOyBSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yKSk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Add new property to Object.prototype and check it of RegExp.prototype","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvMTUuMTAuNi4yLTktZS0xLmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZS5leGVjIC0gdGhlIHJlbW92ZWQgc3RlcCA5LmUgd29uJ3QgYWZmZWN0ZWQgY3VycmVudCBhbGdvcml0aG0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gIkhlbGxvIFdvcmxkISI7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCJXb3JsZCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHJlc3VsdCA9IHJlZ09iai5leGVjKHN0cikudG9TdHJpbmcoKSA9PT0gIldvcmxkIjsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.exec - the removed step 9.e won't affected current algorithm","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgpKTsKfQoK","commentary":"The RegExp.prototype.exec.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBleGVjIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the exec method is 1","description":"Checking RegExp.prototype.exec.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZWdFeHAgZXhlYygpIGFjdHMgbGlrZSByZWdFeHAuZXhlYygndW5kZWZpbmVkJykgKHN0ZXAgMikKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS5leGVjCiAqLwoKKC9mb28vKS50ZXN0KCd4Zm9veCcpOwp2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKCcoLnxccnxcbikqJywnJykuZXhlYygpWzBdOwppZiAobWF0Y2ggPT09ICd4Zm9veCcpIHsKICAkRkFJTCgnIzE6IHJlZ0V4cC5leGVjKCkgbGVha3MgbWF0Y2ggZ2xvYmFsbHknKTsKfQppZiAobWF0Y2ggIT09ICd1bmRlZmluZWQnKSB7CiAgJEZBSUwoJyMyOiByZWdFeHAuZXhlYygpIG11c3QgY29lcmNlIGFic2VudCBmaXJzdCBhcmcgdG8gInVuZGVmaW5lZCInKTsKfQoK","commentary":"regExp exec() acts like regExp.exec('undefined') (step 2)","description":"Checking RegExp.prototype.exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzICIxMjMiIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSIxMjMiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygiMTIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is \"123\" and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyAxLjAxIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOwoKX19leHBlY3RlZCA9IFsiMSJdOwpfX2V4cGVjdGVkLmluZGV4PTA7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygxLjAxKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoMS4wMSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is 1.01 and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKSBhbmQgUmVnRXhwIGlzIC8yfDEyLwogKi8KCl9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7CgpfX2V4cGVjdGVkID0gWyIxMiJdOwpfX2V4cGVjdGVkLmluZGV4PTM7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEyIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLzJ8MTIvLmV4ZWMobmV3IE51bWJlcigxLjAxMikpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Number(1.012) and RegExp is /2|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fSBhbmQgUmVnRXhwIGlzIC9cLjE0LwogKi8KCl9fZXhlY3V0ZWQgPSAvXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsKCl9fZXhwZWN0ZWQgPSBbIi4xNCJdOwpfX2V4cGVjdGVkLmluZGV4PTE7Cl9fZXhwZWN0ZWQuaW5wdXQ9U3RyaW5nKE1hdGguUEkpOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9cXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFwuMTQvLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguUEl9fSk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return Math.PI;}} and RegExp is /\\.14/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB0cnVlIGFuZCBSZWdFeHAgaXMgL3RbYS1ifHEtc10vCiAqLwoKX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOwoKX19leHBlY3RlZCA9IFsidHIiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ0cnVlIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3RbYS1ifHEtc10vLmV4ZWModHJ1ZSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is true and RegExp is /t[a-b|q-s]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgQm9vbGVhbiBhbmQgUmVnRXhwIGlzIC9BTHxzZS8KICovCgpfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsKCl9fZXhwZWN0ZWQgPSBbInNlIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MzsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvQUx8c2UvLmV4ZWMobmV3IEJvb2xlYW4pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Boolean and RegExp is /AL|se/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fX0gYW5kIFJlZ0V4cCBpcyAvTFMvaQogKi8KCl9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsKCl9fZXhwZWN0ZWQgPSBbImxzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MjsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0xTL2kuZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9fSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return false;}} and RegExp is /LS/i","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvdW5kZWZpbmVkLyBhbmQgY2FsbCBleGVjKCkgd2l0aG91dCBhcmd1bWVudHMKICovCgpfX3JlID0gL3VuZGVmaW5lZC8uZXhlYygpWzBdOwppZiAoX19yZSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IC91bmRlZmluZWQvLmV4ZWMoKVswXSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChfX3JlKSk7Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"RegExp is /undefined/ and call exec() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBudWxsIGFuZCBSZWdFeHAgaXMgL2xsfGwvCiAqLwoKX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOwoKX19leHBlY3RlZCA9IFsibGwiXTsKX19leHBlY3RlZC5pbmRleD0yOwpfX2V4cGVjdGVkLmlucHV0PSJudWxsIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2xsfGwvLmV4ZWMobnVsbCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is null and RegExp is /ll|l/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB1bmRlZmluZWQgYW5kIFJlZ0V4cCBpcyAvbmR8bmUvCiAqLwoKX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOwoKX19leHBlY3RlZCA9IFsibmQiXTsKX19leHBlY3RlZC5pbmRleD0xOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvbmR8bmUvLmV4ZWModW5kZWZpbmVkKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL25kfG5lLy5leGVjKHVuZGVmaW5lZCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined and RegExp is /nd|ne/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB2b2lkIDAgYW5kIFJlZ0V4cCBpcyAvZXsxfS8KICovCgpfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleD0zOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZXsxfS8uZXhlYyh2b2lkIDApOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is void 0 and RegExp is /e{1}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBTdHJpbmcoIjEyMyIpIGFuZCBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLwogKi8KCndpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7CiAgICBfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7Cn0KCl9fZXhwZWN0ZWQgPSBbIjEyMyIsICIxIiwgIjEiLCB1bmRlZmluZWQsICIyMyIsIHVuZGVmaW5lZCwgIjIzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iMTIzIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiB3aXRoKC8oKDEpfCgxMikpKCgzKXwoMjMpKS8pe19fZXhlY3V0ZWQgPSBleGVjKG5ldyBTdHJpbmcoIjEyMyIpKTt9IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogd2l0aCgvKCgxKXwoMTIpKSgoMyl8KDIzKSkvKXtfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7fSBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new String(\"123\") and RegExp is /((1)|(12))((3)|(23))/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB4IGFuZCBSZWdFeHAgaXMgL1thLWZdZC8sIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7CgpfX2V4cGVjdGVkID0gWyJlZCJdOwpfX2V4cGVjdGVkLmluZGV4PTc7Cl9fZXhwZWN0ZWQuaW5wdXQ9InVuZGVmaW5lZCI7CgovL0NIRUNLIzAKaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2EtZl1kLy5leGVjKHgpOyB2YXIgeDsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is x and RegExp is /[a-f]d/, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBmdW5jdGlvbigpe30oKSBhbmQgUmVnRXhwIGlzIC9bYS16XW4vCiAqLwoKX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOwoKX19leHBlY3RlZCA9IFsidW4iXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel1uLy5leGVjKGZ1bmN0aW9uKCl7fSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1thLXpdbi8uZXhlYyhmdW5jdGlvbigpe30oKSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is function(){}() and RegExp is /[a-z]n/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBPYmplY3QoImFiY2RlZmdoaSIpIGFuZCBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJhYmNkZWZnaGkiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Object(\"abcdefghi\") and RegExp is /a[a-z]{2,4}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIjt9fSBhbmQgUmVnRXhwIGlzIC9hW2Etel17Miw0fT8vCiAqLwoKX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2RlZmdoaSJ9fSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return \"abcdefghi\";}} and RegExp is /a[a-z]{2,4}?/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319IGFuZCBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWFiYWFjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}} and RegExp is /(aa|aabaac|ba|b|c)* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpIGFuZCBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7CgpfX2V4cGVjdGVkID0gWyJ6YWFjYmJiY2FjIiwgInoiLCAiYWMiLCAiYSIsIHVuZGVmaW5lZCwgImMiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is (function(){return \"zaacbbbcac\"})() and RegExp is /(z)((a+)?(b+)?(c))* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSBhbmQgUmVnRXhwIGlzIC9bYS16XS8KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19KSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b3N0ciIpIHsKCQkkRVJST1IoJyMxLjI6IC9bYS16XS8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciJ9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){throw \"intostr\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0gYW5kIFJlZ0V4cCBpcyAvW2Etel0vCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJpbnZhbG9mIikgewogICAgJEVSUk9SKCcjMS4yOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:void 0, valueOf:function(){throw \"invalof\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgUmVnRXhwIGlzIC8xfDEyLwogKi8KCnZhciBfX3N0cmluZzsKCi8vQ0hFQ0sjMQpfX3JlID0gLzF8MTIvOwppZiAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkgewoJJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nOyAvMXwxMi8uZXhlYyhfX3N0cmluZykgPT09IG51bGw7IGZ1bmN0aW9uIF9fc3RyaW5nKCl7fS4gQWN0dWFsOiAnICsgKF9fcmUpKTsKfQoKZnVuY3Rpb24gX19zdHJpbmcoKXt9OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined variable and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiT2JqZWN0IgogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3Q7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The internal [[Class]] property is \"Object\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IGV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiknKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9Jyk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9LiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgpmdW5jdGlvbiBfX2luc3RhbmNlKCl7fTsKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIlthLWJdIik7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICAgIAl9CiAgIH0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxLjApOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2VbImV4ZWMiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZVsiZXhlYyJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlWyJleGVjIl0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gIi4iOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gMS4wOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKD86YWJ8Y2QpXGQ/L2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgImFiICBjZDIgIGFiMzQgIGNkIgogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbImFiIiwgImNkMiIsICJhYjMiLCAiY2QiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAgIF9fbWF0Y2hlZC5wdXNoKF9fZXhlY3V0ZWRbMF0pOwogICAgfSBlbHNlIHsKICAgICAgYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpXFxkPy9nLmV4ZWMoImFiICBjZDIgIGFiMzQgIGNkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09ICcgKyAoX19leHBlY3RlZC5sZW5ndGgpICsgJy5BY3R1YWw6ICcgKyAoX19tYXRjaGVkLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhwZWN0ZWRbaW5kZXhdICE9PSBfX21hdGNoZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPzphYnxjZClcXGQ/L2cuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(?:ab|cd)\\d?/g and tested string is \"ab cd2 ab34 cd\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXWV2ZXJtb3JlL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgdmVyeSBsb25nIHN0cmluZwogKi8KCl9fdGhlX19yYXZlbiA9ICIJT25jZSB1cG9uIGEgbWlkbmlnaHQgZHJlYXJ5LCB3aGlsZSBJIHBvbmRlcmVkIHdlYWsgYW5kIHdlYXJ5LCIgKwogICAgICAgICJPdmVyIG1hbnkgYSBxdWFpbnQgYW5kIGN1cmlvdXMgdm9sdW1lIG9mIGZvcmdvdHRlbiBsb3JlLCIgKwogICAgICAgICJXaGlsZSBJIG5vZGRlZCwgbmVhcmx5IG5hcHBpbmcsIHN1ZGRlbmx5IHRoZXJlIGNhbWUgYSB0YXBwaW5nLCIgKwogICAgICAgICJBcyBvZiBzb21lIG9uZSBnZW50bHkgcmFwcGluZywgcmFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IuIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciwnIEkgbXV0dGVyZWQsIGB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIk9ubHkgdGhpcywgYW5kIG5vdGhpbmcgbW9yZS4nIiArCiAgICAgICAgIkFoLCBkaXN0aW5jdGx5IEkgcmVtZW1iZXIgaXQgd2FzIGluIHRoZSBibGVhayBEZWNlbWJlciwiICsKICAgICAgICAiQW5kIGVhY2ggc2VwYXJhdGUgZHlpbmcgZW1iZXIgd3JvdWdodCBpdHMgZ2hvc3QgdXBvbiB0aGUgZmxvb3IuIiArCiAgICAgICAgIkVhZ2VybHkgSSB3aXNoZWQgdGhlIG1vcnJvdzsgLSB2YWlubHkgSSBoYWQgc291Z2h0IHRvIGJvcnJvdyIgKwogICAgICAgICJGcm9tIG15IGJvb2tzIHN1cmNlYXNlIG9mIHNvcnJvdyAtIHNvcnJvdyBmb3IgdGhlIGxvc3QgTGVub3JlIC0iICsKICAgICAgICAiRm9yIHRoZSByYXJlIGFuZCByYWRpYW50IG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiTmFtZWxlc3MgaGVyZSBmb3IgZXZlcm1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgc2lsa2VuIHNhZCB1bmNlcnRhaW4gcnVzdGxpbmcgb2YgZWFjaCBwdXJwbGUgY3VydGFpbiIgKwogICAgICAgICJUaHJpbGxlZCBtZSAtIGZpbGxlZCBtZSB3aXRoIGZhbnRhc3RpYyB0ZXJyb3JzIG5ldmVyIGZlbHQgYmVmb3JlOyIgKwogICAgICAgICJTbyB0aGF0IG5vdywgdG8gc3RpbGwgdGhlIGJlYXRpbmcgb2YgbXkgaGVhcnQsIEkgc3Rvb2QgcmVwZWF0aW5nIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlNvbWUgbGF0ZSB2aXNpdG9yIGVudHJlYXRpbmcgZW50cmFuY2UgYXQgbXkgY2hhbWJlciBkb29yOyAtIiArCiAgICAgICAgIlRoaXMgaXQgaXMsIGFuZCBub3RoaW5nIG1vcmUsJyIgKwogICAgICAgICJQcmVzZW50bHkgbXkgc291bCBncmV3IHN0cm9uZ2VyOyBoZXNpdGF0aW5nIHRoZW4gbm8gbG9uZ2VyLCIgKwogICAgICAgICJgU2lyLCcgc2FpZCBJLCBgb3IgTWFkYW0sIHRydWx5IHlvdXIgZm9yZ2l2ZW5lc3MgSSBpbXBsb3JlOyIgKwogICAgICAgICJCdXQgdGhlIGZhY3QgaXMgSSB3YXMgbmFwcGluZywgYW5kIHNvIGdlbnRseSB5b3UgY2FtZSByYXBwaW5nLCIgKwogICAgICAgICJBbmQgc28gZmFpbnRseSB5b3UgY2FtZSB0YXBwaW5nLCB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiVGhhdCBJIHNjYXJjZSB3YXMgc3VyZSBJIGhlYXJkIHlvdScgLSBoZXJlIEkgb3BlbmVkIHdpZGUgdGhlIGRvb3I7IC0iICsKICAgICAgICAiRGFya25lc3MgdGhlcmUsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkRlZXAgaW50byB0aGF0IGRhcmtuZXNzIHBlZXJpbmcsIGxvbmcgSSBzdG9vZCB0aGVyZSB3b25kZXJpbmcsIGZlYXJpbmcsIiArCiAgICAgICAgIkRvdWJ0aW5nLCBkcmVhbWluZyBkcmVhbXMgbm8gbW9ydGFsIGV2ZXIgZGFyZWQgdG8gZHJlYW0gYmVmb3JlIiArCiAgICAgICAgIkJ1dCB0aGUgc2lsZW5jZSB3YXMgdW5icm9rZW4sIGFuZCB0aGUgZGFya25lc3MgZ2F2ZSBubyB0b2tlbiwiICsKICAgICAgICAiQW5kIHRoZSBvbmx5IHdvcmQgdGhlcmUgc3Bva2VuIHdhcyB0aGUgd2hpc3BlcmVkIHdvcmQsIGBMZW5vcmUhJyIgKwogICAgICAgICJUaGlzIEkgd2hpc3BlcmVkLCBhbmQgYW4gZWNobyBtdXJtdXJlZCBiYWNrIHRoZSB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiTWVyZWx5IHRoaXMgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiQmFjayBpbnRvIHRoZSBjaGFtYmVyIHR1cm5pbmcsIGFsbCBteSBzb3VsIHdpdGhpbiBtZSBidXJuaW5nLCIgKwogICAgICAgICJTb29uIGFnYWluIEkgaGVhcmQgYSB0YXBwaW5nIHNvbWV3aGF0IGxvdWRlciB0aGFuIGJlZm9yZS4iICsKICAgICAgICAiYFN1cmVseSwnIHNhaWQgSSwgYHN1cmVseSB0aGF0IGlzIHNvbWV0aGluZyBhdCBteSB3aW5kb3cgbGF0dGljZTsiICsKICAgICAgICAiTGV0IG1lIHNlZSB0aGVuLCB3aGF0IHRoZXJlYXQgaXMsIGFuZCB0aGlzIG15c3RlcnkgZXhwbG9yZSAtIiArCiAgICAgICAgIkxldCBteSBoZWFydCBiZSBzdGlsbCBhIG1vbWVudCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmU7IC0iICsKICAgICAgICAiJ1RpcyB0aGUgd2luZCBhbmQgbm90aGluZyBtb3JlISciICsKICAgICAgICAiXG4iICsKICAgICAgICAiT3BlbiBoZXJlIEkgZmx1bmcgdGhlIHNodXR0ZXIsIHdoZW4sIHdpdGggbWFueSBhIGZsaXJ0IGFuZCBmbHV0dGVyLCIgKwogICAgICAgICJJbiB0aGVyZSBzdGVwcGVkIGEgc3RhdGVseSByYXZlbiBvZiB0aGUgc2FpbnRseSBkYXlzIG9mIHlvcmUuIiArCiAgICAgICAgIk5vdCB0aGUgbGVhc3Qgb2JlaXNhbmNlIG1hZGUgaGU7IG5vdCBhIG1pbnV0ZSBzdG9wcGVkIG9yIHN0YXllZCBoZTsiICsKICAgICAgICAiQnV0LCB3aXRoIG1pZW4gb2YgbG9yZCBvciBsYWR5LCBwZXJjaGVkIGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQgdXBvbiBhIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yIC0iICsKICAgICAgICAiUGVyY2hlZCwgYW5kIHNhdCwgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiB0aGlzIGVib255IGJpcmQgYmVndWlsaW5nIG15IHNhZCBmYW5jeSBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIkJ5IHRoZSBncmF2ZSBhbmQgc3Rlcm4gZGVjb3J1bSBvZiB0aGUgY291bnRlbmFuY2UgaXQgd29yZSwiICsKICAgICAgICAiYFRob3VnaCB0aHkgY3Jlc3QgYmUgc2hvcm4gYW5kIHNoYXZlbiwgdGhvdSwnIEkgc2FpZCwgYGFydCBzdXJlIG5vIGNyYXZlbi4iICsKICAgICAgICAiR2hhc3RseSBncmltIGFuZCBhbmNpZW50IHJhdmVuIHdhbmRlcmluZyBmcm9tIHRoZSBuaWdodGx5IHNob3JlIC0iICsKICAgICAgICAiVGVsbCBtZSB3aGF0IHRoeSBsb3JkbHkgbmFtZSBpcyBvbiB0aGUgTmlnaHQncyBQbHV0b25pYW4gc2hvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICItbiIgKwogICAgICAgICJNdWNoIEkgbWFydmVsbGVkIHRoaXMgdW5nYWlubHkgZm93bCB0byBoZWFyIGRpc2NvdXJzZSBzbyBwbGFpbmx5LCIgKwogICAgICAgICJUaG91Z2ggaXRzIGFuc3dlciBsaXR0bGUgbWVhbmluZyAtIGxpdHRsZSByZWxldmFuY3kgYm9yZTsiICsKICAgICAgICAiRm9yIHdlIGNhbm5vdCBoZWxwIGFncmVlaW5nIHRoYXQgbm8gbGl2aW5nIGh1bWFuIGJlaW5nIiArCiAgICAgICAgIkV2ZXIgeWV0IHdhcyBibGVzc2VkIHdpdGggc2VlaW5nIGJpcmQgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIkJpcmQgb3IgYmVhc3QgYWJvdmUgdGhlIHNjdWxwdHVyZWQgYnVzdCBhYm92ZSBoaXMgY2hhbWJlciBkb29yLCIgKwogICAgICAgICJXaXRoIHN1Y2ggbmFtZSBhcyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiwgc2l0dGluZyBsb25lbHkgb24gdGhlIHBsYWNpZCBidXN0LCBzcG9rZSBvbmx5LCIgKwogICAgICAgICJUaGF0IG9uZSB3b3JkLCBhcyBpZiBoaXMgc291bCBpbiB0aGF0IG9uZSB3b3JkIGhlIGRpZCBvdXRwb3VyLiIgKwogICAgICAgICJOb3RoaW5nIGZ1cnRoZXIgdGhlbiBoZSB1dHRlcmVkIC0gbm90IGEgZmVhdGhlciB0aGVuIGhlIGZsdXR0ZXJlZCAtIiArCiAgICAgICAgIlRpbGwgSSBzY2FyY2VseSBtb3JlIHRoYW4gbXV0dGVyZWQgYE90aGVyIGZyaWVuZHMgaGF2ZSBmbG93biBiZWZvcmUgLSIgKwogICAgICAgICJPbiB0aGUgbW9ycm93IGhlIHdpbGwgbGVhdmUgbWUsIGFzIG15IGhvcGVzIGhhdmUgZmxvd24gYmVmb3JlLiciICsKICAgICAgICAiVGhlbiB0aGUgYmlyZCBzYWlkLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiU3RhcnRsZWQgYXQgdGhlIHN0aWxsbmVzcyBicm9rZW4gYnkgcmVwbHkgc28gYXB0bHkgc3Bva2VuLCIgKwogICAgICAgICJgRG91YnRsZXNzLCcgc2FpZCBJLCBgd2hhdCBpdCB1dHRlcnMgaXMgaXRzIG9ubHkgc3RvY2sgYW5kIHN0b3JlLCIgKwogICAgICAgICJDYXVnaHQgZnJvbSBzb21lIHVuaGFwcHkgbWFzdGVyIHdob20gdW5tZXJjaWZ1bCBkaXNhc3RlciIgKwogICAgICAgICJGb2xsb3dlZCBmYXN0IGFuZCBmb2xsb3dlZCBmYXN0ZXIgdGlsbCBoaXMgc29uZ3Mgb25lIGJ1cmRlbiBib3JlIC0iICsKICAgICAgICAiVGlsbCB0aGUgZGlyZ2VzIG9mIGhpcyBob3BlIHRoYXQgbWVsYW5jaG9seSBidXJkZW4gYm9yZSIgKwogICAgICAgICJPZiBcIk5ldmVyLW5ldmVybW9yZS5cIiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiBzdGlsbCBiZWd1aWxpbmcgYWxsIG15IHNhZCBzb3VsIGludG8gc21pbGluZywiICsKICAgICAgICAiU3RyYWlnaHQgSSB3aGVlbGVkIGEgY3VzaGlvbmVkIHNlYXQgaW4gZnJvbnQgb2YgYmlyZCBhbmQgYnVzdCBhbmQgZG9vcjsiICsKICAgICAgICAiVGhlbiwgdXBvbiB0aGUgdmVsdmV0IHNpbmtpbmcsIEkgYmV0b29rIG15c2VsZiB0byBsaW5raW5nIiArCiAgICAgICAgIkZhbmN5IHVudG8gZmFuY3ksIHRoaW5raW5nIHdoYXQgdGhpcyBvbWlub3VzIGJpcmQgb2YgeW9yZSAtIiArCiAgICAgICAgIldoYXQgdGhpcyBncmltLCB1bmdhaW5seSwgZ2hhc3RseSwgZ2F1bnQsIGFuZCBvbWlub3VzIGJpcmQgb2YgeW9yZSIgKwogICAgICAgICJNZWFudCBpbiBjcm9ha2luZyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhpcyBJIHNhdCBlbmdhZ2VkIGluIGd1ZXNzaW5nLCBidXQgbm8gc3lsbGFibGUgZXhwcmVzc2luZyIgKwogICAgICAgICJUbyB0aGUgZm93bCB3aG9zZSBmaWVyeSBleWVzIG5vdyBidXJuZWQgaW50byBteSBib3NvbSdzIGNvcmU7IiArCiAgICAgICAgIlRoaXMgYW5kIG1vcmUgSSBzYXQgZGl2aW5pbmcsIHdpdGggbXkgaGVhZCBhdCBlYXNlIHJlY2xpbmluZyIgKwogICAgICAgICJPbiB0aGUgY3VzaGlvbidzIHZlbHZldCBsaW5pbmcgdGhhdCB0aGUgbGFtcC1saWdodCBnbG9hdGVkIG8nZXIsIiArCiAgICAgICAgIkJ1dCB3aG9zZSB2ZWx2ZXQgdmlvbGV0IGxpbmluZyB3aXRoIHRoZSBsYW1wLWxpZ2h0IGdsb2F0aW5nIG8nZXIsIiArCiAgICAgICAgIlNoZSBzaGFsbCBwcmVzcywgYWgsIG5ldmVybW9yZSEiICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiwgbWV0aG91Z2h0LCB0aGUgYWlyIGdyZXcgZGVuc2VyLCBwZXJmdW1lZCBmcm9tIGFuIHVuc2VlbiBjZW5zZXIiICsKICAgICAgICAiU3d1bmcgYnkgU2VyYXBoaW0gd2hvc2UgZm9vdC1mYWxscyB0aW5rbGVkIG9uIHRoZSB0dWZ0ZWQgZmxvb3IuIiArCiAgICAgICAgImBXcmV0Y2gsJyBJIGNyaWVkLCBgdGh5IEdvZCBoYXRoIGxlbnQgdGhlZSAtIGJ5IHRoZXNlIGFuZ2VscyBoZSBoYXMgc2VudCB0aGVlIiArCiAgICAgICAgIlJlc3BpdGUgLSByZXNwaXRlIGFuZCBuZXBlbnRoZSBmcm9tIHRoeSBtZW1vcmllcyBvZiBMZW5vcmUhIiArCiAgICAgICAgIlF1YWZmLCBvaCBxdWFmZiB0aGlzIGtpbmQgbmVwZW50aGUsIGFuZCBmb3JnZXQgdGhpcyBsb3N0IExlbm9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISAtIiArCiAgICAgICAgIldoZXRoZXIgdGVtcHRlciBzZW50LCBvciB3aGV0aGVyIHRlbXBlc3QgdG9zc2VkIHRoZWUgaGVyZSBhc2hvcmUsIiArCiAgICAgICAgIkRlc29sYXRlIHlldCBhbGwgdW5kYXVudGVkLCBvbiB0aGlzIGRlc2VydCBsYW5kIGVuY2hhbnRlZCAtIiArCiAgICAgICAgIk9uIHRoaXMgaG9tZSBieSBob3Jyb3IgaGF1bnRlZCAtIHRlbGwgbWUgdHJ1bHksIEkgaW1wbG9yZSAtIiArCiAgICAgICAgIklzIHRoZXJlIC0gaXMgdGhlcmUgYmFsbSBpbiBHaWxlYWQ/IC0gdGVsbCBtZSAtIHRlbGwgbWUsIEkgaW1wbG9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISIgKwogICAgICAgICJCeSB0aGF0IEhlYXZlbiB0aGF0IGJlbmRzIGFib3ZlIHVzIC0gYnkgdGhhdCBHb2Qgd2UgYm90aCBhZG9yZSAtIiArCiAgICAgICAgIlRlbGwgdGhpcyBzb3VsIHdpdGggc29ycm93IGxhZGVuIGlmLCB3aXRoaW4gdGhlIGRpc3RhbnQgQWlkZW5uLCIgKwogICAgICAgICJJdCBzaGFsbCBjbGFzcCBhIHNhaW50ZWQgbWFpZGVuIHdob20gdGhlIGFuZ2VscyBuYW1lZCBMZW5vcmUgLSIgKwogICAgICAgICJDbGFzcCBhIHJhcmUgYW5kIHJhZGlhbnQgbWFpZGVuLCB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlPyciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiYEJlIHRoYXQgd29yZCBvdXIgc2lnbiBvZiBwYXJ0aW5nLCBiaXJkIG9yIGZpZW5kIScgSSBzaHJpZWtlZCB1cHN0YXJ0aW5nIC0iICsKICAgICAgICAiYEdldCB0aGVlIGJhY2sgaW50byB0aGUgdGVtcGVzdCBhbmQgdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISIgKwogICAgICAgICJMZWF2ZSBubyBibGFjayBwbHVtZSBhcyBhIHRva2VuIG9mIHRoYXQgbGllIHRoeSBzb3VsIGhhdGggc3Bva2VuISIgKwogICAgICAgICJMZWF2ZSBteSBsb25lbGluZXNzIHVuYnJva2VuISAtIHF1aXQgdGhlIGJ1c3QgYWJvdmUgbXkgZG9vciEiICsKICAgICAgICAiVGFrZSB0aHkgYmVhayBmcm9tIG91dCBteSBoZWFydCwgYW5kIHRha2UgdGh5IGZvcm0gZnJvbSBvZmYgbXkgZG9vciEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgcmF2ZW4sIG5ldmVyIGZsaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nIiArCiAgICAgICAgIk9uIHRoZSBwYWxsaWQgYnVzdCBvZiBQYWxsYXMganVzdCBhYm92ZSBteSBjaGFtYmVyIGRvb3I7IiArCiAgICAgICAgIkFuZCBoaXMgZXllcyBoYXZlIGFsbCB0aGUgc2VlbWluZyBvZiBhIGRlbW9uJ3MgdGhhdCBpcyBkcmVhbWluZywiICsKICAgICAgICAiQW5kIHRoZSBsYW1wLWxpZ2h0IG8nZXIgaGltIHN0cmVhbWluZyB0aHJvd3MgaGlzIHNoYWRvdyBvbiB0aGUgZmxvb3I7IiArCiAgICAgICAgIkFuZCBteSBzb3VsIGZyb20gb3V0IHRoYXQgc2hhZG93IHRoYXQgbGllcyBmbG9hdGluZyBvbiB0aGUgZmxvb3IiICsKICAgICAgICAiU2hhbGwgYmUgbGlmdGVkIC0gbmV2ZXJtb3JlISIKCk5FVkVSTU9SRT0xMTsgICAgICAgCiAgICAgICAKX19yZSA9IC9bTm5dZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1tObl1ldmVybW9yZS9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fdGhlX19yYXZlbiknK19fbWF0Y2hlZCk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXT9ldmVybW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpORVZFUk1PUkVfQU5EX0VWRVJNT1JFPTEyOyAgICAgICAKICAgICAgIApfX3JlID0gL1tObl0/ZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFX0FORF9FVkVSTU9SRSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9bTm5dP2V2ZXJtb3JlL2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKScrX19tYXRjaGVkKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]?evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpBTExfVEhFX0hPUEVMRVNTX01PUkU9MTg7ICAgICAgIAogICAgICAgCl9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nOwpfX21hdGNoZWQ9MDsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQrKzsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSgxKTsKCi8vQ0hFQ0sjMQppZiAoX19tYXRjaGVkICE9PSBBTExfVEhFX0hPUEVMRVNTX01PUkUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xcc3sxLH0pKW1vcmUvZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pJytfX21hdGNoZWQpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /([Nn]?ever|([Nn]othing\\s{1,}))more/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgIjEyMyA0NTYgNzg5IgogKi8KCl9fcmUgPSAvXGQrL2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyIsIjQ1NiIsIjc4OSJdOwoKZG97CiAgICBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCIxMjMgNDU2IDc4OSIpOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQucHVzaChfX2V4ZWN1dGVkWzBdKTsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZCsvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy9nLmV4ZWMoIjEyMyA0NTYgNzg5Iik7IF9fbWF0Y2hlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19tYXRjaGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFxkKykvZyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC8oXGQrKS9nOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCI0NTYiLCI3ODkiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUodHJ1ZSk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKykvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCspL2cuZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(\\d+)/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC9cZCsvOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoX19tYXRjaGVkLmxlbmd0aDwxMCk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGQrLy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy8uZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/ and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAxMiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gMTI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gMTI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IDEyOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = 12 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxMjt9fTsgX19yZS5sYXN0SW5kZXggPSBfX29iajsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){return 12;}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCi8vQ0hFQ0sjNQp0cnkgewogICRGQUlMKCcjNS4xOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKSB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b2ludCIpIHsKCQkkRVJST1IoJyM1LjI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpICB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){throw \"intoint\";}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fTsKCl9fcmUubGFzdEluZGV4ID0gX19vYmo7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {toString:function(){return 12;},valueOf:function(){return {};}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB1bmRlZmluZWQgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB1bmRlZmluZWQ7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = undefined and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB2b2lkIDAgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB2b2lkIDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = void 0 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBudWxsIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSBudWxsOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = null and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB4IGFuZCBhZ2FpbiBjYWxsIGV4ZWMsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0geDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzYKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHg7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyB2YXIgeDsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB4OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = x and again call exec, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBmYWxzZSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gZmFsc2U7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gZmFsc2U7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBmYWxzZTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = false and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBNYXRoLk5hTiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IE1hdGguTmFOOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyByZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = Math.NaN and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiMTIiIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSAiMTIiOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJhYjQiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"12\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiZWxldmVuIiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9ICJlbGV2ZW4iOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAiZWxldmVuIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nO19fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"eleven\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIiksIGFuZCB0aGVuIEZpcnN0IGNhbGwgLyg/OmFifGNkKVxkPy9nLmV4ZWMoImFhY2QyMiIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"First call /(?:ab|cd)\\d?/g.exec(\"aac1dz2233a1bz12nm444ab42\"), and then First call /(?:ab|cd)\\d?/g.exec(\"aacd22\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIDEwMCBhbmQgY2FsbCAvKD86YWJ8Y2QpXGQ/L2cuZXhlYygiYWFjZDIyICIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19yZS5sYXN0SW5kZXg9MTAwOwpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9MTAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to 100 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIC0xIGFuZCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWNkMjIgIikKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwpfX3JlLmxhc3RJbmRleD0tMTsKX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgpfX3JlLmxhc3RJbmRleD0tMTAwOwpfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0tMTsgX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOyBfX3JlLmxhc3RJbmRleD0tMTAwOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4PS0xOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4PS0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to -1 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlKSk7Cn0KCg==","commentary":"RegExp.prototype.exec has not prototype property","description":"Checking RegExp.prototype.exec.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.exec can't be used as constructor","description":"Checking if creating the RegExp.prototype.exec object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS5leGVjLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLmV4ZWMpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.exec.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewogICRGQUlMKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOyBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.exec.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.test.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the test method is 1","description":"Checking RegExp.prototype.test.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzICIxMjMiCiAqLwoKdmFyIF9fc3RyaW5nID0gIjEyMyI7Cl9fcmUgPSAvMXwxMi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gIjEyMyI7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is \"123\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8xfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAxLjAxCiAqLwoKdmFyIF9fc3RyaW5nID0gMS4wMTsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSAxLjAxO19fcmUgPSAvMXwxMi87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is 1.01","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8yfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOwpfX3JlID0gLzJ8MTIvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOyBfX3JlID0gLzJ8MTIvOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /2|12/ and tested string is new Number(1.012)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9cLjE0LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OwpfX3JlID0gL1wuMTQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OyBfX3JlID0gL1xcLjE0LzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /\\.14/ and tested string is {toString:function(){return Math.PI;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC90W2EtYnxxLXNdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB0cnVlCiAqLwoKdmFyIF9fc3RyaW5nID0gdHJ1ZTsKX19yZSA9IC90W2EtYnxxLXNdLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSB0cnVlO19fcmUgPSAvdFthLWJ8cS1zXS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /t[a-b|q-s]/ and tested string is true","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9BTHxzZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgbmV3IEJvb2xlYW4KICovCgp2YXIgX19zdHJpbmcgPSBuZXcgQm9vbGVhbjsKX19yZSA9IC9BTHxzZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gbmV3IEJvb2xlYW47X19yZSA9IC9BTHxzZS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /AL|se/ and tested string is new Boolean","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9MUy9pIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsKX19yZSA9IC9MUy9pOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsgX19yZSA9IC9MUy9pOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /LS/i and tested string is {toString:function(){return false;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC91bmRlZmluZWQvIGFuZCBjYWxsIHRlc3QoKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCl9fcmUgPSAvdW5kZWZpbmVkLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KCkgIT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IF9fcmUgPSAvdW5kZWZpbmVkLzsgX19yZS50ZXN0KCkgPT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /undefined/ and call test() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9sbHxsLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBudWxsCiAqLwoKX19yZSA9IC9sbHxsLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KG51bGwpICE9PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9sbHxsLzsgX19yZS50ZXN0KG51bGwpID09PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /ll|l/ and tested string is null","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9uZHxuZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9uZHxuZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCh1bmRlZmluZWQpICE9PSAoX19yZS5leGVjKHVuZGVmaW5lZCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL25kfG5lLzsgX19yZS50ZXN0KHVuZGVmaW5lZCkgPT09IChfX3JlLmV4ZWModW5kZWZpbmVkKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /nd|ne/ and tested string is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9lezF9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB2b2lkIDAKICovCgpfX3JlID0gL2V7MX0vOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3Qodm9pZCAwKSAhPT0gKF9fcmUuZXhlYyh2b2lkIDApICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9lezF9LzsgX19yZS50ZXN0KHZvaWQgMCkgPT09IChfX3JlLmV4ZWModm9pZCAwKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /e{1}/ and tested string is void 0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgU3RyaW5nKCIxMjMiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIjEyMyIpOwpfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIxMjMiKTsgX19yZSA9IC8oKDEpfCgxMikpKCgzKXwoMjMpKS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /((1)|(12))((3)|(23))/ and tested string is new String(\"123\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS1mXWQvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9bYS1mXWQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoeCkgIT09IChfX3JlLmV4ZWMoeCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL1thLWZdZC87IF9fcmUudGVzdCh4KSA9PT0gKF9fcmUuZXhlYyh4KSAhPT0gbnVsbCk7IHZhciB4OycpOwp9Cgp2YXIgeDsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-f]d/ and tested string is x, where x is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS16XW4vIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgZnVuY3Rpb24oKXt9KCkKICovCgpfX3JlID0gL1thLXpdbi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChmdW5jdGlvbigpe30oKSkgIT09IChfX3JlLmV4ZWMoZnVuY3Rpb24oKXt9KCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9bYS16XW4vOyBfX3JlLnRlc3QoZnVuY3Rpb24oKXt9KCkpID09PSAoX19yZS5leGVjKGZ1bmN0aW9uKCl7fSgpKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]n/ and tested string is x, where x is function(){}()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBPYmplY3QoImFiY2RlZmdoaSIpOwpfX3JlID0gL2FbYS16XXsyLDR9LzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKTsgX19yZSA9IC9hW2Etel17Miw0fS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}/ and tested string is new Object(\"abcdefghi\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9Py8gYW5kIHRlc3RlZCBzdHJpbmcgaXMge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319CiAqLwoKdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OwpfX3JlID0gL2FbYS16XXsyLDR9Py87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OyBfX3JlID0gL2FbYS16XXsyLDR9Py87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}?/ and tested string is {toString:function(){return \"abcdefghi\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OwpfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OyBfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(aa|aabaac|ba|b|c)* / and tested string is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKQogKi8KCl9fcmUgPSAvKHopKChhKyk/KGIrKT8oYykpKi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCgoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IChfX3JlLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC8oeikoKGErKT8oYispPyhjKSkqLzsgX19yZS50ZXN0KChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKSA9PT0gKF9fcmUuZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(z)((a+)?(b+)?(c))* / and tested string is (function(){return \"zaacbbbcac\"})()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIikgewoJCSRFUlJPUignIzEuMjogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:function(){throw \"intostr\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLnRlc3Qoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImludmFsb2YiKSB7CiAgICAkRVJST1IoJyMxLjI6IC9bYS16XS8udGVzdCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:void 0, valueOf:function(){throw \"invalof\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIGZ1bmN0aW9uIG9iamVjdAogKi8KCnZhciBfX3N0cmluZzsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmc7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpOyBmdW5jdGlvbiBfX3N0cmluZygpe307Jyk7Cn0KCmZ1bmN0aW9uIF9fc3RyaW5nKCl7fTsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE9iamVjdAogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdDsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7ICB3aXRoKF9faW5zdGFuY2UpIHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCmZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9OwoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiW2EtYl0iKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgICAgIH0KICAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAodGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlWyJ0ZXN0Il0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2VbInRlc3QiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEuMCk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZVsidGVzdCJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAiLiI7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAxLjA7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlKSk7Cn0KCgo=","commentary":"RegExp.prototype.test has not prototype property","description":"Checking RegExp.prototype.test.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3Qgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.test can't be used as constructor","description":"Checking if creating the RegExp.prototype.test object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLnRlc3QpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudGVzdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpKSB7CiAgJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontDelete","description":"Checking if deleting RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKClJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CgkkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of the toString method is 1","description":"Checking RegExp.prototype.toString.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjQvUzE1LjEwLjYuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9CgoK","commentary":"RegExp.prototype.toString has not prototype property","description":"Checking RegExp.prototype.toString.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyBvYmplY3QgZmFpbHMKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKCV9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoJJEVSUk9SKCcjMS4xOiBfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.toString can't be used as constructor","description":"Checking if creating the RegExp.prototype.toString object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7Cgpmb3IgKHAgaW4gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyl7CglpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKCSRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpeyBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewoJJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IC9bXmFdKi8oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgvW15hXSovKCkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogL1teYV0qLygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwKCJhfGIiLCJnIikoKSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogUmVnRXhwKCJhfGIiLCJnIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChSZWdFeHAoImF8YiIsImciKSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IFJlZ0V4cCgiYXxiIiwiZyIpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCgo=","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp(\"a|b\",\"g\")() fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgbmV3IFJlZ0V4cCBpbnN0YW5jZSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IC96LygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyAvei8oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgL3ovKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCg==","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating new RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBSZWdFeHAiIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgbmV3IFJlZ0V4cCkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating \"new RegExp\" instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgL1teYV0qIC8KICovCgpfX3JlID0gL1teYV0qLzsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fcmUgIT09ICJvYmplY3QiKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1teYV0qLzsgdHlwZW9mIF9fcmUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIF9fcmUpKTsKfQoKLy9DSEVDSyMxCmlmIChfX3JlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvW15hXSovOyBfX3JlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX3JlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBfX3JlID0gL1teYV0qLzsgKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is /[^a]* /","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgX19yZSAhPT0gIm9iamVjdCIpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyB0eXBlb2YgX19yZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgX19yZSkpOwp9CgovL0NIRUNLIzEKaWYgKF9fcmUuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9fcmUuY29uc3RydWN0b3IpKTsKfQoKLy9DSEVDSyMzCmlmICgoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwOyAoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgPT09IHRydWUnKTsKfQoKCg==","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is new RegExp","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBvZiB0eXBlIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUuc291cmNlKSkgPT09ICdzdHJpbmcnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.source is of type String","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnc291cmNlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.source is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gLy4vOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogX19yZSA9IC8uLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuc291cmNlOwoKX19yZS5zb3VyY2UgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUuc291cmNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvLi87IF9fb2JqID0gX19yZS5zb3VyY2U7IF9fcmUuc291cmNlID0gInNoaWZ0ZWQiOyBfX3JlLnNvdXJjZSA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLnNvdXJjZSkpOwp9CgoK","commentary":"The RegExp instance source property has the attribute ReadOnly","description":"Checking if varying the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIlsxLTJdIiwiaSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc291cmNlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzb3VyY2VcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKCWlmIChwPT09InNvdXJjZSIpIGNvdW50KysJICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ic291cmNlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gIAoKCg==","commentary":"The RegExp instance source property has the attribute DontEnum","description":"Checking if enumerating the source property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvUzE1LjEwLjcuMV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHNvdXJjZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKChkZWxldGUgX19yZS5zb3VyY2UpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IChkZWxldGUgX19yZS5zb3VyY2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ3NvdXJjZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5zb3VyY2UgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance source property has the attribute DontDelete","description":"Checking if deleting the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmdsb2JhbCkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.global is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnZ2xvYmFsJyk7DQogIA0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.global is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL158Xi87CgovL0NIRUNLIzEKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2dsb2JhbCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBfX3JlID0gL158Xi87IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBfX3JlLmdsb2JhbDsKCl9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOwoKLy9DSEVDSyMyCmlmIChfX3JlLmdsb2JhbCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX3JlID0gL158Xi87IF9fb2JqID0gX19yZS5nbG9iYWw7IF9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOyBfX3JlLmdsb2JhbCA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgoK","commentary":"The RegExp instance global property has the attribute ReadOnly","description":"Checking if varying the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dsb2JhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJbby1vXSIsIm0iKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dsb2JhbFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imdsb2JhbCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiW28tb10iLCJtIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0iZ2xvYmFsIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgoK","commentary":"The RegExp instance global property has the attribute DontEnum","description":"Checking if enumerating the global property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvUzE1LjEwLjcuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGdsb2JhbCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUuZ2xvYmFsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmdsb2JhbCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnZ2xvYmFsJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5nbG9iYWwgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance global property has the attribute DontDelete","description":"Checking if deleting the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgb2YgdHlwZSBCb29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKSkgPT09ICdib29sZWFuJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.ignoreCase is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgJ2lnbm9yZUNhc2UnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.ignoreCase is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSAvYXxifGMvOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdpZ25vcmVDYXNlJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvYXxifGMvOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsKCl9fcmUuaWdub3JlQ2FzZSA9ICJzaGlmdGVkIjsKCi8vQ0hFQ0sjMgppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvYXxifGMvOyBfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsgX19yZS5pZ25vcmVDYXNlID0gInNoaWZ0ZWQiOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"The RegExp instance ignoreCase property has the attribute ReadOnly","description":"Checking if varying the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBvZiBSZWdFeHAgaW5zdGFuY2UgZmFpbHMKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiW3x8fHx8fHxdIiwiIik7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdpZ25vcmVDYXNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnaWdub3JlQ2FzZVwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBmb3IgKHAgaW4gX19yZSl7IGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfSAKCg==","commentary":"The RegExp instance ignoreCase property has the attribute DontEnum","description":"Checking if enumerating the ignoreCase property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4zL1MxNS4xMC43LjNfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBpZ25vcmVDYXNlIHByb3BlcnR5IGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoKGRlbGV0ZSBfX3JlLmlnbm9yZUNhc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyAoZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnaWdub3JlQ2FzZScpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7ZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZTsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ2lnbm9yZUNhc2VcJykgPT09IHRydWUnKTsKfQoKCgoK","commentary":"The RegExp instance ignoreCase property has the attribute DontDelete","description":"Checking if deleting the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.multiline is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbXVsdGlsaW5lJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.multiline is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL1xuLzsKCi8vQ0hFQ0sjMQppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvXFxuLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ211bHRpbGluZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUubXVsdGlsaW5lOwoKX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvXFxuLzsgX19vYmogPSBfX3JlLm11bHRpbGluZTsgX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7IF9fcmUubXVsdGlsaW5lID09PSBfX29iai4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCgo=","commentary":"The RegExp instance multiline property has the attribute ReadOnly","description":"Checking if varying the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltcdTAwNDEtXHUwMDQ5XSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbXVsdGlsaW5lJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdtdWx0aWxpbmVcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKICBpZiAocD09PSJtdWx0aWxpbmUiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibXVsdGlsaW5lIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance multiline property has the attribute DontEnum","description":"Checking if enumerating the multiline property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvUzE1LjEwLjcuNF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIG11bHRpbGluZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubXVsdGlsaW5lKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLm11bHRpbGluZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5tdWx0aWxpbmUgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance multiline property has the attribute DontDelete","description":"Checking if deleting the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBvZiB0eXBlIE51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUubGFzdEluZGV4KSkgPT09ICdudW1iZXInOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.lastIndex is of type Number","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgYXR0cmlidXRlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbGFzdEluZGV4Jyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.lastIndex is a data property with specified attribute values","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy41L1MxNS4xMC43LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsYXN0SW5kZXggcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnbGFzdEluZGV4XCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xhc3RJbmRleCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJBP0IiKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xhc3RJbmRleFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imxhc3RJbmRleCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiQT9CIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibGFzdEluZGV4IikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance lastIndex property has the attribute DontEnum","description":"Checking if enumerating the lastIndex property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvUzE1LjEwLjcuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxhc3RJbmRleCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubGFzdEluZGV4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmxhc3RJbmRleCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbGFzdEluZGV4JykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5sYXN0SW5kZXggPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance lastIndex property has the attribute DontDelete","description":"Checking if deleting the lastIndex property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gQ29udmVyc2lvbkVycm9yIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBJRTkgc3RhbmRhcmQgbW9kZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgQ29udmVyc2lvbkVycm9yID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error - ConversionError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gUmVnRXhwRXJyb3IgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIElFOSBzdGFuZGFyZCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBSZWdFeHBFcnJvciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error - RegExpError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gRXJyb3IobXNnKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgZXJyMT1FcnJvcignbXNnMScpOwppZihlcnIxLm1lc3NhZ2UhPT0ibXNnMSIpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gRXJyb3IobXNnKTt9IHZhciBlcnIyPW90aGVyU2NvcGUoXCdtc2cyXCcpOyBlcnIyLm1lc3NhZ2U9PT0ibXNnMiIuIEFjdHVhbDogJytlcnIyLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgZXJyMz1vdGhlclNjb3BlKCk7CmlmKGVycjMuaGFzT3duUHJvcGVydHkoJ21lc3NhZ2UnKSl7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpe3JldHVybiBFcnJvcihtc2cpO30gdmFyIGVycjM9b3RoZXJTY29wZSgpOyBlcnIzLmhhc093blByb3BlcnR5KCJtZXNzYWdlIikuIEFjdHVhbDogJytlcnIzLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp2YXIgZXJyND1ldmFsKCJFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgiRXJyb3IoXCdtc2c0XCcpIik7IGVycjQubWVzc2FnZT09PSJtc2c0Ii4gQWN0dWFsOiAnK2VycjQubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjEvUzE1LjExLjEuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCdtc2cxJyk7CmlmKCFFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSl7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9RXJyb3IoXCdtc2cxXCcpOyBFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4xL1MxNS4xMS4xLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9RXJyb3IoKTsKaWYoZXJyMS50b1N0cmluZygpIT09J1tvYmplY3QgJysgJ0Vycm9yJyArJ10nKXsKICAkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIGVycjE9RXJyb3IoKTsgZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBFcnJvciguLi4pIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uIG5ldwogKiBFcnJvciguLi4pIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciBlcnIxPUVycm9yKCk7CmlmKGVycjEuY29uc3RydWN0b3IhPT1FcnJvcil7CiAgJEVSUk9SKCcjMTogRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciBlcnIxPUVycm9yKCk7IGVycjEuY29uc3RydWN0b3I9PT1FcnJvci4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The function call Error(...) is equivalent to the object creation expression new\nError(...) with the same arguments","description":"Checking constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMi9TMTUuMTEuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gbmV3IEVycm9yKG1zZyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9bmV3IEVycm9yKCdtc2cxJyk7CmlmKGVycjEubWVzc2FnZSE9PSJtc2cxIil7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9bmV3IEVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMj1vdGhlclNjb3BlKFwnbXNnMlwnKTsgZXJyMi5tZXNzYWdlPT09Im1zZzIiLiBBY3R1YWw6ICcrZXJyMi5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdmFyIGVycjM9b3RoZXJTY29wZSgpOwppZihlcnIzLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpewogICRFUlJPUignIzM6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMz1vdGhlclNjb3BlKCk7IGVycjMuaGFzT3duUHJvcGVydHkoIm1lc3NhZ2UiKS4gQWN0dWFsOiAnK2VycjMubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CnZhciBlcnI0PWV2YWwoIm5ldyBFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgibmV3IEVycm9yKFwnbXNnNFwnKSIpOyBlcnI0Lm1lc3NhZ2U9PT0ibXNnNCIuIEFjdHVhbDogJytlcnI0Lm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjIvUzE1LjExLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcignbXNnMScpOwppZighRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpewogICRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4yL1MxNS4xMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9bmV3IEVycm9yKCk7CmlmKGVycjEudG9TdHJpbmcoKSE9PSdbb2JqZWN0ICcrICdFcnJvcicgKyddJyl7CiAgJEVSUk9SKCcjMTogZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCnZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIEVycm9yLnByb3RvdHlwZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIEVycm9yLnByb3RvdHlwZSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IucHJvdG90eXBlIT09cHJvdG8pewogICRFUlJPUignIzI6IHZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7IGRlbGV0ZSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZT09PXByb3RvLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontDelete}","description":"Checking if deleting the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKEVycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMwOiBFcnJvci5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpIHJldHVybiBmYWxzZS4gQWN0dWFsOiAnK0Vycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291dD0wOwoKZm9yIChwIGluIEVycm9yKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291dCA9PT0gMC4gQWN0dWFsOiAnK2NvdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontEnum}","description":"Checking if enumerating the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IEVycm9yLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fb2JqID0gRXJyb3IucHJvdG90eXBlOwoKRXJyb3IucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChFcnJvci5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBFcnJvci5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7CiAgRXJyb3IucHJvdG90eXBlKCk7CiAgJEVSUk9SKCcjMzogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Error.prototype property has the attributes {ReadOnly}","description":"Checking if varying the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogRXJyb3IuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The Error has property prototype","description":"Checking Error.hasOwnProperty('prototype')","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0KDE1LjMuNCkKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9RXJyb3IoImVyciIpOwppZighRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKCJlcnIiKTsgRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikgcmV0dXJuIHRydWUuIEFjdHVhbDonK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoIUZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLmNvbnN0cnVjdG9yKSl7CiAgJEVSUk9SKCcjMjogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IuY29uc3RydWN0b3IpIHJldHVybiB0cnVlLiBBY3R1YWw6JytGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihFcnJvci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the Error constructor is the Function prototype object(15.3.4)","description":"Checking prototype of constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBsZW5ndGggcHJvcGVydHkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCJlcnIiKTsKaWYoZXJyMS5jb25zdHJ1Y3Rvci5sZW5ndGghPT0xKXsKICAkRVJST1IoJyMxOiB2YXIgZXJyMT1FcnJvcigiZXJyIik7IGVycjEuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoIT09MSl7CiAgJEVSUk9SKCcjMjogRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK0Vycm9yLmNvbnN0cnVjdG9yLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property value is 1","description":"Checking length property","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEVycm9yLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking Error.prototype.constructor","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgcGFzc2VzIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCmNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCmVyciA9IG5ldyBjb25zdHI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMAppZiAoZXJyID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzA6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgZXJyID09PSB1bmRlZmluZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChlcnIuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IGVyci5jb25zdHJ1Y3RvciA9PT0gRXJyb3IuIEFjdHVhbDogJytlcnIuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikpKSB7CgkkRVJST1IoJyMyOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCkVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ0Vycm9yJyArJ10nOwppZiAoZXJyLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKCSRFUlJPUignIzM6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IGVyci50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudG9TdHJpbmcoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKGVyci52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewoJJEVSUk9SKCcjNDogY29uc3RyID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBlcnIgPSBuZXcgY29uc3RyOyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgZXJyLnZhbHVlT2YoKS50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudmFsdWVPZigpLnRvU3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking if creating \"new Error.prototype.constructor\" passes and checking its properties","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBuYW1lIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCduYW1lJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ25hbWVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ25hbWUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The Error.prototype has name property","description":"Checking Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyAiRXJyb3IiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUubmFtZSE9PSJFcnJvciIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5uYW1lPT09IkVycm9yIi4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5uYW1lKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.name is \"Error\"","description":"Checking value of Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBtZXNzYWdlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubWVzc2FnZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ21lc3NhZ2VcJykgcmV1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnbWVzc2FnZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has message property","description":"Checking Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyAiIgogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFsdWUgb2YgRXJyb3IucHJvdG90eXBlLm1lc3NhZ2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHR5cGVvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.message is \"\"","description":"Checking value of Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyB0b1N0cmluZyBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvU3RyaW5nJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3RvU3RyaW5nXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b1N0cmluZycpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has toString property","description":"Checking Error.prototype.toString","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgYW4gaW1wbGVtZW50YXRpb24gZGVmaW5lZCBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IucHJvdG90eXBlLnRvU3RpbmcoKSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsKdHJ5ewoJdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsKfQpjYXRjaChlKXsKCSRFUlJPUignIzE6IHZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsgdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmlmICh0b1N0cj09PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogdmFyIGVycjE9bmV3IEVycm9yKCJFcnJvciIpOyB2YXIgdG9TdHI9ZXJyMS50b1N0cmluZygpOyB0b1N0ciE9PXVuZGVmaW5lZC4gQWN0dWFsOiAnK3RvU3RyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype.toString returns an implementation defined string","description":"Checking if call of Error.prototype.toSting() fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUKICogb2JqZWN0KDE1LjIuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTEuanMKICogQGRlc2NyaXB0aW9uIEdldCBFcnJvci5wcm90b3R5cGUgYW5kIGNvbXBhcmUgd2l0aCBPYmplY3QucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLnByb3RvdHlwZSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the Error prototype object is the Object prototype\nobject(15.2.3.1)","description":"Get Error.prototype and compare with Object.prototype","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBHZXR0aW5nIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IHVzaW5nIEVycm9yLnByb3RvdHlwZS50b1N0cmluZygpIGZ1bmN0aW9uCiAqLwoKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cl9fdG9zdHIgPSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fdG9zdHIgIT09ICJbb2JqZWN0IEVycm9yXSIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3Rvc3RyID0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nKCk7IF9fdG9zdHIgPT09ICJbb2JqZWN0IEVycm9yXSIuIEFjdHVhbDogJytfX3Rvc3RyICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Class]] property of Error prototype object is \"Error\"","description":"Getting the value of the internal [[Class]] property using Error.prototype.toString() function","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY2FsbF1dIG1ldGhvZAogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglFcnJvci5wcm90b3R5cGUoKTsKCSRGQUlMKCcjMTogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since Error prototype object is not function it has not [[call]] method","description":"Checking if call of Error prototype as a function fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBFcnJvci5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlOwoJJEZBSUwoJyMxOiAiX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since Error prototype object is not function it has not [[create]] method","description":"Checking if creating \"new Error.prototype\" fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A4.js"},{"code":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjIvMTUuMTEuNC4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im5hbWUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Error.prototype.name is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.2/15.11.4.2-1.js"},{"code":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjMvMTUuMTEuNC4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im1lc3NhZ2UiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Error.prototype.message is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.3/15.11.4.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgcmV0dXJuIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyAnbmFtZScsICc6JywgYSBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLCBhbmQgJ21zZycgd2hlbiAnbmFtZScgYW5kICdtc2cnIGFyZSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIkVycm9yTmFtZSI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTmFtZTogRXJyb3JNZXNzYWdlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString return the result of concatenating 'name', ':', a single space character, and 'msg' when 'name' and 'msg' are non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgd2hlbiAnbXNnJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and empty string is returned when 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCB2YWx1ZSBvZiAnbXNnJyBpcyByZXR1cm5lZCB3aGVuICdtc2cnIGlzIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJFcnJvck1lc3NhZ2UiKTsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3I6IEVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and value of 'msg' is returned when 'msg' is non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gdGhlIHZhbHVlIG9mICdtc2cnIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXNuJ3QgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIiI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error.prototype.toString return the value of 'msg' when 'name' is empty string and 'msg' isn't undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gZW1wdHkgc3RyaW5nIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBlcnJPYmoubmFtZSA9ICIiOw0KICAgICAgICByZXR1cm4gZXJyT2JqLnRvU3RyaW5nKCkgPT09ICIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error.prototype.toString return empty string when 'name' is empty string and 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gJ25hbWUnIHdoZW4gJ25hbWUnIGlzIG5vbi1lbXB0eSBzdHJpbmcgYW5kICdtc2cnIGlzIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgZXJyT2JqLm5hbWUgPSAiRXJyb3JOYW1lIjsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3JOYW1lIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString return 'name' when 'name' is non-empty string and 'msg' is empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogNC4yIGNhbGxzIG91dCBKU09OIGFzIG9uZSBvZiB0aGUgYnVpbHQtaW4gb2JqZWN0cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBiZSBhIGJ1aWx0LWluIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCiAgaWYgKHR5cGVvZihvKSA9PT0gIm9iamVjdCIpIHsgIA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n4.2 calls out JSON as one of the built-in objects.","description":"JSON must be a built-in object","path":"TestCases/ch15/15.12/15.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NvbnN0cnVjdF1dLg0KICogc3RlcCA0IGluIDExLjIuMiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBtdXN0IG5vdCBzdXBwb3J0IHRoZSBbW0NvbnN0cnVjdF1dIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCg0KICB0cnkgew0KICAgIHZhciBqID0gbmV3IEpTT04oKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Construct]].\nstep 4 in 11.2.2 should throw a TypeError exception.","description":"JSON must not support the [[Construct]] method","path":"TestCases/ch15/15.12/15.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NhbGxdXS4NCiAqIHN0ZXAgNSBpbiAxMS4yLjMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBub3Qgc3VwcG9ydCB0aGUgW1tDYWxsXV0gbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KDQogIHRyeSB7DQogICAgdmFyIGogPSBKU09OKCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Call]].\nstep 5 in 11.2.3 should throw a TypeError exception.","description":"JSON must not support the [[Call]] method","path":"TestCases/ch15/15.12/15.12-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbGFzdCBwYXJhZ3JhcGggaW4gc2VjdGlvbiAxNSBzYXlzICJldmVyeSBvdGhlciBwcm9wZXJ0eSBkZXNjcmliZWQNCiAqIGluIHRoaXMgc2VjdGlvbiBoYXMgdGhlIGF0dHJpYnV0ZSB7Li4uIFtbRW51bWVyYWJsZV1dIDogZmFsc2UgLi4ufQ0KICogdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoaXMgZGVmYXVsdCBhcHBsaWVzIHRvIHRoZSBwcm9wZXJ0aWVzIG9uDQogKiBKU09OLCBhbmQgd2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGVudW1lcmF0ZSB0aGVtLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBvYmplY3QncyBwcm9wZXJ0aWVzIG11c3QgYmUgbm9uIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgaSA9IDA7DQogIGZvciAodmFyIHAgaW4gbykgew0KICAgIGkrKzsNCiAgfQ0KICAgIA0KICBpZiAoaSA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe last paragraph in section 15 says \"every other property described\nin this section has the attribute {... [[Enumerable]] : false ...}\nunless otherwise specified. This default applies to the properties on\nJSON, and we should not be able to enumerate them.","description":"JSON object's properties must be non enumerable","path":"TestCases/ch15/15.12/15.12-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgd2hpdGVzcGFjZSBhcyBhIHRva2VuIHNlcGVyYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHRcclxuIDM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats whitespace as a token seperator","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIDxWVD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIDxGRj4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBjMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNC5qcw0KICogQGRlc2NyaXB0aW9uIDxOQlNQPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTAwYTAxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNS5qcw0KICogQGRlc2NyaXB0aW9uIDxaV1NQUD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUyMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNi5qcw0KICogQGRlc2NyaXB0aW9uIDxCT00+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJ1x1ZmVmZjEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYQ0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGNhdGVnb3J5IHogc3BhY2VzIGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICAvLyB0aGUgZm9sbG93aW5nIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIEpTT04ucGFyc2UoJ1x1MTY4MFx1MTgwZVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwYVx1MjAyZlx1MjA1Zlx1MzAwMDEyMzQnKTsgDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOC5qcw0KICogQGRlc2NyaXB0aW9uIFUrMjAyOCBhbmQgVSsyMDI5IGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTIwMjhcdTIwMjkxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOS5qcw0KICogQGRlc2NyaXB0aW9uIFdoaXRlc3BhY2UgY2hhcmFjdGVycyBjYW4gYXBwZWFyIGJlZm9yZS9hZnRlciBhbnkgSlNPTnRva2VuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIEpTT04ucGFyc2UoJ1x0XHIgXG57XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgJyJwcm9wZXJ0eSJcdFxyIFxuOlx0XHIgXG57XHRcciBcbn1cdFxyIFxuLFx0XHIgXG4nICsNCiAgICAgICAgICAgICAgICAgICAnInByb3AyIlx0XHIgXG46XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgICAgICAnW1x0XHIgXG50cnVlXHRcciBcbixcdFxyIFxubnVsbFx0XHIgXG4sMTIzLjQ1Nlx0XHIgXG5dJysNCiAgICAgICAgICAgICAgICAgICAgICdcdFxyIFxufVx0XHIgXG4nKTsgIC8vIHNob3VsZCBKT1NOIHBhcnNlIHdpdGhvdXQgZXJyb3INCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Whitespace characters can appear before/after any JSONtoken","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxUQUI+IGFzIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoSlNPTi5wYXJzZSgnXHQxMjM0JykhPT0xMjM0KSByZXR1cm4gZmFsc2U7IC8vIDxUQUI+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJcdDM0Jyk7IC8vIDxUQUI+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxDUj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdccjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPGNyPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHIzNCcpOyAvLyA8Q1I+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxMRj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdcbjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPExGPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXG4zNCcpOyAvLyA8TEY+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxTUD4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogaWYgKEpTT04ucGFyc2UoJyAxMjM0JykhPTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFNQPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyIDM0Jyk7IC8vIDxTUD4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OU3RyaW5ncyBjYW4gYmUgd3JpdHRlbiB1c2luZyBkb3VibGUgcXVvdGVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04ucGFyc2UoJyJhYmMiJyk9PT0iYWJjIjsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSONStrings can be written using double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG1heSBub3QgYmUgZGVsaW1pdGVkIGJ5IHNpbmdsZSBxdW90ZXMgDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgICBpZiAoSlNPTi5wYXJzZSgiJ2FiYyciKSA9PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONString may not be delimited by single quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG1heSBub3QgYmUgZGVsaW1pdGVkIGJ5IFVuY29kZSBlc2NhcGVkIHF1b3RlcyANCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIGlmIChKU09OLnBhcnNlKCJcXHUwMDIyYWJjXFx1MDAyMiIpID09PSdhYmMnKSByZXR1cm4gZmFsc2U7DQogICAgICAgfQ0KICAgICBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONString may not be delimited by Uncode escaped quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi00LmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG11c3QgYm90aCBiZWdpbiBhbmQgZW5kIHdpdGggZG91YmxlIHF1b3Rlcw0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgaWYgKEpTT04ucGFyc2UoJyJhYicrImMnIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsNCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSONString must both begin and end with double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT05TdHJpbmdzIGNhbiBjb250YWluIG5vIEpTT05TdHJpbmdDaGFyYWN0ZXJzIChFbXB0eSBKU09OU3RyaW5ncykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5wYXJzZSgnIiInKT09PSIiOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwMCB0aHJ1IFUrMDAwNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwOCB0aHJ1IFUrMDAwRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwOFx1MDAwOVx1MDAwYVx1MDAwYlx1MDAwY1x1MDAwZFx1MDAwZVx1MDAwZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxMCB0aHJ1IFUrMDAxNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxOCB0aHJ1IFUrMDAxRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxOFx1MDAxOVx1MDAxYVx1MDAxYlx1MDAxY1x1MDAxZFx1MDAxZVx1MDAxZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIEpTT04gbGV4aWNhbCBncmFtbWFyIGFsbG93cyBVbmljb2RlIGVzY2FwZSBzZXF1ZW5jZXMgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdTAwNTgiJyk9PT0nWCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar allows Unicode escape sequences in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nQ2hhcmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBoYXZlIGZld2VyIHRoYW4gNCBoZXggY2hhcmFjdGVycw0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgSlNPTi5wYXJzZSgnIlxcdTAwNSInKSANCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiBlLm5hbWU9PT0nU3ludGF4RXJyb3InDQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nQ2hhcmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBpbmNsdWRlIGFueSBub249aGV4IGNoYXJhY3RlcnMNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIEpTT04ucGFyc2UoJyJcXHUwWDUwIicpIA0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGUubmFtZT09PSdTeW50YXhFcnJvcicNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not include any non=hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcvJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcLyInKT09PScvJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcnIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxcXCInKT09PSdcXCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows '' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdiJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcYiInKT09PSdcYic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdmJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcZiInKT09PSdcZic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICduJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcbiInKT09PSdcbic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdyJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcciInKT09PSdccic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICd0JyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdCInKT09PSdcdCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gSlNPTi5wYXJzZTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnBhcnNlOw0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function taking 2 parameters","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IEpTT047DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAicGFyc2UiKTsNCiAgcmV0dXJuIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.parse must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGlzIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIC0gcGFyc2luZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgbWlkZGxlcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgIkpvIiArIG51bGxDaGFyc1tpbmRleF0gKyAiaG4iICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICJuYW1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3snICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneycgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIG1pZGRsZXMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgJyArICJuYSIgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBpcyBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBlbmRzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICJuYW1lIiA6ICcgKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgYW5kIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBKU09OLnBhcnNlIG11c3QgY3JlYXRlIGEgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZQogKgogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvUzE1LjEyLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgSlNPTi5wYXJzZSB0cmVhdHMgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5IG5hbWUKICovCgp2YXIgeCA9IEpTT04ucGFyc2UoJ3siX19wcm90b19fIjpbXX0nKTsKaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRGQUlMKCcjMTogSlNPTi5wYXJzZSBjb25mdXNlZCBieSAiX19wcm90b19fIicpOwp9CmlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKICAkRkFJTCgnIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"JSON.parse must create a property with the given property name","description":"Tests that JSON.parse treats \"__proto__\" as a regular property name","path":"TestCases/ch15/15.12/15.12.2/S15.12.2_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnN0cmluZ2lmeTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uIHRha2luZyAzIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEpTT04uc3RyaW5naWZ5Ow0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function taking 3 parameters","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IG11c3QgYmUgZGVsZXRhYmxlIChjb25maWd1cmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.stringify must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpIHJldHVybnMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZDsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify(undefined) returns undefined","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciB2YWx1ZSBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar value can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIE9iamVjdCBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3Byb3A6MX0sIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify replacer function applied to a top level Object can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIEFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdj09NDIgP1s0LDJdOnYgfSkgPT09ICdbNCwyXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Array.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIE9iamVjdC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHY9PTQyID8ge2ZvcnR5OjJ9OiB2fSkgPT09ICd7ImZvcnR5IjoyfSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Object.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgdG8gYSAgZnVuY3Rpb24gcmV0dXJucyB1bmRlZmluZWQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30pID09PSB1bmRlZmluZWQ7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Applying JSON.stringify to a function returns undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgd2l0aCBhIHJlcGxhY2VyIGZ1bmN0aW9uIHRvIGEgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVwbGFjZXIgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30sIGZ1bmN0aW9uKGssdikge3JldHVybiA5OX0pID09PSAnOTknOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Applying JSON.stringify with a replacer function to a function returns the replacer value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgaXMgdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiI6ICJKb2huIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOyANCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWUiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property name ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIGFuZCBlbmRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWVcdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIHdvcmtzIGlzIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgdW5kZWZpbmVkIHZhbHVlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuICJyZXBsYWNlbWVudCIgfSkgPT09ICcicmVwbGFjZW1lbnQiJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify replacer function works is applied to a top level undefined value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgbWlkZGxlcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYVx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm1lIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property name middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGlzIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property value is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGVuZHMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb2huXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property value ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG5cdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIG1pZGRsZXMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb1x1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRmhuIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property value middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBjb25jYXRlbmF0aW9uIGlzICddJyAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBKQSh2YWx1ZSkgc3RlcCAxMC5iLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9ialswXSA9ICJhIjsNCiAgICAgICAgYXJyT2JqWzFdID0gImIiOw0KICAgICAgICBhcnJPYmpbMl0gPSAiYyI7DQoNCiAgICAgICAgdmFyIGpzb25UZXh0ID0gSlNPTi5zdHJpbmdpZnkoYXJyT2JqLCB1bmRlZmluZWQsICIiKS50b1N0cmluZygpOw0KICAgICAgICByZXR1cm4ganNvblRleHQuc3Vic3RyKGpzb25UZXh0Lmxlbmd0aCAtIDEsIDEpID09PSAiXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - the last element of the concatenation is ']' (The abstract operation JA(value) step 10.b.iii)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgc3RyaW5nIHZhbHVlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoImEgc3RyaW5nIikgPT09ICciYSBzdHJpbmciJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify correctly works on top level string values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDEyMykgPT09ICcxMjMnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify correctly works on top level Number values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh0cnVlKSA9PT0gJ3RydWUnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify correctly works on top level Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgbnVsbCB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG51bGwpID09PSAnbnVsbCc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level null values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgTnVtYmVyKDQyKSkgPT09ICc0Mic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level Number objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTguanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIFN0cmluZyBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgU3RyaW5nKCd3cmFwcGVyZWQnKSkgPT09ICcid3JhcHBlcmVkIic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level String objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gb2JqZWN0cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gJ2ZhbHNlJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify correctly works on top level Boolean objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGlnbm9yZXMgcmVwbGFjZXIgYXJ1Z3VtZW50cyB0aGF0IGFyZSBub3QgZnVuY3Rpb25zIG9yIGFycmF5cy4uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0se30pPT09ICdbNDJdJzsNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gIGZhbHNlfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify ignores replacer aruguments that are not functions or arrays..","path":"TestCases/ch15/15.12/15.12.3/15.12.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYS1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBOdW1iZXIgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBOdW1iZXIoNSkpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Number wrapper object space aruguments to Number values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBTdHJpbmcgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBTdHJpbmcgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBTdHJpbmcoJ3h4eCcpKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJ3h4eCcpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts String wrapper object space aruguments to String values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGdyZWF0ZXIgdGhhbiAxMCB0aGUgc2FtZSBhcyBhICBzcGFjZSBhcmd1bWVudCBvZiAxMC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgMTApPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAxMDApOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments greater than 10 the same as a space argument of 10.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJ1Y2NhdGVzIG5vbi1pbnRlZ2VyIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIHRvIHRoZWlyIGludGVnZXIgcGFydC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgNS45OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify truccates non-integer numeric space arguments to their integer part.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwLjk5OTk5OSl0aGUgc2FtZSBhcyBlbXB0cnkgc3RyaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAwLjk5OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICovDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0.999999)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwKXRoZSBzYW1lIGFzIGVtcHRyeSBzdHJpbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDApPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgtNSkgdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgLTUpPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (-5) the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIChpbiB0aGUgcmFuZ2UgMS4uMTApIGlzIGVxdWl2YWxlbnQgdG8gYSBzdHJpbmcgb2Ygc3BhY2VzIG9mIHRoYXQgbGVuZ3RoLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgdmFyIGZpdmVTcGFjZXMgPSAnICAgICAnOw0KICAvLyAgICAgICAgICAgICAgICcxMjM0NScNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KT09PSBKU09OLnN0cmluZ2lmeShvYmosIG51bGwsIGZpdmVTcGFjZXMpOyAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments (in the range 1..10) is equivalent to a string of spaces of that length.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTctYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgb25seSB1c2VzIHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHNwYWNlIGFyZ3VtZW50cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODl4eHh4eHh4eHgnKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODknKTsgIA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify only uses the first 10 characters of a string space arguments.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-7-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIGVtcHR5IHN0cmluZyBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJycpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an empty string space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIHRydWUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an Boolean space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIG51bGwgc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG51bGwpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an null space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gd3JhcHBlciBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an Boolean wrapper space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS01LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG5vbi1OdW1iZXIgb3IgU3RyaW5nIG9iamVjdCBzcGFjZSBhcmd1bWVudHMgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG9iaik7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats non-Number or String object space arguments the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0gew0KICAgIHByb3A6NDIsDQogICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0dXJuICdmb3J0eXR3byBvYmplY3RzJ30NCiAgICB9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0pID09PSAnWyJmb3J0eXR3byBvYmplY3RzIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts string wrapper objects returned from a toJSON call to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgTnVtYmVyLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IE51bWJlcig0Mil9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1s0Ml0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from a toJSON call to literal Number.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gYSB0b0pTT04gY2FsbCB0byBsaXRlcmFsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEJvb2xlYW4odHJ1ZSl9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1t0cnVlXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from a toJSON call to literal Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBzdHJpbmcgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IFN0cmluZygnZm9ydHl0d28nKTp2fSkgPT09ICdbImZvcnR5dHdvIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts string wrapper objects returned from replacer functions to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVycy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IE51bWJlcig4NCk6dn0pID09PSAnWzg0XSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBCb29sZWFuIHdyYXBwZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIHJlcGxhY2VyIGZ1bmN0aW9ucyB0byBsaXRlcmFsIG51bWJlcnMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBCb29sZWFuKGZhbHNlKTp2fSkgPT09ICdbZmFsc2VdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgZXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge307DQogIG9iai5wcm9wID0gb2JqOw0KICB0cnkgew0KICAgICBKU09OLnN0cmluZ2lmeShvYmopOw0KICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify a circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt9Ow0KICBvYmoucHJvcCA9IG9iajsNCiAgdHJ5IHsNCiAgICAgSlNPTi5zdHJpbmdpZnkob2JqKTsNCiAgICAgcmV0dXJuIGZhbHNlOyAgLy8gc2hvdWxkIG5vdCByZWFjaCBoZXJlDQogICAgIH0NCiAgIGNhdGNoIChlKSB7cmV0dXJuIGUubmFtZT09PSdUeXBlRXJyb3InfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify a circular object throws a TypeError","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBpbmRpcmVjdGx5IGNpcmN1bGFyIG9iamVjdCB0aHJvd3MgYSBlcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7cDE6IHtwMjoge319fTsNCiAgb2JqLnAxLnAyLnByb3AgPSBvYmo7DQogIHRyeSB7DQogICAgIEpTT04uc3RyaW5naWZ5KG9iaik7DQogICAgIHJldHVybiBmYWxzZTsgIC8vIHNob3VsZCBub3QgcmVhY2ggaGVyZQ0KICAgICB9DQogICBjYXRjaCAoZSkge3JldHVybiAgdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify a indirectly circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbAogKgogKiBAcGF0aCBjaDE1LzE1LjIvUzE1LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE9iamVjdCBlcXVhbHMgdG8gdGhpcy5PYmplY3QKICovCgp2YXIgb2JqPU9iamVjdDsKCnZhciB0aGlzb2JqPXRoaXMuT2JqZWN0OwoKaWYob2JqIT09dGhpc29iail7CiAgJEVSUk9SKCdPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCcpOwp9Cgo=","commentary":"Object is the property of global","description":"Checking if Object equals to this.Object","path":"TestCases/ch15/15.2/S15.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KG51bGwpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdChudWxsKTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KG51bGwpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHZvaWQgMCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKLy92YXIgeT0gdm9pZCAwOwoKdmFyIF9fb2JqID0gT2JqZWN0KHZvaWQgMCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh2b2lkIDApOwoKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCgpOwogCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHVuZGVmaW5lZCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KHVuZGVmaW5lZCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHgpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdCh4KTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KHgpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgp2YXIgeDsKCg==","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(x) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggYm9vbGVhbiBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBib29sID0gdHJ1ZTsKCmlmKHR5cGVvZiBib29sICE9PSAnYm9vbGVhbicpewogICRGQUlMKCcjMTogYm9vbCBzaG91bGQgYmUgYm9vbGVhbiBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChib29sKTsKCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMyOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAoIW9iaikgewogICRFUlJPUignIzQ6IE9iamVjdCh0cnVlKSByZXR1cm5zIFRvT2JqZWN0KHRydWUpJyk7Cn0KCmlmIChvYmogPT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGFycmF5IG9mIG51bWJlcnMgYXMgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFyciAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMxOiBhcnIgPSBbMSwyLDNdIGlzIE5PVCBhbiBvYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KGFycik7CgphcnIucHVzaCg0KTsKCi8vQ0hFQ0sjMgppZiAoKG5fb2JqICE9PSBhcnIpfHwobl9vYmpbM10hPT00KSkgewogICRFUlJPUignIzI6IE9iamVjdChbMSwyLDNdKSByZXR1cm5zIFRvT2JqZWN0KFsxLDIsM10pJyk7Cn0KCgoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with array of numbers as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAkRVJST1IoJyMxOiAgZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO30pOwoKLy9DSEVDSyMyCmlmICgobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKXx8KG5fb2JqKCkhPT0xKSkgewogICRFUlJPUignIzI6IE9iamVjdChmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIDE7fSkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBmdW5jICE9PSAndW5kZWZpbmVkJykgewogICRFUlJPUignIzM6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwndCBiZSBkZWNsYXJhdGVkJyk7Cn0KCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function declaration as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIG51bWVyaWMgZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoMS4xKihbXS5sZW5ndGgre3E6MX1bInEiXSkpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gMS4xKXx8KG9iaiA9PT0gMS4xKSkgewogICRFUlJPUignIzQ6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with numeric expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGJvb2xlYW4gZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoKDE9PT0xKSYmKCFmYWxzZSkpOwoKLy9DSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMxOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzEuMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxLjE6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShvYmopKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmo9PT10cnVlKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIHN1bSBvZiBlbXB0eSBzdHJpbmcgYW5kIGEgbnVtYmVyIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgiIisxKTsKCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIxIil8fChvYmogPT09ICIxIikpIHsKICAkRVJST1IoJyM0OiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with sum of empty string and a number as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggbnVtYmVyIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IDEuMTsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSAxLjEgc2hvdWxkIGJlIE51bWJlciBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdCgxLjEpIHJldHVybnMgVG9PYmplY3QoMS4xKScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG9iaiAhPSAxLjEpfHwob2JqID09PSAxLjEpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with number argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICdMdWtlIFNreXdhbGtlcic7CgovLyBDSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRVJST1IoJyMxOiAiTHVrZSBTa3l3YWxrZXIiIHNob3VsZCBiZSBhIFN0cmluZyBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiTHVrZSBTa3l3YWxrZXIiKSByZXR1cm5zIFRvT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBUb09iamVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gIkx1a2UgU2t5d2Fsa2VyIil8fChvYmogPT09ICJMdWtlIFNreXdhbGtlciIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpIHJldHVybnMgVG9PYmplY3QoIkx1a2UgU2t5d2Fsa2VyIiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IHtmbGFnOnRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcpIHsKICAkRkFJTCgnIzE6IG9iaiA9IHtmbGFnOnRydWV9IHNob3VsZCBiZSBhbiBPYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KG9iaik7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gb2JqKXx8KCEobl9vYmpbJ2ZsYWcnXSkpKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KHtmbGFnOnRydWV9KSByZXR1cm5zIFRvT2JqZWN0KHtmbGFnOnRydWV9KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with object argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggTmFOIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IE5hTjsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSBOYU4gc2hvdWxkIGhhdmUgbnVtYmVyIHR5cGUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9Ci8vCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with NaN argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggSW5maW5pdHkgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgbnVtID0gSW5maW5pdHk7CgovLyBDSEVDSyMxCmlmKHR5cGVvZiBudW0gICE9PSAnbnVtYmVyJyl7CiAgJEVSUk9SKCcjMTogbnVtID0gSW5maW5pdHkgc2hvdWxkIGJlIGEgTnVtYmVyIHByaW1pdGl2ZScpOwp9Cgp2YXIgb2JqID0gT2JqZWN0KG51bSk7CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdChJbmZpbml0eSkgcmV0dXJucyBUb09iamVjdChJbmZpbml0eSknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9IEluZmluaXR5KXx8KG9iaiA9PT0gSW5maW5pdHkpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with Infinity argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZW1wdHkgc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICcnOwoKLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHN0cikgIT09ICdzdHJpbmcnKSB7CiAgJEZBSUwoJyMxOiAiIiBpcyBOT1QgYSBTdHJpbmcnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIiKXx8KG9iaiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCIiKSByZXR1cm5zIFRvT2JqZWN0KCIiKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with empty string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gdmFyaWFibGUgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIDE7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function variable argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gYXJndW1lbnQgdmFsdWUuIFRoZSBmdW5jdGlvbiBpcyBkZWNsYXJlZAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function argument value. The function is declared","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgxLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgxLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAxKXx8KG9iaiA9PT0gMSkpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdChudWxsLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdChudWxsLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgobnVsbCwyLDMpLDEsMikiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgobnVsbCwyLDMpLDEsMik7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAzKXx8KG9iaiA9PT0gMykpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object((null,2,3),1,2)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCgpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCgpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3Qodm9pZCAwKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgovL3ZhciBmb28gPSB2b2lkIDA7CnZhciBvYmogPSBuZXcgT2JqZWN0KHZvaWQgMCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9CgoK","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QobnVsbCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QobnVsbCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QobnVsbCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdChudWxsKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KG51bGwpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGhhcyBubyBbW1ZhbHVlXV0gcHJvcGVydHkuJyk7Cn0KCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QodW5kZWZpbmVkKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCh1bmRlZmluZWQpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoeCksIHdoZXJlIHggaXMgInVuZGVmaW5lZCIsIGFuZCBjaGVja2luZyBpdCBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoeCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgp2YXIgeDsKCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(x), where x is \"undefined\", and checking it properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgT2JqZWN0CiAqLwoKdmFyIG9iaiA9IHtwcm9wOjF9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsncHJvcCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is Object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiB2YXJpYWJsZQogKi8KCnZhciBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChmdW5jKTsKCi8vQ0hFQ0sjMQppZiAobl9vYmogIT09IGZ1bmMpIHsKICAkRVJST1IoJyMxOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobl9vYmooKSAhPT0gMSkgewogICRFUlJPUignV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9Ci8vCgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function variable","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYW4gYXJyYXkKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCnZhciBuX29iaiA9IG5ldyBPYmplY3QoYXJyKTsKCmFyci5wdXNoKDQpOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gYXJyKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialszXSAhPT0gNCkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is an array","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgInRoaXMiCiAqLwoKdmFyIHg9MTsKCnZhciBvYmogPSB0aGlzOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsneCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is \"this\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBEYXRlIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgRGF0ZSgxOTc4LDMpOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmICgobl9vYmouZ2V0WWVhcigpICE9PSA3OCl8fChuX29iai5nZXRNb250aCgpICE9PSAzKSkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a Date object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBkZWNsYXJlZCBmdW5jdGlvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzEKaWYgKG5fb2JqICE9PSBmdW5jKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJ1doZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a declared function","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCi8vQ0hFQ0sjMAppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMDogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gMTt9KTsKCi8vQ0hFQ0sjMQppZiAobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function declaration","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhIG5vbmVtcHR5IHN0cmluZwogKi8KCnZhciBzdHIgPSAnT2JpLVdhbiBLZW5vYmknOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRkFJTCgnIzE6ICJPYmktV2FuIEtlbm9iaSIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KHN0cik7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gc3RyKSB7CiAgJEVSUk9SKCcjNDogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gc3RyKSB7CiAgJEVSUk9SKCcjNTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is a nonempty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICovCgp2YXIgc3RyID0gJyc7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBzdHIgICE9PSAnc3RyaW5nJykgewogICRGQUlMKCcjMTogIiIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3Qoc3RyKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBzdHIpIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBzdHIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is an empty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBzdW0gb2YgZW1wdHkgc3RyaW5nIGFuZCBudW1iZXIKICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCIiKzEpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9ICIxIikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09ICIxIikgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is sum of empty string and number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJ0cnVlIgogKi8KCnZhciBib29sID0gdHJ1ZTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGJvb2wgICE9PSAnYm9vbGVhbicpIHsKICAkRkFJTCgnIzE6IHRydWUgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"true\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJmYWxzZSIKICovCgp2YXIgYm9vbCA9IGZhbHNlOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYm9vbCAgIT09ICdib29sZWFuJykgewogICRGQUlMKCcjMTogZmFsc2UgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"false\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoKDE9PT0xKSYmIShmYWxzZSkpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gdHJ1ZSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is boolean expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbnkgbnVtYmVyCiAqLwoKdmFyIG51bSA9IDEuMDsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiAxLjAgaXMgTk9UIGEgbnVtYmVyJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3QobnVtKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBudW0pIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBudW0pIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is any number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBOYU4KICovCgp2YXIgbnVtID0gTmFOOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVtICAhPT0gJ251bWJlcicpIHsKICAkRkFJTCgnIzE6IE5hTiBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is NaN","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBJbmZpbml0eQogKi8KCnZhciBudW0gPSBJbmZpbml0eTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiBJbmZpbml0eSBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9IG51bSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IG51bSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is Infinity","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBudW1lcmljIGV4cHJlc3Npb24KICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCAyKihbXS5sZW5ndGggKyB7cToxfVsicSJdKSk7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gMikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IDIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is numeric expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoMSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KDEsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDEpfHwob2JqID09PSAxKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QobnVsbCwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KG51bGwsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoK","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoKG51bGwsMiwzKSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KChudWxsLDIsMyksMSwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDMpfHwob2JqID09PSAzKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object((null,2,3),2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0IGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy9TMTUuMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBPYmplY3QgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9Cgo=","commentary":"The Object constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvcgogKiBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zL1MxNS4yLjNfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE9iamVjdCkKICovCgovLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoT2JqZWN0KSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Object constructor\nis the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Object)","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvUzE1LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZighT2JqZWN0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJsZW5ndGgiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE9iamVjdC5sZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDEnKTsKfQoK","commentary":"Object constructor has length property whose value is 1","description":"Checking Object.length","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEvMTUuMi4zLjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgJ3Byb3RvdHlwZScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/15.2.3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZTsKT2JqZWN0LnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUoKTsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoK","commentary":"The Object.prototype property has the attribute ReadOnly","description":"Checking if varying \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3V0PTA7Cgpmb3IgKHAgaW4gT2JqZWN0KXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Object.prototype property has the attribute DontEnum","description":"Checking if enumerating \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js"},{"code":"LyoqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEvUzE1LjIuMy4xX0EzLmpzCiAqLwoKICAvLyBDb3B5cmlnaHQgMjAwOSB0aGUgU3B1dG5payBhdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLyoqCiogQG5hbWU6IFMxNS4yLjMuMV9BMzsKKiBAc2VjdGlvbjogMTUuMi4zLjEsIDE1LjIuNDsKKiBAYXNzZXJ0aW9uOiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlOwoqIEBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgaWYgZGVsZXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzOwoqIEBub1N0cmljdAoqLwoKZGVsZXRlIE9iamVjdC5wcm90b3R5cGU7CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoK","commentary":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnM7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QucHJldmVudEV4dGVuc2lvbnMubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh1bmRlZmluZWQpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVsbCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnModHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a boolean primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucygiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a string primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSByZXBlYXRlZCBjYWxscyB0byBwcmV2ZW50RXh0ZW5zaW9ucyBoYXZlIG5vIHNpZGUgZWZmZWN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHRlc3RSZXN1bHQxID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgdGVzdFJlc3VsdDIgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICF0ZXN0UmVzdWx0MSAmJiAhdGVzdFJlc3VsdDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - repeated calls to preventExtensions have no side effects","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBlZmZlY3Qgb2YgcHJldmVudEV4dGVudGlvbnMgbXVzdCBiZSB0ZXN0YWJsZSBieSBjYWxsaW5nIGlzRXh0ZW5zaWJsZQ0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHJldHVybnMgaXRzIGFyZ3VtZW50cyBhZnRlciBzZXR0aW5nIGl0cyBleHRlbnNpYmxlIHByb3BlcnR5IHRvIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gID0ge307DQogIHZhciBvMiA9IHVuZGVmaW5lZDsNCg0KICBvMiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgaWYgKG8yID09PSBvICYmIE9iamVjdC5pc0V4dGVuc2libGUobzIpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The effect of preventExtentions must be testable by calling isExtensible","description":"Object.preventExtensions returns its arguments after setting its extensible property to false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZykgcmV0dXJucyBmYWxzZSBpZiBhcmcgaXMgdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - Object.isExtensible(arg) returns false if arg is the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZXJyT2JqKTsNCg0KICAgICAgICBlcnJPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFlcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqOw0KICAgICAgICAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgYXJnT2JqID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcmdPYmopOw0KDQogICAgICAgIGFyZ09ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byB0aGUgcmV0dXJuZWQgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZnVuT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGZ1bk9iaik7DQoNCiAgICAgICAgZnVuT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZnVuT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgYXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGJvb2xPYmopOw0KDQogICAgICAgIGJvb2xPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFib29sT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhudW1PYmopOw0KDQogICAgICAgIG51bU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZGF0ZU9iaik7DQoNCiAgICAgICAgZGF0ZU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWRhdGVPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhyZWdPYmopOw0KDQogICAgICAgIHJlZ09iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGVyck9iaik7DQoNCiAgICAgICAgZXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iajsNCiAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGFyZ09iaiA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJnT2JqKTsNCg0KICAgICAgICBhcmdPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFhcmdPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgZGVsZXRlZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - properties can still be deleted after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgcmVhc3NpZ25lZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5wcm9wID0gLTE7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5wcm9wID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - properties can still be reassigned after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gW1tFeHRlbnNpYmxlXV06IGZhbHNlIG9uIGEgcHJvdG90eXBlIGRvZXNuJ3QgcHJldmVudCBhZGRpbmcgcHJvcGVydGllcyB0byBhbiBpbnN0YW5jZSB0aGF0IGluaGVyaXRzIGZyb20gdGhhdCBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShwcm90byk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgY2hpbGQucHJvcCA9IDEwOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - [[Extensible]]: false on a prototype doesn't prevent adding properties to an instance that inherits from that prototype","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhmdW5PYmopOw0KDQogICAgICAgIGZ1bk9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcnJPYmopOw0KDQogICAgICAgIGFyck9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqWzEwXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXN0ck9iai5oYXNPd25Qcm9wZXJ0eSgiMTAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3RyT2JqKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHJPYmosICIwIiwgeyB2YWx1ZTogImMiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBwcmVDaGVjayAmJg0KICAgICAgICAgICAgICAgICFzdHJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2Ygc3RyT2JqWzBdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhib29sT2JqKTsNCg0KICAgICAgICBib29sT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYm9vbE9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVtT2JqKTsNCg0KICAgICAgICBudW1PYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFudW1PYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShkYXRlT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGRhdGVPYmopOw0KDQogICAgICAgIGRhdGVPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFkYXRlT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMocmVnT2JqKTsNCg0KICAgICAgICByZWdPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFyZWdPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNTZWFsZWQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNTZWFsZWQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzU2VhbGVkKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQodGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNGcm96ZW47DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNGcm96ZW4ubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHVuZGVmaW5lZCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0Zyb3plbihudWxsKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4oImFiYyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBkZW5zZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBPYmplY3QuZnJlZXplKFswLCAxLCAyXSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen applies to dense array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3BhcnNlQXJyID0gWzAsIDFdOw0KICAgICAgICBzcGFyc2VBcnJbMTAwMDBdID0gMTAwMDA7DQoNCiAgICAgICAgc3BhcnNlQXJyID0gT2JqZWN0LmZyZWV6ZShzcGFyc2VBcnIpOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKHNwYXJzZUFycik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen applies to sparse array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBub24tYXJyYXkgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IG5hbWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gT2JqZWN0LmZyZWV6ZSh7IDA6IDAsIDE6IDEsIDEwMDA6IDEwMDAgfSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen applies to non-array object which contains index named properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzRnJvemVuKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBpcyBub3QgY29uc2lkZXJlZCBpbnRvIHRoZSBmb3IgZWFjaCBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - inherited data property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgaXMgbm90IGNvbnNpZGVyZWQgaW50byB0aGUgZm9yIGVhY2ggbG9vcA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIA0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - inherited accessor property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyZyk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGFyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgb2JqLmxlbiA9IDEwMDsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gWzJdOw0KICAgICAgICBvYmoubGVuID0gMjAwOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDksDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhjaGlsZCk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgaWYgJ08nIGNvbnRhaW5zIG93biB3cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false if 'O' contains own writable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4odGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSwgYW5kICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns true when all own properties of 'O' are not writable and not configurable, and 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBpZiBleHRlbnNpYmxlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbih7fSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false if extensible is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSA7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEEgbmV3bHkgY3JlYXRlZCBvYmplY3QgdXNpbmcgdGhlIE9iamVjdCBjb250cnVjdG9yIGhhcyBpdHMgW1tFeHRlbnNpYmxlXV0NCiAqIHByb3BlcnR5IHNldCB0byB0cnVlIGJ5IGRlZmF1bHQgKDE1LjIuMi4xLCBzdGVwIDgpLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIGlzIHRydWUgZm9yIG9iamVjdHMgY3JlYXRlZCB1c2luZyB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQoNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUobykgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"A newly created object using the Object contructor has its [[Extensible]]\nproperty set to true by default (15.2.2.1, step 8).","description":"Object.isExtensible is true for objects created using the Object constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodW5kZWZpbmVkKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKG51bGwpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSgiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5pc0V4dGVuc2libGUoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQpnbG9iYWwgPSB0aGlzOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUodGhpcyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFJlZ0V4cCk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRXJyb3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShKU09OKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRnVuY3Rpb24uY29uc3RydWN0b3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChBcnJheS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5LnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTdHJpbmcucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShTdHJpbmcucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbi5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShOdW1iZXIucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRGF0ZS5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUobyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShSZWdFeHAucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEZ1bmN0aW9uLmNvbnN0cnVjdG9yDQogKiBGdW5jdGlvbi5wcm90b3R5cGUNCiAqIEFycmF5LnByb3RvdHlwZQ0KICogU3RyaW5nLnByb3RvdHlwZQ0KICogQm9vbGVhbi5wcm90b3R5cGUNCiAqIE51bWJlci5wcm90b3R5cGUNCiAqIERhdGUucHJvdG90eXBlDQogKiBSZWdFeHAucHJvdG90eXBlDQogKiBFcnJvci5wcm90b3R5cGUNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShFcnJvci5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Function.constructor\nFunction.prototype\nArray.prototype\nString.prototype\nBoolean.prototype\nNumber.prototype\nDate.prototype\nRegExp.prototype\nError.prototype","description":"Object.isExtensible returns true for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgJ08nIGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true if 'O' is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns false if 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQogICAgICANCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3RvKTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogDQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmb28pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShBcnJheSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoU3RyaW5nKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEJvb2xlYW4pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoTnVtYmVyKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE1hdGgpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKERhdGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5rZXlzOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5rZXlzLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoMCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKHRydWUpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoJ2FiYycpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (string)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKG51bGwpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (null)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAodW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXModW5kZWZpbmVkKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoY2hlY2sgW1tDbGFzc11dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KDQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array (check [[Class]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoQXJyYXkgb3ZlcnJpZGRlbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBBcnJheSgpIHsgfQ0KDQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KDQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array (Array overridden)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUoYSkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBzZWFsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc1NlYWxlZChhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is not sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0Zyb3plbihhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyAwIHdoZW4gJ08nIGRvZXNuJ3QgY29udGFpbiBvd24gZW51bWVyYWJsZSBkYXRhIG9yIGFjY2Vzc29yIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'n' is 0 when 'O' doesn't contain own enumerable data or accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyB0aGUgY29ycmVjdCB2YWx1ZSB3aGVuIGVudW1lcmFibGUgcHJvcGVydGllcyBleGlzdCBpbiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcDE6IDEwMDEsDQogICAgICAgICAgICBwcm9wMjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIChhcnIubGVuZ3RoID09PSAyKSAmJiAoYXJyWzBdID09PSAicHJvcDEiKSAmJiAoYXJyWzFdID09PSAicHJvcDIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'n' is the correct value when enumerable properties exist in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKGEubGVuZ3RoID09PSAyICYmDQogICAgICBhWzBdID09PSAneCcgJiYNCiAgICAgIGFbMV0gPT09ICd5Jykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIGZvby54ID0gMTsNCiAgDQogIHZhciBhID0gT2JqZWN0LmtleXMoZm9vKTsNCiAgaWYgKGEubGVuZ3RoID09PSAxICYmDQogICAgICBhWzBdID09PSAneCcpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gWzEsIDJdOw0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoYS5sZW5ndGggPT09IDIgJiYNCiAgICAgIGFbMF0gPT09ICcwJyAmJg0KICAgICAgYVsxXSA9PT0gJzEnKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG9mIGFuIGFyZ3VtZW50cyBvYmplY3QgcmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0aGUgZ2l2ZW4gYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gdGVzdEFyZ3MyKHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDIgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGZ1bmN0aW9uIHRlc3RBcmdzMyh4LCB5LCB6KSB7DQogICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJndW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4NCiAgICB2YXIgYSA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cyk7DQogICAgaWYgKGEubGVuZ3RoID09PSAzICYmIGFbMF0gPT09ICIwIiAmJiBhWzFdID09PSAiMSIgJiYgYVsyXSA9PT0gIjIiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgZnVuY3Rpb24gdGVzdEFyZ3M0KHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDQgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIiAmJiBhWzJdID09PSAiMiIgJiYgYVszXSA9PT0gIjMiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIHRlc3RBcmdzMigxLCAyKSAmJiB0ZXN0QXJnczMoMSwgMiwgMykgJiYgdGVzdEFyZ3M0KDEsIDIsIDMsIDQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys of an arguments object returns the indices of the given arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgcmV0dXJuIGEgZnJlc2ggYXJyYXkgb24gZWFjaCBpbnZvY2F0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGxpdGVyYWwgPSB7YTogMX07DQogIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIGlmIChrZXlzQmVmb3JlWzBdICE9ICdhJykgcmV0dXJuIGZhbHNlOw0KICBrZXlzQmVmb3JlWzBdID0gJ3gnOw0KICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIHJldHVybiAoa2V5c0JlZm9yZVswXSA9PSAneCcpICYmIChrZXlzQWZ0ZXJbMF0gPT0gJ2EnKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must return a fresh array on each invocation","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IChpbnN0YW5jZW9mIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - returns the standard built-in Array (instanceof Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGxlbmd0aCBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgZXF1YWxzIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgcHJvcGVydGllcyBvZiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - length of the returned array equals the number of own enumerable properties of 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBzdGFydCBmcm9tIGluZGV4IDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoMCkgJiYgYXJyWzBdID09PSAicHJvcCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable data property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBpbmhlcnRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgaXMgb3Zlci1yaWRkZW4gYnkgbm9uLWVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgZGVuc2UgYXJyYXkgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFyci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChhcnJbcF0gIT09IGluaXRWYWx1ZS50b1N0cmluZygpKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaW5pdFZhbHVlKys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed data property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIGRlbnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsyLCAzLCA0LCA1XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - own enumerable indexed accessor property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2Ygc3BhcnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsxLCAsIDMsICwgNV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgNSwgew0KICAgICAgICAgICAgdmFsdWU6IDcsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJFbGVtZW50V2l0aExhcmdlSW5kZXgiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgaW5kZXg7DQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCAzOyBpbmRleCsrKSB7DQogICAgICAgICAgICBpZiAoYXJyW2luZGV4XSAhPT0gaW5pdFZhbHVlLnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpbml0VmFsdWUgKz0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhcnIubGVuZ3RoICE9PSA0IHx8IGFyclszXSAhPT0gIjEwMDAwIikgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed data property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIHNwYXJzZSBhcnJheSAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbMSwgLCAzLCAsIDVdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMDAwMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiRWxlbWVudFdpdGhMYXJnZUluZGV4IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAiMTAwMDAiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed accessor property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ4eXoiKTsNCiAgICAgICAgb2JqWy0yMF0gPSAtMjA7DQogICAgICAgIG9ialsyMF0gPSAyMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGFycltpXSkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed data property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygieHl6Iik7DQogICAgICAgIG9ialstMjBdID0gLTIwOw0KICAgICAgICBvYmpbMjBdID0gMjA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICBpZiAoIW9iai5oYXNPd25Qcm9wZXJ0eShhcnJbaV0pKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed accessor property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnJbMF0gPT09ICJwcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable accessor property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAxLCBwcm9wMjogMTAwMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwNCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gInByb3A0Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - non-enumerable own data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcDIiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - non-enumerable own accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImluaGVyaXRlZFByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDQ7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJpbmhlcml0ZWRQcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherited enumerable data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJpbmhlcml0ZWRQcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gImluaGVyaXRlZFByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - inherited enumerable accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDA0LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBpcyBvdmVyLXJpZGRlbiBieSBub24tZW51bWVyYWJsZSBvd24gZGF0YSBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3ZhbHVlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBpbiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYy52YWx1ZSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'value' attribute of element in returned array is correct.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3dyaXRhYmxlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBvZiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMCB9Ow0KDQogICAgICAgIHZhciBhcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFycmF5WzBdID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJheVswXSA9PT0gImlzV3JpdGFibGUiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - 'writable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ2VudW1lcmFibGUnIGF0dHJpYnV0ZSBvZiBlbGVtZW50IG9mIHJldHVybmVkIGFycmF5IGlzIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFycmF5LCAiMCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGFycmF5KSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGFycmF5W2luZGV4XSkgJiYgYXJyYXlbaW5kZXhdID09PSAicHJvcDEiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'enumerable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlIG9mIGVsZW1lbnQgb2YgcmV0dXJuZWQgYXJyYXkgaXMgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFycmF5WzBdOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgYXJyYXlbMF0gPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - Verify that 'configurable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2luZGV4JyBvZiByZXR1cm5lZCBhcnJheSBpcyBhc2NlbmQgYnkgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAsIHByb3AyOiAyMDAsIHByb3AzOiAzMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpZHggPSAwOw0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBhcnJheSkgew0KICAgICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGluZGV4KSkgew0KICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gaWR4LnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZHgrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - Verify that 'index' of returned array is ascend by 1","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZGVuc2UgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlbnNlQXJyYXkgPSBbMSwgMiwgM107DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGRlbnNlQXJyYXkpIHsNCiAgICAgICAgICAgIGlmIChkZW5zZUFycmF5Lmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKGRlbnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (dense array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoc3BhcnNlIGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzcGFyc2VBcnJheSA9IFsxLCAyLCAsIDQsICwgNl07DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHNwYXJzZUFycmF5KSB7DQogICAgICAgICAgICBpZiAoc3BhcnNlQXJyYXkuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoc3BhcnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (sparse array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoU3RyaW5nIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHN0cikgew0KICAgICAgICAgICAgaWYgKHN0ci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoQXJndW1lbnRzIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBhcmdzID0gZnVuYygxLCAiYiIsIGZhbHNlKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJncykgew0KICAgICAgICAgICAgaWYgKGFyZ3MuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoYXJncyk7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoYW55IG90aGVyIGJ1aWx0LWluIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLnByb3AxID0gMTAwOw0KICAgICAgICBvYmoucHJvcDIgPSAicHJvcDIiOw0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiByZXR1cm5lZEFycmF5KSB7DQogICAgICAgICAgICBpZiAodGVtcEFycmF5W2luZGV4XSAhPT0gcmV0dXJuZWRBcnJheVtpbmRleF0pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (any other built-in object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZ2xvYmFsIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (global Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICh0eXBlb2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgdGFrZSAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKCk7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf must take 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKDApOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEJvb2xlYW4pID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFJlZ0V4cCkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEV2YWxFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEV2YWxFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJhbmdlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihSYW5nZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZmVyZW5jZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVmZXJlbmNlRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN5bnRheEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3ludGF4RXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFR5cGVFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFR5cGVFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFVSSUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVVJJRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihKU09OKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE9iamVjdCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIExldCAneCcgYmUgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGdldFByb3RvdHlwZU9mIHdoZW4gY2FsbGVkIG9uIGQuDQogKiBUaGVuLCB4LmlzUHJvdG90eXBlT2YoZCkgbXVzdCBiZSB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoY3VzdG9tIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBiYXNlKCkge30NCg0KICBmdW5jdGlvbiBkZXJpdmVkKCkge30NCiAgZGVyaXZlZC5wcm90b3R5cGUgPSBuZXcgYmFzZSgpOw0KDQogIHZhciBkID0gbmV3IGRlcml2ZWQoKTsNCiAgdmFyIHggPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCk7DQogIGlmICh4LmlzUHJvdG90eXBlT2YoZCkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Let 'x' be the return value from getPrototypeOf when called on d.\nThen, x.isPrototypeOf(d) must be true.","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (custom object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEZ1bmN0aW9uIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEFycmF5IG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXJyKSA9PT0gQXJyYXkucHJvdG90eXBlOyANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN0cmluZyBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gU3RyaW5nLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEJvb2xlYW4gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEJvb2xlYW4ucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE51bWJlciBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTMpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gTnVtYmVyLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKERhdGUgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gRGF0ZS5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IFJlZ0V4cC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBFcnJvci5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBBcmd1bWVudHMgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IGZ1bigxLCB0cnVlLCAzKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IE9iamVjdC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBnbG9iYWwgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICByZXR1cm4gcHJvdG8uaXNQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the global object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE9iamVjdC5wcm90b3R5cGUpID09PSBudWxsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihGdW5jdGlvbikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihBcnJheSkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3RyaW5nKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTnVtYmVyKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE1hdGgpID09PSBPYmplY3QucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRGF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKERhdGUpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1bmRlZmluZWQsICJmb28iKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobnVsbCwgImZvbyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0cnVlLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKC0yLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoMCwgImZvbyIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIHByb3BlcnR5IG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sIHVuZGVmaW5lZCk7DQogICAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for undefined property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIzMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAzMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItMjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTIwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIkluZmluaXR5IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIEluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgK0luZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJJbmZpbml0eSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArSW5maW5pdHkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItSW5maW5pdHkiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLUluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjAgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjEgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjIgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbnVsbCBwcm9wZXJ0eSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCBudWxsKTsNCiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for null property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgKHZhbHVlIGlzIDFlKzIxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIyIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlKzIyKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAuMDAwMDAxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZS03IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAwMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtOCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAwLjAwMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtNyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS03KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMDEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMWUtNik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS01KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gaW50ZWdlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMjMpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBkZWNpbWFsIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy40NTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy40NTYiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTIzLjQ1Nik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS52YWx1ZSA9PT0gMSAmJiBkZXNjMi52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyAhPT0gInVuZGVmaW5lZCIgJiYgZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 100000000000000000000.123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjEyMzQ1NjcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy4xMjM0NTY3IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEyMy4xMjM0NTY3KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBhbiBlbXB0eSBzdHJpbmcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJ0FCDQogKiBcY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJBQlxuXFxjZCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiQUJcblxcY2QiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIm51bGwiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIm51bGwiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEyM++/ve+/ve+/vcKm77+9Y2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMjPvv73vv73vv73Cpu+/vWNkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIxMjPvv73vv73vv73Cpu+/vWNkIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '123\ufffd\ufffd\ufffd\u00a6\ufffdcd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gYXJyYXkgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIFsxXSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBTdHJpbmcgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiSGVsbG8iOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBudWxsIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICdudWxsJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJudWxsIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG51bGwpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBCb29sZWFuIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInRydWUiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBOdW1iZXIgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5ldyBOdW1iZXIoMTIzKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiW29iamVjdCBPYmplY3RdIjogMSwgImFiYyIgOiAyIH07DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9WYWx1ZSBtZXRob2QgdGhhdCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object that has an own toString method that returns an object and toValue method that returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImJicSI6IDEsICJhYmMiOiAyIH07DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJiYnEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBvd25Qcm9wKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMSAmJiAhdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBUeXBlRXJyb3IgZXhjZXB0aW9uIHdhcyB0aHJvd24gIHdoZW4gJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBbMV07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIFsxXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError exception was thrown when 'P' is an object that both toString and valueOf wouldn't return primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSB1c2VzIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2Qgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBwcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJ0ZXN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC52YWx1ZU9mID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiMTAiOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqID0geyAiMTAiOiAibGVuZ3RoMSIsICJ0ZXN0IjogImxlbmd0aDIiIH07DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gImxlbmd0aDIiICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - uses inherited toString method when 'P' is an object with an own valueOf and inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiZmFsc2UiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJ0cnVlIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHRydWUpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIk5hTiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBOYU4pOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSAnUCcgaXMgbm90IGFuIGV4aXN0aW5nIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Tm9uRXhpc3QiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is not an existing property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJvd25Qcm9wZXJ0eSIsIHRydWUpKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duUHJvcGVydHkiICYmIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIxMjMiKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyLCAiMiIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAiMyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a String object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJvd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjEiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93blByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a Function object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQucHJvcGVydHkgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wdG90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBkYXRhIGRlc2MgZm9yIHZhbGlkIGRhdGEgdmFsdWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgb1siZm9vIl0gPSAxMDE7DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing a data desc for valid data valued properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5kZWNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZGVjb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZGVjb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmF0YW4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXRhbjIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbjIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNlaWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJjZWlsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmNlaWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.ceil)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNvcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5jb3MgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.cos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmV4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImV4cCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5leHAgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.exp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmZsb29yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiZmxvb3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguZmxvb3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.floor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmxvZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImxvZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5sb2cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.log)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1heCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1heCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5tYXggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.max)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1pbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1pbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5taW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.min)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnBvdykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInBvdyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5wb3cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.pow)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJhbmRvbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInJhbmRvbSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yYW5kb20gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.random)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lbmNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZW5jb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZW5jb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.encodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJvdW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicm91bmQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgucm91bmQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.round)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInNpbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5zaW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNxcnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJzcXJ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnNxcnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sqrt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInRhbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC50YW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.tan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLlVUQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgIlVUQyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5VVEMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.UTC)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRUaW1lem9uZU9mZnNldCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTimezoneOffset)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lc2NhcGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJlc2NhcGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5lc2NhcGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.escape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0RGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXREYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC51bmVzY2FwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJ1bmVzY2FwZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLnVuZXNjYXBlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.unescape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDRGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0UHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyDescriptor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1VUQ1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toUTCString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0dNVFN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9HTVRTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toGMTString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9UaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9EYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVEYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVUaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyNames)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnZhbHVlT2YgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0lTT1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toISOString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0pTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9KU09OIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0pTT04gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toJSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJjb21waWxlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.compile)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmV4ZWMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJleGVjIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.exec)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRlc3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0ZXN0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLnRlc3QgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.test)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImNyZWF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmNyZWF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFdmFsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmFsRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEV2YWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (EvalError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmFuZ2VFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gUmFuZ2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RangeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (ReferenceError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (SyntaxError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChUeXBlRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFR5cGVFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (TypeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFVSSUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (URIError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnN0cmluZ2lmeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNPTiwgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5zdHJpbmdpZnkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.stringify)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEpTT04ucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICJOYU4iKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLkluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgICJJbmZpbml0eSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHJldHVybiBmYWxzZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICAidW5kZWZpbmVkIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGFyZ3VtZW50c18xKSBvbiBidWlsdC1pbiBvYmplY3QgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImFyZ3VtZW50c18xIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiAgZWxzZQ0KICAgIHJldHVybiBmYWxzZTsgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (arguments_1) on built-in object (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGNhbGxlcikgb24gYnVpbHQtaW4gb2JqZWN0IChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiY2FsbGVyIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICBlbHNlDQogICAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (caller) on built-in object (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImxlbmd0aCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24gKGluc3RhbmNlKS5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbigncmV0dXJuIDQyOycpOw0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uIChpbnN0YW5jZSkubmFtZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEZ1bmN0aW9uKCdyZXR1cm4gNDI7Jyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAiZnVuY3Rpb25OYW1lSG9wZWZ1bGx5RG9lc05vdEV4aXN0Iik7DQogIHJldHVybiBkZXNjID09PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins (Function (instance).name)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0aWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperties)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nIChpbnN0YW5jZSkubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1BWF9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUFYX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MAX_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1JTl9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUlOX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MIN_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTmFOIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJORUdBVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NEGATIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5zZWFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJzZWFsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Quc2VhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.seal)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJQT1NJVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.POSITIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5FKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiRSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE4xMCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMTjIiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cyRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxPRzJFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG2E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cxMEUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMT0cxMEUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG10E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5QSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlBJIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.PI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMV8yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDFfMiIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT1_2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlNRUlQyIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5mcmVlemUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImZyZWV6ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmZyZWV6ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.freeze)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5zb3VyY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJzb3VyY2UiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.source)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5nbG9iYWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJnbG9iYWwiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiaWdub3JlQ2FzZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.ignoreCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5tdWx0aWxpbmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJtdWx0aWxpbmUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.multiline)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXZhbEVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZhbEVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (EvalError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmFuZ2VFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJhbmdlRXJyb3IsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RangeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWZlcmVuY2VFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (ReferenceError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJldmVudEV4dGVuc2lvbnMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.preventExtensions)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3ludGF4RXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTeW50YXhFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (SyntaxError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVHlwZUVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVHlwZUVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (TypeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVVJJRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihVUklFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (URIError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnZhbHVlID0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAidmFsdWUiIGluIGRlc2M7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLnZhbHVlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gInZhbHVlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGVuc3VyZSB0aGF0ICd3cml0YWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3BzIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcyA9PT0gIndyaXRhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc1NlYWxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNTZWFsZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc1NlYWxlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isSealed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAoIndyaXRhYmxlIiBpbiBkZXNjKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2Mud3JpdGFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAid3JpdGFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAndmFsdWUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2MuZW51bWVyYWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnZW51bWVyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcHMgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3BzID09PSAiZW51bWVyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICJlbnVtZXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5lbnVtZXJhYmxlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImVudW1lcmFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImNvbmZpZ3VyYWJsZSIgaW4gZGVzYzsNCiAgICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAiY29uZmlndXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0Zyb3plbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNGcm96ZW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc0Zyb3plbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isFrozen)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLmdldCA9ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2MuZ2V0Ow0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BEZWZpbmVkICYmICFwcm9wRGVsZXRlZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnNldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnNldCA9ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93blNldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZXQiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duU2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5zZXQ7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2Ygb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMTAwIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MgaW5zdGFuY2VvZiBPYmplY3Q7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - returned value is an instance of object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAndmFsdWUnIGlmIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSAndmFsdWUnIGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCB3aGVuIGRlZmluZWQgYnkgT2JqZWN0LmRlZmluZVByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInZhbHVlIiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'value' if the value of property 'value' is not explicitly specified when defined by Object.defineProperty","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnc2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ3NldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInNldCIgaW4gZGVzYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'set' if the value of property 'set' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0V4dGVuc2libGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImlzRXh0ZW5zaWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzRXh0ZW5zaWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isExtensible)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnZ2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ2dldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiAiZ2V0IiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'get' if the value of property 'get' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5rZXlzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJrZXlzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Qua2V5cyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.keys)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYW4gYWNjZXNzb3IgZGVzYyBmb3IgdmFsaWQgYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogICAgdmFyIGQgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQpOw0KDQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICBpZiAoZGVzYy5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICBkZXNjLnNldCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing an accessor desc for valid accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImlzUHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.isPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJoYXNPd25Qcm9wZXJ0eSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.hasOwnProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.propertyIsEnumerable)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiYXBwbHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.apply)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJjYWxsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.call)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJiaW5kIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmV2YWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZXZhbCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmV2YWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.eval)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25jYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImNvbmNhdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5qb2luKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJqb2luIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuam9pbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.join)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZXZlcnNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reverse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zbGljZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2xpY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb3J0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb3J0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29ydCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.sort)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wdXNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJwdXNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucHVzaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.push)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wb3ApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInBvcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnBvcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.pop)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zaGlmdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2hpZnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.shift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ1bnNoaWZ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUudW5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.unshift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlSW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgInBhcnNlSW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VJbnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseInt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNwbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNwbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.splice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJpbmRleE9mIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5ldmVyeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5ldmVyeSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.every)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb21lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb21lIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29tZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.some)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJmb3JFYWNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.forEach)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5tYXApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgIm1hcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLm1hcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.map)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZpbHRlciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmZpbHRlciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.filter)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduce)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlRmxvYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJwYXJzZUZsb2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VGbG9hdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseFloat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduceRight)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5mcm9tQ2hhckNvZGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZywgImZyb21DaGFyQ29kZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.fromCharCode)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY2hhckF0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNoYXJDb2RlQXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charCodeAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY29uY2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJtYXRjaCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.match)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInJlcGxhY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.replace)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzTmFOIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNOYU4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isNaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic2VhcmNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.search)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzcGxpdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.split)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substring)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0ciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substr)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1VwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZUxvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzRmluaXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzRmluaXRlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNGaW5pdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isFinite)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZVVwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImxvY2FsZUNvbXBhcmUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.localeCompare)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudHJpbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudHJpbSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.trim)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgImRlY29kZVVSSSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmRlY29kZVVSSSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRml4ZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toFixed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRXhwb25lbnRpYWwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toExponential)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1ByZWNpc2lvbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toPrecision)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYWJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmFicyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.abs)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFjb3MiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYWNvcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.acos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFzaW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXNpbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.asin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImF0YW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcy5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBhcnJheSBhY2NvcmRpbmcgdG8gQXJyYXkuaXNBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is an array according to Array.isArray","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBpbnN0YW5jZSBvZiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is an instance of Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBsZW5ndGggb2YgcmV0dXJuZWQgYXJyYXkgaXMgaW5pdGlhbGl6ZWQgdG8gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - length of returned array is initialized to 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2xkQXJyYXkgPSBBcnJheTsNCiAgICAgICAgQXJyYXkgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImludm9rZSBjdXN0b21lciBkZWZpbmVkIEFycmF5ISIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpID09PSAiW29iamVjdCBBcnJheV0iOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkgPSBvbGRBcnJheTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is the standard built-in constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBlbGVtZW50cyBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgc3RhcnQgZnJvbSBpbmRleCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMDEgfTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoR2xvYmFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmbkdsb2JhbE9iamVjdCgpKTsNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiTmFOIiwgIkluZmluaXR5IiwgInVuZGVmaW5lZCIsICJldmFsIiwgInBhcnNlSW50IiwgInBhcnNlRmxvYXQiLCAiaXNOYU4iLCAiaXNGaW5pdGUiLCAiZGVjb2RlVVJJIiwgImRlY29kZVVSSUNvbXBvbmVudCIsICJlbmNvZGVVUkkiLCAiZW5jb2RlVVJJQ29tcG9uZW50IiwgIk9iamVjdCIsICJGdW5jdGlvbiIsICJBcnJheSIsICJTdHJpbmciLCAiQm9vbGVhbiIsICJOdW1iZXIiLCAiRGF0ZSIsICJEYXRlIiwgIlJlZ0V4cCIsICJFcnJvciIsICJFdmFsRXJyb3IiLCAiUmFuZ2VFcnJvciIsICJSZWZlcmVuY2VFcnJvciIsICJTeW50YXhFcnJvciIsICJUeXBlRXJyb3IiLCAiVVJJRXJyb3IiLCAiTWF0aCIsICJKU09OIl07DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIHJlc3VsdDFbcmVzdWx0W3BdXSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmb3IgKHZhciBwMSBpbiBleHBSZXN1bHQpIHsNCiAgICAgICAgICAgIGlmICghcmVzdWx0MVtleHBSZXN1bHRbcDFdXSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QpOw0KICB2YXIgZXhwUmVzdWx0ID0gWyJnZXRQcm90b3R5cGVPZiIsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsICJjcmVhdGUiLCAiZGVmaW5lUHJvcGVydHkiLCAiZGVmaW5lUHJvcGVydGllcyIsICJzZWFsIiwgImZyZWV6ZSIsICJwcmV2ZW50RXh0ZW5zaW9ucyIsICJpc1NlYWxlZCIsICJpc0Zyb3plbiIsICJpc0V4dGVuc2libGUiLCAia2V5cyIsICJwcm90b3R5cGUiLCAibGVuZ3RoIl07DQogIHZhciBmb3VuZDsNCg0KICByZXR1cm4gYXJyYXlDb250YWlucyhyZXN1bHQsIGV4cFJlc3VsdCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydGllcyBhcmUgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAicGFyZW50IjogInBhcmVudCIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited data properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicGFyZW50Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwYXJlbnQiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiByZXN1bHRbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own data properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0WzBdID09PSAiYSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b1N0cmluZyI7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwcm90b1Byb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9TdHJpbmciOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHN0cik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJvd25Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duU3RyaW5nIiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIm93blByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own data property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAib3duUHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93blN0cmluZyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgU3RyaW5nIG9iamVjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQogICAgICAgIHN0cls1XSA9ICJkZSI7DQoNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiMCIsICIxIiwgIjIiLCAibGVuZ3RoIiwgIjUiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own index properties of String object are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b0FycmF5IjsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9BcnJheSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAicHJvdG9Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm90b1Byb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KICAgICAgICBhcnIub3duUHJvcGVydHkgPSAib3duQXJyYXkiOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own data property of Array object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIm93blByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BcnJheSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of Array object 'O' is pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgQXJyYXkgb2JqY2VjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB2YXIgZXhwUmVzdWx0ID0gWyIwIiwgIjEiLCAiMiIsICJsZW5ndGgiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own index properties of Array objcect are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gbm9uLWVudW1lcmFibGUgb3duIHByb3BlcnR5IG9mICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIm5vbkVudW1lcmFibGVQcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdFswXSA9PT0gIm5vbkVudW1lcmFibGVQcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - non-enumerable own property of 'O' is pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGRlc2NyaXB0b3Igb2YgcmVzdWx0YW50IGFycmF5IGlzIGFsbCB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsNCiAgb2JqLnggPSAxOw0KICBvYmoueSA9IDI7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzdWx0LCIwIik7DQogIGlmIChkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - descriptor of resultant array is all true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGFsbCBvd24gcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYiI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImMiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImQiLCB7DQogICAgICAgICAgICB2YWx1ZTogImQiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQogICAgICAgIHZhciBleHBSZXN1bHQgPSBbImEiLCAiYiIsICJjIiwgImQiXTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - all own properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIG93biBwcm9wZXJ0eSBuYW1lZCBlbXB0eSgnJykgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6ICJlbXB0eSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIiIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own property named empty('') is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYmVmb3JlT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYSIpOw0KICAgICAgICAgICAgcmVzdWx0WzBdID0gImIiOw0KICAgICAgICAgICAgdmFyIGFmdGVyT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYiIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlT3ZlcnJpZGUgJiYgYWZ0ZXJPdmVycmlkZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJhIjogImEiIH07DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJhIikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IChyZXN1bHQuaGFzT3duUHJvcGVydHkoIjAiKSk7DQogICAgICAgIGRlbGV0ZSByZXN1bHRbMF07DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAocmVzdWx0Lmhhc093blByb3BlcnR5KCIwIikpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmICFhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogT2JqZWN0LmdldE93blByb3BlcnRpZXMgYW5kIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgc2hvdWxkCiAqIGFncmVlIG9uIHdoYXQgdGhlIG93biBwcm9wZXJ0aWVzIGFyZS4KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC9TMTUuMi4zLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHRoYXQgYWxsIHRoZSBvd24gcHJvcGVydHkgbmFtZXMgcmVwb3J0ZWQgYnkKICogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgb24gYSBzdHJpY3QgZnVuY3Rpb24gYXJlIG5hbWVzIHRoYXQKICogaGFzT3duUHJvcGVydHkgYWdyZWVzIGFyZSBvd24gcHJvcGVydGllcy4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CmZ1bmN0aW9uIGZvbygpIHt9Cgp2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmb28pOwpmb3IgKHZhciBpID0gMCwgbGVuID0gbmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICBpZiAoIWZvby5oYXNPd25Qcm9wZXJ0eShuYW1lc1tpXSkpIHsKICAgICRFUlJPUignUGhhbnRvbSBvd24gcHJvcGVydHk6ICcgKyBuYW1lc1tpXSk7CiAgfQp9Cg==","commentary":"Object.getOwnProperties and Object.prototype.hasOwnProperty should\nagree on what the own properties are.","description":"Check that all the own property names reported by\nObject.getOwnPropertyNames on a strict function are names that\nhasOwnProperty agrees are own properties.","onlyStrict":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5jcmVhdGUpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuY3JlYXRlLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create TypeError is not thrown if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if 'O' is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKDIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create throws TypeError if 'O' is a number primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuY3JlYXRlKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBjcmVhdGVzIG5ldyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAodHlwZW9mIGQgPT09ICdvYmplY3QnKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create creates new Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHJldHVybmVkIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - returned object is an instance of Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpID09PSBiICYmDQogICAgICAgIGIuaXNQcm90b3R5cGVPZihkKSA9PT0gdHJ1ZSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QgYW5kIGFkZHMgbmV3IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYix7ICJ4Ijoge3ZhbHVlOiB0cnVlLHdyaXRhYmxlOiBmYWxzZX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieSI6IHt2YWx1ZTogInN0ciIsd3JpdGFibGU6IGZhbHNlfSB9KTsNCg0KICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkgPT09IGIgJiYNCiAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlICYmDQogICAgICAgIGQueCA9PT0gdHJ1ZSAmJg0KICAgICAgICBkLnkgPT09ICJzdHIiICYmDQogICAgICAgIGIueCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGIueSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object and adds new properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is the Math object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a Date object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a RegExp object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is the JSON object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykpLmZvckVhY2goZnVuY3Rpb24obmFtZSl7DQogICAgICAgICAgICBwcm9wc1tuYW1lXSA9IHt2YWx1ZToxMSwgY29uZmlndXJhYmxlOnRydWV9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxNV8yXzNfNV80XzE0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDE1XzJfM181XzRfMTQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is an Error object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDEyMykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogYXJnT2JqDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Arguments object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEFndW1lbnRzIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcykpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is the Aguments object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHt9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable data property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi52YWx1ZSA9ICJGdW5WYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRnVuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiQXJyVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJTdHJWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoudmFsdWUgPSAiQm9vbGVhblZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYm9vbGVhbk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJCb29sZWFuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoudmFsdWUgPSAiTnVtVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTnVtVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZGF0YSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own data property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aFZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTWF0aFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnZhbHVlID0gIkRhdGVWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRhdGVPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRGF0ZVZhbHVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoudmFsdWUgPSAiUmVnRXhwVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiUmVnRXhwVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTlZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiSlNPTlZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoudmFsdWUgPSAiRXJyb3JWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVycm9yT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkVycm9yVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai52YWx1ZSA9ICJBcmdWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJBcmdWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJHbG9iYWxWYWx1ZSI7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkdsb2JhbFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9ICgobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8ucHJvcCA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - an enumerable inherited data property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsgdmFsdWU6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFycmF5ID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFycmF5LndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJyYXkNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBib29sZWFuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04gDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gKG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own accessor property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBlcnJvck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKSANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICBpcyB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIDAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzICswICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - an enumerable inherited accessor property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIC0wICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIE5hTiAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0gew0KICAgICAgICAgICAgd3JpdGFibGU6ICIiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiYmJxIg0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gImJicSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IE51bWJlcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGFyZ09iag0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Arguments object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IDkgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJlc2VudCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7fTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyYXlPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyYXlPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcnJheU9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFycmF5T2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUFycmF5T2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5U3RyaW5nT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeVN0cmluZ09iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5Qm9vbGVhbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUJvb2xlYW5PYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlOdW1iZXJPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeU51bWJlck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlEYXRlT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5RGF0ZU9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeVJlZ0V4cE9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlSZWdFeHBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aCANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5SlNPTk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlKU09OT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KDQogICAgICAgIGVyck9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUVycm9yT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZXJyT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlFcnJvck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcmd1bWVudHNPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5QXJndW1lbnRzT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgcHJpbWl0aXZlIHZhbHVlIG51bGwgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is the primitive value null (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a boolean primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - TypeError is thrown when own enumerable accessor property of 'Properties' without a get function (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiAxMjMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a number primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6ICJzdHJpbmciDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a primitive string (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBbMSwgMiwgM10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImRhdGEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' without a get function that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgcHJvdG8uc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuZXdPYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBmdW5PYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Function object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBhcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgc3RyT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBzdHJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIGJvb2xPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgZGF0ZU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgcmVnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBlcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgYXJnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdvYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3b2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3b2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gW107DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is an Array object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSB2YWx1ZSBudWxsICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive value null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBib29sZWFuIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHRydWUNCiAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive boolean value true (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBudW1iZXIgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IDEyMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive number value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6ICJhYmMiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive string value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbmV3IERhdGUoKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an Date object (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdQcm9wZXJ0aWVzJyBpcyBudWxsICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create throws TypeError if 'Properties' is null (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFN0cmluZygpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a String object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGhvc3Qgb2JqZWN0IHRoYXQgaXNuJ3QgY2FsbGFibGUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a host object that isn't callable (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IHdoZW4gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create defines a data property when one property in 'Properties' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tWYWx1ZV1dIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Value]] is set as undefined if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tXcml0YWJsZV1dIGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Writable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWlzRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNOb3RDb25maWd1cmFibGUgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGlzTm90Q29uZmlndXJhYmxlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a Boolean object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tHZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Get]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tTZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInZlcmlmeUNyZWF0ZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3T2JqLCAicHJvcCIpOw0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIGlmIChuZXdPYmoucHJvcCA9PT0gInZlcmlmeUNyZWF0ZSIpIHsNCiAgICAgICAgICAgIHZlcmlmeUdldCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgaGFzUHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVNldCAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Set]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgICAgIA0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgaXNOb3RDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gc29tZSBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZW1wdHkgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgZm9vOiB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - some enumerable own property in 'Properties' is empty object (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYWxsIHByb3BlcnRpZXMgaW4gJ1Byb3BlcnRpZXMnIGFyZSBlbnVtZXJhYmxlIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkgKDE1LjIuMy43IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSB7fTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBuZXdPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChuZXdPYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJg0KICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG5ld09iaiwgImZvbzIiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - all properties in 'Properties' are enumerable (data property and accessor property) (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mICdQcm9wZXJ0aWVzJyBhcmUgZ2l2ZW4gbnVtZXJpY2FsIG5hbWVzICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMoKSB7IH0NCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAxOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqWzBdID09PSAxMDAgJiYgbmV3T2JqWzFdID09PSAyMCAmJiBuZXdPYmpbMl0gPT09IDIwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - enumerable properties of 'Properties' are given numerical names (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Number object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBNYXRoKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is the Math object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Date object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is a RegExp object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBKU09OKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is the JSON object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQoNCiAgICAgICAgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKSkuZm9yRWFjaChmdW5jdGlvbihuYW1lKXsNCiAgICAgICAgICAgIHByb3BzW25hbWVdID0ge3ZhbHVlOjExLCBjb25maWd1cmFibGU6dHJ1ZX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcHJvcHMucHJvcDE1XzJfM181XzRfMzcgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AxNV8yXzNfNV80XzM3Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is an Error object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is an Arguments object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBzaWRlLWVmZmVjdHMgb2YgZ2V0cyBvY2N1ciBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGV5IHdvdWxkIGZvcjogZm9yIChQIGluIHByb3BzKSBwcm9wc1tQXSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgcHJvcHMucHJvcDEgPSB7IHZhbHVlOiAxMiwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBwcm9wcy5wcm9wMiA9IHsgdmFsdWU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gcHJvcHMpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgdmFyIGluZGV4ID0gMDsNCiAgICAgICAgZm9yICh2YXIgcSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXgrK10gIT09IHEgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KHEpKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - ensure that side-effects of gets occur in the same order as they would for: for (P in props) props[P] (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgT2JqZWN0Ow0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is an object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGl0IG9jY3VycyBpbiB0aGUgY29ycmVjdCBvcmRlciByZWxhdGl2ZSB0byBwcmlvciBhbmQgc3Vic2VxdWVudCBzaWRlLWVmZmVjdHMgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIGkgPSAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaSsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKDEgPT09IGkrKykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmIGkgPT09IDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - ensure that if an exception is thrown it occurs in the correct order relative to prior and subsequent side-effects (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogdW5kZWZpbmVkIA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IG51bGwgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - value of one property in 'Properties' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmYWxzZSANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is false (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTIgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - value of one property in 'Properties' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAiYWJjIiANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - value of one property in 'Properties' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is a Function object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQXJyYXk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is an Array object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGggDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is a String object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of 'enumerable' property of one property in 'Properties' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyB0cnVlICgxNS4yLjMuNyBzdGVwIDIpLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a Boolean object whose primitive value is true (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IE51bWJlcigtOSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIGFueSBpbnRlcmVzdGluZyBudW1iZXIgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgTnVtYmVyKDEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is a Number object whose primitive value is any interesting number (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBhcmdPYmoNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJyksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a string (value is 'false'), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is new Boolean(false), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMyBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eS5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty must exist as a function taking 3 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodW5kZWZpbmVkLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty applied to undefined throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG51bGwsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to null throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KDUsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to number primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KCJoZWxsb1xud29ybGRcXCEiLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty applied to string primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0cnVlLCAiZm9vIiwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIHVuZGVmaW5lZCB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAndW5kZWZpbmVkJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgdW5kZWZpbmVkLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is undefined that converts to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIC0yMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIi0yMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIEluZmluaXR5LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCArSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJJbmZpbml0eSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAtSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCItSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEodHJhaWxpbmcgNSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(trailing 5 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZSsyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDFlKzIwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIG51bGwgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgJ251bGwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBudWxsLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgibnVsbCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAuMDAwMDAxLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLjAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZS03Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMC4wMDAwMDAwMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTgiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS03KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS02KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDAxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS01KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBpbnRlZ2VyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyMyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIGRlY2ltYWwgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjQ1NikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy40NTYsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMjMuNDU2Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAxOSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 19 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgZmFsc2UsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmYWxzZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZSsyMiIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuMTIzNDU2NykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy4xMjM0NTY3LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzLjEyMzQ1NjciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnQUINCiAqIFxjZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiQUJcblxcY2QiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiQUJcblxcY2QiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJ1bmRlZmluZWQiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibnVsbCIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJudWxsIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMTIzzrHOss+AY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEyM86xzrLPgGNkIiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyM86xzrLPgGNkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '123\u03b1\u03b2\u03c0cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMScgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBhcnJheSB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBbMSwgMl0sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxLDIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCB0cnVlLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidHJ1ZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIFN0cmluZyBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIkhlbGxvIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIEJvb2xlYW4gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG5ldyBCb29sZWFuKGZhbHNlKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZhbHNlIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIE51bWJlciBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IE51bWJlcigxMjMpLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG93blByb3AsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJhYmMiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b1N0cmluZzogdW5kZWZpbmVkDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hvc2UgdG9TdHJpbmcgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0IGFuZCB3aG9zZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object whose toString method returns an object and whose valueOf method returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcm9wIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duICB3aGVuICdQJyBpcyBhbiBvYmplY3QgdGhhdCBuZWl0aGVyIHRvU3RyaW5nIG5vciB2YWx1ZU9mIHJldHVybnMgYSBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - TypeError exception is thrown when 'P' is an object that neither toString nor valueOf returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2QgIGlzIGludm9rZWQgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gInRlc3QiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIxMCI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgY2hpbGQsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ0ZXN0IikgJiYgIXZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - an inherited toString method is invoked when 'P' is an object with an own valueOf and an inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBOYU4sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJOYU4iKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgKzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgLTAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIzMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ2dldCcgYW5kICd2YWx1ZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChOdW1iZXIpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IDQyOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Number)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IG51bGwgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6ICswIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAtMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogTmFOIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IC0xMjM0NSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogIiIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChCb29sZWFuKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSB0cnVlOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Boolean)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAiICAgICAgICIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBbMSwgMiwgM10gfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJiYnEiKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDApIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBNYXRoIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogSlNPTg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChTdHJpbmcpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9ICJhYmMiOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (String)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBFcnJvciBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKDEsIHRydWUsICJhIik7DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGFyZ09iag0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgbmV3IEJvb2xlYW4oZmFsc2UpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgc2V0dGVyIGluIGRlc2MgaXMgbm90IGNhbGxhYmxlIChOdWxsKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBudWxsOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if the setter in desc is not callable (Null)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIGNoaWxkLnZhbHVlID0gIm93bkRhdGFQcm9wZXJ0eSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wZXJ0eSA6IDEyMCB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlID0gIkZ1bmN0aW9uIjsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bk9iai52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChPYmplY3QpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIHNldHRlciA9IHsgYTogMSB9Ow0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Object)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS52YWx1ZSA9ICJBcnJheSI7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai52YWx1ZSA9ICJBcnJheSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUudmFsdWUgPSAiU3RyaW5nIjsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlN0cmluZyI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLnZhbHVlID0gIlN0cmluZyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS52YWx1ZSA9ICJCb29sZWFuIjsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLnZhbHVlID0gIkJvb2xlYW4iOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUudmFsdWUgPSAiTnVtYmVyIjsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk51bWJlciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJNYXRoIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnZhbHVlID0gIk1hdGgiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS52YWx1ZSA9ICJEYXRlIjsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJEYXRlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoudmFsdWUgPSAiRGF0ZSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUudmFsdWUgPSAiUmVnRXhwIjsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJSZWdFeHAiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJKU09OIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnZhbHVlID0gIkpTT04iOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS52YWx1ZSA9ICJFcnJvciI7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmoudmFsdWUgPSAiRXJyb3IiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudmFsdWUgPSAiYXJndW1lbnRzIjsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkudmFsdWUgPSAiZ2xvYmFsIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSANCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0IDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgdHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a boolean primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBudWxsICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbnVsbCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAxMik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cnVlICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBmYWxzZSAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAwICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyArMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogKzAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAtMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IC0wIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBOYU4gICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAgTmFOfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMTIzNDUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogLTEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIgICAgICAiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIHN0cmluZyBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a string primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogWzEsIDIsIDNdIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IFN0cmluZygiYmJxIikgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBCb29sZWFuKHRydWUpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IE51bWJlcigxMjMpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogTWF0aCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBEYXRlKCkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgJiYgYWZ0ZXJXcml0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogSlNPTiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgU3ludGF4RXJyb3IoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdnZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgd3JpdGFibGU6IGZhbHNlIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgQXJndW1lbnQgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgxLCB0cnVlLCAiYSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBhIHN0cmluZyh2YWx1ZSBpcyAnZmFsc2UnKSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAiZmFsc2UiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is a string(value is 'false') (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBuZXcgQm9vbGVhbihmYWxzZSkgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcmVzZW50IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInByZXNlbnQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW47DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyaWJ1dGVzLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJzdHJpbmdHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZ0dldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYm9vbGVhbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm51bWJlckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJudW1iZXJHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50R2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYXJndW1lbnRHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2xvYmFsR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWxHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBvYmoucHJvcGVydHkgPT09ICJnZXRGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTQ7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gMTEgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGExID09PSAiZGF0YSIgJiYgZGF0YTIgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhMSA9PT0gImRhdGEiICYmIGRhdGEyID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVPd25EYXRhIjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGFyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAgdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBzdHJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgYm9vbE9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGVudW1lcmFibGU6IGZhbHNlIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAndmFsdWUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IH0NCiAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW4pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICBzdHJPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgYm9vbE9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQogICAgICAgIG51bU9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkYXRlT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB3cml0YWJsZTogZmFsc2UgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgcmVnT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBFcnJvci5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIGVyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQogICAgICAgIGFyZ09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBudWxsIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bWJlcikoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gNDI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Number)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAwIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogKzAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE5hTiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogMTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICIiIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJBQlxuXFxjZCIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IFtdIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKEJvb2xlYW4pKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IHRydWU7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Boolean)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBTdHJpbmcoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a String Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Boolean Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBOdW1iZXIoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Number Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE1hdGggfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the Math Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgRGF0ZSgpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Date Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBSZWdFeHAoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a RegExp Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IEpTT04gfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the JSON Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3IgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBFcnJvcigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Error Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgwLCAxLCAyKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Arguments Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKFN0cmluZykoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gImFiYyI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (String)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZm5HbG9iYWxPYmplY3QoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJmYWxzZSIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgdmFsdWU6IDEwMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAob2JqLnByb3BlcnR5ID09PSAxMDApOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bGwpKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IG51bGw7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Null)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property of prototype object (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE9iamVjdCkoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0geyBhOiAxIH07DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Object)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyBwYXNzaW5nICd0cnVlJyBmb3IgdGhlIFRocm93IGZsYWcuIEluIHRoaXMgY2FzZSwgc3RlcCAzIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVxdWlyZXMgdGhhdCBpdCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbg0KICogY3VycmVudCBpcyB1bmRlZmluZWQgYW5kIGV4dGVuc2libGUgaXMgZmFsc2UuIFRoZSB2YWx1ZSBvZiBkZXNjIGRvZXMgbm90DQogKiBtYXR0ZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGFkZGluZyBwcm9wZXJ0aWVzIHRvIG5vbi1leHRlbnNpYmxlIG9iamVjdHMoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQoNCiAgdHJ5IHsNCiAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O passing 'true' for the Throw flag. In this case, step 3 of\n[[DefineOwnProperty]] requires that it throw a TypeError exception when\ncurrent is undefined and extensible is false. The value of desc does not\nmatter.","description":"Object.defineProperty throws TypeError when adding properties to non-extensible objects(8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIGZhbHNlIHRvIHRydWUgb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHNldHRpbmcgZW51bWVyYWJsZSB0byB0cnVlIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value and name.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLnZhbHVlIGlzIHByZXNlbnQgYW5kIGRlc2MudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.value is present and desc.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGlzIHByZXNlbnQgYW5kIG5hbWUudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gdW5kZWZpbmVkOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value is present and name.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLndyaXRhYmxlIGFuZCBkZXNjLndyaXRhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.writable and desc.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmNvbmZpZ3VyYWJsZSA9IHRydWUgYW5kIGRlc2MuY29uZmlndXJhYmxlID0gZmFsc2UgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIG5hbWUgYW5kIGRlc2MgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, several attributes values of name and desc are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbR2V0XV0gYW5kIG5hbWUuW1tHZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jMiwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Get]] and name.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgIG5hbWUuW1tHZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbR2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is present and desc.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW0dldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW0dldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is undefined and desc.[[Get]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIHRydWUgdG8gZmFsc2Ugb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgc2V0dGluZyBlbnVtZXJhYmxlIHRvIHRydWUgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgZW51bWVyYWJsZTogZmFsc2UgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbU2V0XV0gYW5kIG5hbWUuW1tTZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Set]] and name.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgIC0gJ25hbWUnIGFuZCAnZGVzYycgYXJlIGFjY2Vzc29yIHByb3BlcnRpZXMsIG5hbWUuW1tTZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbU2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is present and desc.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW1NldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW1NldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is undefined and desc.[[Set]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5lbnVtZXJhYmxlIGFuZCBkZXNjLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5jb25maWd1cmFibGUgPSB0cnVlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSA9IGZhbHNlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgc2V2ZXJhbCBhdHRyaWJ1dGVzIHZhbHVlcyBvZiAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYzIsIHNldEZ1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, several attributes values of 'name' and 'desc' are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsgdmFsdWU6IDEgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICJsZW5ndGgiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFyck9iaiwgImxlbmd0aCIpICYmIGRlc2MudmFsdWUgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDJdOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIyIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMyAmJiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7fSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIGlmIChhcnJPYmoubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMjsNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5sZW5ndGg7DQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBzYW1lIHdpdGggY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgaWYgKGFyck9iai5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBhcnJPYmoubGVuZ3RoID09PSAyID8gdHJ1ZSA6IGZhbHNlOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImxlbmd0aCIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmxlbmd0aDsNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMgdG8gYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhbiBhY2Nlc3NvciBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCg0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable data properties to accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSB0cnVlIHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJsZW5ndGgiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGF0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuICBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test that RangeError exception is thrown when [[Value]] field of 'desc' is undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBudWxsICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is null (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzIHRvIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGFuIGFjY2Vzc29yIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KIA0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhIGRhdGEgcHJvcGVydHkgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGFuIGFjY2Vzc29yIHByb3BlcnR5Lg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable accessor properties to data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC05DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBOYU4gKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMiINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWIgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwNCiAgLy8gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXJlIHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gY2hhbmdpbmcgImZvbyIgdG8gYmUgYW4gYWNjZXNzb3Igc2hvdWxkIHN1Y2NlZWQsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcgdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0bw0KICAvLyB0aGVpciBkZWZhdWx0IHZhbHVlcw0KDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZDIuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9b of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing data property to accessor property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nICtJbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMkUzIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDJFMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a number with leading zeros (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyB3aGljaCBkb2Vzbid0IGNvbnZlcnQgdG8gYSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWMgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGRlZmluZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIGNoYW5naW5nICJmb28iIHRvIGJlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgc2hvdWxkIHN1Y2NlZWQsIHNpbmNlDQogIC8vIFtbQ29uZmlndXJhYmxlXV0gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcNCiAgLy8gdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkDQogIC8vIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9c of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing accessor property to data property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiB3b3VsZG4ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBtZXRob2QgYW5kIGFuIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpLCB0ZXN0IHRoYXQgdGhlIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCBpcyB1c2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDIgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', and the [[Value]] field of 'desc' is an Object with an own toString method and an inherited valueOf method (15.4.5.1 step 3.c), test that the inherited valueOf method is used","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyMy41DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk0IA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk1DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk1Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk2DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Nw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBleGlzdGluZyB2YWx1ZSBvZiBsZW5ndGggKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogNQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNSAmJiBhcnJPYmpbMF0gPT09IDAgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmpbMl0gPT09IDIgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value greater than the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYgcmVsYXhpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgdmFsdWVkIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgd3JpdGFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.i\nof [[DefineOwnProperty]] rejects if relaxing the [[Writable]] attribute.","description":"Object.defineProperty throws TypeError when relaxing [[Writable]] on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAzICYmIGFyck9ialswXSA9PT0gMCAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyT2JqWzJdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value equal to the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgbGVzc2VyIHRoYW4gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCBhbmQgdGVzdCB0aGF0IGluZGV4ZXMgYmV5b25kIHRoZSBuZXcgbGVuZ3RoIGFyZSBkZWxldGVkKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDEgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value lesser than the existing value of length and test that indexes beyond the new length are deleted(15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3Qgbm8gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test no TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaW5kZXhEZWxldGVkID0gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gaW5kZXhEZWxldGVkICYmIGFyck9iai5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgd2hvc2Ugd3JpdGFibGUgYXR0cmlidXRlIGlzIGJlaW5nIGNoYW5nZWQgdG8gZmFsc2UgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSBhbmQgYWxzbyBsZXNzZXIgdGhhbiBhbiBpbmRleCBvZiB0aGUgYXJyYXkgd2hpY2ggaXMgc2V0IHRvIGNvbmZpZ3VyYWJsZTpmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmkuaWlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', whose writable attribute is being changed to false and the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable:false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIGFuZCBUeXBlRXJyb3IgaXMgdGhyb3duICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjIiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaWkuMQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIG5vbi13cml0YWJsZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgdmFsdWUgb2Ygbm9uLXdyaXRhYmxlIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMiB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.ii.1\nof [[DefineOwnProperty]] rejects changing the value of non-writable properties.","description":"Object.defineProperty throws TypeError when changing value of non-writable non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4ndCBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7IC8vIE5vdCBzZXR0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAiMSIgdG8gZmFsc2UgaGVyZSwgc2luY2UgQXJyYXkucHJvdG90eXBlIGlzIGEgZ2xvYmFsIG9iamVjdCwgYW5kIG5vbi1jb25maWd1cmJhbGUgcHJvcGVydHkgY2FuJ3QgcmV2ZXJ0IHRvIGNvbmZpZ3VyYWJsZQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOyANCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5sZW5ndGggPT09IDIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgLy8gTm90IHNldHRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBjb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGlzIGRlbGV0ZWQgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' is deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzYW1lIGFzIFtbVmFsdWVdXSAoMTUuNC41LjEgc3RlcCAzLmwuaWlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOyAgICAgICAgICANCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test value of the length property is same as [[Value]] (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHNldHRlciBpZiBwcmVzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgc2V0dGVyIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gY2hhbmdlIHRoZSBzZXR0ZXIgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoeCkge307DQogIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] rejects changing the setter if present.","description":"Object.defineProperty throws TypeError when changing setter of non-configurable accessor properties(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3Qgd2hlbiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSBhbmQgJ08nIGRvZXNuJ3QgY29udGFpbiBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGF2YWlsYWJsZSBTdHJpbmcgdmFsdWVzIHRoYXQgY29udmVydCB0byBudW1iZXJzICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NCwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJPYmpbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NSwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5NV0gPT09IDEwMDsgOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk2LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwICYmIGFyck9ials0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5Nywgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyBpcyBmYWxzZSBhbmQgdmFsdWUgb2YgJ25hbWUnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDEsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is not thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is less than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMywgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' equals to value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNCwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is greater than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgc2V0dGluZyBhIHNldHRlciAoaWYgYWJzZW50KS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgcGVybWl0cyBzZXR0aW5nIGEgc2V0dGVyIChpZiBhYnNlbnQpIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBzZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHNldDogdW5kZWZpbmVkIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQoJICBkMi5zZXQgPT09IHVuZGVmaW5lZCAmJg0KCSAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KCSAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UpIHsNCglyZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] permits setting a setter (if absent).","description":"Object.defineProperty permits setting a setter (if absent) of non-configurable accessor properties(8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAib3duRGF0YVByb3BlcnR5IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IHRoYXQgZGVmaW5pbmcgb3duIGluZGV4IG5hbWVkIHByb3BlcnR5IGlzIHN1Y2Nlc3NmdWwgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIHR5cGVvZiBhcnJPYmpbMF0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited data property, test that defining own index named property is successful (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited data property, test TypeError is thrown on updating the [[Configurable]] attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRlIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB0byB0cnVlIGFuZCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvcmlnaW5hbCBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited accessor property, test TypeError is thrown when update the [[Configurable]] attribute to true and value of [[Configurable]] attribute of original is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIG9uIHVwZGF0aW5nIHRoZSBjb25maWd1cmFibGUgYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyck9ialswXSA9IDEzOw0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnTycgaXMgbm90IGV4dGVuc2libGUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCBkZXNjKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgKGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgd2hlbiAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test 'name' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBkYXRhIHByb3BlcnRpZXMsIGF0dHJpYnV0ZXMNCiAqIG1pc3NpbmcgZnJvbSBkZXNjIHNob3VsZCBoYXZlIHZhbHVlcyBzZXQgdG8gdGhlIGRlZmF1bHRzIGZyb20gOC42LjEuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgc2V0cyBtaXNzaW5nIGF0dHJpYnV0ZXMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgKGRhdGEgcHJvcGVydGllcykoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICANCiAgaWYgKHByb3BEZXNjLnZhbHVlICAgICAgICA9PT0gMSAmJiAgICAgICAgICAvLyB0aGlzIGlzIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQNCiAgICAgIHByb3BEZXNjLndyaXRhYmxlICAgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined data properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (data properties)(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGNoYW5naW5nIHRoZSBnZXR0ZXIgaWYgcHJlc2VudC4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIGdldHRlciAoaWYgcHJlc2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlci9zZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7fQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgc2V0dGVyIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiB1bmRlZmluZWQgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] rejects changing the getter if present.","description":"Object.defineProperty throws TypeError when changing getter (if present) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbVmFsdWVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgW1tWYWx1ZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Value]] of 'name' property of 'Attributes' is set as undefined if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW1dyaXRhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiAgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Writable]] is absent in data descriptor 'desc', test [[Writable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in data descriptor 'desc', test [[Enumerable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in data descriptor 'desc', test [[Configurable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMV07IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0dldF1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Get]] is absent in accessor descriptor 'desc', test [[Get]] attribute of property 'name' is set to undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbU2V0XV0gb2YgJ25hbWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIFtbU2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Set]] of 'name' property in 'Attributes' is set as undefined if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in accessor descriptor 'desc', test [[Enumerable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in accessor descriptor 'desc', test [[Configurable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTQ7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgaWYgYWJzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgKGlmIGFic2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IHNldHRlcg0KICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKHgpIHt9DQogIHZhciBkMSA9IHsgc2V0OiBzZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBnZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4gRXhpc3RpbmcgdmFsdWVzIG9mIG5lZWQgdG8gYmUgcHJlc2VydmVkLg0KICB2YXIgZ2V0dGVyID0gdW5kZWZpbmVkOw0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgIGQyLnNldCA9PT0gc2V0dGVyICYmDQogICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] permits setting a getter if absent.","description":"Object.defineProperty permits setting a getter (if absent) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50IChuYW1lIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50KG5hbWUgaXMgYWNjZXNzb3IgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent(name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5KSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIGRlc2MpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSBhbmQgaXRzIGNvbmZpZ3VyYWJsZSBhbmQgd3JpdGFibGUgYXR0cmlidXRlcyBhcmUgc2V0IHRvIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAwLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogImFiYyIgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property and its configurable and writable attributes are set to false, test TypeError is thrown when the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBudWxsICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG51bGwgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBOYU4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChhcnJPYmpbMF0gIT09IGFyck9ialswXSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyck9ialswXSA9IDEwMDE7DQogICAgICAgIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqWzBdICE9PSAxMDAxICYmIGFyck9ialswXSAhPT0gYXJyT2JqWzBdOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is existing own data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBzYW1lIHZhdWxlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IDEyMyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG9iajEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdHdvIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to two different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgd3JpdGFibGU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiAodHlwZW9mIG9iai5mb28pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is existing an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGVscFZlcmlmeVNldDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouaGVscFZlcmlmeVNldCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMyLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHNldDogc2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgc2V0OiBzZXRGdW5jMiB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGVudW1lcmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBzYW1lIHZhbHVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlICBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAzLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgW1tFbnVtZXJhYmxlXV0gb2YgJ2Rlc2MnIGlzIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIDMsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHksIGFuZCdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIHRydWUsIHRlc3QgJ25hbWUnIGlzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is updated successfully (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzNdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAgYXNzaWdubWVudCB0byB0aGUgYWNjZXNzb3IgcHJvcGVydHksIGZhaWxzIHRvIGNvbnZlcnQgYWNjZXNzb3IgcHJvcGVydHkgZnJvbSBhY2Nlc3NvciBwcm9wZXJ0eSB0byBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyT2JqWzFdID0gNDsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and assignment to the accessor property, fails to convert accessor property from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZGlmZmVyZW50IGZyb20gdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmF1bGVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different vaules (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiZmdoIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsICJhYmMiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkYXRhJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'data' is own data property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgeyB2YWx1ZToge30gfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIG9iaiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjEiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICIxIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGZyb20gdW5kZWZpbmVkIHRvIG51bWJlciAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW3VuZGVmaW5lZF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' from undefined to number (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxMDBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBub3QgY2hhbmdlZCBpZiBUb1VpbnQzMignbmFtZScpIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgYXJyT2JqWzFdID09PSAxNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is not changed if ToUint32('name') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIzIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDQgJiYgYXJyT2JqWzNdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDYgJiYgYXJyT2JqWzVdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is generic property that won't exist on 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI0Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmoucHJvcGVydHkgPSAxMjsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzNg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test TypeError is thrown when updating the [[Set]] attribute value of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgcmVkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7ICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMgYW5kIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyB1bndyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIHN0ZXAgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as unwritable and non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7ICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXBzIDQgYW5kIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwcyA0IGFuZCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBhdHRyaWJ1dGVzDQogKiBtaXNzaW5nIGZyb20gZGVzYyBzaG91bGQgaGF2ZSB2YWx1ZXMgc2V0IHRvIHRoZSBkZWZhdWx0cyBmcm9tIDguNi4xLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHNldHMgbWlzc2luZyBhdHRyaWJ1dGVzIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIChhY2Nlc3NvcikoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfTsNCiAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAodHlwZW9mKHByb3BEZXNjLmdldCkgPT09ICJmdW5jdGlvbiIgJiYgIC8vIHRoZSBnZXR0ZXIgbXVzdCBiZSB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgcHJvdmlkZWQNCiAgICAgIHByb3BEZXNjLmdldCA9PT0gZ2V0dGVyICYmDQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined accessor properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (accessor)(8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCBzdGVwIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMxLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function that overrides an inherited accessor property(8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICANCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGMgPT09IDM7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYiA9PT0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiB0eXBlb2Ygb2JqLmZvbyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmhlbHBWZXJpZnlHZXQgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm92ZXJpZGVHZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5R2V0IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdlbmVyaWNQcm9wZXJ0eVN0cmluZyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5oZWxwVmVyaWZ5R2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeUdldCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICcnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCBvZiBhIGZ1bmN0aW9uIHRoYXQgaGFzIGZvcm1hbCBwYXJhbWV0ZXJzLCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlGb3JtYWwgPSBjID09PSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGNyZWF0ZWQgd2l0aCBmdW5jdGlvbiB0YWtlIGZvcm1hbCBwYXJhbWV0ZXJzLCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWxldGVkIGlmICduYW1lJyBpcyBjb25maWd1cmFibGUgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which created with function take formal parameters, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCAnbmFtZScgaXMgZGVsZXRlZCBpZiAnbmFtZScgaXMgY29uZmlndXJhYmxlIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA1LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmICFhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW4sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZnVuLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBmdW4uZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Function object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbZW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9ialswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSBpcyB3cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEwMDEpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOnRydWUsIFtbQ29uZmlndXJhYmxlXV06ZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1Anc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P'successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIE5hbWVkIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTp0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOmZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnQScgaXMgYW4gQXJyYXkgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqWzBdID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmDQogICAgICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9ialswXSA9PT0gMjAxMCAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHdyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBzdHIuZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a String object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBuYW1lZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBOYW1lZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5ICdQJyBpcyBhbiBpbmRleGVkIGRhdGEgcHJvcGVydHkgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIDogdHJ1ZSkgaXMgbm9uLXdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZhbHVlVmVyaWZ5ID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZhbHVlVmVyaWZ5ICYmIG9ialswXSA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property 'P' is an indexed data property with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIC0gTm90ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Indexed property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXSA6IHRydWUpIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmFsdWVWZXJpZnkgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgICAgIHJldHVybiB2YWx1ZVZlcmlmeSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW53cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is a Boolean object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBvYmpbMF0gPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqLnByb3AgPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating named data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Number object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiAhYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bndyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChNYXRoLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the Math object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAxMDAxICYmIGRlc2MudmFsdWUgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiVGhpc0lzQVN0cmluZyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09ICJUaGlzSXNBU3RyaW5nIiAmJiBkZXNjLnZhbHVlID09PSAiVGhpc0lzQVN0cmluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZhbHNlICYmIGRlc2MudmFsdWUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGdlbmVyaWMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdGVtcE9iaiA9IHsgdGVzdHByb3BlcnR5OiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0ZW1wT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSB0ZW1wT2JqICYmIGRlc2MudmFsdWUgPT09IHRlbXBPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a generic object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBhcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGFyck9iaiAmJiBkZXNjLnZhbHVlID09PSBhcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBzdHJPYmogJiYgZGVzYy52YWx1ZSA9PT0gc3RyT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBudW1PYmogJiYgZGVzYy52YWx1ZSA9PT0gbnVtT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogYm9vbE9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gYm9vbE9iaiAmJiBkZXNjLnZhbHVlID09PSBib29sT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Boolean Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is a Date object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZ1bk9iaiAmJiBkZXNjLnZhbHVlID09PSBmdW5PYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBlcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGVyck9iaiAmJiBkZXNjLnZhbHVlID09PSBlcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZGF0ZU9iaiAmJiBkZXNjLnZhbHVlID09PSBkYXRlT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogcmVnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSByZWdPYmogJiYgZGVzYy52YWx1ZSA9PT0gcmVnT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IG51bGwgJiYgZGVzYy52YWx1ZSA9PT0gbnVsbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBOYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wICE9PSBvYmoucHJvcCAmJiBkZXNjLnZhbHVlICE9PSBkZXNjLnZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is NaN","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBJbmZpbml0eQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gSW5maW5pdHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogLUluZmluaXR5DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAtSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gLUluZmluaXR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is -Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBmbkdsb2JhbE9iamVjdCgpICYmIGRlc2MudmFsdWUgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBwcm9wZXJ0aWVzLCBzdGVwIDQuYS4xIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gY3JlYXRlcyBhIGRhdGEgcHJvcGVydHkgaWYgaGFuZGVkIGEgZ2VuZXJpYyBkZXNjLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IGlmIGdpdmVuIGEgZ2VuZXJpYyBkZXNjKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIA0KICB2YXIgZGVzYyA9IHt9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICBpZiAocHJvcERlc2MudmFsdWUgICAgICAgID09PSB1bmRlZmluZWQgJiYgIC8vIHRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgd2FzIHNldA0KICAgICAgcHJvcERlc2Mud3JpdGFibGUgICAgID09PSBmYWxzZSAmJiAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICAgIHByb3BEZXNjLmVudW1lcmFibGUgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7ICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined properties, step 4.a.1 of\n[[DefineOwnProperty]] creates a data property if handed a generic desc.","description":"Object.defineProperty defines a data property if given a generic desc(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2MsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is a RegExp object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFzdHJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBzdHJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgYXJyT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgYXJyT2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoQm9vbGVhbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGJvb2xPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3Mgb2JqZWN0IGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byBmYWxzZSAoTnVtYmVyIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigpOw0KICAgICAgICAgICAgbnVtT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG51bU9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's object has a property with same name and [[Writable]] attribute is set to false (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW5PYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFmdW5PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvci5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFlcnJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlcnJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChEYXRlIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAxMDAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIGVudW1lcmFibGUgKFJlZ0V4cCBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlZ0V4cC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChKU09OLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the JSON object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgSlNPTi5wcm9wID0gMTAwMjsNCg0KICAgICAgICAgICAgcmV0dXJuICFKU09OLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgSlNPTi5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIE1hdGgpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgIXZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0KE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJOQU1FIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSAxMDAxICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] field of inherited property of [[Prototype]] internal property is correct(Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJOQU1FIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlYW1NZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShtZWV0aW5nKTsNCiAgICAgICAgdGVhbU1lZXRpbmcubmFtZSA9ICJUZWFtIE1lZXRpbmciOw0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCIxMC8zMS8yMDEwIDA4OjAwIik7DQogICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9IGRhdGVPYmo7DQogICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID0gIjQyNTU1NTEyMTIiOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9IHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJUZWFtIE1lZXRpbmciICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IGRhdGVPYmogJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiNDI1NTU1MTIxMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydGllcyB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBwcm9wZXJ0aWVzIHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIlRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add properties to an object when the object's prototype has properties with the same name and [[Writable]] set to false (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0aWVzIHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited properties whose [[Enumerable]] attribute is set to false is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Error object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZShGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcmdPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the global object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgaWYgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICg4LjEyLjkgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpdGVtIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShpdGVtKSAmJiBpdGVtID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is defined as data property if 'name' property doesn't exist in 'O' and 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgW1tWYWx1ZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', [[Value]] of 'name' property is set as undefined if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ25hbWUnIHByb3BlcnR5IG9mICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Writable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgZGF0YSBkZXNjDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgew0KICAgIHJldHVybiAoZDEudmFsdWUgPT09IGQyLnZhbHVlICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09PSBkMi5lbnVtZXJhYmxlICYmDQogICAgICAgICAgICBkMS53cml0YWJsZSA9PT0gZDIud3JpdGFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PT0gZDIuY29uZmlndXJhYmxlKTsNCiAgfQ0KDQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gcXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmluZVByb3BlcnR5DQogIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhlIHByb3BlcnR5IGRlZmluaXRpb24uDQogIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAgDQoNCiAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yDQogIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hvdWxkIG5vdCBnZXQgZGlzdHVyYmVkLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyANCg0KICBpZiAoc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same data desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyAgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMSB9OyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc is data descriptor, test updating all attribute values of 'name' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdvYmonIHdpdGggYWxsIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'desc' is generic descriptor without any attribute, test 'name' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Get]] of 'name' property is set as undefined if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5wcm9wID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9ialswXSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmpbMF0gPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9ialswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqWzBdID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' without [[Set]] using simple assignment is failed, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7IA0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMSwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICBpZiAob2JqLnByb3BlcnR5ICE9PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIGlmICh0eXBlb2YgZGVzYy5zZXQgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Set]] of 'name' property of 'Attributes' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmVzdWx0ID0gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoYXJnMSkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKGFyZzEsIGFyZzIpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgICAgICByZXR1cm4gZ2xvYmFsVmFyaWFibGU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAyMDEwICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDE0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'desc' is accessor descriptor, test updating all attribute values of 'name' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggZG9lc24ndCBjb250YWlucyByZXR1cm4gc3RhdGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5RXhlY3V0ZSA9IGZhbHNlOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZlcmlmeUV4ZWN1dGUgPSB0cnVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdmVyaWZ5RXhlY3V0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which doesn't contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW46IDIwMTANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gb2JqICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9IDIwOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmaXJzdEFyZyA9IDEyOw0KICAgICAgICB2YXIgc2Vjb25kQXJnID0gMTI7DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgZmlyc3RBcmcgPSBhOw0KICAgICAgICAgICAgc2Vjb25kQXJnID0gYjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTAwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBmaXJzdEFyZyA9PT0gMTAwICYmIHR5cGVvZiBzZWNvbmRBcmcgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTA7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgcmV0dXJuIHN0YXRlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdGhpcy5sZW4gPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5sZW4gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgc3RyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIGFyck9iai5wcm9wID0gIm15T3duUHJvcGVydHkiOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGFyck9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Success to add property into object (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkYXRhIGRlc2NyaXB0b3IgYW5kIGV2ZXJ5IGZpZWxkcyBpbiAnZGVzYycgaXMgYWJzZW50ICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7fSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is data descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChCb29sZWFuIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBib29sT2JqKSB7DQogICAgICAgICAgICAgICAgaWYocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChOdW1iZXIgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQogICAgICAgICAgICBudW1PYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFudW1PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBudW1PYmoucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Fail to add property into object (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24gaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGZ1bk9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZXJyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydHkgaW50byBvYmplY3QgKERhdGUgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Failed to add property into object (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChSZWdFeHAgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVnRXhwLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBKU09OLnByb3AgPSAibXlPd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gTWF0aCkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIU1hdGguaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgdmFyIGRhdGExID0gMTAwMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGF0YTIgPSAiTkFNRSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMyA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQogICAgICAgIHRlYW1NZWV0aW5nLm5hbWUgPSAiVGVhbSBNZWV0aW5nIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgiMTAvMzEvMjAxMCAwODowMCIpOw0KICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPSBkYXRlT2JqOw0KICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9ICI0MjU1NTUxMjEyIjsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiVGVhbSBNZWV0aW5nIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSBkYXRlT2JqICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIjQyNTU1NTEyMTIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIGFic2VudCAoOC4xMi45IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is accessor descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTMgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IG9mIFtbUHJvcHRvdHlwZV1dIGludGVybmFsIHByb3BlcnR5IChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIklFIFRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to update value of property of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgdmFyIGRhdGEzID0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IGRhdGE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRQcm90b3R5cGVPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImdldFByb3RvdHlwZU9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldFByb3RvdHlwZU9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRQcm90b3R5cGVPZiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.getPrototypeOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyDescriptor are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgYWNjZXNzb3IgZGVzYw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSB7DQogICAgcmV0dXJuIChkMS5nZXQgPT0gZDIuZ2V0ICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09IGQyLmVudW1lcmFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PSBkMi5jb25maWd1cmFibGUpOw0KICB9DQoNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge30sDQogICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIC8vIHF1ZXJ5IGZvciwgYW5kIHNhdmUsIHRoZSBkZXNjLiBBIHN1YnNlcXVlbnQgY2FsbCB0byBkZWZpbmVQcm9wZXJ0eQ0KICAvLyB3aXRoIHRoZSBzYW1lIGRlc2Mgc2hvdWxkIG5vdCBkaXN0dXJiIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uLg0KICB2YXIgZDEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgIA0KDQogIC8vIG5vdywgcmVkZWZpbmUgdGhlIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgZGVzY3JpcHRvcg0KICAvLyB0aGUgcHJvcGVydHkgZGVmaW50aW9uIHNob3VsZCBub3QgZ2V0IGRpc3R1cmJlZC4NCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgDQoNCiAgaWYgKHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same accessor desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHR5cGUgb2YgZGVzYy52YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIG5hbWUudmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmMiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiYyIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - type of desc.value is different from type of name.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJnZXRPd25Qcm9wZXJ0eU5hbWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyNames are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5jcmVhdGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiY3JlYXRlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmNyZWF0ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiY3JlYXRlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiY3JlYXRlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImNyZWF0ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.create are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZGVmaW5lUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9IHRlbXA7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperty are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJkZWZpbmVQcm9wZXJ0aWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydGllcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperties are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5zZWFsIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInNlYWwiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Quc2VhbDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5zZWFsID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZWFsIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnNlYWw7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoInNlYWwiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAic2VhbCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.seal are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5mcmVlemUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZnJlZXplIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmZyZWV6ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZnJlZXplIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZnJlZXplIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImZyZWV6ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.freeze are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9uczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByZXZlbnRFeHRlbnNpb25zIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.preventExtensions are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc1NlYWxlZCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc1NlYWxlZCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc1NlYWxlZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzU2VhbGVkID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNTZWFsZWQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzU2VhbGVkIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzU2VhbGVkOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc1NlYWxlZCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc1NlYWxlZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isSealed are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0Zyb3plbiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0Zyb3plbiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc0Zyb3plbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNGcm96ZW4gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzRnJvemVuIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRnJvemVuOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc0Zyb3plbiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc0Zyb3plbiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isFrozen are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0V4dGVuc2libGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmlzRXh0ZW5zaWJsZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiaXNFeHRlbnNpYmxlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImlzRXh0ZW5zaWJsZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isExtensible are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5rZXlzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImtleXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Qua2V5czsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmtleXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5rZXlzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJrZXlzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmtleXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImtleXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAia2V5cyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.keys are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImJpbmQiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJiaW5kIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImJpbmQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAiYmluZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Function.prototype.bind are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJpbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJpbmRleE9mIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.indexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5sYXN0SW5kZXhPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImxhc3RJbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgibGFzdEluZGV4T2YiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Object.lastIndexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJldmVyeSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUuZXZlcnkgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImV2ZXJ5Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZXZlcnkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.every are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5zb21lIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNvbWUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuc29tZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5zb21lID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzb21lIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb21lOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzb21lIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInNvbWUiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.some are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2ggPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb3JFYWNoIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJmb3JFYWNoIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.forEach are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5tYXAgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibWFwIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLm1hcCA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibWFwIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5tYXA7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoIm1hcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJtYXAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.map are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZmlsdGVyIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLmZpbHRlciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZmlsdGVyIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5maWx0ZXI7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImZpbHRlciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJmaWx0ZXIiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.filter are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicmVkdWNlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2U7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInJlZHVjZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJyZWR1Y2UiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduce are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgbnVsbCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG51bGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdodCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInJlZHVjZVJpZ2h0Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicmVkdWNlUmlnaHQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduceRight are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIFN0cmluZy5wcm90b3R5cGUudHJpbSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidHJpbSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChTdHJpbmcucHJvdG90eXBlLnRyaW0gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBTdHJpbmcucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ0cmltIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIVN0cmluZy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRyaW0iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in String.prototype.trim are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUubm93IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJub3ciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLm5vdzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5ub3cgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUubm93ID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibm93Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUubm93Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibm93Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUsICJub3ciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.now are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInRvSVNPU3RyaW5nIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvSVNPU3RyaW5nIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toISOString are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSlNPTiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvSlNPTiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9KU09OID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChEYXRlLnByb3RvdHlwZS50b0pTT04gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBEYXRlLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAidG9KU09OIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0pTT04iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJ0b0pTT04iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toJSON are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjVncy5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbGx5IGRlY2xhcmVkIHZhcmlhYmxlIHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQpPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgDQogICAgICAgICAgICAgICAgICAgICAgInByb3AiLCANCiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAxMDAxLCB3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlfSANCiAgICAgICAgICAgICAgICAgICAgICApOw0KdmFyIHByb3AgPSAxMDAyOw0KDQppZiAoISAodGhpcy5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHByb3AgPT09IDEwMDIpKSB7DQogICAgdGhyb3cgInRoaXMucHJvcCBzaG91bGQgdGFrZSBwcmVjZWRlbmNlIG92ZXIgT2JqZWN0LnByb3RvdHlwZS5wcm9wIjsNCn0NCg==","commentary":"","description":"Globally declared variable should take precedence over Object.prototype property of the same name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgTmFOICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSArMCBhbmQgbmFtZS52YWx1ZSA9IC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value = +0 and name.value = -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSAtMCBhbmQgbmFtZS52YWx1ZSA9ICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value = -0 and name.value = +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAyIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gImFiY2QiOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImZnaGoiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImZnaGoiLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdhIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0NvbmZpZ3VyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7a of [[DefineOwnProperty]] rejects if\ncurrent.[[Configurable]] is false and desc.[[Configurable]] is true.","description":"Object.defineProperty throws TypeError when changing [[Configurable]] from false to true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IHRydWU7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBPYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPamJlY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBvYmouZm9vID0gb2JqMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value and name.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy53cml0YWJsZSBhbmQgbmFtZS53cml0YWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2V9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.writable and name.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2Mud3JpdGFibGUgYW5kIG5hbWUud3JpdGFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.writable and name.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW0dldF1dIGFuZCBuYW1lLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBnZXQ6IGdldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMyLCBzZXRGdW5jMSwgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.[[Get]] and name.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW1NldF1dIGFuZCBuYW1lLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYyB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.[[Set]] and name.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5lbnVtZXJhYmxlIGFuZCBuYW1lLmVudW1lcmFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.enumerable and name.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gdHJ1ZSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuZW51bWVyYWJsZSBhbmQgbmFtZS5lbnVtZXJhYmxlIGFyZSBib29sZWFuIG5lZ2F0aW9uIG9mIGVhY2ggb3RoZXIgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.enumerable and name.enumerable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5jb25maWd1cmFibGUgYW5kIG5hbWUuY29uZmlndXJhYmxlIGFyZSBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.configurable and name.configurable are booleans with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIHRydWUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBwcm9wZXJ0eSBpcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gdHJ1ZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIHByb3BlcnR5IGlzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuY29uZmlndXJhYmxlIGFuZCBuYW1lLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiBuZWdhdGlvbiBvZiBlYWNoIG90aGVyICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.configurable and name.configurable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gdW5kZWZpbmVkIGFuZCBkZXNjLnZhbHVlID0gdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = undefined and desc.value = undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gbnVsbCBhbmQgZGVzYy52YWx1ZSA9IG51bGwgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCAgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = null and desc.value = null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gTmFOIGFuZCBkZXNjLnZhbHVlID0gTmFOICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFOLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = NaN and desc.value = NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9ICswIGFuZCBuYW1lLnZhbHVlID0gLTAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAtMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = +0 and name.value = -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9IC0wIGFuZCBuYW1lLnZhbHVlID0gKzAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiArMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = -0 and name.value = +0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAyMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gdHJ1ZSB0byBmYWxzZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCBbW0VudW1lcmFibGVdXSBleHBsaWNpdGx5IHNldCB0byB0cnVlOw0KICAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gZmFsc2Ugc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCBlbnVtZXJhYmxlOiBmYWxzZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImFiY2QiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogZmFsc2UgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two objects which refer to the different objects (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tTZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tTZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAicHJvcGVydHkiOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Set]] is undefined, desc.[[Set]] refers to an object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5R2V0SGVscE1ldGhvZCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeUdldEhlbHBNZXRob2QiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tHZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tHZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Get]] is undefined, desc.[[Get]] refers to an object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHBhcnRpY3VsYXIgQVBJIGV4aXN0cyAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCwgYXMgaGFwcGVucyB0bwogKiBleGlzdCBpbiBhIGJyb3dzZXIgZW52aXJvbm1lbnQpLCBjaGVjayBpZiB0aGUgZm9ybSBvYmplY3RzIGl0IG1ha2VzCiAqIG9iZXkgdGhlIGNvbnN0cmFpbnRzIHRoYXQgZXZlbiBob3N0IG9iamVjdHMgbXVzdCBvYmV5LiBJbiB0aGlzCiAqIGNhc2UsIHRoYXQgaWYgZGVmaW5lUHJvcGVydHkgc2VlbXMgdG8gaGF2ZSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIGEKICogbm9uLWNvbmZpZ3VyYWJsZSBnZXR0ZXIsIHRoYXQgaXQgaXMgc3RpbGwgdGhlcmUuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvUzE1LjIuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEbyBnZXR0ZXJzIG9uIEhUTUxGb3JtRWxlbWVudHMgZGlzYXBwZWFyPwogKi8KCmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9CgppZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJgogICAgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHsKICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKICB2YXIgcmVmdXNlZCA9IGZhbHNlOwogIHRyeSB7CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgJ2ZvbycsIHsKICAgICAgZ2V0OiBnZXR0ZXIsCiAgICAgIHNldDogdm9pZCAwCiAgICB9KTsKICB9IGNhdGNoIChlcnIpIHsKICAgIC8vIEEgaG9zdCBvYmplY3QgbWF5IHJlZnVzZSB0byBpbnN0YWxsIHRoZSBnZXR0ZXIKICAgIHJlZnVzZWQgPSB0cnVlOwogIH0KICBpZiAoIXJlZnVzZWQpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAnZm9vJyk7CiAgICBpZiAoZGVzYy5nZXQgIT09IGdldHRlcikgewogICAgICAkRVJST1IoJ0dldHRlciBvbiBIVE1MRm9ybUVsZW1lbnQgZGlzYXBwZWFycycpOwogICAgfQogIH0KfQo=","commentary":"If a particular API exists (document.createElement, as happens to\nexist in a browser environment), check if the form objects it makes\nobey the constraints that even host objects must obey. In this\ncase, that if defineProperty seems to have successfully installed a\nnon-configurable getter, that it is still there.","description":"Do getters on HTMLFormElements disappear?","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42L1MxNS4yLjMuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBhcHBlYXJzIHRvIGJlCiAqIGFuIG93biBwcm9wZXJ0eS4KICovCgp2YXIgYmFzZSA9IHt9Owp2YXIgZGVyaXZlZCA9IE9iamVjdC5jcmVhdGUoYmFzZSk7CmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAnZm9vJywge2dldDogZ2V0dGVyfSk7CmlmIChkZXJpdmVkLmhhc093blByb3BlcnR5KCdmb28nKSkgewogICRFUlJPUignQWNjZXNzb3IgcHJvcGVydGllcyBpbmhlcml0IGFzIG93biBwcm9wZXJ0aWVzJyk7Cn0KCg==","commentary":"","description":"Checks if an inherited accessor property appears to be\nan own property.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModW5kZWZpbmVkLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG51bGwsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModHJ1ZSwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcygiYWJjIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoMCwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBBcnJheTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Math object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKU09OLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is the JSON object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTENCiAgICAgICAgfTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KICAgICAgICBwcm9wcy5tZXNzYWdlID0gb2JqMTsNCiAgICAgICAgcHJvcHMubmFtZSA9IG9iajE7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgRnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsgICAgICAgIA0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQoJCQkJY29uZmlndXJhYmxlOnRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBvYmoxID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBmYWxzZSk7DQogICAgICAgIHJldHVybiBvYmogPT09IG9iajE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aG9zZSBwcmltaXRpdmUgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Boolean object whose primitive value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW55IGludGVyZXN0aW5nIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgLTEyKTsNCiAgICAgICAgcmV0dXJuIG9iaiA9PT0gb2JqMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3RpbmcgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBOdW1iZXIoLTEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Number object whose primitive value is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBzdHJpbmcgd2hvc2UgdmFsdWUgaXMgYW55IGludGVyZXN0aW5nIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgIiIpOw0KICAgICAgICByZXR1cm4gb2JqID09PSBvYmoxOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a string whose value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3Rpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a String object whose primitive value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsgICAgICANCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - own data property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable inherited data property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - own accessor property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable inherited accessor property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AxIikgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wMiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Boolean object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a Number object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is the Math object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a Date object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a RegExp object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTUNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDE1Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is the JSON object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWU6IDExDQogICAgICAgIH07DQogICAgICAgIHByb3BzLm1lc3NhZ2UgPSBvYmoxOw0KICAgICAgICBwcm9wcy5uYW1lID0gb2JqMTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KDQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTYNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is an Error object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBhcmcpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is the Arguments object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSA3Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Function object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICB2YWx1ZTogOA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGVzY09iaiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gODsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is an Array object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a String object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IE51bWJlcigtMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgYXJncyA9IGZ1bmMoMSwgdHJ1ZSwgImEiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBhcmdzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMzAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9OyANCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyYXkiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGFycg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJpbmciOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiQm9vbGVhbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aCI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkRhdGUiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTiI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkVycm9yIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJnbG9iYWwiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsgdmFsdWU6IDEyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonICBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBTdHJpbmcoImFiYyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbih0cnVlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBOdW1iZXIoMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN5bnRheEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuYygxLCB0cnVlLCAiYSIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gInByZXNlbnQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBudWxsDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOyA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJGdW5jdGlvbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJBcnJheSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogYXJyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmcgT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBzdHINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZyBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiQm9vbGVhbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIk51bWJlciI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiTWF0aCI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkRhdGUiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGRlc2NPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJSZWdFeHAiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiSlNPTiI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkVycm9yIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50cyI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogYXJndW1lbnRzDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnbG9iYWwiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiZ2xvYmFsIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bGwpICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is null) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIGJvb2xlYW4pICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is boolean) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bWJlcikgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogMTIzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is number) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIHN0cmluZykgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogInN0cmluZyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is string) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFwcGxpZWQgdG8gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is applied to Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICJwcm9wIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgIG9iai5kZXNjT2JqID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJkZXNjT2JqIik7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJkZXNjT2JqIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmouZGVzY09iaiA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImRlc2NPYmoiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGZ1biA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHNldEZ1bjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gc2V0RnVuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsgDQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bjsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOyANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW47DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBkZXNjRnVuLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjRnVuKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZnVuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiZnVuRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGFyci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJyKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjU3RyID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgZGVzY1N0ci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY1N0cik7DQogICAgICAgIG9iai5wcm9wID0gInN0ckRhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInN0ckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJib29sZWFuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYm9vbGVhbkRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAibnVtYmVyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAibnVtYmVyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAibWF0aERhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJtYXRoRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZGF0ZURhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gImRhdGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgZGVzY09iai5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY09iaik7DQogICAgICAgIG9iai5wcm9wID0gInJlZ0V4cERhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInJlZ0V4cERhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAiSlNPTkRhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJKU09ORGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgZGVzY09iai5kZXNjcmlwdGlvbiA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubWVzc2FnZSA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubmFtZSA9IHsgdmFsdWU6IDExIH07DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZXJyb3JEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJlcnJvckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH07DQogICAgICAgIHZhciBhcmcgPSBmdW4oKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIGFyZy5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJnKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJnRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJnRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVsbCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgYm9vbGVhbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values boolean (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVtYmVyICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAxMDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values number (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgc3RyaW5nICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAiYWJjZGVmIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values string (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIGludGVyZXN0aW5nIG9iamVjdCBvdGhlciB0aGFuIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is an interesting object other than a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJmdW5EYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJmdW5EYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgInByb3AiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFyZzsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBhcmcuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIGJvb2xlYW4gKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG51bGwgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIDAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICswICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIC0wICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE5hTiAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIG51bWJlciAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a number (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgU3RyaW5nKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgTnVtYmVyKC05KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIHN0cmluZyAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOyANCiAgICAgICAgDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGFyZw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7fQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7IGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmc7DQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgYXJnLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogKzANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IFsxLCAyLCAzXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZXhpc3RpbmcgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyANCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own existing data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGRhdGEgcHJvcGVydHksIHNldmVyYWwgYXR0cmlidXRlcyB2YWx1ZXMgb2YgUCBhbmQgcHJvcGVydGllcyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Get]] and P.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW0dldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is present and properties.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbR2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is undefined and properties.[[Get]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Set]] and P.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW1NldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIHZlcmlmeUdldCA9IChvYmoucHJvcGVydHkgPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2ZXJpZnlTZXQgPSAodHlwZW9mIGRlc2Muc2V0ID09PSAndW5kZWZpbmVkJyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmIHZlcmlmeVNldCAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is present and properties.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbU2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is undefined and properties.[[Set]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmVudW1lcmFibGUgYW5kIHByb3BlcnRpZXMuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlIGFuZCBwcm9wZXJ0aWVzLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIFAgYW5kIHByb3BlcnRpZXMgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYzIodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYWxsIG93biBwcm9wZXJ0aWVzIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcGVydGllcyk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - all own properties (data property and accessor property)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZWFjaCBwcm9wZXJ0aWVzIGFyZSBpbiBsaXN0IG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgYTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BlcnRpZXMpOw0KICAgICAgICByZXR1cm4gKG9ialsiYSJdID09PSAxMDAgJiYgb2JqWyJiIl0gPT09IDIwICYmIG9ialsiYyJdID09PSAyMDApOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - each properties are in list order","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAxIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy52YWx1ZSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgJiYgIWRlc2MuZW51bWVyYWJsZSAmJiAhZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMSB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLnZhbHVlID09PSAzICYmDQogICAgICAgICAgICAgICAgZGVzYy53cml0YWJsZSAmJiAhZGVzYy5lbnVtZXJhYmxlICYmICFkZXNjLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50ICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsgbGVuZ3RoOiB7fSB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJyLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcnIubGVuZ3RoID09PSAyKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnIubGVuZ3RoOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgc2FtZSB3aXRoIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKGFyci5sZW5ndGggPT09IDApOw0KDQogICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgYXJyLmxlbmd0aDsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IGVudW1lcmFibGU6IHRydWUgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7IA0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB3cml0YWJsZTogdHJ1ZSB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZ1biwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmdW4sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGZ1biwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is a Function object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gdHJ1ZSB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHdyaXRhYmxlOiBmYWxzZSB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgImxlbmd0aCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogdW5kZWZpbmVkIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3Qgc2V0dGluZyB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB0byBudWxsIGFjdHVhbGwgaXMgc2V0IHRvIDAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogbnVsbCB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test setting the [[Value]] field of 'desc' to null actuall is set to 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgZmFsc2UgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogZmFsc2UgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsgdmFsdWU6IHRydWUgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAwIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogKzAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogLTAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMTIgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtOQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgK0luZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLUluZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgTmFOICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIjIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIyRTMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMkUzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBoZXggbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc3RyLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChzdHIsICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a String object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBsZWFkaW5nIHplcm8gbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an leading zero number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgd2hpY2ggZG9lc24ndCBjb252ZXJ0IHRvIGEgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiAhdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdXNpbmcgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWMgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmICF2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test using inherited valueOf method when the [[Value]] field of 'desc' is an Objec with an own toString and inherited valueOf methods (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMjMuNQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtNDI5NDk2NzI5NC41DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Boolean object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDEgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Ng0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTcNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSA1ICYmIGFyclswXSA9PT0gMCAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzJdID09PSAyOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is greater than value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09IDAgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclsyXSA9PT0gMjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which equals to value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRoIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAxICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is less than value of the length property is defined into 'O' with deleting properties with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGdyZWF0ZXIgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGVxdWFscyB0byB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciB3b3VsZG4ndCBiZSB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test TypeError wouldn't be thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Number object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAxMCAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyci5sZW5ndGggPT09IDEwICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgIHJldHVybiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyLmxlbmd0aCA9PT0gMSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIHNldCBhcyB0cnVlIGJlZm9yZSBkZWxldGluZyBwcm9wZXJ0aWVzIHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgKDE1LjQuNS4xIHN0ZXAgMy5pLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciByZXN1bHQgPSAwOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property in 'O' is set as true before deleting properties with large index named (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGRlY3JlYXNlZCBieSAxICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMiIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the length property is decreased by 1 (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOyAvL3dlIGFyZSBub3QgYWxsb3dlZCB0byBzZXQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDEgJiYgQXJyYXkucHJvdG90eXBlWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgTWF0aC5wcm9wID09PSAxMTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTWF0aCwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgTWF0aC5wcm9wID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is the Math object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbid0IHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIC8vd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNldCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgIjEiIHRvIGZhbHNlIGhlcmUsIHNpbmNlIEFycmF5LnByb3RvdHlwZSBpcyBhIGdsb2JhbCBvYmplY3QsIGFuZCBub24tY29uZmlndXJiYWxlIHByb3BlcnR5IGNhbid0IHJldmVydCB0byBjb25maWd1cmFibGUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBBcnJheS5wcm90b3R5cGVbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYNCiAgICAgICAgICAgICAgICBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAxICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBjYW4gYmUgZGVsZXRlZCAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' can be deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0aGUgbGFzdCBub24tY29uZmlndXJhYmxlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBwbHVzIDEgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpaS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChhcnIubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test value of the length property is set to the last non-configurable index named property of 'O' plus 1 (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBjb250YWlucyBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubC5paWkuMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPT09IDIgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' contains non-configurable large index named property (15.4.5.1 step 3.l.iii.2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBkb2Vzbid0IGNvbnRhaW4gbm9uLWNvbmZpZ3VyYWJsZSBsYXJnZSBpbmRleCBuYW1lZCBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCAzLm0pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBhdmFpbGFibGUgU3RyaW5nIHZhbHVlcyB0aGF0IGNvbnZlcnQgdG8gbnVtYmVycyAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTQiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Date object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTUiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5NV0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NiI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmIGFycls0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTciOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UsIHZhbHVlIG9mICdQJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbidPJyAgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxICYmIGFyclsxXSA9PT0gImFiYyIgJiYgYXJyWzJdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property, [[Writable]] attribute of the length property in 'O' is false, value of 'P' is less than value of the length property in'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgZXF1YWwgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyclsxXSA9PT0gMiAmJiBhcnJbMl0gPT09IDMgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMyIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is equal to value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgYmlnZ2VyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICI0Ijogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEgJiYgYXJyWzFdID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyWzJdID09PSAzICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjMiKSAmJiAhYXJyLmhhc093blByb3BlcnR5KCI0Iik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is bigger than value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHR5cGVvZiBhcnJbMF0gPT09ICJ1bmRlZmluZWQiICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEyICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is a RegExp object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ08nIGlzIG5vdCBleHRlbnNpYmxlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJyKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCAnUCcgaXMgZGVmaW5lZCBhcyBkYXRhIHByb3BlcnR5IHdoZW4gJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1ZhbHVlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIFtbVmFsdWVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgdHlwZW9mIChhcnJbMF0pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Value]] of 'P' property in 'Attributes' is set as undefined value if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgW1tXcml0YWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgaXNPd25Qcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTI7DQoNCiAgICAgICAgY2FuV3JpdGFibGUgPSAoYXJyWzBdID09PSAxMik7DQoNCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbldyaXRhYmxlICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Writable]] of 'P' property in 'Attributes' is set as false value if [[Writable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGlzT3duUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgdmFyIGNhbkVudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIGZvciAodmFyIGkgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoaSA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbkVudW1lcmFibGUgJiYgYXJyWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gZmFsc2U7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYmVmb3JlRGVsZXRlZCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICBkZWxldGUgYXJyWzBdOw0KICAgICAgICBhZnRlckRlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gMTE7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhKU09OLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBKU09OLnByb3AgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a JSON object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxXTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2YgKGFyclswXSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Get]] of 'P' property in 'Attributes' is set as undefined value if [[Get]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW1NldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnIsICIwIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYNCiAgICAgICAgICAgIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Set]] of 'P' property in 'Attributes' is set as undefined value if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gZmFsc2U7DQogICAgICAgIGFyci52ZXJpZnlTZXR0ZXIgPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBhcnIudmVyaWZ5U2V0dGVyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFyci52ZXJpZnlTZXR0ZXI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGJlZm9yZURlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgZGVsZXRlIGFyclswXTsNCiAgICAgICAgYWZ0ZXJEZWxldGVkID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTAxOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBhcnJbMF0gPT09IDEwMSAmJiBhcnIudmVyaWZ5U2V0dGVyID09PSAxMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjoge30NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7DQogICAgICAgICAgICAiMCI6IGRlc2NPYmoNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIGRlc2NPYmopOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Error object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdW5kZWZpbmVkICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgbnVsbCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgTmFOICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBOYU4sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzICswLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIC0wICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIC0wLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIC0wLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzICswICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggc2FtZSB2YXVsZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG9iajENCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is the Arguments object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSAgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIFtbRW51bWVyYWJsZV1dIG9mICdkZXNjJyBpcyBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgICdQJyBpcyBkYXRhIHByb3BlcnR5LCBhbmQnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGRhdGEgcHJvcGVydHkgdG8gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxXSA9IDM7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGFjY2Vzc29yIHByb3BlcnR5IHRvIGRhdGEgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSBhbmQgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdHJ1ZS4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false and the [[Writable]] field of 'desc' is true. (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyAtMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'P' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyArMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'P' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YXVsZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two numbers with different vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImVmZ2giDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmbkdsb2JhbE9iamVjdCgpLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIDEyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is the global object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIG9iajEgPSB7IHZhbHVlOiAxMiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgdmFsdWU6IDM2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBvYmoxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gb2JqZWN0IGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHVuZGVmaW5lZCAgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCAgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJydPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is not thrown if ''O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDM2LCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBmcm9tIHVuZGVmaW5lZCB0byBub3JtYWwgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbdW5kZWZpbmVkXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' from undefined to normal value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuICdPJyBpcyBub3QgZXh0ZW5zaWJsZSAoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTAwXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMDAsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTIsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAzNiwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgJ1AnIGlzIGRlZmluZWQgYXMgZGF0YSBwcm9wZXJ0eSB3aGVuICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJ3cml0YWJsZSIpICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJjb25maWd1cmFibGUiKSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1biwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGNoYW5nZWQgaWYgVG9VaW50MzIoJ1AnKSBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjYNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmIGFyclsxXSA9PT0gMjY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is not changed if ToUint32('P') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDI2DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNCAmJiBhcnJbM10gPT09IDI2Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICI1Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyNg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDYgJiYgYXJyWzVdID09PSAyNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIHRydWUsIHRydWUsIHRydWUpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIGdldF9mdW4sIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmDQogICAgICAgICAgICBhcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnZlcmlmeVNldEZ1biA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCBnZXRfZnVuLCBzZXRfZnVuLCAidmVyaWZ5U2V0RnVuIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5wcm9wZXJ0eSA9IDEyOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tWYWx1ZV1dIG9mICdQJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiY29uZmlndXJhYmxlIikgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Value]] of 'P' is set as undefined value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIHVud3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is defined as unwritable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0nTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties -'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM3Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW4sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgZ2V0X2Z1biwgc2V0X2Z1biwgInZlcmlmeVNldEZ1biIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMTAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZGVsZXRlIGFyZ1swXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tXcml0YWJsZV1dIG9mICdQJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Writable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9ICgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmcsICIwIik7DQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZ2V0X2Z1bmMyICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hvc2Ugd3JpdGFibGUgYW5kIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGVzIGFyZSBmYWxzZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' whose writable and configurable attributes are false (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7IA0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0gKDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5nZXQgPT09IGdldF9mdW5jMSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZywgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MuZ2V0ID09PSBnZXRfZnVuYyAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogeyB2YWx1ZTogMTAwMX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsgdmFsdWU6IDEwMDEgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7ICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcudGVzdEdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'desc' is data descriptor, test setting all attribute values of 'P' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ2ZXJpZnlTZXRGdW4iLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFyZy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW4sICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1biwgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgJ25hbWUnIGlzIGRlbGV0ZWQgaWYgJ25hbWUnIGlzIGNvbmZpZ3VyYWJsZSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJnWzBdID09PSAxMiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yIHdpdGhvdXQgYW55IGF0dHJpYnV0ZSwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnb2JqJyB3aXRoIGFsbCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgcHJvcDoge30gfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'desc' is generic descriptor without any attribute, test 'P' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tHZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCB1bmRlZmluZWQsIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Get]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tTZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7IA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Set]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'desc' is accessor descriptor, test setting all attribute values of 'P' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBleGlzdHMgaW4gJ08nIGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0ZXN0ICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciB3aXRob3V0IGFueSBhdHRyaWJ1dGUgKDguMTIuOSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' exists in 'O' is an accessor property, test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZXhpc3RzIGluICdPJywgdGVzdCAnUCcgbWFrZXMgbm8gY2hhbmdlIGlmICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' exists in 'O', test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHdpdGggJ1AnICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciBhbmQgZXZlcnkgZmllbGRzIGluICdkZXNjJyBpcyB0aGUgc2FtZSB3aXRoICdQJyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB0eXBlIG9mIGRlc2MudmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBQLnZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIxMDIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgIjEwMiIsIHRydWUsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - type of desc.value is different from type of P.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IHVuZGVmaW5lZCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIG51bGwgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiBudWxsIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.value and P.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE5hTiAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IE5hTiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IG9iai5mb28gIT09IG9iai5mb28gJiYgaXNOYU4ob2JqLmZvbyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5Q29uZmlndXJhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogLTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value is +0 and P.value is -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzIC0wIGFuZCBQLnZhbHVlIGlzICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogKzAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyANCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value is -0 and P.value is +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6ICJhYmNkIiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.value and P.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAiYWJjZCI7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJmZ2hqIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJmZ2hqIiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value and P.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.value and P.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSB0cnVlOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value and P.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE9qYmVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgT2JqZWN0ICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogb2JqMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgb2JqLmZvbyA9IG9iajE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2Mud3JpdGFibGUgYW5kIFAud3JpdGFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHdyaXRhYmxlOiBmYWxzZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.writable and P.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLndyaXRhYmxlIGFuZCBQLndyaXRhYmxlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.writable and P.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X0Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCiAgICAgICAgcmV0dXJuIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlWYWx1ZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbR2V0XV0gYW5kIFAuW1tHZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IChvYmouZm9vID09PSAyMCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuZ2V0ID09PSBnZXRfRnVuYzI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.[[Get]] and P.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.[[Set]] and P.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuZW51bWVyYWJsZSBhbmQgUC5lbnVtZXJhYmxlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.enumerable and P.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmVudW1lcmFibGUgYW5kIFAuZW51bWVyYWJsZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.enumerable and P.enumerable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuY29uZmlndXJhYmxlIGFuZCBQLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.configurable and P.configurable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmNvbmZpZ3VyYWJsZSBhbmQgUC5jb25maWd1cmFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.configurable and P.configurable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSBpcyB0cnVlICg4LjEyLjkgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false and desc.configurable is true (8.12.9 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuZW51bWVyYWJsZSBhbmQgZGVzYy5lbnVtZXJhYmxlIGhhcyBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBoYXMgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJg0KICAgICAgICAgICAgICAgIHZlcmlmeVZhbHVlICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBkZXNjLmdldCA9PT0gZ2V0X0Z1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P is accessor property and P.configurable is false, desc is data property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, desc is accessor property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSwgZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAob2JqLmZvbyA9PT0gMjApOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property and P.configurable is true, desc is accessor property (8.12.9 step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlLCAnZGVzYycgaW4gJ1Byb3BlcnRpZXMnIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is accessor property and P.configurable is true, 'desc' in 'Properties' is data property (8.12.9 step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFibGUgaXMgZmFsc2UsIGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIGRlc2Mud3JpdGFibGUgaXMgdHJ1ZSAoOC4xMi45IHN0ZXAgMTAuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when 'P' is data property and P.configurable is false, P.writable is false, desc is data property and desc.writable is true (8.12.9 step 10.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgYW5kICBkZXNjLnZhbHVlIGlzIG5vdCBlcXVhbCB0byBQLnZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, P.writable is false, desc is data property and desc.value is not equal to P.value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIHVuZGVmaW5lZCBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is undefined and properties.value is undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIG51bGwgYW5kIHByb3BlcnRpZXMudmFsdWUgaXMgbnVsbCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG51bGwsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is null and properties.value is null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIE5hTiBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyBOYU4gKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSBvYmouZm9vICE9PSBvYmouZm9vICYmIGlzTmFOKG9iai5mb28pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is NaN and properties.value is NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogLTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogKzAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJkZWZnIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIE9iamVjdHMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IHdoaWNoIGhhcyBiZWVuIHVwZGF0ZWQgYmVmb3JlIHVzZSBpdCB0byB1cGRhdGUgdGhlIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IG9iajE7DQogICAgICAgIG9iajIueSA9ICJoZWxsbyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object which has been updated before use it to update the object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogb2JqMSwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gb2JqZWN0cyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG9iajEsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two objects with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgYm90aCBwcm9wZXJ0aWVzLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IGFuZCB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQgYWZ0ZXIgZGVmaW5lZCg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wMSA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object and the object has been updated after defined(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMigpIHt9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jMSwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to different objects (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbU2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9GdW5jKCkgeyB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9GdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Set]] is undefined, properties.[[Set]] refers to an objcet (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tTZXRdXSBhbmQgcHJvcGVydGllcy5bW1NldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Set]] and properties.[[Set]] are undefined (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMSwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to different objects (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbR2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Get]] is undefined, properties.[[Get]] refers to an objcet (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYnV0IG5vdCB3aGVuIGJvdGggYXJlIGZhbHNlICg4LjEyLjkgLSBzdGVwIE5vdGUgJiAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcHJvcGVydHkxOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDA0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of named data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSBidXQgbm90IHdoZW4gYm90aCBhcmUgZmFsc2UgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of indexed data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBmaXJzdCB1cGRhdGluZyBwcm9wZXJ0eSBpcyBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of named data property 'P' when [[Configurable]] attribute of first updating property is false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGZpcnN0IHVwZGF0aW5nIHByb3BlcnR5IGFyZSBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of indexed data property 'P' when [[Configurable]] attribute of first updating property are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tHZXRdXSBhbmQgcHJvcGVydGllcy5bW0dldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Get]] and properties.[[Get]] are undefined (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value and P.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC52YWx1ZSBpcyBwcmVzZW50IGFuZCBwcm9wZXJ0aWVzLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.value is present and properties.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBpcyBwcmVzZW50IGFuZCBQLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value is present and P.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC53cml0YWJsZSBhbmQgcHJvcGVydGllcy53cml0YWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.writable and properties.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5lbnVtZXJhYmxlIGFuZCBwcm9wZXJ0aWVzLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSBhbmQgcHJvcGVydGllcy5jb25maWd1cmFibGUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAyMDAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3Quc2VhbDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3Quc2VhbC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwoZmFsc2UpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal throws TypeError if type of first param is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCgiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is a string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnNlYWwoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBleHRlbnNpYmxlIG9mICdPJyBpcyBzZXQgYXMgZmFsc2UgZXZlbiBpZiAnTycgaGFzIG5vIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoY2hpbGQpOw0KICAgICAgICBPYmplY3Quc2VhbChjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - inherited data properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydGllcyBhcmUgaWdub3JlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - inherited accessor properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBub24tZW51bWVyYWJsZSBvd24gcHJvcGVydHkgb2YgJ08nIGlzIHNlYWxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiBhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - non-enumerable own property of 'O' is sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGJvb2xPYmopOw0KDQogICAgICAgIGRlbGV0ZSBib29sT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJvb2xPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Boolean object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTEpOw0KDQogICAgICAgIG51bU9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3Quc2VhbChudW1PYmopOw0KDQogICAgICAgIGRlbGV0ZSBudW1PYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgbnVtT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of a Number object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChkYXRlT2JqKTsNCg0KICAgICAgICBkZWxldGUgZGF0ZU9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBkYXRlT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of a Date object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUocmVnT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwocmVnT2JqKTsNCg0KICAgICAgICBkZWxldGUgcmVnT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIHJlZ09iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of a RegExp object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIGRlbGV0ZSBlcnJPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZXJyT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of an Error object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChhcmdPYmopOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYXJnT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of an Arguments object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHsgZm9vOiAwIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGZ1bk9iaik7DQoNCiAgICAgICAgZGVsZXRlIGZ1bk9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBmdW5PYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyck9iaik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBhcnJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHN0ck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHN0ck9iaik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBzdHJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a String object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGZyb20gdHJ1ZSB0byBmYWxzZSBhbmQgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own data property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGlzIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSB1bmFsdGVyZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSAiZGF0YSI7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own accessor property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIHByb3BlcnRpZXMgb2YgJ08nIGFyZSBzZXQgZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9wZXJ0eSBhcmUgdW5hbHRlcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - the [[Configurable]] attribute of all own properties of 'O' are set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIGFscmVhZHkgbm9uLWNvbmZpZ3VyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - all own properties of 'O' are already non-configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW4pOw0KICAgICAgICBPYmplY3Quc2VhbChmdW4pOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZnVuKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYXJyKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKGFycik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKHN0ck9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChib29sT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG51bU9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChudW1PYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGRhdGVPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZGF0ZU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChyZWdPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZXJyT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChhcmdPYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSByZXR1cm5lZCBvYmplY3QgaXMgbm90IGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgc2VhbGVkIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgZnJvemVuIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSB0aGUgZXh0ZW5zaW9uIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - the extension of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5mcmVlemU7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5mcmVlemUubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKGZhbHNlKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKHRydWUpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSgwKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGV4dGVuc2libGUgb2YgJ08nIGlzIHNldCBhcyBmYWxzZSBldmVuIGlmICdPJyBoYXMgbm8gb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBkYXRhIHByb3BlcnRpZXMgYXJlIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - inherited data properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0aWVzIGFyZSBub3QgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - inherited accessor properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIE5vbi1lbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - Non-enumerable own properties of 'O' are frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gbmFtZWQgcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBhcnJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own named property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIEFyZ3VtZW50cyBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICIwIjogdHJ1ZQ0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcmdPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmdPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyZ09ialswXTsNCiAgICAgICAgcmV0dXJuIGFyZ09ialswXSA9PT0gMSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of the Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiMCIpOw0KDQogICAgICAgIGRlbGV0ZSBzdHJPYmpbMF07DQogICAgICAgIHJldHVybiBzdHJPYmpbMF0gPT09ICJhIiAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of a String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICByZXR1cm4gb2JqWzBdID09PSAwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own index property of the Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgIjAiOiB0cnVlDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9ialswXTsNCiAgICAgICAgcmV0dXJuIGFyck9ialswXSA9PT0gMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGZvbzogMCB9OyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgY2hpbGQuZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8uZm9vID0gMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiBhbiBBcmd1bWVudHMgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ09iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gYXJnT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own named property of an Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiB0aGUgU3RyaW5nIG9iamVjdCB0aGF0IGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBzdHJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own named property of the String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZ1bk9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBmdW5PYmouZm9vOw0KICAgICAgICByZXR1cm4gZnVuT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own property of the Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIHNldCB0byBmYWxzZSB3aGlsZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSB1bmNoYW5nZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzEiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28yIik7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzEiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHRTZXRGdW4gPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbyA9PT0gMTApOw0KICAgICAgICBvYmouZm9vID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own accessor property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFsbCBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vMjsNCiAgICAgICAgdmFyIHJlczIgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbzIiKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbzIgPT09IDEwKTsNCiAgICAgICAgb2JqLmZvbzIgPSAxMjsNCg0KICAgICAgICB2YXIgcmVzdWx0RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb28yIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28xIik7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMiIpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRDb25maWd1cmFibGUgJiYgcmVzdWx0RW51bWVyYWJsZSAmJiByZXN1bHRHZXRGdW4gJiYgcmVzdWx0U2V0RnVuOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgcmVzdWx0ICYmDQogICAgICAgICAgICBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgew0KICAgICAgICAgICAgcmVzdWx0U2V0RnVuID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgcmVzMSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vMiIpOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzI7DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIHZhciByZXN1bHRDb25maWd1cmFibGUgPSAocmVzMSAmJiByZXMyKTsNCg0KICAgICAgICB2YXIgcmVzdWx0R2V0RnVuID0gKG9iai5mb28yID09PSAxMCk7DQogICAgICAgIG9iai5mb28yID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vMiIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHRFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMSIpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzIiKTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpICYmDQogICAgICAgICAgICByZXN1bHQgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - all own properties of 'O' are not writable and not configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihmdW5PYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYXJyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShzdHJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oc3RyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYm9vbE9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUobnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG51bU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShkYXRlT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGRhdGVPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShyZWdPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ocmVnT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihlcnJPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0gKCkpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJnT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGFyZ09iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHJldHVybmVkIG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBzZWFsZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBmcm96ZW4gYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHRoZSBleHRlbnNpb25zIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - the extensions of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3InKTsKfQoK","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Checking the Object.prototype.constructor","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nICJuZXcgT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIGNvbnN0ciA9IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Cgp2YXIgb2JqID0gbmV3IGNvbnN0cjsKCi8vIENIRUNLIzAKaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogbmV3IE9iamVjdCgpIHJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBuYXRpdmUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMzCnZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ09iamVjdCcgKyddJzsKaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiT2JqZWN0Ii4nKTsKfQoKLy8gQ0hFQ0sjNAppZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgo=","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Creating \"new Object.prototype.constructor\" and checking its properties","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyBPYmplY3QucHJvdG90eXBlLnByb3RvdHlwZSBmYWlscwogKi8KCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBPYmplY3QgcHJvdG90eXBlIGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCg==","commentary":"Object prototype object has not prototype","description":"Checking if obtaining Object.prototype.prototype fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFNpbmNlIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZSwgZGVsZXRlZCB0b1N0cmluZyBtZXRob2QgY2FuIG5vdCBiZSBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KICovCgovL0NIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSA9PSBmYWxzZSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCmRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8gQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKTsKICAkRVJST1IoJyMyOiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4xOiBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCgo=","commentary":"Object prototype object has not prototype","description":"Since the Object prototype object has not prototype, deleted toString method can not be found in prototype chain","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyAiT2JqZWN0IgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIEdldHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW0NsYXNzXV0gcHJvcGVydHkgd2l0aCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgZnVuY3Rpb24KICovCgp2YXIgdG9zdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCk7CgovL0NIRUNLIzEKaWYgKHRvc3RyICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IG9mIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzICJPYmplY3QiJyk7Cn0KCg==","commentary":"The value of the internal [[Class]] property of Object prototype object is \"Object\"","description":"Getting the value of the internal [[Class]] property with Object.prototype.toString() function","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjYWxsXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvUzE1LjIuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY2FsbGluZyBPYmplY3QgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICBPYmplY3QucHJvdG90eXBlKCk7CiAgJEZBSUwoJyMxOiBTaW5jZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyBub3QgZnVuY3Rpb24gaXQgaGFzIG5vdCBbW2NhbGxdXSBtZXRob2QnKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"Since the Object prototype object is not a function, it has not [[call]] method","description":"Checking if calling Object prototype as a function fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjcmVhdGVdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgT2JqZWN0LnByb3RvdHlwZTsKICAkRkFJTCgnIzE6IFNpbmNlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Since the Object prototype object is not a function, it has not [[create]] method","description":"Checking if creating \"new Object.prototype\" fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1bmRlZmluZWQpID09PSAiW29iamVjdCBVbmRlZmluZWRdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkodW5kZWZpbmVkLCBbXSkgPT09ICJbb2JqZWN0IFVuZGVmaW5lZF0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bGwpID09PSAiW29iamVjdCBOdWxsXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShudWxsLCBbXSkgPT09ICJbb2JqZWN0IE51bGxdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgY2FsbGVkLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QKICogaWkpIENvbXB1dGUgYSBzdHJpbmcgdmFsdWUgYnkgY29uY2F0ZW5hdGluZyB0aGUgdGhyZWUgc3RyaW5ncyAiW29iamVjdCAiLCBSZXN1bHQoMSksIGFuZCAiXSIKICogaWlpKSBSZXR1cm4gUmVzdWx0KDIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpICE9PSJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogcmV0dXJuIGEgc3RyaW5nIHZhbHVlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHRocmVlIHN0cmluZ3MgIltvYmplY3QgIiwgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdCwgYW5kICJdIicpOwp9CgovL0NIRUNLIzMKaWYgKHt9LnRvU3RyaW5nKCkhPT0iW29iamVjdCAiKyJPYmplY3QiKyJdIikgewogICRFUlJPUignIzM6IHJldHVybiBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzICJbb2JqZWN0ICIsIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QsIGFuZCAiXSInKTsKfQoK","commentary":"When the toString method is called, the following steps are taken:\ni) Get the [[Class]] property of this object\nii) Compute a string value by concatenating the three strings \"[object \", Result(1), and \"]\"\niii) Return Result(2)","description":"Checking the type of Object.prototype.toString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toString method is 0","description":"Checking the Object.prototype.toString.length property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLgogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKSAhPT0gIltvYmplY3QgVW5kZWZpbmVkXSIpIHsKICAkRVJST1IoJ0lmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is undefined, return \"[object Undefined]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIG51bGwsIHJldHVybiAiW29iamVjdCBOdWxsXSIuCiAqLwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKSAhPT0gIltvYmplY3QgTnVsbF0iKSB7CiAgJEVSUk9SKCdJZiB0aGUgdGhpcyB2YWx1ZSBpcyBudWxsLCByZXR1cm4gIltvYmplY3QgTnVsbF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is null, return \"[object Null]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKDMzKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRydWUpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCdmb28nKSAhPT0gIltvYmplY3QgU3RyaW5nXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"Object.prototype.toString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHZhciBwIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvTG9jYWxlU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMxOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoe30udG9Mb2NhbGVTdHJpbmcoKSE9PXt9LnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMyOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCg==","commentary":"toLocaleString function returns the result of calling toString()","description":"Checking the type of Object.prototype.toLocaleString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.toLocaleString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toLocaleString method is 0","description":"Checking the Object.prototype.toLocaleString.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVuZGVmaW5lZCk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKG51bGwpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toLocaleString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toLocaleString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.toLocaleString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toLocaleString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toLocaleString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.valueOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB2YWx1ZU9mIG1ldGhvZCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9Cgo=","commentary":"The length property of the valueOf method is 0","description":"Checking the Object.prototype.valueOf.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwobnVsbCk7Cgo=","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKKDEsT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSgpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIHdoZW4gY2FsbGVkIGFzIGEgZ2xvYmFsIGZ1bmN0aW9uLgogKiBAbmVnYXRpdmUKICovCgp2YXIgdiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKdigpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf when called as a global function.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgxLjEpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0xLjEpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a number","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QodHJ1ZSk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PXRydWUpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a boolean","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgiZ3JlZW5maWVsZCIpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0iZ3JlZW5maWVsZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a string","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3Q7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is an object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgIm51bGwiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QobnVsbCk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"null\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"undefined\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInZvaWQgMCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh2b2lkIDApOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"void 0\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC9TMTUuMi40LjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.valueOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.valueOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.valueOf can't be used as a constructor","description":"Checking if creating \"new Object.prototype.valueOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja25pZyBpZiBkZWxldGluZyBvZiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.valueOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9PYmplY3QgbWV0aG9kIGlzIDEnKTsKfQoK","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5ICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImhhc093blByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Checking type of the Object.prototype.hasOwnProperty and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSkgewogICRFUlJPUignIzM6IGhhc093blByb3BlcnR5IG1ldGhvZCB3b3JrcyBwcm9wZXJseScpOwp9CgovL0NIRUNLIzQKaWYgKCEob2JqLmhhc093blByb3BlcnR5KCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyM0OiBoYXNPd25Qcm9wZXJ0eSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQovLwoK","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QKICovCgp2YXIgRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLmFwcm9wZXJ0eSA9IDE7Cn07Cgp2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKGluc3RhbmNlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpKSB7CiAgJEVSUk9SKCcjMzogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgiYXByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCgo=","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom property of a function object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjUvUzE1LjIuNC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.hasOwnProperty has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.hasOwnProperty fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.hasOwnProperty can't be used as a constructor","description":"Checking if creating \"new Object.prototype.hasOwnProperty\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBpc1Byb3RvdHlwZU9mIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudCBWIGFuZCB3aGVuIE8gYW5kCiAqIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyB0d28gb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIFVTRVJfRkFDVE9SWSggbmFtZSApIHsKICB0aGlzLm5hbWUgPSBuYW1lOwogIHRoaXMuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBuYW1lO307Cn0KCgpmdW5jdGlvbiBGT1JDRURVU0VSX0ZBQ1RPUlkoIG5hbWUsIGdyYWRlICkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmdyYWRlID0gZ3JhZGU7CiAgdGhpcy5nZXRHcmFkZT1mdW5jdGlvbigpe3JldHVybiBncmFkZTt9Owp9Cgp2YXIgcHJvdG8gPSBuZXcgVVNFUl9GQUNUT1JZKCJub25hbWUiKTsKCkZPUkNFRFVTRVJfRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBsdWtlID0gbmV3IEZPUkNFRFVTRVJfRkFDVE9SWSgiTHVrZSBTa3l3YWxrZXIiLCAxMik7Ci8vLy8vLwovLyBDSEVDSyMxCmlmKHByb3RvLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRQUklOVCgnIzE6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfSBlbHNlIHsKICAkRVJST1IoJyMxOiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uJyk7Cn0KLy8KLy8vLy8vLy8vCi8vLy8vLwovLyBDSEVDSyMyCmlmKFVTRVJfRkFDVE9SWS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihsdWtlKSl7CiAgJFBSSU5UKCcjMjogTmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0cyBoYXZlIGFuIGludGVybmFsIHByb3BlcnR5IGNhbGxlZCBbW1Byb3RvdHlwZV1dLicpOwp9IGVsc2UgewogICRFUlJPUignIzI6IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KLy8vLy8vCi8vIENIRUNLIzMKaWYoTnVtYmVyLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRFUlJPUignIzI6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KCg==","commentary":"When the isPrototypeOf method is called with argument V and when O and\nV refer to the same object or to objects joined to each other, return true","description":"Creating two objects with the same prototype","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9Cgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.isPrototypeOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwodW5kZWZpbmVkLCB7fSk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwge30pOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNi9TMTUuMi40LjZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.isPrototypeOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.isPrototypeOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyBuZXcgIk9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.isPrototypeOf can't be used as a constructor","description":"Checking if creating new \"Object.prototype.isPrototypeOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontEnum","description":"Checknig if enumerating the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWxldGluZyB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontDelete","description":"Checking deleting the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCg==","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.propertyIsEnumerable.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the value of Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyB0aGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGZvciBvYmplY3QgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgcHJvdG89e3Jvb3Rwcm9wOiJhdmlzIn07CgpmdW5jdGlvbiBBVklTRkFDVE9SWShuYW1lKXt0aGlzLm5hbWU9bmFtZX07CgpBVklTRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBzZWFndWxsPSBuZXcgQVZJU0ZBQ1RPUlkoInNlYWd1bGwiKTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoIm5hbWUiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CmlmIChzZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJyb290cHJvcCIpKSB7CiAgJEVSUk9SKCcjNDogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbicpOwp9Ci8vCgo=","commentary":"The propertyIsEnumerable method does not consider objects in the prototype chain","description":"Calling the propertyIsEnumerable method for object in the prototype chain","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB0eXBlIG9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Checking the type of Object.prototype.propertyIsEnumerable and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHByb3BlcnR5SXNFbnVtZXJhYmxlIG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKCEob2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CnZhciBhY2N1bT0iIjsKZm9yKHZhciBwcm9wIGluIG9iaikgewogIGFjY3VtKz1wcm9wOwp9CmlmIChhY2N1bS5pbmRleE9mKCJ0aGVfcHJvcGVydHkiKSE9PTApIHsKICAkRVJST1IoJyM0OiBlbnVtZXJhdGluZyB3b3JrcyBwcm9wZXJseScpOwp9Ci8vCgo=","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Argument of the propertyIsEnumerable method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjcvUzE1LjIuNC43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.propertyIsEnumerable has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.propertyIsEnumerable fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.propertyIsEnumerable can't be used as a constructor","description":"Checking if creating \"new Object.prototype.propertyIsEnumerable\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQovLwoK","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBGdW5jdGlvbijigKYpIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uCiAqIG5ldyBGdW5jdGlvbijigKYpIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLgogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHNpbXBsZSBmdW5jdGlvbnMgYW5kIGNoZWNrIHJldHVybmVkIHZhbHVlcwogKi8KCnZhciBmID0gRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMTogZiBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGYoMSkgIT09IDEnKTsKfQoKdmFyIGcgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgoKLy9DSEVDSyMzCmlmICghKGcgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBnIGluc3RhbmNlb2YgRnVuY3Rpb24nKTsKfQoKLy9DSEVDSyM0CmlmIChnKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzQ6IGcoIkEiKSAhPT0gIkEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZygiQSIpICE9PSBmKCJBIikpIHsKICAkRVJST1IoJyM1OiBnKCJBIikgIT09IGYoIkEiKScpOwp9Cgo=","commentary":"The function call Function(\u2026) is equivalent to the object creation expression\nnew Function(\u2026) with the same arguments.","description":"Create simple functions and check returned values","path":"TestCases/ch15/15.3/S15.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy9TMTUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBGdW5jdGlvbiB3aXRoIHRoaXMuRnVuY3Rpb24KICovCgp2YXIgb2JqID0gRnVuY3Rpb247Cgp2YXIgdGhpc29iaiA9IHRoaXMuRnVuY3Rpb247CgppZiAob2JqICE9PSB0aGlzb2JqKSB7CiAgJEVSUk9SKCdGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsJyk7Cn0KCg==","commentary":"Function is the property of global","description":"Compare Function with this.Function","path":"TestCases/ch15/15.3/S15.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyIHggLyA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var x / = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyICN4ICA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var #x = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBvYmplY3QKICovCgovL0NIRUNLIzEgLSBkb2VzIG5vdCB0aHJvdwp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInJldHVybiBuYW1lOyIpOwp2YXIgbWFycz17bmFtZToibWFycyIsIGNvbG9yOiJyZWQiLCBudW1iZXI6NH07Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInRoaXMuZ29kbmFtZT1cImFyZXNcIjsgcmV0dXJuIHRoaXMuY29sb3I7Iik7Cgp2YXIgYWJvdXRfbWFycyA9IGYoKTsKCi8vQ0hFQ0sjMgppZiAoYWJvdXRfbWFycyAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpcy5nb2RuYW1lICE9PSAiYXJlcyIgJiYgbWFycy5nb2RuYW1lPT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is object","path":"TestCases/ch15/15.3/S15.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBzdHJpbmcgYW5kIG51bGwKICovCgp0aGlzLmNvbG9yPSJyZWQiOwp2YXIgbmFtZT0ibWFycyI7Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwoImJsYWJsYXN0cmluZyIsICJyZXR1cm4gdGhpcy5jb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpICE9PSAicmVkIikgewogICRFUlJPUignIzE6ICcpOwp9Cgp2YXIgZyA9IEZ1bmN0aW9uLmNhbGwobnVsbCwgInJldHVybiB0aGlzLm5hbWU7Iik7CgovL0NIRUNLIzIKaWYgKGcoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCgo=","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is string and null","path":"TestCases/ch15/15.3/S15.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBjb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0KCnZhciBwbGFuZXQ9Im1hcnMiOwoKLy9DSEVDSyMyCmlmIChmKCkgIT09ICJtYXJzIikgewogICRFUlJPUignIzI6ICcpOwp9CgovL0NIRUNLIzMKdHJ5ewogIGcoKTsKICAkRVJST1IoJyMzOiAnKTsKfSBjYXRjaChlKXsKICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQogIAkkRVJST1IoJyMzLjE6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiB0aGlzLmNvbG9yOyIpOwoKLy9DSEVDSyMxCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6ICcpOwp9Cgp2YXIgcGxhbmV0PSJtYXJzIjsKCi8vQ0hFQ0sjMgppZiAoZigpICE9PSAibWFycyIpIHsKICAkRVJST1IoJyMyOiAnKTsKfQoKLy9DSEVDSyMzCmlmIChnKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0iCiAqLwoKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyA3O319CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKICAkRkFJTCgnIzE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gNykgewogIAkkRVJST1IoJyMxLjE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){throw 7;}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJudWxsIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxzIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ1bmRlZmluZWQiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ2b2lkIDAiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ7fSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih7fSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"{}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAicmV0dXJuIDE7Ijt9fSIKICovCgp2YXIgYm9keT17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInJldHVybiAxOyI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsJCn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0xKSB7CiAgJEVSUk9SKCcjMzogaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){return \"return 1;\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgMQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKDEpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is 1","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgeCwgd2hlcmUgeCBpcyBzcGVjaWZpZWQgd2l0aCAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHgpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciB4OwoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is x, where x is specified with \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgicmV0dXJuIFwnQVwnIikiCiAqLwoKdmFyIGJvZHkgPSBPYmplY3QoInJldHVybiBcJ0FcJyIpOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0iXHUwMDQxIikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(\"return \\'A\\'\")\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgdGhlIHN0cmluZyAicmV0dXJuIHRydWU7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdHJ1ZTsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKCEoZigpKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is the string \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgxKSIKICovCgp2YXIgYm9keSA9IG5ldyBPYmplY3QoMSk7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(1)\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInZhciAxPTE7IgogKi8KCnZhciBib2R5ID0gInZhciAxPTE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"var 1=1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInJldHVybiBhcmd1bWVudHNbMF07IgogKi8KCnZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"return arguments[0];\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEiLCAiYXJnMiIsICJhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigxLDIsMykgIT09IDYpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1\", \"arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCJBQiIsIkJBIiwxKSAhPT0gIkFCQkExIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyLCBhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSwgYXJnMiwgYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwxLCJBQkJBIikgIT09ICIyQUJCQSIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2, arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzCiAqLwoKdmFyIGk9MDsKCnZhciBwPXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYXJnIisoKytpKTt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCwgcCwgcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0LCIyIiwiUVVFU1RJT04iKSAhPT0gIjQyUVVFU1RJT04iKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQogIAo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCxwLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCIiLDEsMikgIT09ICIxMiIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCsiLCIrcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigiIiwxLHApICE9PSAiMWFyZzQiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoK","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX0iIGFuZCAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2JvZHknO319IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgMTt9fTsKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiYm9keSI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAxKSB7CiAgCSRFUlJPUignIzEuMTogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7CiAgfQp9CgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){throw 1;}}\" and \"{toString:function(){throw 'body';}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ6O3gifX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return \"z;x\"}}\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ2b2lkIDAiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ1bmRlZmluZWQiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJudWxsIgogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kIGFuIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciBib2R5OwoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and an undefined variable","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIGFyZSB0d28gZW1wdHkgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCIiLCAiIik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are are two empty strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX0iIGFuZCAicmV0dXJuIGE7IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIjt9fTsKdmFyIGJvZHkgPSAicmV0dXJuIGE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0MikhPT00MikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCgoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return 'a';}}\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319IiBhbmQgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fSIKICovCgp2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJib2R5IikgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKLy9DSEVDSyMyCmlmIChwICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7Cn0KCgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){p=1;return \"a\";}}\" and \"{toString:function(){throw \"body\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgYW4gdW5kZWZpbmVkIHZhcmlhYmxlIGFuZCAicmV0dXJuIDEuMTsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEuMSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgcDsK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are an undefined variable and \"return 1.1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInZvaWQgMCIgYW5kICJyZXR1cm4gXCJBXCI7IgogKi8KCnZhciBib2R5ID0gInJldHVybiBcIkFcIjsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09J1x1MDA0MScpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"void 0\" and \"return \\\"A\\\";\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIm51bGwiIGFuZCAicmV0dXJuIHRydWU7IgogKi8KCnZhciBib2R5ID0gInJldHVybiB0cnVlOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihudWxsLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"null\" and \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIk9iamVjdCgiYSIpIiBhbmQgInJldHVybiBhOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gYTsiOwoKdmFyIHA9T2JqZWN0KCJhIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCBib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSkhPT0xKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0K","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"Object(\"a\")\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInVuZGVmaW5lZCIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHVuZGVmaW5lZCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXRoaXMpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"undefined\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIjEsMSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9IjEsMSI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"1,1\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBjb25zdHVjdG9yIG9mIHRoZSBvYmplY3QgdGhhdCBpcyBjcmVhdGVkIGFzIGEgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGYgPSBuZXcgRnVuY3Rpb247CgovL0NIRUNLIzEKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmIChmID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9Cgo=","commentary":"When Function is called as part of a new expression, it is a constructor: it initialises the newly created object","description":"Checking the constuctor of the object that is created as a new Function","path":"TestCases/ch15/15.3/15.3.2/S15.3.2_A1.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yLzE1LjMuMi4xLzE1LjMuMi4xLTEwLTRncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgZnVuY3Rpb24gdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMgaW4gKGdsb2JhbCkgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzE1XzNfMl8xXzEwXzRfZnVuID0gbmV3IEZ1bmN0aW9uKCdwYXJhbV8xJywgJ3BhcmFtXzInLCAncGFyYW1fMScsICcidXNlIHN0cmljdCI7IHJldHVybiAwOycpOw0K","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (global) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-4gs.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yLzE1LjMuMi4xLzE1LjMuMi4xLTEwLTZncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgZnVuY3Rpb24gdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMgaW4gKGxvY2FsKSBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBOb3RFYXJseUVycm9yDQogKi8NCg0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBfMTVfM18yXzFfMTBfNl9mdW4gPSBuZXcgRnVuY3Rpb24oJ3BhcmFtXzEnLCAncGFyYW1fMicsICdwYXJhbV8xJywgJyJ1c2Ugc3RyaWN0IjtyZXR1cm4gMDsnKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (local) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-6gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgIA0KICB0cnkgew0KICAgIEZ1bmN0aW9uKCdhJywnYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate seperate parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBzZXBhcmF0ZSBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhJywnYScsJ3JldHVybjsnKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate separate parameter name in Function constructor allowed if body not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGNhbGxlZCBmcm9tIHN0cmljdCBtb2RlIGFsbG93ZWQgaWYgYm9keSBub3Qgc3RyaWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyANCiAgInVzZSBzdHJpY3QiOyANCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignYScsJ2EnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate seperate parameter name in Function constructor called from strict mode allowed if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgaGF2aW5nIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQoNCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignZXZhbCcsICcidXNlIHN0cmljdCI7Jyk7DQoJcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function constructor having a formal parameter named 'eval' throws SyntaxError if function body is strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIG1heSBoYXZlIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgaWYgYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBGdW5jdGlvbignZXZhbCcsICdyZXR1cm47Jyk7DQogIHJldHVybiB0cnVlOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function constructor may have a formal parameter named 'eval' if body is not strict mode","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgeyANCiAgICAgRnVuY3Rpb24oJ2V2YWwnLCAncmV0dXJuOycpOw0KCSByZXR1cm4gdHJ1ZTsNCiAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KICAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function constructor call from strict code with formal parameter named 'eval' does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgICANCiAgdHJ5IA0KICB7DQogICAgRnVuY3Rpb24oJ2EsYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCglyZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4oZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate combined parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBjb21iaW5lZCBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgaXMgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate combined parameter name in Function constructor allowed if body is not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGFsbG93ZWQgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbGVkIGluIHN0cmljdCBtb2RlIGlmIGJvZHkgbm90IHN0cmljdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgDQogICJ1c2Ugc3RyaWN0IjsgDQogIHRyeSB7DQogICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm4gYTsnKTsNCgkgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate combined parameter name allowed in Function constructor called in strict mode if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCBhcmd1bWVudHMgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgew0KICAgICBGdW5jdGlvbignYXJndW1lbnRzJywgJ3JldHVybjsnKTsNCiAgICAgcmV0dXJuIHRydWU7DQoJIA0KICAgfSBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function constructor call from strict code with formal parameter named arguments does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIGEgZnVuY3Rpb24gaXMgY3JlYXRlZCB1c2luZyBhIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRoYXQgaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycywgd2hpY2ggYXJlIHNlcGFyYXRlZCBieSBhIHVuaXF1ZSBwYXJhbWV0ZXIgbmFtZSBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJxdXgiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown if a function is created using a Function constructor that has two identical parameters, which are separated by a unique parameter name and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IGhhcyB0aHJlZSBpZGVudGljYWwgcGFyYW1ldGVycyBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJiYXoiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function is created using the Function constructor that has three identical parameters and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zL1MxNS4zLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICovCgppZighRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKXsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Function constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uCiAqLwoKLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEZ1bmN0aW9uKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Checking prototype of Function","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBGdW5jdGlvbi5wcm90b3R5cGUgYW5kIGNoZWNrIGl0CiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIwppZiAoRnVuY3Rpb24uaW5kaWNhdG9yICE9IDEpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Add new property to Function.prototype and check it","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy9TMTUuMy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKCFGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Function constructor has length property whose value is 1","description":"Checking Function.length property","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlOwpGdW5jdGlvbi5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgaWYoRnVuY3Rpb24ucHJvdG90eXBlKCkhPT11bmRlZmluZWQpewogICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzIuMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHk6ICcrZSk7Cn0KCg==","commentary":"The Function.prototype property has the attribute ReadOnly","description":"Checking if varying the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBGdW5jdGlvbil7CiAgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy8xNS4zLjMuMS9TMTUuMy4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgpkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlOwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"The Function.prototype property has the attribute DontDelete","description":"Checking if deleting the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZXRlY3RzIHdoZXRoZXIgdGhlIHZhbHVlIG9mIGEgZnVuY3Rpb24ncyAicHJvdG90eXBlIiBwcm9wZXJ0eQogKiBhcyBzZWVuIGJ5IG5vcm1hbCBvYmplY3Qgb3BlcmF0aW9ucyBtaWdodCBkZXZpYXRlIGZyb20gdGhlIHZhbHVlCiAqIGFzIHNlZW0gYnkgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zLzE1LjMuMy4xL1MxNS4zLjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIHJlYWRpbmcgYSBmdW5jdGlvbidzIC5wcm90b3R5cGUgZGlyZWN0bHkKICogYWdyZWVzIHdpdGggcmVhZGluZyBpdCB2aWEgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciwgYWZ0ZXIKICogaGF2aW5nIHNldCBpdCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28sICdwcm90b3R5cGUnLCB7IHZhbHVlOiB7fSB9KTsKaWYgKGZvby5wcm90b3R5cGUgIT09CiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZvbywgJ3Byb3RvdHlwZScpLnZhbHVlKSB7CiAgJEVSUk9SKCJBIGZ1bmN0aW9uLnByb3RvdHlwZSdzIGRlc2NyaXB0b3IgbGllcyIpOwp9Cgo=","commentary":"Detects whether the value of a function's \"prototype\" property\nas seen by normal object operations might deviate from the value\nas seem by Object.getOwnPropertyDescriptor","description":"Checks if reading a function's .prototype directly\nagrees with reading it via Object.getOwnPropertyDescriptor, after\nhaving set it by Object.defineProperty.","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjIvMTUuMy4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLmxlbmd0aCAtIGRhdGEgcHJvcGVydHkgd2l0aCB2YWx1ZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24sImxlbmd0aCIpOw0KICBpZihkZXNjLnZhbHVlID09PSAxICYmDQogICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKQ0KICAgIHJldHVybiB0cnVlOyANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.length - data property with value 1","path":"TestCases/ch15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCg==","commentary":"The initial value of Function.prototype.constructor is the built-in Function constructor","description":"Checking Function.prototype.constructor","path":"TestCases/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgKGl0cyBbW0NsYXNzXV0gaXMgIkZ1bmN0aW9uIikKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgW29iamVjdCtbW0NsYXNzXV0rXQogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The Function prototype object is itself a Function object (its [[Class]] is \"Function\")","description":"Object.prototype.toString returns [object+[[Class]]+]","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoKQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9Cgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype()","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoK","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(null,void 0)","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZSh4KSAhPT0gdW5kZWZpbmVkKSB7CiAgICB2YXIgeDsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(x), where x is undefined variable","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiAnICsKICAgICAgICAgJ3RoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlICcgKwogICAgICAgICAnb2JqZWN0ICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.4)","description":"Checking prototype of Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IGF0IEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciE9PTEpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSknKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)","description":"Add new property to Object.prototype and check it at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duLiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40L1MxNS4zLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlT2YgcHJvcGVydHkgYXQgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgIT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikgewogICRFUlJPUignIzM6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCg==","commentary":"The Function prototype object does not have a valueOf property of its own. however, it inherits the valueOf property from the Object prototype Object","description":"Checking valueOf property at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0IiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9Cgo=","commentary":"The Function prototype object is itself a Function object without [[create]] property","description":"Checking if creating \"new Function.prototype object\" fails","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyB0aGUgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvU3RyaW5nIG1ldGhvZCBpcyAwJyk7Cn0KCg==","commentary":"The length property of the toString method is 0","description":"Checking Function.prototype.toString.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"","description":"The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKTsKCg==","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7fSk7Cgo=","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGNhbGxhYmxlLCBSZWdFeHAgb2JqZWN0cyBhcmUgbm90IEZ1bmN0aW9uIG9iamVjdHMsIHNvIHRvU3RyaW5nIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKC94Lyk7Cgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"Whether or not they are callable, RegExp objects are not Function objects, so toString should throw a TypeError.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIFRoZSBTdHJpbmcgY29uc3RydWN0b3IsIGdpdmVuIGFuIG9iamVjdCwgc2hvdWxkIGludm9rZSB0aGF0IG9iamVjdCdzIHRvU3RyaW5nIG1ldGhvZCBhcyBhIG1ldGhvZCwgaS5lLiwgd2l0aCBpdHMgdGhpcyB2YWx1ZSBib3VuZCB0byB0aGF0IG9iamVjdC4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCnZhciBvYmogPSB7dG9TdHJpbmc6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZ307CgpTdHJpbmcob2JqKTsKCg==","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"The String constructor, given an object, should invoke that object's toString method as a method, i.e., with its this value bound to that object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMi9TMTUuMy40LjJfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlKTsKfQoK","commentary":"Function.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.toString fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmciIGZhaWxzCiAqLwoKdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Cgp0cnkgewogIHZhciBpbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwogICRGQUlMKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGNhblwndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Function.prototype.toString can't be used as constructor","description":"Checking if creating \"new Function.prototype.toString\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjIvUzE1LjMuNC4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmFwcGx5KCIiLCBBcnJheSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5hcHBseSgtMTIsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgQm9vbGVhbik7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFmdW4uYXBwbHkoZmFsc2UsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIFRDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAodmFyIHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute DontEnum","description":"TChecking if enumerating the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSk7Cn0KCg==","commentary":"Function.prototype.apply has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.apply fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodW5kZWZpbmVkLCB7fSwgW10pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwobnVsbCwge30sIFtdKTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoe30sIHt9LCBbXSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBhcHBseSBzaG91bGQgYWNjZXB0IGl0IGFzIGEgdmFsaWQgdGhpcyB2YWx1ZS4KICovCgp2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHJlLCB1bmRlZmluZWQsIFsneCddKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case apply should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24oKQogKi8KCnZhciBwcm90bz1GdW5jdGlvbigpOwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1wcm90bzsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouYXBwbHkoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9Cgo=","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1GdW5jdGlvbi5wcm90b3R5cGU7Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking Function.prototype.apply.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZi5hcHBseS5sZW5ndGgsIHdoZXJlIGYgaXMgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGY9bmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZi5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmLmFwcGx5Lmxlbmd0aCA9PT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgb2YgYXBwbHkgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking f.apply.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cInN0cmF3YmVycnlcIiIpLmFwcGx5KCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJzdHJhd2JlcnJ5IikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpldmFsKCIgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PTF9KS5hcHBseSgpIik7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbAogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiZ3JlZW5cIiIpLmFwcGx5KG51bGwpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiZ3JlZW4iKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJiYXR0bGVcIiIpLmFwcGx5KHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJiYXR0bGUiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJvaWxcIiIpLmFwcGx5KHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJvaWwiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBhcHBseSBmdW5jdGlvbiBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkoKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAiaW4gZGEgaGF1cyIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at apply function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KG51bGwpOwp9OwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkodm9pZCAwKTsKfSkoKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KHVuZGVmaW5lZCk7Cn0pKCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImthbW9uIGJleWJhIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKZXZhbCggIiBGdW5jdGlvbihcInRoaXMuZmVhdD0xXCIpLmFwcGx5KHZvaWQgMCkgIiApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgpmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO307CgpyZXRvYmogPSBmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgp2YXIgb2JqOwoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG51bGwsMSkKICovCgovL0NIRUNLIzEKdHJ5IHsKICBGdW5jdGlvbigpLmFwcGx5KG51bGwsMSk7CiAgJEZBSUwoJyMxOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (null,1)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG9iamVjdCwiMSwzLDQiKQogKi8KCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIEZ1bmN0aW9uKCkuYXBwbHkob2JqLCIxLDMsNCIpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (object,\"1,3,4\")","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuYXBwbHkobnVsbCxbMV0pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAoZW1wdHkgb2JqZWN0LCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShvYmosYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxLDIsM10pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWEyOyIpLmFwcGx5KG51bGwsWzEsMiwzXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gMikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1,2,3])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDMuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCmk9MDsKCnA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCm9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG9iaiwgbmV3IEFycmF5KCJuaW5lIiwiaW5jaCIsIm5haWxzIikpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIm5pbmUiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDQuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pICgiYSIsImIiLCJjIikpCiAqLwoKaT0wOwoKcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKb2JqPXt9OwoKbmV3IEZ1bmN0aW9uKHAscCxwLCAidGhpcy5zaGlmdGVkPWEzOyIpLmFwcGx5KCBvYmosKCBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHM7fSkgKCJhIiwiYiIsImMiKSApOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gImMiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, ( function(){return arguments;}) (\"a\",\"b\",\"c\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDUuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkobnVsbCxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDYuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkodGhpcyxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDcuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfSkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDguanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDkuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkob2JqLGFyZ3VtZW50cyk7CiAgcmV0dXJuIG9iajsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnNoaWZ0ZWQgIT09ICIxMiIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5OwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5hcHBseSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").apply)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5OwogIG9iaiA9IG5ldyBGQUNUT1JZKCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpOwp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").apply())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.apply.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhvdXQgYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgU3RyaW5nKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IGFyZ3VtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKC0xMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called without an array argument","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAodGhpcyBpbnN0YW5jZW9mIEJvb2xlYW4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmNhbGwoZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.call.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.call.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUpOwp9Cgo=","commentary":"Function.prototype.call has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.call fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh1bmRlZmluZWQsIHt9KTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChudWxsLCB7fSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh7fSwge30pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBjYWxsIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChyZSwgdW5kZWZpbmVkLCAneCcpOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCg==","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case call should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Call \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9RnVuY3Rpb24ucHJvdG90eXBlOwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLmNhbGwgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBjYWxsIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouY2FsbCgpOwogICRGQUlMKCcjMjogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzIuMTogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking Function.prototype.call.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmLmNhbGwubGVuZ3RoLCB3aGVyZSBmIGlzIG5ldyBGdW5jdGlvbgogKi8KCnZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking f.call.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCmV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmNhbGwoKSIpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at call function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgp2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFsxXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXS5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpc1sic2hpZnRlZCJdWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bmVtdHMgb2YgY2FsbCBmdW5jdGlvbiBpcyAoZW1wdHkgb2JqZWN0LCAiIiwgYXJndW1lbnRzLDIpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChvYmosYXJndW1lbnRzLCIiLCIyIik7Cn0pKCIiLDQsMiwiYSIpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwobnVsbCxbMywyLDFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKCh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDMpfHwodGhpc1sic2hpZnRlZCJdWzFdICE9PSAyKXx8KHRoaXNbInNoaWZ0ZWQiXVsyXSAhPT0gMSkpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[3,2,1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKdmFyIG9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwob2JqLCBuZXcgQXJyYXkoIm5pbmUiLCJpbmNoIiwibmFpbHMiKSk7CgovL0NIRUNLIzEKaWYgKG9ialsic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKChvYmpbInNoaWZ0ZWQiXVswXSAhPT0gIm5pbmUiKXx8KG9ialsic2hpZnRlZCJdWzFdICE9PSAiaW5jaCIpfHwob2JqWyJzaGlmdGVkIl1bMl0gIT09ICJuYWlscyIpKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pKCJhIiwiYiIsImMiLCJkIiksIiIsMikKICovCgp2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCnZhciBvYmo9e307CgpuZXcgRnVuY3Rpb24ocCxwLHAsICJ0aGlzLnNoaWZ0ZWQ9YTMrYTIrYTEubGVuZ3RoOyIpLmNhbGwoIG9iaiwoIGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50czt9KSgiYSIsImIiLCJjIiwiZCIpLCIiLDIgKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICIyNCIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, ( function(){return arguments;})(\"a\",\"b\",\"c\",\"d\"),\"\",2)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChudWxsLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiwxLDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbCh0aGlzLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiw0LDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDEsMix0cnVlKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwodGhpcyxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDQsMixudWxsKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICIiLCBhcmd1bWVudHMsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIubGVuZ3RoK2EzOyIpLmNhbGwob2JqLCIiLGFyZ3VtZW50cywyKTsKICByZXR1cm4gb2JqOwp9Cgp2YXIgb2JqPW5ldyBGQUNUT1JZKCIiLDEsMix2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5zaGlmdGVkICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLmNhbGwiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").call)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbDsKICB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKSIgZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKTsKfSBjYXRjaCAoZSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").call())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.call.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind must exist as a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind must exist as a function taking 1 parameter","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tDbGFzc11dIG9mICdGJyBpcyBzZXQgYXMgRnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSAiW29iamVjdCBGdW5jdGlvbl0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - internal property [[Class]] of 'F' is set as Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tQcm90b3R5cGVdXSBvZiAnRicgaXMgc2V0IGFzIEZ1bmN0aW9uLnByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - internal property [[Prototype]] of 'F' is set as Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIGJvdW5kIGZuIGhhcyBhICdsZW5ndGgnIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIGlmIChiZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, bound fn has a 'length' own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKGFsbCBhcmdzIHByZWZpbGxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvLCA0MiwgMTAxKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (all args prefilled)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCB0YWtlcyAwIGFyZ3MpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target takes 0 args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCBwcm92aWRlZCBleHRyYSBhcmdzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICBpZiAoYmYubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target provided extra args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGZvbyh4LCB5KSB7IH0NCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICAgIGlmIChiZi5sZW5ndGggPT09IDEpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiZiwgJ2xlbmd0aCcpOw0KICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJmLCAnbGVuZ3RoJyk7DQogIGlmIChkZXNjLnZhbHVlID09PSAwICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property with default attributes (false)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgbGVuZ3RoIHByb3BlcnR5IGluIEYgc2V0IGFzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQogICAgICAgIG9iai5sZW5ndGggPSAxMDA7DQogICAgICAgIGNhbldyaXRhYmxlID0gKG9iai5sZW5ndGggPT09IDEwMCk7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuV3JpdGFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Writable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBsZW5ndGggcHJvcGVydHkgaW4gRiBzZXQgYXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5FbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5FbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGxlbmd0aCBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCiAgICAgICAgZGVsZXRlIG9iai5jYWxsZXI7DQogICAgICAgIGNhbkNvbmZpZ3VyYWJsZSA9ICFvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWNhbkNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBbW0V4dGVuc2libGVdXSBvZiB0aGUgYm91bmQgZm4gaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBleCA9IE9iamVjdC5pc0V4dGVuc2libGUoYmYpOw0KICBpZiAoZXggPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, [[Extensible]] of the bound fn is true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRXh0ZW5zaWJsZV1dIGF0dHJpYnV0ZSBvZiBpbnRlcm5hbCBwcm9wZXJ0eSBpbiBGIHNldCBhcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Extensible]] attribute of internal property in F set as true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJ1dCBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gRnVuY3Rpb24ucHJvdG90eXBlOw0KICAvLyBkdW1teSBmdW5jdGlvbg0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCg0KICB0cnkgew0KICAgIGYuYmluZCgpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (but an instance of Function)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0gDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIE5VTEwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is NULL","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a boolean","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoNSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIE9iamVjdCB3aXRob3V0IENhbGwgaW50ZXJuYWwgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoe30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is Object without Call internal method","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtICdUYXJnZXQnIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiB0ZXN0RnVuYygpIHt9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0ZXN0RnVuYy5iaW5kKCk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - 'Target' is a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJpbmQgYXR0YWNoZWQgdG8gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGR1bW15IGZ1bmN0aW9uIA0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5iaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgdHJ5IHsNCiAgICBmLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (bind attached to object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBibmMgPSBOdW1iZXIuYmluZChudWxsKTsNCiAgdmFyIG4gPSBibmMoNDIpOw0KICBpZiAobiA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Number)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBic2MgPSBTdHJpbmcuYmluZChudWxsKTsNCiAgdmFyIHMgPSBic2MoImhlbGxvIHdvcmxkIik7DQogIGlmIChzID09PSAiaGVsbG8gd29ybGQiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (String)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYmJjID0gQm9vbGVhbi5iaW5kKG51bGwpOw0KICB2YXIgYiA9IGJiYyh0cnVlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Boolean)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBib2MgPSBPYmplY3QuYmluZChudWxsKTsNCiAgdmFyIG8gPSBib2MoNDIpOw0KICBpZiAobyA9PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (JSON)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJhYyA9IEFycmF5LmJpbmQobnVsbCk7DQogICAgICAgIHZhciBhID0gYmFjKDQyKTsNCiAgICAgICAgYS5wcm9wID0gInZlcmlmeVByb3BlcnR5RXhpc3QiOw0KICAgICAgICBhWzQxXSA9IDQxOw0KDQogICAgICAgIHJldHVybiBhLnByb3AgPT09ICJ2ZXJpZnlQcm9wZXJ0eUV4aXN0IiAmJiBhWzQxXSA9PT0gNDEgJiYgYS5sZW5ndGggPT09IDQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Array)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiZGMgPSBEYXRlLmJpbmQobnVsbCk7DQogIHZhciBzID0gYmRjKDAsIDAsIDApOw0KICBpZiAodHlwZW9mKHMpID09PSAnc3RyaW5nJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind allows Target to be a constructor (Date)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2NhbGxlcicgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - 'caller' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5jYWxsZXIgJiYgZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5jYWxsZXIgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnY2FsbGVyJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY2FsbGVyIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdjYWxsZXInIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgY2FuQ29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2FyZ3VtZW50cycgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - 'arguments' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBvYmouYXJndW1lbnRzICYmIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5hcmd1bWVudHMgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnYXJndW1lbnRzJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiYXJndW1lbnRzIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdhcmd1bWVudHMnIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSAhb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5Db25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBlYWNoIGFyZyBpcyBkZWZpbmVkIGluIEEgaW4gbGlzdCBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICh4LCB5KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKHggKyB5KSA9PT0gImFiIiAmJiBhcmd1bWVudHNbMF0gPT09ICJhIiAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gImIiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSwgImEiLCAiYiIpOw0KICAgICAgICByZXR1cm4gb2JqKCk9PXRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - each arg is defined in A in list order","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW5ub3QgZ2V0IHByb3BlcnR5IHdoaWNoIGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F cannot get property which doesn't exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5ID0gMzsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi03LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHkgPSAzOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi04LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIHR5cGUgb2YgYm91bmQgZnVuY3Rpb24gbXVzdCBiZSAnZnVuY3Rpb24nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKHR5cGVvZihiZikgPT09ICdmdW5jdGlvbicpIHsNCiAgICByZXR1cm4gIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, type of bound function must be 'function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbQ2xhc3NdXSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdGdW5jdGlvbicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChiZik7DQogIGlmIChzID09PSAnW29iamVjdCBGdW5jdGlvbl0nKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, [[Class]] of bound function must be 'Function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGJmKSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGJmKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype (using getPrototypeOf)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY2FsbGVyIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMCkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIEEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCBpdHMgImNhbGxlciIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5jYWxsZXI7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"caller\" of bound function is poisoned (step 20)","description":"A bound function should fail to find its \"caller\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KTsKCgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSk7CgoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh7fSwge30pOwoKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBiaW5kIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case bind should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYXJndW1lbnRzIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTIuanMKICogQGRlc2NyaXB0aW9uIGEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCB0aGUgYm91bmQgZnVuY3Rpb24gImFyZ3VtZW50cyIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5hcmd1bWVudHM7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"arguments\" of bound function is poisoned (step 21)","description":"a bound function should fail to find the bound function \"arguments\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdAogKi8KCmlmICghKCdiaW5kJyBpbiBGdW5jdGlvbi5wcm90b3R5cGUpKSB7CiAgJEVSUk9SKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBpcyBtaXNzaW5nJyk7Cn0KCg==","commentary":"","description":"Function.prototype.bind must exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbCB0aGUgb3JpZ2luYWwncyBpbnRlcm5hbAogKiBbW0NhbGxdXSBtZXRob2QgcmF0aGVyIHRoYW4gaXRzIC5hcHBseSBtZXRob2QuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCnZhciBiID0gZm9vLmJpbmQoMzMsIDQ0KTsKZm9vLmFwcGx5ID0gZnVuY3Rpb24oKSB7CiAgJEVSUk9SKCJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb3JpZ2luYWwncyAuYXBwbHkgbWV0aG9kIik7Cn07CmIoNTUsIDY2KTsKCg==","commentary":"","description":"Function.prototype.bind call the original's internal\n[[Call]] method rather than its .apply method.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBjdXJyeSBbW0NvbnN0cnVjdF1dIGFzCiAqIHdlbGwgYXMgW1tDYWxsXV0uCiAqLwoKZnVuY3Rpb24gY29uc3RydWN0KGYsIGFyZ3MpIHsKICB2YXIgYm91bmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShmLCBbbnVsbF0uY29uY2F0KGFyZ3MpKTsKICByZXR1cm4gbmV3IGJvdW5kKCk7Cn0KdmFyIGQgPSBjb25zdHJ1Y3QoRGF0ZSwgWzE5NTcsIDQsIDI3XSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZCkgIT09ICdbb2JqZWN0IERhdGVdJykgewogICRFUlJPUignVXNpbmcgdGhlIERhdGUgY29uc3RydWN0b3IgdmlhIC5iaW5kIGRpZCBub3QgY3JlYXRlIGEgRGF0ZS4nKTsKfQo=","commentary":"","description":"Function.prototype.bind must curry [[Construct]] as\nwell as [[Call]].","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZEFyZ3NdXSBpcyB1c2VkIGFzIHRoZSBmb3JtZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4geCArIHkgKyB6Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gImFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgdHlwZW9mIHggPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMiwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEsIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDINCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAyLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZFRoaXNdXSBpcyB1c2VkIGFzIHRoZSAndGhpcycgdmFsdWUgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcCI6ICJhIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gb2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - 'F''s [[BoundThis]] is used as the 'this' value of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBpcyB1c2VkIGFzIHRoZSBsYXR0ZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4gejsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sICJhIiwgImIiKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygiYyIpID09PSAiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - the provided arguments is used as the latter part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqLCAxKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSAnRicncyBbW0JvdW5kQXJnc11dIGlzIHVzZWQgYXMgdGhlIGZvcm1lciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZhbHVlIikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmFsdWUgPT09ICJhYmMiICYmDQogICAgICAgICAgICBuZXdJbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgicmV0dXJuVmVyaWZ5UmVzdWx0IikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmVyaWZ5UmVzdWx0ID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30pOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDIsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEsIDIpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGlzIHVzZWQgYXMgdGhlIGxhdHRlciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLmhhc093blByb3BlcnR5KCJyZXR1cm5WYWx1ZSIpICYmIG5ld0luc3RhbmNlLnJldHVyblZhbHVlID09PSAiYWJjIiAmJg0KICAgICAgICAgICAgbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZlcmlmeVJlc3VsdCIpICYmIG5ld0luc3RhbmNlLnJldHVyblZlcmlmeVJlc3VsdCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - the provided arguments is used as the latter part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52ZXJpZnlUaGlzID0gInZlcmlmeVRoaXMiOw0KICAgICAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDAgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpID09PSAiW29iamVjdCBPYmplY3RdIiAmJg0KICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeVRoaXMgPT09ICJ2ZXJpZnlUaGlzIik7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZlcmlmeVRoaXM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAxKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCAmJiB0eXBlb2YgeCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41LzE1LjMuNS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gZXJyb3IgaXMgdGhyb3duIHdoZW4gcmVhZGluZyB0aGUgJ2NhbGxlcicgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIF8xNV8zXzVfMV9ncygpIHt9DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KXzE1XzNfNV8xX2dzLmNhbGxlcjsNCg0K","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-1gs.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41LzE1LjMuNS0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gZXJyb3IgaXMgdGhyb3duIHdoZW4gcmVhZGluZyB0aGUgJ2NhbGxlcicgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBfMTVfM181XzFfZ3MoKSB7fQ0KXzE1XzNfNV8xX2dzLmNhbGxlcjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-2gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoK","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpCiAqLwoKZiA9IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKQogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmKGRlbGV0ZSBmLmxlbmd0aCl7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpkZWxldGUgZi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzM6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpsZW5ndGggPSBmLmxlbmd0aDsKCmYubGVuZ3RoID0gZnVuY3Rpb24oKXt9OwoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gbGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoKLy9DSEVDSyMzCnRyeSB7CiAgZi5sZW5ndGgoKTsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9IGNhdGNoIChlKSB7CiAgOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCkgZmFpbHMKICovCgpmID0gIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzUsYXJnNCIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZm9yKGtleSBpbiBmKSAgICAKICBpZihrZXk9PSJsZW5ndGgiKQogICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCIiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(\"\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbih2b2lkIDAsICIiKSBmYWlscwogKi8KCmYgPSBGdW5jdGlvbih2b2lkIDAsICIiKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(void 0, \"\") fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudW1iZXIKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKDEgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is number","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBzdHJpbmcKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKCIxIiBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is string","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIHRydWUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHRydWUgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean true","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIGZhbHNlCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChmYWxzZSBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean false","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB2b2lkIDAKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHZvaWQgMCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is void 0","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudWxsCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChudWxsIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is null","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHVuZGVmaW5lZCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHggaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCnZhciB4OwoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined variable","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuCiAqIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHVuZGVmaW5lZCwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0CiAqLwoKRkFDVE9SWSA9IG5ldyBGdW5jdGlvbjsKCkZBQ1RPUlkucHJvdG90eXBlID0gdW5kZWZpbmVkOwoKb2JqPXt9OwoKLy9DSEVDSyMxCnRyeSB7CiAgb2JqIGluc3RhbmNlb2YgIEZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoKCgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i).\niii) O is not an object, throw a TypeError exception","description":"F.prototype is undefined, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHZvaWQgMCwgYW5kIFYgaXMgbmV3IEYKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucHJvcD0xOyIpOwoKRkFDVE9SWS5wcm90b3R5cGUubmFtZSA9ICJmYWlyeSI7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKRkFDVE9SWS5wcm90b3R5cGUgPSB2b2lkIDA7CgovLyBDSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgovLyBDSEVDSyMyCmlmICgoaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHx8IChpbnN0YW5jZS5uYW1lICE9PSAiZmFpcnkiKSkgewogICRFUlJPUignIzI6IGluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBGQUNUT1JZJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is void 0, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHN0cmluZywgYW5kIFYgaXMgZnVuY3Rpb24KICovCgpGQUNUT1JZID0gbmV3IEZ1bmN0aW9uOwoKRkFDVE9SWS5wcm90b3R5cGUgPSAiZXJyb3IiOwoKLy8gQ0hFQ0sjMQp0cnkgewogICggZnVuY3Rpb24oKSB7CiAgfSkgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is string, and V is function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZS50eXBlIGlzIDEsIGFuZCBWIGlzIG5ldyBGCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLm5hbWU9XCJyb290XCIiKTsKCkZBQ1RPUlkucHJvdG90eXBlLnR5cGU9MTsKCmluc3RhbmNlID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZKSkgewogICRFUlJPUignIzE6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype.type is 1, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlLCBhbmQgViBpcyBlbXB0eSBvYmplY3QKICovCgpGQUtFRkFDVE9SWSA9IEZ1bmN0aW9uKCk7CgpmYWtlaW5zdGFuY2UgPSB7fTsKCi8vQ0hFQ0sjMQppZiAoZmFrZWluc3RhbmNlIGluc3RhbmNlb2YgRkFLRUZBQ1RPUlkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCkZBS0VGQUNUT1JZLnByb3RvdHlwZT1PYmplY3QucHJvdG90eXBlOwoKLy9DSEVDSyMyCmlmICghKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSkgewogICRFUlJPUignIzI6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype is Object.prototype, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBuZXcgRnVuY3Rpb24KICovCgp2YXIgZiA9IG5ldyBGdW5jdGlvbjsKCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZikgIT09ICJbb2JqZWN0IEZ1bmN0aW9uXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iJyk7Cn0KCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = new Function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBGdW5jdGlvbigpCiAqLwoKdmFyIGYgPSBGdW5jdGlvbigpOwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgW1tDbGFzc11dIHByb3BlcnR5IGlzICJGdW5jdGlvbiInKTsKfQoKCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = Function()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpKCkKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKSgpICE9PSAiT0siKSB7CiAgJEVSUk9SKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgeCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"Every function instance has a [[Call]] property","description":"For testing call Function(\"var x =1; this.y=2;return \\\"OK\\\";\")()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKQogKi8KCi8vQ0hFQ0sjMQppZiAoKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHggIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoK","commentary":"Every function instance has a [[Call]] property","description":"For testing call (new Function(\"arg1,arg2\",\"var x =arg1; this.y=arg2;return arg1+arg2;\"))(\"1\",2)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHsKICAkRVJST1IoJyMyOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"every function instance has a [[Construct]] property","description":"As constructor use Function(\"var x =1; this.y=2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPTE7IHRoaXMueT1hcmcxK2FyZzI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID0xOyB0aGlzLnk9YXJnMSthcmcyO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZKCIxIiwyKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBGQUNUT1JZKSB7CiAgJEVSUk9SKCcjMjogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai55ICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMzogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"every function instance has a [[Construct]] property","description":"As constructor use new Function(\"arg1,arg2\",\"var x =1; this.y=arg1+arg2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbdHJ1ZV0gPSAxOwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgCn0KCi8vQ0hFQ0sjMgppZiAoeFsidHJ1ZSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsidHJ1ZSJdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsidHJ1ZSJdKSk7ICAKfQoKLy9DSEVDSyMzCnhbZmFsc2VdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbZmFsc2VdID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsiZmFsc2UiXSAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBbXTsgeFtmYWxzZV0gPSAxOyB4WyJmYWxzZSJdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsiZmFsc2UiXSkpOyAgCn0KCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for boolean primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbmRleCBpcyBwb3dlciBvZiB0d28KICovCgovL0NIRUNLIwp4ID0gW107CmsgPSAxOwpmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewogIGsgPSBrICogMjsKICB4W2sgLSAyXSA9IGs7ICAKfQoKayA9IDE7CmZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKSB7CiAgayA9IGsgKiAyOwogIGlmICh4W2sgLSAyXSAhPT0gaykgewogICAgJEVSUk9SKCcjJyArIChrIC0gMikgKyAnOiAnKTsKICB9ICAgICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Array index is power of two","path":"TestCases/ch15/15.4/S15.4_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtOYU5dID0gMTsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtOYU5dID0gMTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0gCgovL0NIRUNLIzIKaWYgKHhbIk5hTiJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W05hTl0gPSAxOyB4WyJOYU4iXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbIk5hTiJdKSk7ICAKfSAKCi8vQ0hFQ0sjMwp5ID0gW107CnlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbIkluZmluaXR5Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbIkluZmluaXR5Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyJJbmZpbml0eSJdKSk7ICAKfSAKCi8vQ0hFQ0sjNQp6ID0gW107CnpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7CmlmICh6WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB6ID0gW107IHpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7IHpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHpbMF0pKTsgIAp9CgovL0NIRUNLIzYKaWYgKHpbIi1JbmZpbml0eSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeiA9IFtdOyB6W051bWJlci5ORUdBVElWRV9JTkZJTklUWV0gPSAxOyB6WyItSW5maW5pdHkiXSA9PT0gMS4gQWN0dWFsOiAnICsgKHpbIi1JbmZpbml0eSJdKSk7ICAKfSAKCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFs0Mjk0OTY3Mjk2XSA9IDE7CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyI0Mjk0OTY3Mjk2Il0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WyI0Mjk0OTY3Mjk2Il0gPT09IDEuIEFjdHVhbDogJyArICh4WyI0Mjk0OTY3Mjk2Il0pKTsgIAp9CgovL0NIRUNLIzMKeSA9IFtdOwp5WzQyOTQ5NjcyOTddID0gMTsKaWYgKHlbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHkgPSBbXTsgeVs0Mjk0OTY3Mjk3XSA9IDE7IHlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9IAoKLy9DSEVDSyM0CmlmICh5WyI0Mjk0OTY3Mjk3Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbNDI5NDk2NzI5N10gPSAxOyB5WyI0Mjk0OTY3Mjk3Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyI0Mjk0OTY3Mjk3Il0pKTsgIAp9CgovL0NIRUNLIzUKeiA9IFtdOwp6WzEuMV0gPSAxOwppZiAoelsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogeiA9IFtdOyB6WzEuMV0gPSAxOyB6WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh6WzFdKSk7ICAKfQoKLy9DSEVDSyM2CmlmICh6WyIxLjEiXSAhPT0gMSkgewogICRFUlJPUignIzY6IHogPSBbXTsgelsxLjFdID0gMTsgelsiMS4xIl0gPT09IDEuIEFjdHVhbDogJyArICh6WyIxLjEiXSkpOyAgCn0gIAoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBzdHJpbmcgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFsiMCJdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbIjAiXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbIjEiXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5WyIxIl0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for string primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IFtdOwp4W251bGxdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzIKaWYgKHhbIm51bGwiXSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbIm51bGwiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIm51bGwiXSkpOyAgCn0KCi8vQ0hFQ0sjMwp5ID0gW107CnlbdW5kZWZpbmVkXSA9IDA7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbdW5kZWZpbmVkXSA9IDA7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbInVuZGVmaW5lZCJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeSA9IFtdOyB5W3VuZGVmaW5lZF0gPSAxOyB5WyJ1bmRlZmluZWQiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHlbInVuZGVmaW5lZCJdKSk7ICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/S15.4_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbbmV3IEJvb2xlYW4odHJ1ZSldID0gMTsKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtuZXcgQm9vbGVhbih0cnVlKV0gPSAxOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyJ0cnVlIl0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbdHJ1ZV0gPSAxOyB4WyJ0cnVlIl0gPT09IDEuIEFjdHVhbDogJyArICh4WyJ0cnVlIl0pKTsgIAp9CgovL0NIRUNLIzMKeFtuZXcgQm9vbGVhbihmYWxzZSldID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbbmV3IEJvb2xlYW4oZmFsc2UpXSA9IDA7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHhbImZhbHNlIl0gIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gW107IHhbZmFsc2VdID0gMTsgeFsiZmFsc2UiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbImZhbHNlIl0pKTsgIAp9CgoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Boolean object","path":"TestCases/ch15/15.4/S15.4_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgTnVtYmVyKDApXSA9IDA7CmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W25ldyBOdW1iZXIoMCldID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9IAoKLy9DSEVDSyMyCnkgPSBbXTsKeVtuZXcgTnVtYmVyKDEpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBOdW1iZXIoMSldID0gMTsgeVsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9CgovL0NIRUNLIzMKeiA9IFtdOwp6W25ldyBOdW1iZXIoMS4xKV0gPSAxOwppZiAoelsiMS4xIl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB6ID0gW107IHpbbmV3IE51bWJlcigxLjEpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgU3RyaW5nKCIwIildID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbbmV3IFN0cmluZygiMCIpXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbbmV3IFN0cmluZygiMSIpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBTdHJpbmcoIjEiKV0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCi8vQ0hFQ0sjMwp6ID0gW107CnpbbmV3IFN0cmluZygiMS4xIildID0gMTsKaWYgKHpbIjEuMSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeiA9IFtdOyB6W25ldyBTdHJpbmcoIjEuMSIpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKeCA9IFtdOwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WyJbb2JqZWN0IE9iamVjdF0iXSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WyJbb2JqZWN0IE9iamVjdF0iXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIltvYmplY3QgT2JqZWN0XSJdKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgeFtvYmplY3RdID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAKCi8vQ0hFQ0sjMwp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WzFdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB4ID0gW107ICAKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICB4W29iamVjdF0gPSAwOwogIGlmICh4WzFdICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgeFtvYmplY3RdID0gMDsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKCJlcnJvciIpKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gW107IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4W29iamVjdF07ICAKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4W29iamVjdF07CiAgJEVSUk9SKCcjOC4xOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgeFtvYmplY3RdIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/S15.4_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBwcm9wZXJ0eSBvZiBBcnJheS5wcm90b3R5cGUuIFdoZW4gbmV3IEFycmF5IG9iamVjdCBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7CnZhciB4ID0gQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gQXJyYXkoKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgdmFyIHggPSBBcnJheSgpOyB4Lmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICh4Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp2YXIgeCA9IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIHggPSBBcnJheSgwLDEsMik7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGlzUHJvdG90eXBlT2YKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkoKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheSgpKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMS9TMTUuNC4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gQXJyYXkoKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IEFycmF5KDAsMSwyKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHdoZW4gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKdmFyIHggPSBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IEFycmF5KDIpOyB4Lmxlbmd0aCAhPT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gPT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDIpOyB4WzBdICE9PSAyJyk7Cn0KCg==","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIGF0IGxlYXN0IHR3byBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKaWYgKEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkoKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheSgwLDEsMCwxKS5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IChBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCkpOwp9Cgo=","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjb3JyZWN0IHdvcmsgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgeCA9IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEFycmF5IGlzIGNhbGxlZCBhcyBhIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFzIGEgY29uc3RydWN0b3IsCiAqIGl0IGNyZWF0ZXMgYW5kIGluaXRpYWxpc2VzIGEgbmV3IEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHR5cGVvZiwgaW5zdGFuY2VvZgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEFycmF5KCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIEFycmF5KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5KCkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKEFycmF5KCkgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpKTsKfSAgCgo=","commentary":"When Array is called as a function rather than as a constructor,\nit creates and initialises a new Array object","description":"Checking use typeof, instanceof","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKHgubXlwcm9wZXJ0eSkpOwp9CgovL0NIRUNLIzIKaWYgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHguaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyMyCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDAsMSwyKTsgCmlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMS9TMTUuNC4yLjFfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB4IGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKHguZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyAKeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmICh4LmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBvbmUgYXJndW1lbnQKICovCgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeC5sZW5ndGggIT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmICh4WzBdID09PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gIT09IDInKTsKfQoK","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBubyBhcmd1bWVudHMgb3IgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZiAobmV3IEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogbmV3IEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEFycmF5KDAsMSwwLDEpLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IG5ldyBBcnJheSgwLDEsMCwxKS5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoKSk7Cn0KCg==","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNvcnJlY3Qgd29yayB0aGlzIGFsZ29yaXRobQogKi8KCi8vQ0hFQ0sjCnZhciB4ID0gbmV3IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAppZiAoeC5teXByb3BlcnR5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KDApKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG5ldyBBcnJheSgwKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuZXcgQXJyYXkoMCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAp4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKHguZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIGVxdWFsIHRvIGxlbiwKICogdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIFRvVWludDMyKGxlbikKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KDEpOyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgIAoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KDQyOTQ5NjcyOTUpOyAKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoNDI5NDk2NzI5NSk7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If the argument len is a Number and ToUint32(len) is equal to len,\nthen the length property of the newly constructed object is set to ToUint32(len)","description":"Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAtMSwgNDI5NDk2NzI5NiwgNDI5NDk2NzI5NwogKi8KCi8vQ0hFQ0sjMQp0cnkgeyAgCiAgbmV3IEFycmF5KC0xKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheSgtMSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgtMSkpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5KC0xKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoNDI5NDk2NzI5Nik7ICAgCiAgJEVSUk9SKCcjMi4xOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSg0Mjk0OTY3Mjk2KSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgeyAgCiAgbmV3IEFycmF5KDQyOTQ5NjcyOTcpOyAgIAogICRFUlJPUignIzMuMTogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoNDI5NDk2NzI5NykpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = -1, 4294967296, 4294967297","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSBOYU4sICsvLUluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnRyeSB7ICAKICBuZXcgQXJyYXkoTmFOKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheShOYU4pIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTmFOKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkoTmFOKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMzLjE6IG5ldyBBcnJheShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = NaN, +/-Infinity","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAxLjUsIE51bWJlci5NQVhfVkFMVUUsIE51bWJlci5NSU5fVkFMVUUKICovCgovL0NIRUNLIzEKdHJ5IHsgIAogIG5ldyBBcnJheSgxLjUpOyAgIAogICRFUlJPUignIzEuMTogbmV3IEFycmF5KDEuNSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgxLjUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheSgxLjUpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KE51bWJlci5NQVhfVkFMVUUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSk7ICAgCiAgJEVSUk9SKCcjMy4xOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheShOdW1iZXIuTUlOX1ZBTFVFKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = 1.5, Number.MAX_VALUE, Number.MIN_VALUE","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkobnVsbCk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4WzBdID09PSBudWxsLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkKTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeFswXSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09ICIxIikgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KCIxIik7IHhbMF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgU3RyaW5nKCIwIik7IHZhciB4ID0gbmV3IEFycmF5KG9iaik7IHhbMF0gPT09IG9iai4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoK","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKDApOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMxIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IE51bWJlcigwKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzI6IHZhciBvYmogPSBuZXcgTnVtYmVyKDApOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDEpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcigxKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk1KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKC0xKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk2KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk3KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheSBjb25zdHJ1Y3RvciBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkubXlwcm9wZXJ0eSAhPT0gMSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5Lm15cHJvcGVydHkpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkuaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Create new property of Function.prototype. When Array constructor has this property","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChBcnJheS50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkZ1bmN0aW9uIiArICJdIikgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IEFycmF5LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiRnVuY3Rpb24iICsgIl0iLiBBY3R1YWw6ICcgKyAoQXJyYXkudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Function.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIEFycmF5KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5sZW5ndGg7IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of Array has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IEFycmF5Lmxlbmd0aDsKQXJyYXkubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGlzIDEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjQuanMKICogQGRlc2NyaXB0aW9uIEFycmF5Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array is 1","description":"Array.length === 1","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4zLzE1LjQuMy4xL1MxNS40LjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKCg==","commentary":"The Array has property prototype","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKCWlmIChwID09PSAicHJvdG90eXBlIikgewoJICByZXN1bHQgPSBmYWxzZTsKCX0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJwcm90b3R5cGUiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The Array.prototype property has the attribute DontEnum","description":"Checking if enumerating the Array.prototype property fails","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMS9TMTUuNC4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlOyBBcnJheS5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZTsgQXJyYXkucHJvdG90eXBlICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The Array.prototype property has the attribute DontDelete","description":"Checking if deleting the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlOwpBcnJheS5wcm90b3R5cGUgPSAxOwppZiAoQXJyYXkucHJvdG90eXBlICE9PSB4KSB7CgkkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlOyBBcnJheS5wcm90b3R5cGUgPSAxOyBBcnJheS5wcm90b3R5cGUgPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUpKTsKfQoKCg==","commentary":"The Array.prototype property has the attribute ReadOnly","description":"Checking if varying the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZSBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxIC8gQXJyYXkucHJvdG90eXBlLmxlbmd0aCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09ICswLiBBY3R1YWw6IC0nICsgKEFycmF5LnByb3RvdHlwZS5sZW5ndGgpKTsKICB9Cn0gCgoK","commentary":"The length property of Array.prototype is 0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LmlzQXJyYXk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray must exist as a function","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LmlzQXJyYXkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray must exist as a function taking 1 parameter","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoYSk7DQogIGlmIChiID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray return true if its argument is an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiX251bSAgID0gQXJyYXkuaXNBcnJheSg0Mik7DQogIHZhciBiX3VuZGVmID0gQXJyYXkuaXNBcnJheSh1bmRlZmluZWQpOw0KICB2YXIgYl9ib29sICA9IEFycmF5LmlzQXJyYXkodHJ1ZSk7DQogIHZhciBiX3N0ciAgID0gQXJyYXkuaXNBcnJheSgiYWJjIik7DQogIHZhciBiX29iaiAgID0gQXJyYXkuaXNBcnJheSh7fSk7DQogIHZhciBiX251bGwgID0gQXJyYXkuaXNBcnJheShudWxsKTsNCiAgDQogIGlmIChiX251bSA9PT0gZmFsc2UgJiYNCiAgICAgIGJfdW5kZWYgPT09IGZhbHNlICYmDQogICAgICBiX2Jvb2wgPT09IGZhbHNlICYmDQogICAgICBiX3N0ciA9PT0gZmFsc2UgJiYNCiAgICAgIGJfb2JqID09PSBmYWxzZSAmJg0KICAgICAgYl9udWxsID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray return false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoQXJyYXkucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray return true if its argument is an Array (Array.prototype)","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKG5ldyBBcnJheSgpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEwKTsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KGEpOw0KICBpZiAoYiA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray return true if its argument is an Array (new Array())","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm5zIGZhbHNlIGlmIGl0cyBhcmd1bWVudCBpcyBub3QgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgb1sxMl0gPSAxMzsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KG8pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray returns false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IFJlZ0V4cCgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to RegExp object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShKU09OKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to the JSON object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3ludGF4RXJyb3IoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Error object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShhcmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to Arguments object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to the global object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IEJvb2xlYW4oZmFsc2UpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSg1KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to number primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgTnVtYmVyKC0zKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Number object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSgiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to string primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3RyaW5nKCJoZWxsb1xud29ybGRcXCEiKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to String object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Function object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KE1hdGgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to the Math object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IERhdGUoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Date object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIGFuIGFycmF5IGFzIHRoZSBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IFtdOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to an object with an array as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIEFycmF5LnByb3RvdHlwZSBhcyB0aGUgcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSBBcnJheS5wcm90b3R5cGU7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to an object with Array.prototype as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIEFycmF5LWxpa2Ugb2JqZWN0IHdpdGggbGVuZ3RoIGFuZCBzb21lIGluZGV4ZWQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHsgMDogMTIsIDE6IDksIGxlbmd0aDogMiB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to an Array-like object with length and some indexed properties","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheS5wcm90b3R5cGUgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Create new property of Function.prototype. When Array.prototype object has this property","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40L1MxNS40LjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMgW1tDbGFzc11dIGlzICJBcnJheSIsCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQXJyYXkucHJvdG90eXBlKSAhPT0gIltvYmplY3QgQXJyYXldIikgewogICRFUlJPUignVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMnICsKICAgICAgICAgJ1tbQ2xhc3NdXSBpcyAiQXJyYXkiLicpOwp9Cgo=","commentary":"","description":"The Array prototype object is itself an array; its [[Class]] is \"Array\",","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5LnByb3RvdHlwZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkucHJvdG90eXBlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheS5wcm90b3R5cGUpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGlzIHNldCB0byAiQXJyYXkiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoQXJyYXkucHJvdG90eXBlLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgQXJyYXkucHJvdG90eXBlIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the Array prototype object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC9TMTUuNC40X0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxLjE6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyBBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9PT0gKzAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7CiAgfQp9IAogICAKCg==","commentary":"Array prototype object has length property whose value is +0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndmFsdWVPZicpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3ZhbHVlT2ZcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd2YWx1ZU9mJykpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdmFsdWVPZiBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLiBXaGVuIEFycmF5LnByb3RvdHlwZS52YWx1ZU9mIGFsc28gY2hhbmdlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnZhbHVlT2YgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgPSAxOyBBcnJheS5wcm90b3R5cGUudmFsdWVPZiA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS52YWx1ZU9mKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBBcnJheSgpOwppZiAoeC52YWx1ZU9mICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsgeCA9IG5ldyBBcnJheSgpOyB4LnZhbHVlT2YgPT09IDEuIEFjdHVhbDogJyArICh4LnZhbHVlT2YpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Change valueOf property of Object.prototype. When Array.prototype.valueOf also change","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMKICogdGhlIGJ1aWx0LWluIEFycmF5IGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEvUzE1LjQuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEFycmF5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikpOwp9ICAgCgo=","commentary":"The initial value of Array.prototype.constructor is\nthe built-in Array constructor","description":"Array.prototype.constructor === Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uc3RydWN0b3IgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMS9TMTUuNC40LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uc3RydWN0b3InKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2NvbnN0cnVjdG9yXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdjb25zdHJ1Y3RvcicpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25zdHJ1Y3RvciIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiY29uc3RydWN0b3IiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The constructor property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwLzE1LjQuNC4xMC0xMC1jLWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc2xpY2Ugd2lsbCBzbGljZSBhIHN0cmluZyBmcm9tIHN0YXJ0IHRvIGVuZCB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgMTAuYy5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJ0ZXN0IiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyck9iai5zbGljZSgwLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBuZXdBcnJbMF0gPT09IDEgJiYgdHlwZW9mIG5ld0FyclsxXSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.slice will slice a string from start to end when index property (read-only) exists in Array.prototype (Step 10.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID0gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IHN0YXJ0ID4gZW5kID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > start > end > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDUsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDUsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg1LDUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNSw1KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDUpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw1KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID4gMDsKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgyLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0KTsgYXJyLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIsNCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIGVuZCA+IGxlbmd0aCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNik7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDYpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw2KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"end > length > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBlbmQgPSBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMywzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length > end = abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBlbmQgPiBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMSw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTEsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length = end > abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID0gbGVuZ3RoID4gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LDEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) = length > end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID4gbGVuZ3RoID0gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTksNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNF0gPT09IDQuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJbNV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) > length = end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgxLC00KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMSwtNCk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC01KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtNSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length = abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoZW5kKSA+IGxlbmd0aCA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LC05KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwtOSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"abs(end) > length > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNSwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length = start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length < start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPCAtbGVuZ3RoIDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAgICAKICAgICAgCi8vQ0hFQ0sjNwppZiAoYXJyWzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFycls0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start < -length < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPSBlbmQgPCAtbGVuZ3RoCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTYsLTYpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start = end < -length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgPT09IHVuZGVmaW5lZAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywgdW5kZWZpbmVkKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAKCg==","commentary":"If end is undefined use length","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgaXMgYWJzZW50CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAzKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMF0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9IAoK","commentary":"If end is undefined use length","description":"end is absent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5kIGlzIG5vdCBpbnRlZ2VyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyclsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoK","commentary":"Operator use ToInteger from end","description":"end is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gTmFOCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOYU4pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gSW5maW5pdHkKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyLmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzVdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFycls1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzVdKSk7Cn0gCgo=","commentary":"Operator use ToInteger from end","description":"end = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gLUluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVG9JbnRlZ2VyIHVzZSBUb051bWJlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"Operator use ToInteger from end","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZW5kLCBsZW5ndGgpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9IDA7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IDI7Cm9ialszXSA9IDM7Cm9ials0XSA9IDQ7Cm9iai5sZW5ndGggPSA1Owp2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgbmVnYXRpdmUsIHVzZSBtYXgoZW5kICsgbGVuZ3RoLCAwKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICovCgp2YXIgb2JqID0ge307Cm9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKb2JqWzBdID0gMDsKb2JqWzFdID0gMTsKb2JqWzJdID0gMjsKb2JqWzNdID0gMzsKb2JqWzRdID0gNDsKb2JqLmxlbmd0aCA9IDU7CnZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LC0yKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMik7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyWzFdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKaWYgKGFycls0Mjk0OTY3Mjk1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzQyOTQ5NjcyOTVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk3KTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbNDI5NDk2NzI5Nl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsNDI5NDk2NzI5Nyk7IGFycls0Mjk0OTY3Mjk2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtMQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHZhciBhcnIgPSBvYmouc2xpY2UoNDI5NDk2NzI5NCw0Mjk0OTY3Mjk1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOyBhcnJbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LnNsaWNlKCk7CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHZhciBhcnIgPSB4LnNsaWNlKCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnIuaGFzT3duUHJvcGVydHkoXCcxXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoYXJyLmhhc093blByb3BlcnR5KCcxJykpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnNsaWNlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of slice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of slice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of slice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiBzbGljZS5sZW5ndGggPT09IDIKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of slice is 2","description":"slice.length === 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NsaWNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdzbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2xpY2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAic2xpY2UiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInNsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The slice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The slice property of Array has not prototype property","description":"Checking Array.prototype.slice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zbGljZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuc2xpY2UoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The slice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoaiksCiAqIGFuZCB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiArMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If this object does not have a property named by ToString(j),\nand this object does not have a property named by ToString(k), return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOwp4WzFdID0gMTsgCnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKeFswXSA9IDE7IAp4LnNvcnQoKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gPSAxOyAgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyBub3QgdW5kZWZpbmVkCiAqLwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgaWYgKHggPT09IHVuZGVmaW5lZCkgcmV0dXJuIC0xOyAKICBpZiAoeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMTsKICByZXR1cm4gMDsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMV0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMF0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGFuZCBbW0dldF1dIFRvU3RyaW5nKGspCiAqIGFyZSBib3RoIHVuZGVmaW5lZCwgcmV0dXJuICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If [[Get]] ToString(j) and [[Get]] ToString(k)\nare both undefined, return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICovCgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOwp4LnNvcnQoKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsKeC5zb3J0KCk7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7IHguc29ydCgpOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgbm90IHVuZGVmaW5lZAogKi8KCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIGlmICh4ID09PSB1bmRlZmluZWQpIHJldHVybiAtMTsgCiAgaWYgKHkgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7CiAgcmV0dXJuIDA7Cn0KCnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgMSk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzb3J0KCkgYW5kIHNvcnQodW5kZWZpbmVkKQogKi8KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCh1bmRlZmluZWQpOwoKLy9DSEVDSyM0CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQodW5kZWZpbmVkKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If comparefn is undefined, use SortCompare operator","description":"Checking sort() and sort(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyJ6IiwgInkiLCAieCIsICJ3IiwgInYiLCAidSIsICJ0IiwgInMiLCAiciIsICJxIiwgInAiLCAibyIsICJuIiwgIk0iLCAiTCIsICJLIiwgIkoiLCAiSSIsICJIIiwgIkciLCAiRiIsICJFIiwgIkQiLCAiQyIsICJCIiwgIkEiXTsKdmFyIGFscGhhYmV0ID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKCi8vQ0hFQ0sjMQphbHBoYWJldFIuc29ydCgpOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgRU5HTElTSCBBTFBIQUJFVCcpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyLRkSIsICLRjyIsICLRjiIsICLRjSIsICLRjCIsICLRiyIsICLRiiIsICLRiSIsICLRiCIsICLRhyIsICLRhiIsICLRhSIsICLRhCIsICLRgyIsICLRgiIsICLRgSIsICLRgCIsICLQnyIsICLQniIsICLQnSIsICLQnCIsICLQmyIsICLQmiIsICLQmSIsICLQmCIsICLQlyIsICLQliIsICLQlSIsICLQlCIsICLQkyIsICLQkiIsICLQkSIsICLQkCJdOwp2YXIgIGFscGhhYmV0ID0gWyLQkCIsICLQkSIsICLQkiIsICLQkyIsICLQlCIsICLQlSIsICLQliIsICLQlyIsICLQmCIsICLQmSIsICLQmiIsICLQmyIsICLQnCIsICLQnSIsICLQniIsICLQnyIsICLRgCIsICLRgSIsICLRgiIsICLRgyIsICLRhCIsICLRhSIsICLRhiIsICLRhyIsICLRiCIsICLRiSIsICLRiiIsICLRiyIsICLRjCIsICLRjSIsICLRjiIsICLRjyIsICLRkSJdOwoKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBSVVNTSUFOIEFMUEhBQkVUJyk7Cn0KCg==","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFRvU3RyaW5nIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IFt1bmRlZmluZWQsIDIsIDEsICJYIiwgLTEsICJhIiwgdHJ1ZSwgb2JqLCBOYU4sIEluZmluaXR5XTsgCnZhciAgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHsKICBpZiAoIShpc05hTihhbHBoYWJldFJbaV0pICYmIGlzTmFOKGFscGhhYmV0W2ldKSkpIHsgCiAgICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGVjayBUb1N0cmluZyBvcGVyYXRvcicpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsieiIsICJ5IiwgIngiLCAidyIsICJ2IiwgInUiLCAidCIsICJzIiwgInIiLCAicSIsICJwIiwgIm8iLCAibiIsICJNIiwgIkwiLCAiSyIsICJKIiwgIkkiLCAiSCIsICJHIiwgIkYiLCAiRSIsICJEIiwgIkMiLCAiQiIsICJBIl07CnZhciAgYWxwaGFiZXQgPSBbIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CgovL0NIRUNLIzEKYWxwaGFiZXQuc29ydChteUNvbXBhcmVmbik7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBFTkdMSVNIIEFMUEhBQkVUJyk7Cn0gCgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsi0ZEiLCAi0Y8iLCAi0Y4iLCAi0Y0iLCAi0YwiLCAi0YsiLCAi0YoiLCAi0YkiLCAi0YgiLCAi0YciLCAi0YYiLCAi0YUiLCAi0YQiLCAi0YMiLCAi0YIiLCAi0YEiLCAi0YAiLCAi0J8iLCAi0J4iLCAi0J0iLCAi0JwiLCAi0JsiLCAi0JoiLCAi0JkiLCAi0JgiLCAi0JciLCAi0JYiLCAi0JUiLCAi0JQiLCAi0JMiLCAi0JIiLCAi0JEiLCAi0JAiXTsKdmFyICBhbHBoYWJldCA9IFsi0JAiLCAi0JEiLCAi0JIiLCAi0JMiLCAi0JQiLCAi0JUiLCAi0JYiLCAi0JciLCAi0JgiLCAi0JkiLCAi0JoiLCAi0JsiLCAi0JwiLCAi0J0iLCAi0J4iLCAi0J8iLCAi0YAiLCAi0YEiLCAi0YIiLCAi0YMiLCAi0YQiLCAi0YUiLCAi0YYiLCAi0YciLCAi0YgiLCAi0YkiLCAi0YoiLCAi0YsiLCAi0YwiLCAi0Y0iLCAi0Y4iLCAi0Y8iLCAi0ZEiXTsKCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQoKLy9DSEVDSyMxCmFscGhhYmV0LnNvcnQobXlDb21wYXJlZm4pOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgUlVTU0lBTiBBTFBIQUJFVCcpOwp9Cgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBvcGVyYXRvcgogKi8KCnZhciBvYmogPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0yfX07IAp2YXIgYWxwaGFiZXRSID0gW3VuZGVmaW5lZCwgMiwgMSwgIlgiLCAtMSwgImEiLCB0cnVlLCBvYmosIE5hTiwgSW5maW5pdHldOyAKdmFyIGFscGhhYmV0ID0gW3RydWUsICJhIiwgIlgiLCBOYU4sIEluZmluaXR5LCAyLCAxLCBvYmosIC0xLCB1bmRlZmluZWRdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KG15Q29tcGFyZWZuKTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IHswOnVuZGVmaW5lZCwgMToyLCAyOjEsIDM6IlgiLCA0Oi0xLCA1OiJhIiwgNjp0cnVlLCA3Om9iaiwgODpOYU4sIDk6SW5maW5pdHl9OwphbHBoYWJldFIuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyAKYWxwaGFiZXRSLmxlbmd0aCA9IDEwOwp2YXIgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAgCmFscGhhYmV0Ui5zb3J0KCk7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIG5vdCB1bmRlZmluZWQKICovCgp2YXIgb2JqID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMn19Owp2YXIgYWxwaGFiZXRSID0gezA6dW5kZWZpbmVkLCAxOjIsIDI6MSwgMzoiWCIsIDQ6LTEsIDU6ImEiLCA2OnRydWUsIDc6b2JqLCA4Ok5hTiwgOTpJbmZpbml0eX07CmFscGhhYmV0Ui5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IAphbHBoYWJldFIubGVuZ3RoID0gMTA7IAp2YXIgYWxwaGFiZXQgPSBbdHJ1ZSwgImEiLCAiWCIsIE5hTiwgSW5maW5pdHksIDIsIDEsIG9iaiwgLTEsIHVuZGVmaW5lZF07CiAKIHZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQogIAphbHBoYWJldFIuc29ydChteUNvbXBhcmVmbik7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKaWYgKG9iai5zb3J0KCkgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpID09PSBvYmouIEFjdHVhbDogJyArIChvYmouc29ydCgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk4CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieiI7Cm9ialsxXSA9ICJ5IjsKb2JqWzQyOTQ5NjcyOTddID0gIngiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsKCi8vQ0hFQ0sjMQppZiAob2JqLnNvcnQoKSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieCI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ6IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gInoiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5zb3J0KCk7IG9ialsxXSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsKb2JqWzBdID0gInoiOwpvYmpbMV0gPSAieSI7Cm9ialsyXSA9ICJ4IjsKb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk0OwoKLy9DSEVDSyMxCmlmIChvYmouc29ydCgpICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieiIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzFdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzJdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gY29tcGFyZWZuIGZ1bmN0aW9uIHRocm93ICJlcnJvciIKICovCgovL0NIRUNLIzEKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdGhyb3cgImVycm9yIjsKfQp2YXIgeCA9IFsxLDBdOwp0cnkgewogIHguc29ydChteUNvbXBhcmVmbikKICAkRVJST1IoJyMxLjE6IEFycmF5LnNvcnQgc2hvdWxkIG5vdCBlYXQgZXhjZXB0aW9ucycpOwp9IGNhdGNoKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjMS4yOiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMnKTsKICB9Cn0gICAgIAoK","commentary":"Array.sort should not eat exceptions","description":"comparefn function throw \"error\"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzEsMF07CngubGVuZ3RoID0gMjsKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgp4Lmxlbmd0aCA9IDA7CgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMSwwXTsgeC5sZW5ndGggPSAyOyB4LnNvcnQoKTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFsxLDBdOyB4Lmxlbmd0aCA9IDI7IHguc29ydCgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7Ck9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0Owp4ID0gezA6MSwxOjB9Owp4LnNvcnQoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwpkZWxldGUgeFsxXTsKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IHggPSB7MDoxLDE6MH07IHguc29ydCgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgeCA9IHswOjEsMTowfTsgeC5zb3J0KCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgo=","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuc29ydCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS5zb3J0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of sort has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5zb3J0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnNvcnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of sort has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort has the attribute ReadOnly","description":"Checking if varying the length fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjQuanMKICogQGRlc2NyaXB0aW9uIHNvcnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort is 1","description":"sort.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc29ydFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJzb3J0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJzb3J0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The sort property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The sort property of Array has not prototype property","description":"Checking Array.prototype.sort.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTcuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuc29ydCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The sort property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHRoZSBjb21wYXJlZm4gcGFzc2luZyB1bmRlZmluZWQgYXMgdGhlIHRoaXMgdmFsdWUgKHN0ZXAgMTNiKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBjb21wYXJlZm4gdGVzdHMgdGhhdCBpdHMgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQKICogQG9ubHlTdHJpY3QKICovCgp2YXIgZ2xvYmFsID0gdGhpczsKWzIsM10uc29ydChmdW5jdGlvbih4LHkpIHsKICAidXNlIHN0cmljdCI7CgogIGlmICh0aGlzID09PSBnbG9iYWwpIHsKICAgICRGQUlMKCcjMTogU29ydCBsZWFrcyBnbG9iYWwnKTsKICB9CiAgaWYgKHRoaXMgIT09IHVuZGVmaW5lZCkgewogICAgJEZBSUwoJyMyOiBTb3J0IGNvbXBhcmVmbiBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiB4IC0geTsKfSk7Cgo=","commentary":"Call the comparefn passing undefined as the this value (step 13b)","description":"comparefn tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2UgLSAnZnJvbScgaXMgdGhlIHJlc3VsdCBvZiBUb1N0cmluZyhhY3R1YWxTdGFydCtrKSBpbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQogICAgICAgIHZhciBuZXdBcnJPYmogPSBhcnJPYmouc3BsaWNlKC0yLCAxKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyck9iai5sZW5ndGggPT09IDEgJiYgbmV3QXJyT2JqWzBdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.splice - 'from' is the result of ToString(actualStart+k) in an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2Ugd2lsbCBzcGxpY2UgYW4gYXJyYXkgZXZlbiB3aGVuIEFycmF5LnByb3RvdHlwZSBoYXMgaW5kZXggJzAnIHNldCB0byByZWFkLW9ubHkgYW5kICdmcm9tUHJlc2VudCcgbGVzcyB0aGFuICdhY3R1YWxEZWxldGVDb3VudCAoU3RlcCA5LmMuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbImEiLCAiYiIsICJjIl07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAidGVzdCI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLnNwbGljZSgyLCAxLCAiZCIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09ICJhIiAmJiBhcnJbMV0gPT09ICJiIiAmJiBhcnJbMl0gPT09ICJkIg0KICAgICAgICAgICAgICAgICYmIG5ld0FyclswXSA9PT0gImMiICYmIG5ld0Fyci5sZW5ndGggPT09IDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBwID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.splice will splice an array even when Array.prototype has index '0' set to read-only and 'fromPresent' less than 'actualDeleteCount (Step 9.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgeFswXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDUpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzFdID09PSA1LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw0KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGRlbGV0ZUNvdW50ID4gbGVuZ3RoID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"deleteCount > length > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSw0LDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSwyLDMpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMV0gPT09IDMuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMl0gPT09IDAuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNS5qcwogKiBAZGVzY3JpcHRpb24gLXN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDMsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFswXSA9PT0gNC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IHhbMV0gPT09IDUuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBsZW5ndGggPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNSw0KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > length = deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiAtc3RhcnQgPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > -start = deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBkZWxldGVDb3VudCA+IGxlbmd0aCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtOSw1KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > deleteCount > length > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBkZWxldGVDb3VudCA+IC1zdGFydCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > -start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPT09IHVuZGVmaW5lZCwgZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"Splice with undefined arguments","description":"start === undefined, end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSx1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgIAoK","commentary":"Splice with undefined arguments","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciB4ID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIHggPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IHhbMl0gPT09IDIuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFszXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAKCg==","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9IAoK","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTmFOKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDMpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from deleteCount","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKi8KCnZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsKb2JqLmxlbmd0aCA9IDQ7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKG9ialswXSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMV0gPT09IDUuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjOQppZiAob2JqWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMl0gPT09IDMuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKi8KCnZhciBvYmogPSB7MDowLDE6MX07Cm9iai5sZW5ndGggPSAyOwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9ialsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzJdID09PSAwLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfSAgICAgICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqLwoKdmFyIG9iaiA9IHswOjAsMToxfTsKb2JqLmxlbmd0aCA9IDI7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmoubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsLTEsMiwzKTsgb2JqWzFdID09PSAzLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IG9ialsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9ICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICovCgp2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307Cm9iai5sZW5ndGggPSA0OwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAob2JqWzBdICE9PSA0KSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzFdID09PSA1LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKG9ialsyXSAhPT0gMykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtNCwzLDQsNSk7IG9ialsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CnZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsIDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NSwxKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsMSk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3Owp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzBdID0gInkiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAKCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ialswXSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMSk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsKCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IC0xOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTQsMSk7IGFyclswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0gCgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyBhcnJbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM1OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzY6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7CgovL0NIRUNLIzcKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMTAKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzExCmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyMxMTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEyOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsKCi8vQ0hFQ0sjNwppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzFdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTI6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnZhciB4ID0gW107CngubGVuZ3RoID0gMTsKdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCmRlbGV0ZSBhcnJbMF07CgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGRlbGV0ZSBhcnJbMF07IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzU6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKeCA9IHt9Owp2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsKCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKZGVsZXRlIGFyclswXTsKCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgZGVsZXRlIGFyclswXTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0ge307IHZhciBhcnIgPSB4LnNwbGljZSgwLDEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zcGxpY2UpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc3BsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of splice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of splice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc3BsaWNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice is 2","description":"splice.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzcGxpY2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3NwbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc3BsaWNlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNwbGljZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic3BsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The splice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The splice property of Array has not prototype property","description":"Checking Array.prototype.splice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuc3BsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNwbGljZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The splice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgxKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoLTEpOwppZiAodW5zaGlmdCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeC51bnNoaWZ0KC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoLTEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeC51bnNoaWZ0KCk7IHgudW5zaGlmdCgtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmICh1bnNoaWZ0ICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMV0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsxXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFsyXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbMl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbM10pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzRdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs0XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICAgIC8vQ0hFQ0sjMQogICAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMSk7ICAKICAgIGlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwogICAgfQogICAgLy9DSEVDSyMyCiAgICBpZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICAgICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMwogICAgaWYgKG9ialsiMCJdICE9PSAtMSkgewogICAgICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKICAgIH0KfSAKCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialsiMCJdICE9PSAtNCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmpbIjAiXSA9PT0gLTQuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtNyk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKG9ialsiMCJdICE9PSAtNykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoK","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gTmFOOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC0xKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWyIwIl0gIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM1CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWyIwIl0gIT09IC00KSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9ialsiMCJdID09PSAtNC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC03KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAob2JqWyIwIl0gIT09IC03KSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTAKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTApOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCkgPT09IDEuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTApOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMgppZiAob2JqWyIwIl0gIT09IC0xMCkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCk7IG9ialsiMCJdID09PSAtMTAuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzEzCm9iai5sZW5ndGggPSAxLjU7CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoLTEzKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsKICAkRVJST1IoJyMxMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE0CmlmIChvYmoubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDEuNTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEzKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTUKaWYgKG9ialsiMCJdICE9PSAtMTMpIHsKICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpOyBvYmpbIjAiXSA9PT0gLTEzLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxNgpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTYpOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTYpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xNik7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ialsiMCJdICE9PSAtMTYpIHsKICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTE2KTsgb2JqWyIwIl0gPT09IC0xNi4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0gICAKCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0gIG9iai51bnNoaWZ0KCkgPT09IDMuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMwOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnVuc2hpZnQoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKICBpZiAodW5zaGlmdCAhPT0gMykgewogICAgJEVSUk9SKCcjNC4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgPT09ICIsIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsgIAppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM2OiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnVuc2hpZnQoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CiAgJEVSUk9SKCcjNy4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iai51bnNoaWZ0KCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoudW5zaGlmdCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwogICRFUlJPUignIzguMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoudW5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzFdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgCgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gInoiKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9IAoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjNgp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKb2JqWzBdID0gIiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gNCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTU7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbM10gIT09ICIiKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialszXSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAgICAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmpbMF0gPSAiIjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsKaWYgKHVuc2hpZnQgIT09IDQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gIiIpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbM10gPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnggPSBbMV07CngubGVuZ3RoID0gMTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgwKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gLTE7IHggPSBbMV07IHgubGVuZ3RoID0gMTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMF0gPSAtMTsgeCA9IFsxXTsgeC5sZW5ndGggPSAxOyB4LnVuc2hpZnQoMCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Owp4ID0gezA6MX07CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoMCk7CmlmICh1bnNoaWZ0ICE9PSAyKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CgovL0NIRUNLIzgKaWYgKHhbMF0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeFswXTsgeFswXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzkKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0gezA6MH07IHgudW5zaGlmdCgwKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gMTsKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwoKLy9DSEVDSyMxCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMF0gPSAxOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzBdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKeCA9IHt9OwoKLy9DSEVDSyM1CnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzcKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMF0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0ge307IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM4CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IGRlbGV0ZSB4WzBdOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkudW5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS51bnNoaWZ0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of unshift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of unshift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHVuc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift is 1","description":"unshift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndW5zaGlmdFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJ1bnNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ1bnNoaWZ0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The unshift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The unshift property of Array has not prototype property","description":"Checking Array.prototype.unshift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUudW5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The unshift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBoYXMgYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCk7DQogICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aFsxXSA9IHRydWU7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChNYXRoLCB0cnVlKSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoSlNPTiwgdGFyZ2V0T2JqKSA9PT0gMzsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzNdOw0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSBmdW4oMSwgdHJ1ZSwgMyk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRydWUpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChudWxsKTsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0cnVlLCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzFdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCg1LCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0zKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKCJhYmMiLCAiYiIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJudWxsIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAnbCcpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQgaW4gYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEuaW5kZXhPZigxKSAhPT0gMTAwIHx8IA0KICAgICAgYS5pbmRleE9mKCIiKSAhPT0gOTk5OTkgfHwNCiAgICAgIGEuaW5kZXhPZigic3RyIikgIT09IDEyMzQ1NiB8fA0KICAgICAgYS5pbmRleE9mKDFFKzMwOSkgIT09IDUgfHwgICAvL0luZmluaXR5DQogICAgICBhLmluZGV4T2YoNS41KSAhPT0gNTU1NSApDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgaWYgKGEuaW5kZXhPZih0cnVlKSA9PT0gLTEgJiYgDQogICAgICBhLmluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmluZGV4T2YoInN0cjEiKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihudWxsKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihuZXcgT2JqZWN0KCkpID09PSAtMSkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 for elements not present in array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCg0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGYsMSk7DQogIA0KICBpZiAoaSA9PT0gLTEgJiYgYWNjZXNzZWQ9PWZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDI6IHRydWUsIGxlbmd0aDogMiB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkT25lID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZE9uZVsxXSA9IHRydWU7DQogICAgICAgIHZhciBjaGlsZFR3byA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRUd29bMl0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkT25lLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZFR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDE6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is undefined property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgIT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB7fTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSB0YXJnZXRPYmo7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgZmFsc2UpID09PSAtMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSAiYiI7DQogICAgICAgIG9ialsyXSA9ICJjIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgDQogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRPYmopID09PSAxICYmDQogICAgICAgICAgICAgICAgWzAsIDFdLmluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaikgPT09IDE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGRPbmUgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkT25lWzFdID0gdHJ1ZTsNCiAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFR3b1syXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmpPbmUgPSB7IDE6IHRydWUgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqT25lLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqVHdvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAidHJ1ZSIsIDI6ICIyIiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAidHJ1ZSIpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE5OTogdHJ1ZSwgMjAwOiAiMjAwLjU5IiwgbGVuZ3RoOiAiMjAwLjU5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE5OSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyMDAuNTkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUaHJlZSwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjJFMCIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IHRydWUsIDExOiAiMHgwMEIiLCBsZW5ndGg6ICIweDAwQiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIweDAwQiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjAwMDIuMCIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjAwMDIuMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDEwMDogdHJ1ZSwgbGVuZ3RoOiAib25lIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm4gLTEgd2hlbiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB0cnVlIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf return -1 when 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDEyMjogdHJ1ZSwgMTIzOiBmYWxzZSwgbGVuZ3RoOiAxMjMuMzIxIH07IC8vbGVuZ3RoIHdpbGwgYmUgMTIzIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMjIgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUgfTsgLy9sZW5ndGggd2lsbCBiZSAyIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDQyOTQ5NjcyOTcpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDM6IHRydWUsIDQ6IGZhbHNlLCBsZW5ndGg6IDQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAzICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDQ6IHRydWUsIDU6IGZhbHNlLCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpID0gW10uaW5kZXhPZig0Mik7DQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAtNmUtMSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogbnVsbH0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGdlbmVyaWMgJ2FycmF5JyB3aXRoIGxlbmd0aCAwICkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IDB9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggaXMgb2JqZWN0IG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBpcyBhbiBlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IFsgXX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIDAuMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsMSwyLDEsMl07DQogIGlmIChhLmluZGV4T2YoMiwiMiIpID09PSAzICYmICAgICAgICAgIC8vICIyIiByZXNvbHZlcyB0byAyICANCiAgICAgIGEuaW5kZXhPZigyLCJvbmUiKSA9PT0gMSkgeyAgICAgICAvLyAib25lIiByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgSW5maW5pdHkpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIE5hTikgPT09IDAgJiYgW3RydWVdLmluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWUsIDJdLmluZGV4T2YodHJ1ZSwgIi0xIikgPT09IC0xICYmDQogICAgICAgIFswLCAxLCB0cnVlXS5pbmRleE9mKHRydWUsICItMSIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsICItSW5maW5pdHkiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiM0UwIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjNFMCIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAzIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMyIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBmbG9hdGluZyBwb2ludCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7DQogIGlmIChhLmluZGV4T2YoMywwLjQ5KSA9PT0gMiAmJiAgICAvLyAwLjQ5IHJlc29sdmVzIHRvIDANCiAgICAgIGEuaW5kZXhPZigxLDAuNTEpID09PSAwICYmICAgIC8vIDAuNTEgcmVzb2x2ZXMgdG8gMA0KICAgICAgYS5pbmRleE9mKDEsMS41MSkgPT09IC0xKSB7ICAgLy8gMS4wMSByZXNvbHZlcyB0byAxDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMy4xMCIpID09PSAtMSAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIHRhcmdldE9iaiwgNF0uaW5kZXhPZih0YXJnZXRPYmosICIwMDAzLjEwIikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when value of 'fromIndex' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcFR3b09jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIHN0ZXBUd29PY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBzdGVwVGhyZWVPY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAxIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdHJ1ZSkgPT09IC0xICYmICAgICAgICAvLyB0cnVlIHJlc29sdmVzIHRvIDENCiAgICAgYS5pbmRleE9mKDEsZmFsc2UpID09PSAwICkgeyAgICAgICAvLyBmYWxzZSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgMi41KSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZigwLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoMiwgMSkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZig0LCAyKSA9PT0gNCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoNCwgNCkgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzICd1bmRlZmluZWQnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCkgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is 'undefined'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSxudWxsKSA9PT0gMCApIHsgICAgICAgLy8gbnVsbCByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdmcm9tSW5kZXgnIGlzbid0IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgMCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQNCiAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKDApID09PSBhcnIuaW5kZXhPZigwLCAwKSAmJg0KICAgICAgICAgICAgYXJyLmluZGV4T2YoMikgPT09IGFyci5pbmRleE9mKDIsIDApICYmDQogICAgICAgICAgICBhcnIuaW5kZXhPZig0KSA9PT0gYXJyLmluZGV4T2YoNCwgMCk7IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIDApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmIGZyb21JbmRleCBpcyBncmVhdGVyIHRoYW4gQXJyYXkgbGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsNSkgPT09IC0xICYmICANCiAgICAgYS5pbmRleE9mKDEsMykgPT09IC0xICAmJg0KICAgICBbIF0uaW5kZXhPZigxLDApID09PSAtMSAgKXsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if fromIndex is greater than Array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMywgMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbXS5pbmRleE9mKDEsIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMiwgMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgDQogIGlmIChhLmluZGV4T2YoMiwtMSkgPT09IC0xICYmICANCiAgICAgIGEuaW5kZXhPZigyLC0yKSA9PT0gMSAmJiAgDQogICAgICBhLmluZGV4T2YoMSwtMykgPT09IDAgJiYgIA0KICAgICAgYS5pbmRleE9mKDEsLTUuMykgPT09IDAgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDQsIC0xKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoMSwgLTMpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZigwLCAtNCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IFtvYmosInRydWUiLCB1bmRlZmluZWQsMCxfZmFsc2UsbnVsbCwxLCJzdHIiLDAsMSx0cnVlLGZhbHNlLHRydWUsZmFsc2VdOw0KICBpZiAoYS5pbmRleE9mKHRydWUpID09PSAxMCAmJiAgLy9hWzEwXT10cnVlDQogICAgICBhLmluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGluZGV4T2YgKg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfTmFOID0gTmFOOw0KICB2YXIgYSA9IG5ldyBBcnJheSgiTmFOIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIixfTmFOLE5hTik7DQogIGlmIChhLmluZGV4T2YoTmFOKSA9PT0gLTEpICAvLyBOYU4gaXMgZXF1YWwgdG8gbm90aGluZywgaW5jbHVkaW5nIGl0c2VsZi4NCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using indexOf *","description":"Array.prototype.indexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0aGUgbGVuZ3RoIG9mIGl0ZXJhdGlvbiBpc24ndCBjaGFuZ2VkIGJ5IGFkZGluZyBlbGVtZW50cyB0byB0aGUgYXJyYXkgZHVyaW5nIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsyMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoZmFsc2UsdW5kZWZpbmVkLG51bGwsIjAiLG9iaiwtMS4zMzMzMzMzMzMzMzMzLCAic3RyIiwtMCx0cnVlLCswLCBvbmUsIDEsMCwgZmFsc2UsIF9mbG9hdCwgLSg0LzMpKTsNCiAgaWYgKGEuaW5kZXhPZigtKDQvMykpID09PSAxNCAmJiAgICAgIC8vIGFbMTRdPV9mbG9hdD09PS0oNC8zKQ0KICAgICAgYS5pbmRleE9mKDApID09PSA3ICAgICAgJiYgICAgICAgLy8gYVs3XSA9ICswLCAwPT09KzANCiAgICAgIGEuaW5kZXhPZigtMCkgPT09IDcgICAgICAmJiAgICAgLy8gYVs3XSA9ICswLCAtMD09PSswDQogICAgICBhLmluZGV4T2YoMSkgPT09IDEwICkgICAgICAgICAgICAvLyBhWzEwXSA9b25lPT09IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07DQogIHZhciBzekZhbHNlID0gImZhbHNlIjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwLHN6RmFsc2UsICJmYWxzZSIpOw0KICBpZiAoYS5pbmRleE9mKCJmYWxzZSIpID09PSA4KSAgLy9hWzhdPXN6RmFsc2UNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07DQogIHZhciBfdW5kZWZpbmVkMSA9IHVuZGVmaW5lZDsNCiAgdmFyIF91bmRlZmluZWQyOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLDAsZmFsc2UsbnVsbCwxLCJ1bmRlZmluZWQiLG9iaiwxLF91bmRlZmluZWQyLF91bmRlZmluZWQxLHVuZGVmaW5lZCk7DQogIGlmIChhLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gOCkgLy9hWzhdPV91bmRlZmluZWQyDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIsb2JqMixvYmoxLG9iajMpOw0KICBpZiAoYS5pbmRleE9mKG9iajMpID09PSA4KSAgLy9hWzhdID0gb2JqMTsNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19Ow0KICB2YXIgX251bGwgPSBudWxsOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLF9udWxsLDEsInN0ciIsMCwxLG9iaix0cnVlLGZhbHNlLG51bGwpOw0KICBpZiAoYS5pbmRleE9mKG51bGwpID09PSA0ICkgIC8vYVs0XT1fbnVsbA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChzZWxmIHJlZmVyZW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIA0KICBhWzJdID0gYTsNCiAgaWYgKGEuaW5kZXhPZihhKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICANCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCxiLCIwLDEiLDMpOyAgDQogIGlmIChhLmluZGV4T2YoYi50b1N0cmluZygpKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChTcGFyc2UgQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIA0KICBhWzQyOTQ5NjcyOTRdID0gMjsgICAgICAgICAgLy8gMl4zMi0yIC0gaXMgbWF4IGFycmF5IGVsZW1lbnQNCiAgYVs0Mjk0OTY3Mjk1XSA9IDM7ICAgICAgICAgIC8vIDJeMzItMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIGFbNDI5NDk2NzI5N10gPSA1OyAgICAgICAgICAvLyAyXjMyKzEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCg0KICAvLyBzdGFydCBzZWFyY2hpbmcgbmVhciB0aGUgZW5kIHNvIGluIGNhc2UgaW1wbGVtZW50YXRpb24gYWN0dWFsbHkgdHJpZXMgdG8gdGVzdCBhbGwgbWlzc2luZyBlbGVtZW50cyEhDQogIHJldHVybiAoYS5pbmRleE9mKDIsNDI5NDk2NzI5MCApID09PSA0Mjk0OTY3Mjk0ICYmICAgIA0KICAgICAgYS5pbmRleE9mKDMsNDI5NDk2NzI5MCkgPT09IC0xICYmICAgDQogICAgICBhLmluZGV4T2YoNCw0Mjk0OTY3MjkwKSA9PT0gLTEgJiYgIA0KICAgICAgYS5pbmRleE9mKDUsNDI5NDk2NzI5MCkgPT09IC0xICAgKSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgImxlbmd0aCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoIjYuOTkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDA6IDAsIDE6IDExMSwgMjogMiwgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExLCAyXTsgDQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGFyci5pbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMiA9PT0gYXJyLmluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5pbmRleE9mKCJ1bmNvbmZpZ3VyYWJsZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9Ow0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCB0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnIubGVuZ3RoID0gMzA7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5pbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIGZhbHNlLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAiMTAiOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5pbmRleE9mKCIxMCIsIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gbm9uLWV4aXN0ZW50IHByb3BlcnR5IHdvdWxkbid0IGJlIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - non-existent property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSAmJg0KICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5pbmRleE9mKDEwKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoMjApICYmIA0KICAgICAgICAgICAgICAgIDIgPT09IFssICwgLCBdLmluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07IA0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDMwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMCAmJg0KICAgICAgICAgICAgW2ZhbHNlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbZmFsc2UsIGZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCBdLmluZGV4T2YodW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAxIH0sIHVuZGVmaW5lZCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzEwMF0gPSAiMTAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMjAwXSA9ICIyMDAiOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICYmDQogICAgICAgICAgICAgICAgMTAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzIwMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgZmFsc2UsIDAsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gW3RydWVdLmluZGV4T2YodHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0aDogMiB9LCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0uaW5kZXhPZih0cnVlKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoZmFsc2UpICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0uaW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIHRydWUpICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sICJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmluZGV4T2YoMSkgPT09IDEgJiYgYXJyLmluZGV4T2YoMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdHlwZSBvZiBhcnJheSBlbGVtZW50IGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbInRydWUiXS5pbmRleE9mKHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgWyIwIl0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbbnVsbF0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0uaW5kZXhPZigwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIEJvb2xlYW4gdHlwZSwgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Boolean type, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdCB0eXBlLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFt7fSwgb2JqMSwgb2JqMl0uaW5kZXhPZihvYmozKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Object type, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIFVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmluZGV4T2YoKSA9PT0gMCAmJiBbdW5kZWZpbmVkXS5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbbnVsbF0uaW5kZXhPZihudWxsKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgTmFODQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0uaW5kZXhPZihOYU4pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgLU5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyArMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgLTANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbKzBdLmluZGV4T2YoLTApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyAtMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgKzANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTBdLmluZGV4T2YoKzApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgTnVtYmVyLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTEsIDAsIDFdLmluZGV4T2YoMSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Number, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgU3RyaW5nLCBhbmQgdGhleSBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsiIiwgImFiIiwgImJjYSIsICJhYmMiXS5pbmRleE9mKCJhYmMiKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both array element and search element are String, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgaW5kZXggb2YgbGFzdCBvbmUgd2hlbiBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFyZSBlbGlnaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAyLCAxLCAyXS5pbmRleE9mKDIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgd2l0aG91dCB2aXNpdGluZyBzdWJzZXF1ZW50IGVsZW1lbnQgb25jZSBzZWFyY2ggdmFsdWUgaXMgZm91bmQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsICwgMSwgMl07DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuaW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpZnRoQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Y7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIE1hdGhbMV0gPSAxMDA7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoTWF0aCwgMTAwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoImFmZGFzZiIpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTAwOw0KICAgICAgICBvYmpbMV0gPSAiYWZkYXNmIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKEpTT04sIHRhcmdldE9iaik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTlszXTsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSBJbmZpbml0eTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gWyJnbG9iYWwiXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSBpc05hTjsNCiAgICAgICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKDUsIGlzTmFOKTsNCiAgICAgICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgImYiKSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAxOw0KICAgICAgICBjaGlsZFsyXSA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAxOiAxIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBudWxsKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is undefined property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSAhPT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHt9Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKSA9PT0gLTE7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdGFyZ2V0T2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIzIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIzIikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJiIjsNCiAgICAgICAgb2JqWzJdID0gImMiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBbMCwgMV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge2xlbmd0aDogMH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFsxXSA9IGNoaWxkOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgY2hpbGQpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSBudWxsOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gIngiOw0KICAgICAgICBjaGlsZFsyXSA9ICJ5IjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsICJ4IikgPT09IDEgJiYNCiAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgInkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IGV2YWw7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgZXZhbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogIjIifTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogbnVsbCwgMjogdW5kZWZpbmVkLCBsZW5ndGg6ICItNDI5NDk2NzI5NCJ9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiA0LCA1OiA1LCBsZW5ndGg6ICI1LjUxMjM0NSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0KSA9PT0gNCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA1KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqVGhyZWUsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MjI5OiAyMjksIDIzMDogMi4zRTIsIGxlbmd0aDogIjIuM0UyIn07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjI5KSA9PT0gMjI5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIuM0UyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgd2hpY2ggaXMgYWJsZSB0byBiZSBjb252ZXJ0ZWQgaW50byBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAyNTczOiAyNTczLCAyNTc0OiAweDAwMEEwRSwgbGVuZ3RoOiAiMHgwMDBBMEUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjU3MykgPT09IDI1NzMgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMHgwMDBBMEUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string which is able to be converted into hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBTdHJpbmcoIjEyM2FiYzEyMyIpOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIGxlbmd0aDogIjEyM2FiYzEyMyIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJuIC0xIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdHJ1ZSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf return -1 when value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHRoaXM7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICczJzsNCiAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBhbiBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IGNoaWxkLA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf uses inherited valueOf method when 'length' is an object with an own toString and an inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTIyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsgLy92ZXJpZnkgbGVuZ3RoIGlzIDAgZmluYWxseQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNDI5NDk2NzI5NykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAidW5kZWZpbmVkIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiArMCwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICswKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA5OTogdHJ1ZSwgMTAwOiAxMDAsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEwMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAtSW5maW5pdHkpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IEluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgaSA9IFtdLmxhc3RJbmRleE9mKDQyKTsNCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgLTZlLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogLTZlLTEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBudWxsfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IGZhbHNlfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJheScgd2l0aCBsZW5ndGggMCApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIGlzIG9iamVjdCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggaXMgYW4gZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAwLjENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogMC4xIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigxLCIxIikgPT09IDEgJiYgICAgICAgICAgLy8gIjEiIHJlc29sdmVzIHRvIDENCiAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5hTiBzdHJpbmcgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YobnVsbCwgSW5maW5pdHkpID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLUluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgTmFOKSA9PT0gLTEgJiYgLy8gZnJvbSBJbmRleCB3aWxsIGJlIGNvbnZlcnQgdG8gKzANCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmDQogICAgICAgICAgICBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IC0xICYmDQogICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAiLTIiLCAyXS5sYXN0SW5kZXhPZigiLTIiLCAiLTIiKSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIDIsICItMiJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgIi1JbmZpbml0eSIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIE5hTiwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAyIikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIweDAwMDIiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgZmxvYXRpbmcgcG9pbnQgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLDEuNDkpID09PSAxICYmICAgIC8vIDEuNDkgcmVzb2x2ZXMgdG8gMQ0KICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDANCiAgICAgIGEubGFzdEluZGV4T2YoMSwwLjUxKSA9PT0gMCl7ICAgICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gT2JqZWN0LCBhbmQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYNCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an Object, and has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAyICYmDQogICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an object, and has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYW4gZG9uJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgWzAsIG51bGxdLmxhc3RJbmRleE9mKG51bGwsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when value of 'fromIndex' is an object that both toString and valueOf methods than don't return primitive value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZSBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf use inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBUd29PY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIGlmIChzdGVwRml2ZU9jY3Vycykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN0ZXAgNSBvY2N1cnJlZCBvdXQgb2Ygb3JkZXIiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFRocmVlT2NjdXJzICYmIHN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMSBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMix0cnVlKSA9PT0gMSAmJiAgICAgICAgLy8gdHJ1ZSByZXNvbHZlcyB0byAxDQogICAgIGEubGFzdEluZGV4T2YoMixmYWxzZSkgPT09IC0xICkgeyAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gLTE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigwLCAyKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZig0LCA0KSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLHVuZGVmaW5lZCkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDIpICAgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMCwgbm8gc2Vjb25kIGFyZ3VtZW50IHJlc29sdmVzIHRvIGxlbg0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMixudWxsKSA9PT0gLTEgJiYgYS5sYXN0SW5kZXhPZigxLG51bGwpID09PSAwKSB7ICAgICAgIC8vIG51bGwgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnZnJvbUluZGV4JyBpc24ndCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KICAgICAgICAvLydmcm9tSW5kZXgnIHdpbGwgYmUgc2V0IGFzIDQgaWYgbm90IHBhc3NlZCBieSBkZWZhdWx0DQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IGFyci5sYXN0SW5kZXhPZigwLCA0KSAmJg0KICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZig0KSA9PT0gYXJyLmxhc3RJbmRleE9mKDQsIDQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMTAwXS5sYXN0SW5kZXhPZigxMDAsIDApID09PSAtMSAmJiAvLyB2ZXJpZnkgZnJvbUluZGV4IGlzIG5vdCBtb3JlIHRoYW4gMA0KICAgICAgICAgICAgWzIwMCwgMF0ubGFzdEluZGV4T2YoMjAwLCAwKSA9PT0gMDsgLy8gdmVyaWZ5IGZyb21JbmRleCBpcyBub3QgbGVzcyB0aGFuIDANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsICswKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggZ3JlYXRlciB0aGFuIEFycmF5Lmxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMyw1LjQpID09PSAyICYmICANCiAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex greater than Array.length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGFuZCAnbGVuZ3RoJyBhcmUgYm90aCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2l0aCBuZWdhdGl2ZSBmcm9tSW5kZXggDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KICANCiAgaWYgKGEubGFzdEluZGV4T2YoMiwtMikgPT09IDEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigyLC0zKSA9PT0gLTEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigxLC01LjMpID09PSAtMSApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIC00KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx0cnVlLGZhbHNlLG9iaixfZmFsc2UsdHJ1ZSwidHJ1ZSIsIHVuZGVmaW5lZCwwLG51bGwsMSwic3RyIiwwLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gNSAmJiAgLy9hWzVdPXRydWUNCiAgICAgIGEubGFzdEluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGxhc3RJbmRleE9mICoNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF9OYU4gPSBOYU47DQogIHZhciBhID0gbmV3IEFycmF5KCJOYU4iLF9OYU4sTmFOLCB1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIik7DQogIGlmIChhLmxhc3RJbmRleE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using lastIndexOf *","description":"Array.prototype.lastIndexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGhlIGxlbmd0aCBvZiBpdGVyYXRpb24gaXNuJ3QgY2hhbmdlZCBieSBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIGFycmF5IGR1cmluZyBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMjBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzFdID0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKzAsdHJ1ZSwwLC0wLCBmYWxzZSx1bmRlZmluZWQsbnVsbCwiMCIsb2JqLCBfZmxvYXQsLSg0LzMpLC0xLjMzMzMzMzMzMzMzMzMsInN0ciIsb25lLCAxLCBmYWxzZSk7DQogIGlmIChhLmxhc3RJbmRleE9mKC0oNC8zKSkgPT09IDEwICYmICAgICAgLy8gYVsxMF09LSg0LzMpDQogICAgICBhLmxhc3RJbmRleE9mKDApID09PSAzICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUgZXF1YWwNCiAgICAgIGEubGFzdEluZGV4T2YoLTApID09PTMgICAgICAgJiYgICAgICAvLyBhWzNdID0gLTANCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDE0ICkgICAgICAgICAgICAvLyBhWzE0XSA9IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgc3pGYWxzZSA9ICJmYWxzZSI7DQogIHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoImZhbHNlIikgPT09IDEpIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCh1bmRlZmluZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdW5kZWZpbmVkO319Ow0KICB2YXIgX3VuZGVmaW5lZDEgPSB1bmRlZmluZWQ7DQogIHZhciBfdW5kZWZpbmVkMjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoX3VuZGVmaW5lZDEsX3VuZGVmaW5lZDIsdW5kZWZpbmVkLHRydWUsMCxmYWxzZSxudWxsLDEsInVuZGVmaW5lZCIsb2JqLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAyKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShvYmoyLG9iajEsb2JqMyxmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIpOw0KICBpZiAoYS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMikgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChudWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIG51bGx9fTsNCiAgdmFyIF9udWxsID0gbnVsbDsNCiAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1ZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsInN0ciIsMCwxLG51bGwsdHJ1ZSxmYWxzZSx1bmRlZmluZWQsX251bGwsIm51bGwiLHVuZGVmaW5lZCwic3RyIixvYmopOw0KICBpZiAoYS5sYXN0SW5kZXhPZihudWxsKSA9PT0gMTMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDIsMyk7ICANCiAgYVsyXSA9IGE7DQogIGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBuZXcgQXJyYXkoIjAsMSIpOyAgDQogIHZhciBhID0gbmV3IEFycmF5KDAsYiwiMCwxIiwzKTsgIA0KICBpZiAoYS5sYXN0SW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoU3BhcnNlIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDAsMSk7ICANCiAgYVs0Mjk0OTY3Mjk0XSA9IDI7ICAgICAgICAgIC8vIDJeMzItMiAtIGlzIG1heCBhcnJheSBlbGVtZW50IGluZGV4DQogIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCiAgYVs0Mjk0OTY3Mjk2XSA9IDQ7ICAgICAgICAgIC8vIDJeMzIgICBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTddID0gNTsgICAgICAgICAgLy8gMl4zMisxIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIC8vIHN0b3Agc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQ0KICBhWzQyOTQ5NjcyMDBdID0gMzsgICAgICAgICAgDQogIGFbNDI5NDk2NzIwMV0gPSA0OyAgICAgICAgIA0KICBhWzQyOTQ5NjcyMDJdID0gNTsgICAgICAgICANCg0KDQogIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAmJiAgICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDQyOTQ5NjcyMDAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNCkgPT09IDQyOTQ5NjcyMDEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IDQyOTQ5NjcyMDIpIDsNCiAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZig2Ljk5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxMDAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0IiwgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAyID09PSBhcnIubGFzdEluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigidW5jb25maWd1cmFibGUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDMwIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgdGFyZ2V0T2JqLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5sZW5ndGggPSAzMDsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDYuOTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDEwOiBmYWxzZSwgbGVuZ3RoOiAzMCB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDE1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCBmYWxzZSwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzEwXSA9ICIxMCI7DQogICAgICAgIGFyci5sZW5ndGggPSAyMDsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiMTAiLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA4IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIEluZmluaXR5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHVuZGVmaW5lZCBwcm9wZXJ0eSB3b3VsZG4ndCBiZSBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgLCAyXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - undefined property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApICYmDQogICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsgDQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMjApICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAzMCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KDApICYmIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gW3RydWUsIHRydWUsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAyICYmDQogICAgICAgICAgICBbdHJ1ZSwgdHJ1ZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbdHJ1ZSwgZmFsc2UsIGZhbHNlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFssIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnIubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is an own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWywgXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDEgfSwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxMDBdID0gIjEwMCI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzIwMF0gPSAiMjAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjAwOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgJiYNCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCAiMjAwIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzEwMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyMDBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmModHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzNdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgYXJndW1lbnRzLCAwLCBPYmplY3QucHJvdG90eXBlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gT2JqZWN0Ow0KICAgICAgICAgICAgcmV0dXJuIFtPYmplY3QucHJvdG90eXBlXS5sYXN0SW5kZXhPZihPYmplY3QucHJvdG90eXBlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IFtOdW1iZXJdLmxhc3RJbmRleE9mKE51bWJlcik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YodHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZihmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmxhc3RJbmRleE9mKDEpID09PSAxICYmIGFyci5sYXN0SW5kZXhPZigyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIHNlYXJjaCBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJ0cnVlIl0ubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBbIjAiXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtudWxsXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0ubGFzdEluZGV4T2YoMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBib29sZWFucywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are booleans, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBPYmplY3RzLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFtvYmoyLCBvYmoxXS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are Objects, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBVbmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBOdWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW251bGxdLmxhc3RJbmRleE9mKG51bGwpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIE5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmxhc3RJbmRleE9mKE5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIC1OYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0ubGFzdEluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgKzAgYW5kIHNlYXJjaCBlbGVtZW50IGlzIC0wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyswXS5sYXN0SW5kZXhPZigtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgLTAgYW5kIHNlYXJjaCBlbGVtZW50IGlzICswDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWy0wXS5sYXN0SW5kZXhPZigrMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIG51bWJlcnMsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFstMSwgMCwgMV0ubGFzdEluZGV4T2YoLTEpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are numbers, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIHN0cmluZ3MsIGFuZCB0aGV5IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJhYmMiLCAiYWIiLCAiYmNhIiwgIiJdLmxhc3RJbmRleE9mKCJhYmMiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are strings, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBpbmRleCBvZiBsYXN0IG9uZSB3aGVuIG1vcmUgdGhhbiB0d28gZWxlbWVudHMgaW4gYXJyYXkgYXJlIGVsaWdpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMiwgMSwgLCAxLCAyXTsNCiAgICAgICAgdmFyIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBlbGVtZW50Rmlyc3RBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sYXN0SW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpcnN0QWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMSkgIT09IDEwMCB8fA0KICAgICAgYS5sYXN0SW5kZXhPZigiIikgIT09IDk5OTk5IHx8DQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIiKSAhPT0gMTIzNDU2IHx8DQogICAgICBhLmxhc3RJbmRleE9mKDUuNSkgIT09IDU1NTUgfHwNCiAgICAgIGEubGFzdEluZGV4T2YoMUUrMzA5KSAhPT0gNSApICAgICAgDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0gICAgDQogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSAtMSAmJiANCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIxIikgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKG51bGwpID09PSAtMSAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YobmV3IE9iamVjdCgpKSA9PT0gLTEgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 for elements not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCiAgDQogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZiwxKTsNCiAgDQogIGlmIChpID09PSAtMSAmJiBhY2Nlc3NlZD09ZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUuZXZlcnk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChNYXRoLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIERhdGUpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICEob2JqIGluc3RhbmNlb2YgUmVnRXhwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBFcnJvcik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgyLjUsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgiaGVsbG9cbndvcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImhlbGxvXG53b3JsZFxcISIpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogOA0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSA4Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCkgPiAxOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCI0MzIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoc3RyLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChzdHIsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZnVuLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSA5Ow0KDQogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVsxMiwgMTFdLmV2ZXJ5KGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJQcm90b0xlbiA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDk7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDExXS5ldmVyeShjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqT25lLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVHdvLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVGhyZWUsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgDQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsYmFja2ZuQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGJhY2tmbkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWNhbGxiYWNrZm5BY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIuNjg1IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07IC8vbGVuZ3RoIHVzZWQgdG8gZXhlYyB3aGlsZSBsb29wIGlzIDINCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTEsIDldLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeShudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IGEgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSgge30gKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQXJyYXkgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpBcnJheSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gU3RyaW5nIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQm9vbGVhbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gTnVtYmVyIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBNYXRoKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRGF0ZSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRGF0ZSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gUmVnRXhwIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpSZWdFeHApICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEpTT04gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgSlNPTikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRXJyb3IgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgYXJnKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gMTAxOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgMTAxKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCAiYWJjIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIGEpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgdmFyIGFyciA9IFsxXTsNCg0KICAgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGZvbykgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGV2YWwpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbMl0gPSAzOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgY2FsbGVkRm9yVGhyZWUgPSB0cnVlOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIA0KICB2YXIgcmVzID0gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KDQogIHJldHVybiBjYWxsZWRGb3JUaHJlZTsgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every considers new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsID09IDMpDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoID0gMzsNCiAgICBpZih2YWwgPCA0KQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDZdOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgYXJyWzEwMDBdID0gMzsNCiAgICBpZih2YWwgPCAzKQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgYXJyWzJdOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzJdID0gMzsNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgdmFyIHJlcyA9IGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCg0KICBpZihyZXMgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBEZWxldGluZyB0aGUgYXJyYXkgaXRzZWxmIHdpdGhpbiB0aGUgY2FsbGJhY2tmbiBvZiBBcnJheS5wcm90b3R5cGUuZXZlcnkgaXMgc3VjY2Vzc2Z1bCBvbmNlIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpcyBjYWxsZWQgZm9yIGFsbCBlbGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLmFycjsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IElkeCArIDEpDQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIG8uYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Deleting the array itself within the callbackfn of Array.prototype.every is successful once Array.prototype.every is called for all elements","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDAuOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gdW5kZWZpbmVkOyAgDQogIGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgaWYoIGNhbGxDbnQgPT09IDEpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAzOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogNi45OSwgODogMTl9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gNTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIDE6IDYgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA2Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIVssICwgLCBdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDEgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExLCA5KSAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4IDwgMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMSwgMTIsIDkpICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEwMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA1OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBjYWxsZWQgPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAnYWJjJzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSBrVmFsdWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDEzOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMzsNCiAgICAgICAgICAgIHJldHVybiAhWywgLCAsIF0uZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGlmKG9ialtJZHhdID09PSB2YWwpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgYXJndW1lbnRzWzJdW2lkeF0gPT09IHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTIsIDEzXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAzID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBib29sZWFuIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpICE9PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every -'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGFuIFN0cmluZyBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBzdHJpbmcgcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gODsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgYXJyWzk5OTk5OV0gPSAtNi42Ow0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTAgPT09IHRoaXMudGhyZXNob2xkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7IHRocmVzaG9sZDogMTAgfTsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpbW1lZGlhdGVseSByZXR1cm5zIGZhbHNlIGlmIGNhbGxiYWNrZm4gcmV0dXJucyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSA3KSANCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every immediately returns false if callbackfn returns false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYXNjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiAgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMiwgMTMsIDE0XS5ldmVyeShjYWxsYmFja2ZuLCB1bmRlZmluZWQpICYmIDQgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFyZ3VtZW50cyB0byBjYWxsYmFja2ZuIGFyZSBzZWxmIGNvbnNpc3RlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZykgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBjYWxsZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgICAgfQ0KDQogICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC1JbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIE5hTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBbXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgU3RyaW5nKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRXZhbEVycm9yKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZmFsc2UgcHJldmVudHMgZnVydGhlciBzaWRlIGVmZmVjdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gODsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - false prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIChuZXcgQm9vbGVhbihmYWxzZSkpIG9mIGNhbGxiYWNrZm4gaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiArMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bm1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCkge30NCiAgdmFyIGkgPSBbXS5ldmVyeShjYik7DQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMjsNCiAgDQogIGZ1bmN0aW9uIGNiKHZhbCkNCiAgew0KICAgIGlmKHZhbD4yKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOyAgICANCiAgfQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true when all calls to callbackfn return true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgbXV0YXRlIHRoZSBhcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICBpZihhcnJbMF0gPT09IDEgJiYNCiAgICAgYXJyWzFdID09PSAyICYmDQogICAgIGFyclsyXSA9PT0gMyAmJg0KICAgICBhcnJbM10gPT09IDQgJiYNCiAgICAgYXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5zb21lOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZS5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IHRydWU7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKDUsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKCJoZWxsb1xud19vcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndfb3JsZFxcISIpOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' property doesn't exist on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyg5LCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbMl0gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChzdHIsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHN0ciwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gOTsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmdW4sIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDEyOw0KDQogICAgICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMTI7DQoNCiAgICAgICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVs5LCAxMV0uc29tZShjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSA5Ow0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IDExLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogMTEsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiAxMSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpPbmUsIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUd28sIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUaHJlZSwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDIxLCBsZW5ndGg6ICJ0d28iIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCBpZiAnbGVuZ3RoJyBpcyAxIChsZW5ndGggb3ZlcnJpZGRlbiB0byB0cnVlKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDksDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsYmFja2ZuQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFjYWxsYmFja2ZuQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDEwOiAxMSwNCiAgICAgICAgICAgIDExOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogMTEuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgYSBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE3XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xN181XzEgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakFycmF5ID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBTdHJpbmcgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBCb29sZWFuIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqQm9vbGVhbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBOdW1iZXIgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgTWF0aCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBEYXRlIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRGF0ZSA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRGF0ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBSZWdFeHAgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpSZWdFeHAgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpSZWdFeHApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgSlNPTik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBFcnJvciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRXJyb3IpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBvKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAxMDE7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIDEwMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiYWJjIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xN181XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE3XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzI1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgICAgIHRoaXMucmV0VmFsID0gIWFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KICANCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQogIHZhciBmID0gbmV3IGZvbygpOw0KICB2YXIgYXJyID0gWzFdOw0KDQogICAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmb28pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBldmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBldmFsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzJdID0gMzsNCiAgICBpZih2YWwgIT09IDMpDQogICAgICBjYWxsZWRGb3JUaHJlZSA9IHRydWU7DQoNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCw1XTsNCiAgDQogIHZhciB2YWwgPSBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGNhbGxlZEZvclRocmVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some considers new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsICE9PSAzKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't visit deleted elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyci5sZW5ndGggPSAzOw0KICAgIGlmKHZhbCA8IDQpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIA0KICB2YXIgYXJyID0gWzEsMiwzLDQsNl07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbMTAwMF0gPSA1Ow0KICAgIGlmKHZhbCA8IDUpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgaWYodmFsIDwgNSkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIHZhciByZXMgPSBhcnIuc29tZShjYWxsYmFja2ZuKSA7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlcyA9PT0gdHJ1ZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW5ndGggaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - no observable effects occur if length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDI6IDEyLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQoNCiAgdmFyIGNhbGxDbnQgPSAwOyANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMV0gPSB1bmRlZmluZWQ7DQogIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09PSAxKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IA0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5LCA4OiAxOX07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMTAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTAwOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDIwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIFssICwgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBba1ZhbHVlXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBmaXJzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRoaXJkUmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgZmlyc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBzZWNvbmRSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0aGlyZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgMTIsIDkpICYmIGZpcnN0UmVzdWx0ICYmIHNlY29uZFJlc3VsdCAmJiB0aGlyZFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGhlbHBWZXJpZnlWYXIgPSAxMTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBoZWxwVmVyaWZ5VmFyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKGFyZ3MpIHsNCiAgICAgICAgICAgICAgICBoZWxwVmVyaWZ5VmFyID0gYXJnczsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgaGVscFZlcmlmeVZhciA9IDExOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGhlbHBWZXJpZnlWYXI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYXJncykgew0KICAgICAgICAgICAgICAgIGhlbHBWZXJpZnlWYXIgPSBhcmdzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNTogMTAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbNV0gPSBrVmFsdWU7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMTsNCg0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBrVmFsdWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDUgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDAgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBrVmFsdWU7DQoNCiAgICAgICAgICAgIHJldHVybiBbLCBdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYob2JqW2lkeF0gPT09IHZhbCkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cyBvYmplY3QgdG8gZ2V0IHBhcmFtZXRlciB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2snIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiAnVCcgaXMgbm90IGFuIG9iamVjdCAoJ1QnIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callback' is a Boolean object when 'T' is not an object ('T' is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDEwOiA4LCBub25faW5kZXhfcHJvcGVydHk6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgKDIgPT09IGNhbGxlZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoID09PSAzKSAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IHRoaXNBcmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmaXJzdEluZGV4ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRJbmRleCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgZmlyc3RJbmRleCAmJiBzZWNvbmRJbmRleDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0SW5kZXggPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZEluZGV4ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAoaWR4ID09PSAwKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBmaXJzdEluZGV4ICYmIHNlY29uZEluZGV4Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGltbWVkaWF0ZWx5IHJldHVybnMgdHJ1ZSBpZiBjYWxsYmFja2ZuIHJldHVybnMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDcpIA0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some immediately returns true if callbackfn returns true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMSwgMTIsIDEzLCAxNF0uc29tZShjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - k values are accessed during each iteration and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJiBhcmd1bWVudHNbMF0gPT09IDExICYmIGFyZ3VtZW50c1sxXSA9PT0gMCAmJiBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDEwMCwgMTA6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiA4LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICJub24tZW1wdHkgc3RyaW5nIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXIoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIEpTT047DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBFdmFsRXJyb3IoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0cnVlIHByZXZlbnRzIGZ1cnRoZXIgc2lkZSBlZmZlY3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - true prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgKG5ldyBCb29sZWFuKGZhbHNlKSkgb2YgY2FsbGJhY2tmbiBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICswOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IFtdLnNvbWUoY2IpOw0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAyOw0KICANCiAgZnVuY3Rpb24gY2IodmFsKQ0KICB7DQogICAgaWYodmFsID4gMikNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false when all calls to callbackfn return false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKDIuNSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTIsIDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMiwgMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgWzEyLCAxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMi41IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMyA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmoxID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajMgPSB7IDA6IDksIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmoyLCBjYWxsYmFja2ZuMik7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqMywgY2FsbGJhY2tmbjMpOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAiYXNkZiFfIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiB0cnVlIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZmlyc3RTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHNlY29uZFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCA5XS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2gobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2godHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE4XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xOF81XzEgPSB0cnVlOw0KICAgICAgICB2YXIgcmVzdWx0Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuXzE1XzRfNF8xOF81XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpBcnJheSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpCb29sZWFuKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpOdW1iZXIpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpEYXRlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpSZWdFeHApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBKU09OKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gYXJnKTsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sbykNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IDEwMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xOF81XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE4XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciByZXN1bHQ7DQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLl8xNV80XzRfMThfNV8yNTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBhcnIgPSBbMV07DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICAgICAgICAgICAgdGhpcy5yZXRWYWwgPSAhcmVzdWx0Ow0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgdmFyIHJlc3VsdDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmVzdWx0ID0gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuLGEpDQogIGlmKCByZXN1bHQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZm9vKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZXZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgZXZhbCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gb2JqU3RyaW5nKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsgDQogICAgYXJyWzJdID0gMzsNCiAgICBhcnJbNV0gPSA2Ow0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gNSkgICAgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't consider new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihjYWxsQ250ID09IDApDQogICAgICBkZWxldGUgYXJyWzNdOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgaWYoIGNhbGxDbnQgPT09IDQpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aD0zOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAzKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclsxMDAwXSA9IDM7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gMikgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFycls0XTsNCiAgICBjYWxsQ250Kys7DQogIH0NCg0KICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYoIGNhbGxDbnQgPT09IDUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls0XSA9IDY7DQogICAgICAgICAgICBpZiAodmFsID49IDYpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW4gaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IHVuZGVmaW5lZDsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAxKSAgICANCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiA2Ljk5LCA4OiAxOSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzhdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHsgfTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIFssICwgLCBdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgWywgMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSA5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9IGtWYWx1ZTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBbMTJdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDEzOw0KDQogICAgICAgICAgICBbLCAsICwgXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXIgPSB0cnVlOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihvYmpbaWR4XSAhPT0gdmFsKQ0KICAgICAgYlBhciA9IGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOyANCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsgDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMudmFsdWVPZigpICE9PSBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoNSA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAodmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgcGFyQ250ID0gMzsNCiAgdmFyIGJDYWxsZWQgPSBmYWxzZQ0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykNCiAgICAgIHBhckNudCA9IGFyZ3VtZW50cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzDQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpDQogICAgcmV0dXJuIHRydWU7DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKDEwID09PSB0aGlzLnRocmVzaG9sZCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHRPbmUgPSBmYWxzZTsNCiAgICAgICAgdmFyIHJlc3VsdFR3byA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHRPbmUgJiYgcmVzdWx0VHdvOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdE9uZSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0VHdvID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9IChpZHggPT09IDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9IChpZHggPT09IDEpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdE9uZSAmJiByZXN1bHRUd287DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqID09PSBvKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGtJbmRleCA9IFtdOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYgdHlwZW9mIGtJbmRleFtpZHggLSAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyLCAxMywgMTRdLmZvckVhY2goY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA9PT0gOCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IFtdLmZvckVhY2goY2IpOw0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAxOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCg0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoY2FsbENudCA9PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bmRlZmluZWQgd2lsbCBiZSByZXR1cm5lZCB3aGVuICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHQgPSBbXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHJlc3VsdCA9PT0gInVuZGVmaW5lZCIgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - undefined will be returned when 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with [0]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMS5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKWyd6J10uZm9yRWFjaChmdW5jdGlvbigpeyBPYmplY3QuZnJlZXplKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsgfSk7Cgo=","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMi5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKZnVuY3Rpb24gZm9vKCkgewogIFsneiddLmZvckVhY2goZnVuY3Rpb24oKXsgT2JqZWN0LmZyZWV6ZShBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7IH0pOwp9CmZvbygpOwoK","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLm1hcC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBNYXRoWzBdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoImFiYyIsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gdGVzdFJlc3VsdC5sZW5ndGg7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZ1bmMoMTIsIDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjEiOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAyID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAxMjsNCiAgICAgICAgb2JqWzFdID0gMTE7DQogICAgICAgIG9ialsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHN0cmluZyB0aGF0IGlzIGFibGUgdG8gY29udmVydCB0byBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBhIGRlY2ltYWwgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is string that is able to convert to number primitive (value is a decimal number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - when 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IGlmICdsZW5ndGgnIGlzIDEgKGxlbmd0aCBvdmVycmlkZGVuIHRvIHRydWUodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZmlyc3RTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kU3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExLCA5XS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMiAmJiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5tYXAoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBub3QgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBmbkdsb2JhbE9iamVjdCgpLl8xNV80XzRfMTlfNV8xID0gdHJ1ZTsNCiAgICB2YXIgXzE1XzRfNF8xOV81XzEgPSBmYWxzZTsNCiAgDQogICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzE5XzVfMTsNCiAgICB9DQogICAgdmFyIHNyY0FyciA9IFsxXTsNCiAgICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KCQ0KCXJldHVybiBmYWxzZTsNCiAgfQ0KICBmaW5hbGx5IHsNCglkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTVfNF80XzE5XzVfMTsNCiAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEFycmF5IG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Array object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgZmFsc2UpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGYpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGV2YWwpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Function object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gQXJyYXkuaXNBcnJheSByZXR1cm5zIHRydWUgd2hlbiBpbnB1dCBhcmd1bWVudCBpcyB0aGUgb3VycHV0IGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5tYXAoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Array.isArray returns true when input argument is the ourput array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMTkwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIHJldHVybmVkIGFycmF5IGlzIGluc3RhbmNlb2YgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLm1hcChmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIgaW5zdGFuY2VvZiBBcnJheTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnJbMl0gPSAzOw0KICAgIHNyY0Fycls1XSA9IDY7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICYmIHJlc0Fycls0XSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gMTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gMDsNCg0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAmJiByZXNBcnJbNF0gPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnIubGVuZ3RoID0gMjsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICAmJiBjYWxsQ250ID09PSAyICYmIHJlc0FyclsyXSA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyWzEwMDBdID0gMzsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHZhbDsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOw0KICBzcmNBcnJbMV0gPSAxOw0KICBzcmNBcnJbMl0gPSAyOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEwICYmIGNhbGxDbnQgPT09IDIpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0Fycls0XTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQoNCiAgfQ0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgJiYgcmVzQXJyWzRdID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHN1Y2Nlc3NmdWwgdG8gZGVsZXRlIHRoZSBvYmplY3QgaW4gY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmouc3JjQXJyOw0KICAgICAgICAgICAgaWYgKHZhbCA+IDApDQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmVzQXJyID0gb2JqLnNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIudG9TdHJpbmcoKSA9PT0gIjEsMSwxLDEsMSIgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map successful to delete the object in callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbmd0aCBpcyAwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - no observable effects occur if length is 0 on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkICs9IDE7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzksICwgMTJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgY2FsbGVkID09PSAyICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzJdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - modifications to length don't change number of iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDIwICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7IA0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDMgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbM10gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAzICYmIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDI6IDYuOTksIDg6IDE5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbMl0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNToga1ZhbHVlLCBsZW5ndGg6IDEwMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzVdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFssIF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtrVmFsdWVdOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWyxdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0ga1ZhbHVlOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmdW5jKDkpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSwgMTIpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMiwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0ga1ZhbHVlOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFs1XSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDU6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzVdID0gMTA7DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGtWYWx1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTM7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbLCAsICwgXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnJbMV0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgDQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn is called with 2 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAodmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn is called with 3 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbm9uX2luZGV4X3Byb3BlcnR5OiAxMSwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQgJiYgdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - non-indexed properties are not called.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhyZXNob2xkID09PSAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3AuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMSwgMTIsIDEzLCAxNF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gNCAmJiB0ZXN0UmVzdWx0WzBdID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2UgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIHRlc3RSZXN1bHRbM10gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - k values are accessed during each iteration and not prior to starting the loop.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMTEgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMV0gPT09IDAgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - arguments to callbackfn are self consistent.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQoJICBpZih2YWwgJSAyKQ0KCSAgICByZXR1cm4gKDIgKiB2YWwgKyAxKTsgDQoJICBlbHNlDQoJICAgIHJldHVybiAodmFsIC8gMik7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gMioxKzEgPSAzDQogICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKXsNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBlcXVhbHMgdG8gJ21hcHBlZFZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gb2JqWzBdICYmIG5ld0FyclsxXSA9PT0gb2JqWzFdOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of returned array element equals to 'mappedValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgb3ZlcndyaXR0ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgbmV3QXJyWzFdICs9IDE7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzFdICE9PSB0ZW1wVmFsOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgZW51bWVyYXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHZhciBwcm9wOw0KICAgICAgICB2YXIgZW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHByb3AgaW4gbmV3QXJyKSB7DQogICAgICAgICAgICBpZiAobmV3QXJyLmhhc093blByb3BlcnR5KHByb3ApKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICIwIikgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgY2hhbmdlZCBvciBkZWxldGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclsxXTsNCiAgICAgICAgICAgIHJldHVybiB0ZW1wVmFsICE9PSB1bmRlZmluZWQgJiYgbmV3QXJyWzFdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVtcHR5IGFycmF5IHRvIGJlIHJldHVybmVkIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCg0KICAgICAgICB2YXIgZiA9IG5ldyBGb28oKTsNCg0KICAgICAgICB2YXIgbyA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcwJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgZi5sZW5ndGggPSBvOw0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIGYgPSBuZXcgRm9vKCk7DQoNCiAgICAgICAgZi5sZW5ndGggPSBbXTsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICAvLw0KICAgICAgICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAgICAgICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogICAgICAgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgICAgICAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgICAgICAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAgICAgICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogICAgICAgIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGlmIHRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgb2YgdGhlIGZ1bmN0aW9ucywgTyBpcyB1bm1vZGlmaWVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDEgPT09IGFyclswXSAmJiAyID09PSBhcnJbMV0gJiYgMyA9PT0gYXJyWzJdICYmIDQgPT09IGFyclszXSAmJiA0ID09PSBjYWxsZWQ7DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - if there are no side effects of the functions, O is unmodified","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHJldHVybnMgbmV3IEFycmF5IHdpdGggc2FtZSBudW1iZXIgb2YgZWxlbWVudHMgYW5kIHZhbHVlcyB0aGUgcmVzdWx0IG9mIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB2YWwgKyAxMDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnJbMF0gPT09IDExICYmDQogICAgIHJlc0FyclsxXSA9PT0gMTIgJiYNCiAgICAgcmVzQXJyWzJdID09PSAxMyAmJg0KICAgICByZXNBcnJbM10gPT09IDE0ICYmDQogICAgIHJlc0Fycls0XSA9PT0gMTUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map returns new Array with same number of elements and values the result of callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYubWFwKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyWyJpIl0gPSAxMDsNCiAgc3JjQXJyW3RydWVdID0gMTE7DQoNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKGNhbGxDbnQgPT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IG51bGw7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBGb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIEZvby5wcm90b3R5cGUgPSBbMSwgMiwgM107DQogICAgICAgIHZhciBvYmogPSBuZXcgRm9vKCk7DQogICAgICAgIG9iai5sZW5ndGggPSBmYWxzZTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gJzAnOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBSZXN1bHQoMikgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHggPSBuZXcgQXJyYXkoKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9ICBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiIikgewogICAgJEVSUk9SKCcjMS4yOiB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9ICAKfSAgCgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMTsKeC5sZW5ndGggPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfSAgCn0gICAgCgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Result(2) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncywgYW5kIHRoZXNlIHN0cmluZ3MgYXJlCiAqIHRoZW4gY29uY2F0ZW5hdGVkLCBzZXBhcmF0ZWQgYnkgb2NjdXJyZW5jZXMgb2YgdGhlIHNlcGFyYXRvci4gSWYgbm8gc2VwYXJhdG9yIGlzIHByb3ZpZGVkLAogKiBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMS4xOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSwyLDMiKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgudG9TdHJpbmcoKSA9PT0gIjAsMSwyLDMiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwLCwsMyIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgudG9TdHJpbmcoKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzMuMTogeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7IHgudG9TdHJpbmcoKSA9PT0geC5qb2luKCkuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLDEsLDMiKSB7CiAgICAkRVJST1IoJyMzLjI6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LnRvU3RyaW5nKCkgPT09ICIsMSwsMyIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp4ID0gW107CnhbMF0gPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzQuMTogeCA9IFtdOyB4WzBdID0gMDsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHhbMF0gPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIwIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"The elements of the array are converted to strings, and these strings are\nthen concatenated, separated by occurrences of the separator. If no separator is provided,\na single comma is used as the separator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzAuMTogdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjMC4yOiB2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7IHgudG9TdHJpbmcoKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJcXCxcXCxcXCIpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSBuZXcgQXJyYXkoIlxcIiwiXFwiLCJcXCIpOyB4LnRvU3RyaW5nKCkgPT09ICJcXCxcXCxcXCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICImLCYsJiIpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7IHgudG9TdHJpbmcoKSA9PT0gIiYsJiwmIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAidHJ1ZSx0cnVlLHRydWUiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHRydWUsdHJ1ZSx0cnVlKSkpOwogIH0KfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM0LjE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKG51bGwsbnVsbCxudWxsKSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM1LjE6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwogIH0KfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM2LjE6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkiKSB7CiAgICAkRVJST1IoJyM2LjI6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KSkpOwogIH0KfQoKLy9DSEVDSyM3CnZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM3LjE6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhOYU4sTmFOLE5hTikpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiTmFOLE5hTixOYU4iKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09ICJOYU4sTmFOLE5hTiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKE5hTixOYU4sTmFOKSkpOwogIH0KfSAgIAoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"Operator use ToString from array arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBTdHJpbmcpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzEuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB4LmpvaW4oKX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIisiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIrIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0gZWxzZSB7CiAgICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CnZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjNi4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIqIikgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKQXJyYXkucHJvdG90eXBlWzFdID0gMTsKdmFyIHggPSBbMF07CngubGVuZ3RoID0gMjsKaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC50b1N0cmluZygpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b1N0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b1N0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of toString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9TdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString is 0","description":"toString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9TdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b1N0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toString property of Array has not prototype property","description":"Checking Array.prototype.toString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbHRlci5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSlNPTik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEpTT04sIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oImEiLCAiYiIpKTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiICYmIG5ld0FyclsxXSA9PT0gImIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIG5ld0FyclsxXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHNyY0FyclswXSA9PT0gMSAmJg0KICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCiAgICAgc3JjQXJyWzJdID09PSAzICYmDQogICAgIHNyY0FyclszXSA9PT0gNCAmJg0KICAgICBzcmNBcnJbNF0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIG5ldyBBcnJheSB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgdHJ1ZSByZXR1cm5lZCBieSBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZih2YWwgJSAyKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYNCiAgICAgcmVzQXJyWzBdID09PSAxICYmDQogICAgIHJlc0FyclsxXSA9PT0gMyAmJg0KICAgICByZXNBcnJbMl0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns new Array with length equal to number of true returned by callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDE7DQogIA0KICBmdW5jdGlvbiBjYigpe3JldHVybiB0cnVlO30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0FyclsiaSJdID0gMTA7DQogIHNyY0Fyclt0cnVlXSA9IDExOw0KDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDExOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGggcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gMTI7DQogICAgICAgIGZ1blsxXSA9IDExOw0KICAgICAgICBmdW5bMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZnVuLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzEyLCAxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMiwgMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIxID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgdmFyIG5ld0FycjIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB2YXIgbmV3QXJyMyA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmozLCBjYWxsYmFja2ZuMyk7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDEgJiYgbmV3QXJyMS5sZW5ndGggPT09IDAgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDIgJiYgbmV3QXJyMi5sZW5ndGggPT09IDAgJiYgDQogICAgICAgICAgICAhYWNjZXNzZWQzICYmIG5ld0FycjMubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIWFjY2Vzc2VkICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IEluZmluaXR5IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMSwgOV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcihmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0aGlzLl8xNV80XzRfMjBfNV8xID0gZmFsc2U7DQogICAgICAgIHZhciBfMTVfNF80XzIwXzVfMSA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakFycmF5ID0gbmV3IEFycmF5KDEwKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFN0cmluZyBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEJvb2xlYW4gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIE51bWJlciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIE1hdGgpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIERhdGUgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakRhdGUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFJlZ0V4cCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqUmVnRXhwKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBKU09OKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEVycm9yIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBmYWxzZSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCAxMDEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sICJhYmMiKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5LmlzQXJyYXkoYXJnKSByZXR1cm5zIHRydWUgd2hlbiBhcmcgaXMgdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Array.isArray(arg) returns true when arg is the returned array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSByZXR1cm5lZCBhcnJheSBpcyBpbnN0YW5jZW9mIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybnMgYW4gYXJyYXkgd2hvc2UgbGVuZ3RoIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - returns an array whose length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGlubmVyT2JqKCkgew0KICAgICAgICAgICAgdGhpcy5fMTVfNF80XzIwXzVfMzAgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIF8xNV80XzRfMjBfNV8zMCA9IGZhbHNlOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMzA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICAgICAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICB0aGlzLnJldFZhbCA9IHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQoNCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZXZhbCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gRnVuY3Rpb24gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gW10uZmlsdGVyKGNiKTsNCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBzcmNBcnJbMl0gPSAzOw0KICAgICAgICAgICAgc3JjQXJyWzVdID0gNjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHNyY0FyciA9IFsxLCAyLCAsIDQsIDVdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbMl0gPSAtMTsNCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gMyAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzJdID09PSA0KQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzJdOw0KICAgIGRlbGV0ZSBzcmNBcnJbNF07DQogICAgaWYodmFsID4gMCkNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAzICYmIHJlc0FyclswXSA9PT0gMSAmJiByZXNBcnJbMl0gPT09IDQgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNl07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAyICkNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHNyY0FyclsxMDAwXSA9IDM7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gMTsNCiAgc3JjQXJyWzJdID0gMjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAyKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0FyclsyXTsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNCAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzNdID09IDUpICAgIC8vIG9ubHkgb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLnNyY0FycjsNCiAgICAgICAgICAgIGlmICh2YWwgPiAwKQ0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXNBcnIgPSBvLnNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIubGVuZ3RoID09PSA1ICYmIHR5cGVvZiBvLnNyY0FyciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbiBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCA9PT0gZmFsc2UgJiYgb2JqLmxlbmd0aCA9PT0gMCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IG5ldyBBcnJheSgxMCk7DQogIHNyY0FyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzFdICE9PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclsxXSAhPT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDMgPyB0cnVlIDogZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMl0gPT09ICJwcm90b3R5cGUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gInVuY29uZmlndXJhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gImxlbmd0aCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogNi45OSwgODogMTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gIT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMV0gPT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSA2Ljk5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBBcnJheVsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDUpICYmICh2YWwgPT09IGtWYWx1ZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0ga1ZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMiAmJiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiA1LCAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTEgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTA7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDY7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTEgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFssICwgLCBdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDEwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDA7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSB1bmRlZmluZWQgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMSAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMF0gPT09IDExICYmDQogICAgICAgICAgICBuZXdBcnJbMV0gPT09IDEyICYmIG5ld0FyclsyXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gOTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDkgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSA1KSAmJiAodmFsID09PSAiYWJjIik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycls1XSA9IDEwOw0KICAgICAgICBhcnJbMTBdID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAwKSAmJiAodmFsID09PSAxMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWzEyXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gJ2FiYyc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gNSkgJiYgKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSBrVmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAxKSAmJiAodmFsID09PSAxMyk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgLCAsIF0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEzOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gMCkgJiYgKHZhbCA9PT0gMTEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIA0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMl0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0ndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgTnVtYmVyIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIDUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter -'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhbiBTdHJpbmcgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSA4Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgMjogNSwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFzY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAoa0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIGtJbmRleFtpZHggLSAxXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoY2FsbGVkID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGNhbGxlZCAmJiBleCBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGVxdWFscyB0byAna1ZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IG9ialswXSAmJiBuZXdBcnJbMV0gPT09IG9ialsxXTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of returned array element equals to 'kValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBvdmVyd3JpdHRlbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcFZhbCA9IG5ld0FyclsxXTsNCiAgICAgICAgICAgIG5ld0FyclsxXSArPSAxOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclsxXSAhPT0gdGVtcFZhbDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBlbnVtZXJhdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdmFyIHByb3A7DQogICAgICAgIHZhciBlbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAocHJvcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBlbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBjaGFuZ2VkIG9yIGRlbGV0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlbXBWYWwgPSBuZXdBcnJbMV07DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzFdOw0KICAgICAgICAgICAgcmV0dXJuIHRlbXBWYWwgIT09IHVuZGVmaW5lZCAmJiBuZXdBcnJbMV0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIHZhciBsYXN0VG9JZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0VG9JZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdFRvSWR4Kys7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDUgJiYgY2FsbGVkID09PSA1Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - values of 'to' are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIHdoZW4gJ3NlbGVjdGVkJyBpcyBjb252ZXJ0ZWQgdG8gdHJ1ZSBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9JbmRleCA9IFtdOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgJ3RvJyB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgJ3RvJyBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0b0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHRvSW5kZXhbaWR4IC0gMV0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHRvSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gNCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - values of 'to' are accessed during each iteration when 'selected' is converted to true and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQogICAgaWYodmFsICUgMikNCiAgICAgIHJldHVybiB0cnVlOyANCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gdHJ1ZQ0KICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSl7DQogICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEV2YWxFcnJvcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGZhbHNlIHByZXZlbnRzIGVsZW1lbnQgYWRkZWQgdG8gb3V0cHV0IEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSAhPT0gOCAmJiBjYWxsZWQgPT09IDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - false prevents element added to output Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSAobmV3IEJvb2xlYW4oZmFsc2UpKSBvZiBjYWxsYmFja2ZuIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gKzA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW5tYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCh1bmRlZmluZWQpOyANCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChNYXRoLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChKU09OLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgyLjUsIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIDE7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCiAgICAgc3JjQXJyWzFdID09PSAyICYmDQogICAgIHNyY0FyclsyXSA9PT0gMyAmJg0KICAgICBzcmNBcnJbM10gPT09IDQgJiYNCiAgICAgc3JjQXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICcxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgb2YgbGVuZ3RoIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICBpZihmLnJlZHVjZShjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - subclassed array of length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMsIDQpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IpID09PSAxMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcyhpbml0aWFsdmFsdWUgcHJlc2VudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzEsMiwzLDRdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IsLTEpID09PSA5KQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggMSBhbmQgaW5pdGlhbHZhbHVlIHByb3ZpZGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQogIGlmKGYucmVkdWNlKGNiLC0xKSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - subclassed array with length 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCiAgc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICBpZihjYWxsQ250ID09IDQpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTINCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RvcmVQcm90b0xlbmd0aDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgc3RvcmVQcm90b0xlbmd0aCA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBzdG9yZVByb3RvTGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjMocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMSwgY2FsbGJhY2tmbjEsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMywgY2FsbGJhY2tmbjMsIDEpID09PSAxICYmDQogICAgICAgICAgICAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is an object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ09jY3VyZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZk9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ09jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWUgJiYgdmFsdWVPZk9jY3VyZWQgJiYgdG9TdHJpbmdPY2N1cmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError exception - 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce uses inherited valueOf method - 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6ICswIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZShmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIA0KICB0cnkgew0KICAgIFtdLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIHRoZSBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - if the exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgcmV0dXJuZWQgaWYgJ2xlbicgaXMgMCBhbmQgJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFtdLnJlZHVjZShjYWxsYmFja2ZuLCAzKSA9PT0gMyAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgaWYoW10ucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQiOw0KICAgICAgICByZXR1cm4gc3RyID09PSBbXS5yZWR1Y2UoZnVuY3Rpb24gKCkgeyB9LCBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gImluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtzdHJdLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gWzBdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gc3RlcCA5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAzOiAxMiwgNDogOSwgbGVuZ3RoOiA0IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBsb29wIGlzIGJyb2tlbiBvbmNlICdrUHJlc2VudCcgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdENhbGxlZCA9IDA7DQogICAgICAgIHZhciBzZWNvbmRDYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGNhbGxlZCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoaWR4ID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHNlY29uZENhbGxlZCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdENhbGxlZCA9PT0gMSAmJiBzZWNvbmRDYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - loop is broken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMV0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6ICJhY2N1bXVsYXRvciIsIDI6ICJhbm90aGVyIiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gImFjY3VtdWxhdG9yIiAhPT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - when element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IDA7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDA7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAzOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzFdOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxLCAyLCAzKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDA7DQogICAgICAgIG9ialsxXSA9IDE7DQogICAgICAgIG9ialsyXSA9IDI7DQogICAgICAgIG9ialszXSA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAiOSI7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCAxOiAxLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAiOSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICxdLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBieSByZWR1Y2luZyBhcnJheSBsZW5ndGggYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbOV0gPSAxOw0KICBhcnIubGVuZ3RoID0gNTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted by reducing array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBkZWxldGUgYXJyWzBdOw0KICBkZWxldGUgYXJyWzFdOw0KICBkZWxldGUgYXJyWzJdOw0KICBkZWxldGUgYXJyWzNdOw0KICBkZWxldGUgYXJyWzRdOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB0aHJvdyBlcnJvciB3aGVuIGFycmF5IGhhcyBubyBvd24gcHJvcGVydGllcyBidXQgcHJvdG90eXBlIGNvbnRhaW5zIGEgc2luZ2xlIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYXJyWzVdID0gNjsNCiAgICAgICAgICAgIGFyclsyXSA9IDM7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEwNSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBjYWxsZWQgd2l0aCBhbiBpbml0aWFsIHZhbHVlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICBhcnJbNV0gPSA2Ow0KICAgIGFyclsyXSA9IDM7ICAgDQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCwnNSddOw0KICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiIikgPT09ICIxMjM0NSI7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce called with an initial value doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclszXSA9IC0yOw0KICAgIGFycls0XSA9IC0xOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAzKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbM107DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMyIgICkgICAgLy8gdHdvIGVsZW1lbnRzIGRlbGV0ZWQNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBhcnJheSB3aXRoIG9uZSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiAyOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMSAmJiBjYWxsQ250ID09PSAwICkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgDQogIHsNCiAgICBkZWxldGUgYXJyWzNdOw0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7ICAgIA0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOw0KDQogIGlmKHJlcyA9PT0gIjEyMzUiICApICAgIC8vb25lIGVsZW1lbnQgYWN1YWxseSBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG8uYXJyOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgICAgICAgby5hcnIgPSBbJzEnLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgcmV0dXJuIG8uYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMzQ1IiAmJiAhby5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FsbGJhY2tBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGJhY2tBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmICFjYWxsYmFja0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIGluIHN0ZXAgOQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhY2N1bSArIHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBY2N1bSA9IGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBuZXdBY2N1bSA9PT0gImluaXRpYWxWYWx1ZTAxIiAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsdmFsdWUgd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCg0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sNSkgPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialvalue when Array is empty and initialValue is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCB0byBwcm90b3R5cGUgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAiMiIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqWzJdID0gIjIiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties can be added to prototype are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMF0gPSBhcnJbMV0gPSB1bmRlZmluZWQ7IC8vZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQ0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gdW5kZWZpbmVkICYmIGNhbGxDbnQgPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDIsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQogICAgIA0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTEiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMiI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiAhdGVzdFJlc3VsdDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICIzIjsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI5IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLCBdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA+IDAgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4LTFdID09PSBwcmV2VmFsKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gImZpdmUiKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChjdXJWYWwgPiAxMCAmJiAxID09PSBwcmV2VmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHByZXZWYWwgPT09IDEgJiYgYXJndW1lbnRzWzNdW2lkeF0gPT09IGN1clZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCA0IGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGN1clZhbCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBjdXJyZW50IGl0ZXJhdGlvbiBpcyB0aGUgcmVzdWx0IG9mIHByZXZpb3VzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJlSXRlcmF0aW9uID0gMTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAocHJlSXRlcmF0aW9uICE9PSBwcmV2VmFsKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBwcmVJdGVyYXRpb24gPSBjdXJWYWw7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCAxMiwgMTNdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mICdpbml0aWFsVmFsdWUnIHdoZW4gaXQgaXMgcHJlc2VudCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mIGxlYXN0IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMTEpICYmIGN1clZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgOV0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGNhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of least index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA9PT0gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIHByZXZWYWwgPT09IGluaXRpYWxWYWx1ZSkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSBpZihpZHggPiAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeC0xXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICB2YXIgaW5pdGlhbFZhbHVlID0gNS41Ow0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuLGluaXRpYWxWYWx1ZSkgPT09ICJmaXZlIikgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdW5kZWZpbmVkIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB1bmRlZmluZWQpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVsbCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG51bGwpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09ICJoZWxsb18iOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG9fIikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpGdW5jdGlvbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Function object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQXJyYXkgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMTApOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Array object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gU3RyaW5nIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpTdHJpbmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - String object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQm9vbGVhbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQm9vbGVhbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Boolean object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gTnVtYmVyIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpOdW1iZXIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Number object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIHRha2VzIDQgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihwcmV2VmFsID09PSB0cnVlICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDQpICAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuLHRydWUpID09PSB0cnVlICYmIGJDYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgTWF0aCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the Math object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRGF0ZSBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRGF0ZSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Date object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gUmVnRXhwIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpSZWdFeHApID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - RegExp object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEpTT04gY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBKU09OKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRXJyb3Igb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Error object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDEwLCAxMSwgMTIsIDEzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGFyZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVuZGVmaW5lZCBwYXNzZWQgYXMgdGhpc1ZhbHVlIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgIHJldHVybiB0cnVlOw0KICB9DQogIFswXS5yZWR1Y2UoY2FsbGJhY2tmbix0cnVlKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXIgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIDExKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - k values are passed in acending numeric order on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTIsIDEzLCAxNF0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoY3VyVmFsID09PSA4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTJdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHVuZGVmaW5lZCk7IA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoSlNPTiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJhIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoMi41LCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoImhlbGxvXG53b3JsZFxcISIsIGNhbGxiYWNrZm4sICJoIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndvcmxkXFwhIik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImgiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gMTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCiAgaWYoc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAnNTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCBtb3JlIHRoYW4gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiKSA9PT0gNikNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCc2JykgPT09ICc2NTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MzIxMCIpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCB0byAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYiwiNCIpID09PSAiNDEiKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - subclassed array when length to 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCg0KICBzcmNBcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgaWYoY2FsbENudCA9PSA0KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDEzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSA9PT0gMTEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMTEpID09PSAxMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSA5Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgMTEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAxMTEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEsIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkMSA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQyID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDMgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDEgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4zKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMyA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqMSA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmoyID0geyAwOiA5LCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmozID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDIpID09PSAyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmozLCBjYWxsYmFja2ZuMywgMykgPT09IDMgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDEgJiYgIWFjY2Vzc2VkMiAmJiAhYWNjZXNzZWQzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgPT09IDExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBhbiBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IGZhbHNlIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to an Array-like object, 'length' is 0 (length overridden to false(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogMi42ODUgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2N1bSArPSB2YWw7DQogICAgICAgICAgICByZXR1cm4gYWNjdW07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gMjAgPT09IFsxMSwgOV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoZm9vKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodCh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgW10ucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 2 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 3 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnaW5pdGlhbFZhbHVlJyBpcyByZXR1cm5lZCBpZiAnbGVuJyBpcyAwIGFuZCAnaW5pdGlhbFZhbHVlJyBpcyBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMTA7DQogICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICANCiAgdHJ5IHsNCiAgICBpZihbXS5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9ICJpbml0aWFsVmFsdWUgaXMgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgc3RyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IjsNCiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW3N0cl0ucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiBzdGVwIDkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVWYWwgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHByZVZhbCA9PT0gMTEgJiYgY2FsbGVkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICB3aGlsZSBsb29wIGlzIGJyZWFrZW4gb25jZSAna1ByZXNlbnQnIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgZmlyc3RDYWxsZWQgPSAwOw0KICAgICAgICB2YXIgc2Vjb25kQ2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kQ2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RDYWxsZWQgPT09IDEgJiYgc2Vjb25kQ2FsbGVkID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - while loop is breaken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogImFjY3VtdWxhdG9yIiwgMzogImFub3RoZXIiIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAiYWNjdW11bGF0b3IiICE9PSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzJdID0gMjsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAyOw0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgLCBdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHN0ciwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQoNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTAiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMCI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxICYmIHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIHN1YnNlcXVldGx5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyICYmIGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed subsequetly on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICIxMSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQogICAgICAgIGNoaWxkWzBdID0gIjAiOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLF0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGJ5IHJlZHVjaWduIGFycmF5IGxlbmd0aCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFycls5XSA9IDE7DQogIGFyci5sZW5ndGggPSA1Ow0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted by reducign array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGRlbGV0ZSBhcnJbMF07DQogIGRlbGV0ZSBhcnJbMV07DQogIGRlbGV0ZSBhcnJbMl07DQogIGRlbGV0ZSBhcnJbM107DQogIGRlbGV0ZSBhcnJbNF07DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IHRocm93IGVycm9yIHdoZW4gYXJyYXkgaGFzIG5vIG93biBwcm9wZXJ0aWVzIGJ1dCBwcm90b3R5cGUgY29udGFpbnMgYSBzaW5nbGUgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gInByb3RvdHlwZSI7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgd2hpY2ggaW5kZXggaXMgbGFyZ2VyIHRoYW4gYXJyYXkgb3JpZ2luYWwgbGVuZ3RoIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCwgY29uc2lkZXIgbmV3IGVsZW1lbnRzIHdoaWNoIGluZGV4IGlzIHNtYWxsZXIgdGhhbiBhcnJheSBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls1XSA9IDY7DQogICAgICAgICAgICBhcnJbMl0gPSAzOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWycxJywgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiNTQzMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't consider new elements which index is larger than array original length added to array after it is called, consider new elements which index is smaller than array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzNdID0gLTI7DQogICAgYXJyWzBdID0gLTE7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTMpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiMTIxIiApICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTIgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGFycmF5IHdpdGggb25lIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDI7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IDEgJiYgY2FsbENudCA9PT0gMCApDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFyclsyXTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCiAgQXJyYXkucHJvdG90eXBlWzJdID0gNjsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQoNCiAgaWYocmVzID09PSAiMTUxIiApICAgIC8vb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbm90IGFmZmVjdCBjYWxsIHdoZW4gdGhlIGFycmF5IGlzIGRlbGV0ZWQgZHVyaW5nIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBkZWxldGUgby5hcnI7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsnMScsIDIsIDMsIDQsIDVdOw0KICAgICAgICByZXR1cm4gby5hcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICIxNDEiICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight not affect call when the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9LCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCB3aWxsIGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBjYWxsZWQgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - modifications to length will change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgDQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLDUpID09PSA1KQ0KICAgIHJldHVybiB0cnVlOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialvalue when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgY3VyVmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDAgJiYgY3VyVmFsID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDYgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gIjIiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICIyIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCA0XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCAmJiBjdXJWYWwgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIGlmKCBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IHVuZGVmaW5lZCAmJiBjYWxsQ250ID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDExLCAyOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIxIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAxMCwgMTogMTEsIDI6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQogICAgICAgIGNoaWxkWzJdID0gIjIiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICxdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAiMTEiOw0KICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogIjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICwgXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgbm90IHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYoaWR4KzEgPCBvYmoubGVuZ3RoICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeCsxXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSANCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEwMCkgPT09IDEwMCAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCkgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDEwMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMTAwKSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgpIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwICYmIGFyZ3VtZW50c1szXVtpZHhdID09PSBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRWYWwpID09PSB0cnVlICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDQgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gaW5pdFZhbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdFZhbCkgPT09IHRydWUgJiYgdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTAwICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMDApID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDggfHwgY3VyVmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - non-indexed properties are not called on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGN1cnJlbnQgaXRlcmF0aW9uIGlzIHRoZSByZXN1bHQgb2YgcHJldmlvdXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCiAgICAgICAgdmFyIHByZVJlc3VsdCA9IGluaXRWYWw7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAocHJldlZhbCAhPT0gcHJlUmVzdWx0KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcHJlUmVzdWx0ID0gY3VyVmFsOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgJ2luaXRpYWxWYWx1ZScgd2hlbiBpdCBpcyBwcmVzZW50IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMl07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgbWF4IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'accumulator' used for first iteration is the value of max index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgcGFzc2VkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBiUGFyQ29ycmVjdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIHRydWUsIG51bGwsIG5ldyBPYmplY3QoKSwgImZpdmUiXTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDUuNTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IG9iai5sZW5ndGggLSAxICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVlKQ0KICAgICAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgICAgICBlbHNlIGlmIChpZHggKyAxIDwgb2JqLmxlbmd0aCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHggKyAxXSA9PT0gcHJldlZhbCkNCiAgICAgICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB1bmRlZmluZWQgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdW5kZWZpbmVkKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudWxsIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBudWxsKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gImhlbGxvXyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvXyIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Function Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Array Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialN0cmluZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - String Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Boolean Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iak51bWJlcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Number Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdGFrZXMgNCBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICANCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0cnVlKSA9PT0gdHJ1ZSAmJiBiQ2FsbGVkID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgTWF0aCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIE1hdGgpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the Math Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpEYXRlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Date Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialJlZ0V4cCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - RegExp Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgSlNPTiBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgSlNPTikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Error Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMTAsIDExLCAxMiwgMTMpKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBhcmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5kZWZpbmVkIHBhc3NlZCBhcyB0aGlzVmFsdWUgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgWzBdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sdHJ1ZSk7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSBhcnIubGVuZ3RoIC0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4LS07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMTEsIDEyLCAxMywgMTRdOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIG5leHQgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gYXJyLmxlbmd0aCAtIDEgJiYgdHlwZW9mIGtJbmRleFtpZHggKyAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4IDwgMTApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4IC0gMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgPT09IHRydWUgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncyB1c2luZyB0aGVpcgogKiB0b0xvY2FsZVN0cmluZyBtZXRob2RzLCBhbmQgdGhlc2Ugc3RyaW5ncyBhcmUgdGhlbiBjb25jYXRlbmF0ZWQsIHNlcGFyYXRlZAogKiBieSBvY2N1cnJlbmNlcyBvZiBhIHNlcGFyYXRvciBzdHJpbmcgdGhhdCBoYXMgYmVlbiBkZXJpdmVkIGluIGFuCiAqIGltcGxlbWVudGF0aW9uLWRlZmluZWQgbG9jYWxlLXNwZWNpZmljIHdheQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gaXQgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGludm9rZWQKICovCgp2YXIgbiA9IDA7CnZhciBvYmogPSB7dG9Mb2NhbGVTdHJpbmc6IGZ1bmN0aW9uKCkge24rK319Owp2YXIgYXJyID0gW3VuZGVmaW5lZCwgb2JqLCBudWxsLCBvYmosIG9ial07CmFyci50b0xvY2FsZVN0cmluZygpOwoKLy9DSEVDSyMxCmlmIChuICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSAwOyB2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsgdmFyIGFyciA9IFt1bmRlZmluZWQsIG9iaiwgbnVsbCwgb2JqLCBvYmpdOyBhcnIudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMy4gQWN0dWFsOiAnICsgKG4pKTsKfSAgCgo=","commentary":"The elements of the array are converted to strings using their\ntoLocaleString methods, and these strings are then concatenated, separated\nby occurrences of a separator string that has been derived in an\nimplementation-defined locale-specific way","description":"it is the function that should be invoked","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKdmFyIG4gPSAwOwp2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsKQXJyYXkucHJvdG90eXBlWzFdID0gb2JqOwp2YXIgeCA9IFtvYmpdOwp4Lmxlbmd0aCA9IDI7CngudG9Mb2NhbGVTdHJpbmcoKTsKaWYgKG4gIT09IDIpIHsgIAogICRFUlJPUignIzE6IHZhciBuID0gMDsgdmFyIG9iaiA9IHt0b0xvY2FsZVN0cmluZzogZnVuY3Rpb24oKSB7bisrfX07IEFycmF5LnByb3RvdHlwZVsxXSA9IG9iajsgeCA9IFtvYmpdOyB4Lmxlbmd0aCA9IDI7IHgudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMi4gQWN0dWFsOiAnICsgKG4pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b0xvY2FsZVN0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toLocaleString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of toLocaleString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9Mb2NhbGVTdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString is 0","description":"toLocaleString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b0xvY2FsZVN0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9Mb2NhbGVTdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvTG9jYWxlU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b0xvY2FsZVN0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toLocaleString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toLocaleString property of Array has not prototype property","description":"Checking Array.prototype.toLocaleString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toLocaleString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvMTUuNC40LjQtNS1iLWlpaS0zLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYi5paWkuMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2xkQXJyID0gWzEwMV07DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwob2xkQXJyKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IG5ld0FyclswXSA9PT0gMTAxOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBuZXdBcnJbMF0gPSAxMjsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gbmV3QXJyWzBdID09PSAxMjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVdyaXRhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.b.iii.3.b)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvMTUuNC40LjQtNS1jLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKDEwMSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQoJICAgIHZhciBpbnN0YW5jZU9mVmVyaWZ5ID0gdHlwZW9mIG5ld0FyclswXT09PSJudW1iZXIiOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gbmV3QXJyWzBdID09PSAxMDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMCIgJiYgbmV3QXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBpbnN0YW5jZU9mVmVyaWZ5ICYmIHZlcmlmeVZhbHVlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlXcml0YWJsZTsNCgkNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.c.i)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgQXJyYXkgb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsKdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6KTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzRdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KCk7IHZhciB5ID0gbmV3IEFycmF5KDAsMSk7IHZhciB6ID0gbmV3IEFycmF5KDIsMyw0KTsgdmFyIGFyciA9IHguY29uY2F0KHkseik7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcwogKi8KCnZhciB4ID0gWzBdOwp2YXIgeSA9IG5ldyBPYmplY3QoKTsKdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsKdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclsxXSAhPT0geSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzBdOyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzFdID09PSB5LiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclszXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFycls0XSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls0XSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbNV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls2XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChhcnJbNl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnIubGVuZ3RoICE9PSA3KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIubGVuZ3RoID09PSA3LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgICAgICAgICAgIAoK","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtIHdpdGggbm8gaXRlbXMKICovCgp2YXIgeCA9IFswLDFdOwp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAoYXJyID09PSB4KSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciAhPT0geCcpOwp9ICAgICAgICAgICAgICAKCg==","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgW10sIFssXQogKi8KCnZhciB4ID0gWywxXTsKdmFyIGFyciA9IHguY29uY2F0KFtdLCBbLF0pOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbLDFdOyB2YXIgYXJyID0geC5jb25jYXQoW10sIFssXSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are [], [,]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCwgaXRlbXMgYXJlIG9iamVjdHMgYW5kIHByaW1pdGl2ZXMKICovCgp2YXIgeCA9IHt9Owp4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnZhciB5ID0gbmV3IE9iamVjdCgpOwp2YXIgeiA9IG5ldyBBcnJheSgxLDIpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IHkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMV0gPT09IHkuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbM10gPT09IDIuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbNF0gIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzRdID09PSAtMS4gQWN0dWFsOiAnICsgKGFycls0XSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycls1XSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbNl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoYXJyWzZdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyLmxlbmd0aCAhPT0gNykgewogICRFUlJPUignIzg6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyci5sZW5ndGggPT09IDcuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCB3aXRoIG5vIGl0ZW1zCiAqLwoKdmFyIHggPSB7fTsKeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Owp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKSBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgICAgICAgICAgICAKCg==","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LmNvbmNhdCgpOwoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFyci5oYXNPd25Qcm9wZXJ0eSgnMScpKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnggPSB7MDowfTsKdmFyIGFyciA9IHguY29uY2F0KCk7CgovL0NIRUNLIzQKaWYgKGFyclswXSAhPT0geCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB4ID0gezA6MH07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHggPSB7MDowfTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gZmFsc2UpIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgeCA9IHswOjB9OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuY29uY2F0KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LmNvbmNhdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of concat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of concat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjQuanMKICogQGRlc2NyaXB0aW9uIGNvbmNhdC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat is 1","description":"concat.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uY2F0JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdjb25jYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2NvbmNhdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25jYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gImNvbmNhdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The concat property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The concat property of Array has not prototype property","description":"Checking Array.prototype.concat.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTQuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLmNvbmNhdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5jb25jYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The concat property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCk7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHguam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CngubGVuZ3RoID0gMDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDE7IHgubGVuZ3RoID0gMDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCgo=","commentary":"If length is zero, return the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4oKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4oKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbigpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih1bmRlZmluZWQpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4odW5kZWZpbmVkKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbih1bmRlZmluZWQpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcnJheSBlbGVtZW50IGlzIHVuZGVmaW5lZCBvciBudWxsLCB1c2UgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFswXSA9IHVuZGVmaW5lZDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHVuZGVmaW5lZDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IG51bGw7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSBudWxsOyB4LmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzMKeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7CmlmICh4LmpvaW4oKSAhPT0gIiwxLCwzIikgewogICRFUlJPUignIzM6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LmpvaW4oKSA9PT0gIiwxLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCg==","commentary":"If array element is undefined or null, use the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9Cn0gICAgCgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihvYmoubGVuZ3RoKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gLTA7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gLTApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSAtMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDAuNSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDAuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKdmFyIHggPSBuZXcgTnVtYmVyKDApOwpvYmoubGVuZ3RoID0geDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTE6IHZhciB4ID0gbmV3IE51bWJlcigwKTsgdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9iai5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSBuZXcgTnVtYmVyKDApOyB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB4OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQuNTsKaWYgKG9iai5qb2luKCkgIT09ICIsLCwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLCwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IHVuZGVmaW5lZDsKb2JqWzFdID0gMTsKb2JqWzJdID0gbnVsbDsKaWYgKG9iai5qb2luKCkgIT09ICIsMSwsIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDQuNTsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gNC41KSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDQuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAgCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7Cm9iai5sZW5ndGggPSB4OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsLCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiwsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSB1bmRlZmluZWQ7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IG51bGw7CmlmIChvYmouam9pbigpICE9PSAiLDEsLCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7IG9iai5sZW5ndGggPSB4OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gIAoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CmlmIChvYmouam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjMTogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmouam9pbigpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAgb2JqLmpvaW4oKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzM6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5qb2luKCkgPT09ICIsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICBpZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjNC4xOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLmpvaW4oKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmouam9pbigpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM1OiBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM2OiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgCiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM4LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOCwyOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc2VwYXJhdG9yIGluIFsiIiwgIlxcIiwgIiYiLCB0cnVlLCBJbmZpbml0eSwgbnVsbCwgdW5kZWZpbmQsIE5hTl0KICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LmpvaW4oIiIpICE9PSAiMDEyMyIpIHsKICAkRVJST1IoJyMwOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiIpID09PSAiMDEyMyIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCJcXCIpICE9PSAiMFxcMVxcMlxcMyIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIlxcIikgPT09ICIwXFwxXFwyXFwzIi4gQWN0dWFsOiAnICsgKHguam9pbigiXFwiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHguam9pbigiJiIpICE9PSAiMCYxJjImMyIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiYiKSA9PT0gIjAmMSYyJjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCImIikpKTsKfQoKLy9DSEVDSyMzCmlmICh4LmpvaW4odHJ1ZSkgIT09ICIwdHJ1ZTF0cnVlMnRydWUzIikgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih0cnVlKSA9PT0gIjB0cnVlMXRydWUydHJ1ZTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5qb2luKEluZmluaXR5KSAhPT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKEluZmluaXR5KSA9PT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKEluZmluaXR5KSkpOwp9CgovL0NIRUNLIzUKaWYgKHguam9pbihudWxsKSAhPT0gIjBudWxsMW51bGwybnVsbDMiKSB7CiAgJEVSUk9SKCcjMzogNSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKG51bGwpID09PSAiMG51bGwxbnVsbDJudWxsMyIuIEFjdHVhbDogJyArICh4LmpvaW4obnVsbCkpKTsKfQoKLy9DSEVDSyM2CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsMSwyLDMiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKHVuZGVmaW5lZCkgPT09ICIwLDEsMiwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeC5qb2luKE5hTikgIT09ICIwTmFOMU5hTjJOYU4zIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigiTmFOIikgPT09ICIwTmFOMU5hTjJOYU4zIi4gQWN0dWFsOiAnICsgKHguam9pbigiTmFOIikpKTsKfQoK","commentary":"Operator use ToString from separator","description":"Checking separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShzZXBhcmF0b3IpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUoc2VwYXJhdG9yLCBTdHJpbmcpCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7Ci8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMFtvYmplY3QgT2JqZWN0XTFbb2JqZWN0IE9iamVjdF0yW29iamVjdCBPYmplY3RdMyIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsgeC5qb2luKG9iamVjdCkgPT09ICIwW29iamVjdCBPYmplY3RdMVtvYmplY3QgT2JqZWN0XTJbb2JqZWN0IE9iamVjdF0zIi4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwppZiAoeC5qb2luKG9iamVjdCkgIT09ICIwKjEqMiozIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCsxKzIrMyIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpID09PSAiMCsxKzIrMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwogIGlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsgeC5qb2luKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCoxKjIqMyIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CmlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OyB4LmpvaW4ob2JqZWN0KSA9PT0gIjAqMSoyKjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4LmpvaW4ob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHguam9pbihvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4LmpvaW4ob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHguam9pbihvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzkKdHJ5IHsKICAgIHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICAgIFtdLmpvaW4ob2JqZWN0KTsKICAgICRFUlJPUignIzkuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKFtdLmpvaW4ob2JqZWN0KSkpOwp9CmNhdGNoIChlKSB7CiAgICBpZiAoZSAhPT0gImVycm9yIikgewogICAgICAgICRFUlJPUignIzkuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICAgfQp9","commentary":"Operator use ToString from separator","description":"If Type(separator) is Object, evaluate ToPrimitive(separator, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzIGFuZCBzZXBhcmF0b3IgaW4gWyIiLCAiXFwiLCAiJiIsIHRydWUsIEluZmluaXR5LCBudWxsLCB1bmRlZmluZCwgTmFOXQogKi8KCi8vQ0hFQ0sjMAp2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7CmlmICh4LmpvaW4oIiIpICE9PSAiIikgewogICRFUlJPUignIzA6IHZhciB4ID0gbmV3IEFycmF5KCIiLCIiLCIiKTsgeC5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgiXFwiLCJcXCIsIlxcIik7CmlmICh4LmpvaW4oIlxcIikgIT09ICJcXFxcXFxcXFxcIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC5qb2luKCJcXCIpID09PSAiXFxcXFxcXFxcXCIuIEFjdHVhbDogJyArICh4LmpvaW4oIlxcIikpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KCImIiwgIiYiLCAiJiIpOwppZiAoeC5qb2luKCImIikgIT09ICImJiYmJiIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC5qb2luKCImIikgPT09ICImJiYmJiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiYiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSx0cnVlLHRydWUpOwppZiAoeC5qb2luKCkgIT09ICJ0cnVlLHRydWUsdHJ1ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh0cnVlLHRydWUsdHJ1ZSk7IHguam9pbih0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LmpvaW4odHJ1ZSx0cnVlLHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBBcnJheShudWxsLG51bGwsbnVsbCk7CmlmICh4LmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC5qb2luKG51bGwsbnVsbCxudWxsKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHguam9pbihudWxsLG51bGwsbnVsbCkpKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHguam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpOyB4LmpvaW4odW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgQXJyYXkoSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpOwppZiAoeC5qb2luKCkgIT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheShJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSk7IHguam9pbihJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LmpvaW4oSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjNwp2YXIgeCA9IG5ldyBBcnJheShOYU4sTmFOLE5hTik7CmlmICh4LmpvaW4oKSAhPT0gIk5hTixOYU4sTmFOIikgewogICRFUlJPUignIzc6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC5qb2luKE5hTixOYU4sTmFOKSA9PT0gIk5hTixOYU4sTmFOIi4gQWN0dWFsOiAnICsgKHguam9pbihOYU4sTmFOLE5hTikpKTsKfQoK","commentary":"Operator use ToString from array arguments","description":"Checking arguments and separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShhcmd1bWVudCkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZShhcmd1bWVudCwgU3RyaW5nKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHguam9pbigpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIqIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIrIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LmpvaW4oKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0KdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIHguam9pbigpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString from array arguments","description":"If Type(argument) is Object, evaluate ToPrimitive(argument, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCmlmIChvYmouam9pbigiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk2KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk2XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKaWYgKG9iai5qb2luKCIiKSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpID09PSAieCIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk3KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk3LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQppZiAob2JqLmpvaW4oIiIpICE9PSAieHkiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKSA9PT0gInh5Ii4gQWN0dWFsOiAnICsgKG9iai5qb2luKCIiKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gLTQyOTQ5NjcyOTQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMV0gPSAxOwp2YXIgeCA9IFswXTsKeC5sZW5ndGggPSAyOwppZiAoeC5qb2luKCkgIT09ICIwLDEiKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHguam9pbigpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7ICAgIAp9CgovL0NIRUNLIzIKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CnggPSB7MDowfTsKaWYgKHguam9pbigpICE9PSAiMCwxIikgeyAgCiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IHggPSB7MDowfTsgeC5qb2luKCkgPT09ICIwLDEiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LmpvaW4pewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuam9pbikgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of join has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKIAovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of join has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBqb2luLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join is 1","description":"join.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2pvaW5cJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAiam9pbiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiam9pbiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The join property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUpKTsKfQoK","commentary":"The join property of Array has not prototype property","description":"Checking Array.prototype.join.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjUvUzE1LjQuNC41X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLmpvaW4oKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The join property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHgucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgpOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfSAKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgxLDIsMyk7IHgubGVuZ3RoID0gMDsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBpcyByZW1vdmVkIGZyb20gdGhlIGFycmF5CiAqIGFuZCByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzMKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsyXSAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbMl0gPT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCkgPT09IDMuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PSAzJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbMl0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHgubGVuZ3RoID0gMTsgeC5wb3AoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEwCmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5wb3AoKTsgeC5sZW5ndGggPSAxOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"The last element of the array is removed from the array\nand returned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgICAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KfSAgICAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gICAgCgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSArMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMQpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGxhc3QgZWxlbWVudCBUb1VpbnQzMihsZW5ndGgpIC0gMSBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheQogKiBhbmQgcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSAyLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The last element ToUint32(length) - 1 of the array is removed from the array\nand returned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wb3AoKSA9PT0gLTEuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjMDogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAgb2JqLnBvcCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyMzCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzM6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmoucG9wKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyAgCiAgdmFyIHBvcCA9IG9iai5wb3AoKTsKICAkRVJST1IoJyM3LjE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgb2JqLnBvcCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwb3ApKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmoucG9wKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgcG9wID0gb2JqLnBvcCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wb3AoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmpbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucG9wKCk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5wb3AoKSA9PT0gIngiLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInkiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5Nl0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk2XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpID09PSAieCIuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowfTsKCi8vQ0hFQ0sjMwp2YXIgcG9wID0geC5wb3AoKTsKaWYgKHBvcCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnBvcCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowLDE6MX07CgovL0NIRUNLIzMKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgeCA9IHswOjAsMToxfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MCwxOjF9OyB4LnBvcCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkucG9wKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnBvcCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of pop has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of pop has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHBvcC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop is 0","description":"pop.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncG9wJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdwb3BcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3BvcCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJwb3AiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInBvcCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The pop property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUucG9wLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The pop property of Array has not prototype property","description":"Checking Array.prototype.pop.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnBvcCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5wb3AoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The pop property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBwdXNoID0geC5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnB1c2goMSk7IHgucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHB1c2ggPSB4LnB1c2goLTEpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goLTEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9IAoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHB1c2ggPSB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmIChwdXNoICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzFdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsyXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzRdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbNF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbNF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzVdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKaWYgKG9iai5sZW5ndGggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogICAgLy9DSEVDSyMxICAKICAgIHZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICAgICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9CiAgICAvL0NIRUNLIzMKICAgIGlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7CiAgICB9Cn0gCgovL0NIRUNLIzQKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKdmFyIHB1c2ggPSBvYmoucHVzaCgtNCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBudWxsCnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCg==","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSBOYU47CnZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM0Cm9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTQpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTQpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTcpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxMApvYmoubGVuZ3RoID0gMC41Owp2YXIgcHVzaCA9IG9iai5wdXNoKC0xMCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzEyCmlmIChvYmpbIjAiXSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKTsgb2JqWyIwIl0gPT09IC0xMC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTMKb2JqLmxlbmd0aCA9IDEuNTsKdmFyIHB1c2ggPSBvYmoucHVzaCgtMTMpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMykgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKG9iai5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTMpOyBvYmoubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxNQppZiAob2JqWyIxIl0gIT09IC0xMykgewogICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMyk7IG9ialsiMSJdID09PSAtMTMuIEFjdHVhbDogJyArIChvYmpbIjEiXSkpOwp9CgovL0NIRUNLIzE2Cm9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOwp2YXIgcHVzaCA9IG9iai5wdXNoKC0xNik7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xNikgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTE2KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWyIwIl0gIT09IC0xNikgewogICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTYpOyBvYmpbIjAiXSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfSAgIAoK","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CnZhciBwdXNoID0gb2JqLnB1c2goKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmoucHVzaCgpID09PSAzLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMDogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnB1c2goKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5wdXNoKCkgPT09IDMuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgICAkRVJST1IoJyM0LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocHVzaCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wdXNoKCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAgCiAgdmFyIHB1c2ggPSBvYmoucHVzaCgpOwogICRFUlJPUignIzcuMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoucHVzaCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqLnB1c2goKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBwdXNoID0gb2JqLnB1c2goKTsKICAkRVJST1IoJyM4LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnB1c2goKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgIT09IGxlbmd0aCwgdGhyb3cgUmFuZ2VFcnJvcgogKi8KCnZhciB4ID0gW107CngubGVuZ3RoID0gNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5NSkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4LnB1c2goKSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeC5wdXNoKCJ4Iik7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgeC5wdXNoKCJ4IikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHgucHVzaCgieCIpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKHhbNDI5NDk2NzI5NV0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgdHJ5IHt4LnB1c2goIngiKX1jYXRjaChlKXt9OyB4WzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHRyeSB7eC5wdXNoKCJ4Iil9Y2F0Y2goZSl7fTsgeC5sZW5ndGggPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for Array object","description":"If ToUint32(length) !== length, throw RangeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialsxXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbMl0gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAKCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzYKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCkgPT09IDAuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQyOTQ5NjcyOTguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk1XSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTZdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAgICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5OCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ials0Mjk0OTY3Mjk1XSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5Nl0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk3XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTddKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKdmFyIHggPSB7MDowfTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDIpIHsgIAogICRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSkgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgeC5wdXNoKDEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKZGVsZXRlIHhbMV07CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gLTE7IE9iamVjdC5wcm90b3R5cGUucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyB4ID0gezA6MH07IHgucHVzaCgxKTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM1CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgZGVsZXRlIHg7IHgucHVzaCgxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnB1c2gpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucHVzaCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of push has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of push has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBwdXNoLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push is 1","description":"push.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3B1c2hcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicHVzaCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicHVzaCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The push property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUpKTsKfQoK","commentary":"The push property of Array has not prototype property","description":"Checking Array.prototype.push.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjcvUzE1LjQuNC43X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnB1c2goKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The push property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHJldmVyc2UgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEFycmF5KDEsMik7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKSA9PT0geC4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFswXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IEFycmF5KDEsMik7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgIAoK","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking case when reverse is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0sIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CnhbMF0gPSB0cnVlOwp4WzJdID0gSW5maW5pdHk7CnhbNF0gPSB1bmRlZmluZWQ7CnhbNV0gPSB1bmRlZmluZWQ7CnhbOF0gPSAiTmFOIjsKeFs5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbMV0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmICh4WzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKHhbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbN10gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzEwCmlmICh4WzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbOF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAoeFs5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHhbOV0pKTsKfSAgIAoKeC5sZW5ndGggPSA5OwoKdmFyIHJldmVyc2UgPSB4LnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpID09PSB4LiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMxMwppZiAoeFsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyMxNAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9ICAgIAoKLy9DSEVDSyMxNgppZiAoeFs0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzE4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyMxOQppZiAoeFs3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzIwCmlmICh4WzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFs4XSkpOwp9CiAgICAKCg==","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking this algorithm, elements are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgaW50ZWdlcgogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqID0ge307Cm9iai5sZW5ndGggPSAxMDsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzFdICE9PSAiTmFOIikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAob2JqWzRdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjOQppZiAob2JqWzddICE9PSBJbmZpbml0eSkgewogICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ials5XSkpOwp9ICAgCgpvYmoubGVuZ3RoID0gOTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gOTsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmpbMF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials1XSkpOwp9CgovL0NIRUNLIzE4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ials4XSkpOwp9Cgo=","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgbm90IGludGVnZXIKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IHt9OwpvYmoubGVuZ3RoID0gMTAuNTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqWzBdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialsxXSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyM4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKG9ials3XSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqWzldICE9PSB0cnVlKSB7CiAgICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbOV0gPT09IHRydWUuIEFjdHVhbDogJyArIChvYmpbOV0pKTsKfSAgIAoKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCkgPT09IG9iai4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyMxMgppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKG9ialsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzE1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjMTYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMTkKaWYgKG9ials3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbOF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoK","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBvYmogPSB7fTsKb2JqLmxlbmd0aCA9ICIxMCI7Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7CgpvYmpbMF0gPSB0cnVlOwpvYmpbMl0gPSBJbmZpbml0eTsKb2JqWzRdID0gdW5kZWZpbmVkOwpvYmpbNV0gPSB1bmRlZmluZWQ7Cm9ials4XSA9ICJOYU4iOwpvYmpbOV0gPSAiLTEiOwoKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjNAppZiAob2JqWzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzcKaWYgKG9ials1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzZdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyM5CmlmIChvYmpbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzldID09PSB0cnVlLiBBY3R1YWw6ICcgKyAob2JqWzldKSk7Cn0gICAKCm9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gICAgCgovL0NIRUNLIzE0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxNQppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfQoKLy9DSEVDSyMxNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ials2XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAob2JqWzddKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKG9ials4XSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCg==","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5OAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk3XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7CgovL0NIRUNLIzEKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ4IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gInoiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjB9Owp4LnJldmVyc2UoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CmRlbGV0ZSB4WzFdOwoKLy9DSEVDSyM3CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSAwOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjAsMToxfTsKeC5yZXZlcnNlKCk7CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKZGVsZXRlIHhbMV07CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MCwxOjF9OyB4LnJldmVyc2UoKTsgZGVsZXRlIHhbMF07IGRlbGV0ZSB4WzFdOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowLDE6MX07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of reverse has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of reverse has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiByZXZlcnNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse is 0","description":"reverse.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3JldmVyc2VcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicmV2ZXJzZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicmV2ZXJzZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The reverse property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The reverse property of Array has not prototype property","description":"Checking Array.prototype.reverse.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjgvUzE1LjQuNC44X0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnJldmVyc2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The reverse property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwyLDMpOyB4Lmxlbmd0aCA9IDA7IHguc2hpZnQoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09IDMnKTsKfQoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzBdID09IDEnKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzFdID09IDInKTsKfQoKLy9DSEVDSyM1CnggPSBbXTsKeFswXSA9IDA7CnhbM10gPSAzOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCkgPT09IDAuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMF0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsxMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMV0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9IDE7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPSAxOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The first element of the array is removed from the array and\nreturned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogICAgfQp9ICAgIAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB1bmRlZmluZWQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxL29iai5sZW5ndGggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gLTA7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09ICswLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogIH0gIAp9ICAgCgovL0NIRUNLIzkKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gMi41Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAyLjU7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDIpOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoK","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9ialsiMCJdID0gMDsKb2JqWyIzIl0gPSAzOwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSAxOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPSAxOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9IDE7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9OdW1iZXIgZnJvbSBsZW5ndGguCiAqIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzA6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzMKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpID09PSAiLCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIAogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzcuMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouc2hpZnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbNDI5NDk2NzI5Nl0gPSAieiI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OwoKLy9DSEVDSyMxCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09ICJ4IikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCkgPT09ICJ4Ii4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmouc2hpZnQoKTsgb2JqWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInoiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpID09PSAieCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMF0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ialsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCIgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjB9OwoKLy9DSEVDSyM0CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAwKSB7ICAKICAkRVJST1IoJyM0OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKZGVsZXRlIHgubGVuZ3RoOwppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHguc2hpZnQoKTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjAsMToxfTsKCi8vQ0hFQ0sjNAp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgeCA9IHswOjAsMToxfTsgeC5zaGlmdCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOApkZWxldGUgeC5sZW5ndGg7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc2hpZnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The length property of shift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of shift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift is 0","description":"shift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc2hpZnRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NoaWZ0JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7Cn0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic2hpZnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The shift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The shift property of Array has not prototype property","description":"Checking Array.prototype.shift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuc2hpZnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The shift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbnN0YW5jZXMgaGF2ZSBbW0NsYXNzXV0gc2V0IHRvICdBcnJheScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKTsNCiAgaWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array instances have [[Class]] set to 'Array'","path":"TestCases/ch15/15.4/15.4.5/15.4.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk2ICgyKiozMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgW10ubGVuZ3RoID0gNDI5NDk2NzI5NiA7DQogIH0gY2F0Y2ggKGUpIHsNCglpZiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967296 (2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk3ICgxKzIqKjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgICBbXS5sZW5ndGggPSA0Mjk0OTY3Mjk3IDsNCiAgfSBjYXRjaCAoZSkgew0KCWlmIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967297 (1+2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIG1heCB2YWx1ZSA0Mjk0OTY3Mjk1ICgyKiozMi0xLCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYS5sZW5ndGggPSA0Mjk0OTY3Mjk1IDsNCiAgcmV0dXJuIGEubGVuZ3RoPT09NDI5NDk2NzI5NSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Set array length property to max value 4294967295 (2**32-1,)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKShub3QgYW4gYXJyYXkgZWxlbWVudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYVs0Mjk0OTY3Mjk1XSA9PT0gIm5vdCBhbiBhcnJheSBlbGVtZW50IjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Defining a property named 4294967295 (2**32-1)(not an array element)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKSBkb2Vzbid0IGNoYW5nZSBsZW5ndGggb2YgdGhlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgIA0KICB2YXIgYSA9WzAsMSwyXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYS5sZW5ndGg9PT0zOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Defining a property named 4294967295 (2**32-1) doesn't change length of the array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbNDI5NDk2NzI5NiwgLTEsIDEuNV0KICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gLTE7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gLTEgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IC0xIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMzCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gMS41OwogICRFUlJPUignIzMuMTogeCA9IFtdOyB4Lmxlbmd0aCA9IDEuNSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6IHgubGVuZ3RoID09PSAnICsgKHgubGVuZ3RoKSk7Cn0gY2F0Y2goZSkgeyAgICAKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiB4ID0gW107IHgubGVuZ3RoID0gMS41IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [4294967296, -1, 1.5]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5LCB1bmRlZmluZWRdCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBbXTsKICB4Lmxlbmd0aCA9IE5hTjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOYU4gdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE5hTiB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjNAp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHVuZGVmaW5lZDsKICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB1bmRlZmluZWQgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHVuZGVmaW5lZCB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCg==","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [NaN, Infinity, -Infinity, undefined]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSBsZW5ndGggb2YgYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwsMiwsNF07CngubGVuZ3RoID0gNDsKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFswLCwyLCw0XTsgeC5sZW5ndGggPSA0OyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAzOwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzJdICE9PSAyKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Change length of array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsKdmFyIHggPSBbMCwxLDJdOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzJdID0gLTE7IHggPSBbMCwxLDNdOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyMyCngubGVuZ3RoID0gMjsKaWYgKHhbMl0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsgeCA9IFswLDEsM107IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzJdKSk7ICAgIAp9Cgo=","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAyOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDM7CmlmICh4Lmhhc093blByb3BlcnR5KCcyJykgIT09IGZhbHNlKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMl0gPSAyOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMzsgeC5oYXNPd25Qcm9wZXJ0eShcJzJcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoeC5oYXNPd25Qcm9wZXJ0eSgnMicpKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAyOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzJdID0gMjsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDM7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpcyBvYmplY3Qgb3IgcHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB0cnVlOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSB0cnVlOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFswXTsKeC5sZW5ndGggPSBudWxsOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzI6IHggPSBbMF07IHgubGVuZ3RoID0gbnVsbDsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnggPSBbMF07CngubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzM6IHggPSBbMF07IHgubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzQKeCA9IFtdOwp4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQp4ID0gW107CngubGVuZ3RoID0gIjEiOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSAiMSI7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0gbmV3IFN0cmluZygiMSIpOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSBuZXcgU3RyaW5nKCIxIik7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"Set the value of property length of A to Uint32(length)","description":"length is object or primitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVpbnQzMiB1c2UgVG9OdW1iZXIgYW5kIFRvUHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMwOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzMKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICB4ID0gW107CiAgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyAgCiAgaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4Lmxlbmd0aCA9PT0gIiwiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4Lmxlbmd0aCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHgubGVuZ3RoIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM4LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Set the value of property length of A to Uint32(length)","description":"Uint32 use ToNumber and ToPrimitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQIGlzIG5vdCBhbiBhcnJheSBpbmRleCwgcmV0dXJuCiAqIChDcmVhdGUgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFAgaW4gWzQyOTQ5NjcyOTUsIC0xLCB0cnVlXQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp4WzQyOTQ5NjcyOTVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4WzQyOTQ5NjcyOTVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHhbNDI5NDk2NzI5NV0gPT09IDEuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Wy0xXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbLTFdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKaWYgKHhbLTFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeFstMV0gPSAxOyB4Wy0xXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbLTFdKSk7ICAgIAp9CgovL0NIRUNLIzMKeCA9IFtdOwp4W3RydWVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4W3RydWVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzLjI6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbdHJ1ZV0gPT09IDEuIEFjdHVhbDogJyArICh4W3RydWVdKSk7ICAgIAp9Cgo=","commentary":"If P is not an array index, return\n(Create a property with name P, set its value to V and give it empty attributes)","description":"P in [4294967295, -1, true]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgdGhlbiByZXR1cm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS9TMTUuNC41LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID09PSAxMDAsIFAgaW4gWzAsIDk4LCA5OV0KICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheSgxMDApOwp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeC5sZW5ndGggPT09IDEwMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs5OF0gPSAxOwppZiAoeC5sZW5ndGggIT09IDEwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMF0gPSAxOyB4Wzk4XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnhbOTldID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzM6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeFs5OF0gPSAxOyB4Wzk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, then return","description":"length === 100, P in [0, 98, 99]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgY2hhbmdlIChvciBzZXQpIGxlbmd0aCB0byBUb1VpbnQzMihQKSsxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IDEwMCwgUCBpbiBbMTAwLCAxOTldCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoMTAwKTsKeFsxMDBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDEpIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzEwMF0gPSAxOyB4Lmxlbmd0aCA9PT0gMTAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzE5OV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMTAwXSA9IDE7IHhbMTk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, change (or set) length to ToUint32(P)+1","description":"length = 100, P in [100, 199]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBib3VuZGFyeSBwb2ludHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxOiB4ID0gW107IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAgICAgCiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKeFsxXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDE7IHhbMV0gPSAxOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAp4WzIxNDc0ODM2NDhdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAyMTQ3NDgzNjQ5KSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4Lmxlbmd0aCA9PT0gMjE0NzQ4MzY0OS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQp4WzQyOTQ5NjcyOTRdID0gMTsKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4WzQyOTQ5NjcyOTU0XSA9IDE7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"Checking boundary points","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQID0gIjJeMzIgLSAxIiBpcyBub3QgaW5kZXggYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFs0Mjk0OTY3Mjk1XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4WzQyOTQ5NjcyOTVdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMyCnZhciB5ID1bXTsKeVsxXSA9IDE7CnlbNDI5NDk2NzI5NV0gPSAxOwppZiAoeS5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMyOiB5ID0gW107IHlbMV0gPSAxOyB5WzQyOTQ5NjcyOTVdID0gMTsgeS5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"P = \"2^32 - 1\" is not index array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHByb3BlcnR5IGlzIGFkZGVkIHdob3NlIG5hbWUgaXMgYW4gYXJyYXkgaW5kZXgsCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC41LzE1LjQuNS4yL1MxNS40LjUuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFswXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnhbMV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMzOiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKeFs5XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyM0OiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeFs5XSA9IDE7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"If a property is added whose name is an array index,\nthe length property is changed","description":"Checking length property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs1XSA9IDE7CngubGVuZ3RoID0gMTA7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyMyOiB4ID0gW107IHgubGVuZ3RoID0gMTsgeFs1XSA9IDE7IHgubGVuZ3RoID0gMTA7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4WzVdID0gMTsgeC5sZW5ndGggPSAxMDsgeFs1XSA9IDEnKTsKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFsxXSA9IDE7CnhbM10gPSAzOwp4WzVdID0gNTsKeC5sZW5ndGggPSA0OwppZiAoeC5sZW5ndGggIT09IDQpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFszXSAhPT0gMykgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9CgovL0NIRUNLIzQKeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzUKeC5sZW5ndGggPSAwOwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNgp4Lmxlbmd0aCA9IDE7CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsgICAgICAKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMV0gPSAxOyB4WzNdID0gMzsgeFs1XSA9IDU7IHgubGVuZ3RoID0gNDsgeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOyB4Lmxlbmd0aCA9IDA7IHgubGVuZ3RoID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFtbUHV0XV0gKGxlbmd0aCwgNDI5NDk2NzI5NikKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OwppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4Lmxlbmd0aCA9PT0gNDI5NDk2NzI5NScpOyAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"[[Put]] (length, 4294967296)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwxLDJdOyAKeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IAp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzQyOTQ5NjcyOTRdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzQ6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzQyOTQ5NjcyOTRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTRdKSk7ICAgIAp9CgoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOyBfX3N0ciA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(function(){}())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEpIGFuZCBTdHJpbmcoLTEpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxKTsgX19zdHIgPT09ICIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0xKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIi0xIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKC0xKTsgX19zdHIgPT09ICItMSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1) and String(-1)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvMCkgYW5kIFN0cmluZygtMS8wKSwgYW5kIGNhbGwgd2l0aCArLy1JbmZpbml0eQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLzApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxLzApOyBfX3N0ciA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEvMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLTEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICItSW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTEvMCk7IF9fc3RyID09PSAiLUluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoSW5maW5pdHkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIkluZmluaXR5IikgewogICRFUlJPUignIzY6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC1JbmZpbml0eSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLUluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZygtSW5maW5pdHkpOyBfX3N0ciA9PT0gIi1JbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM5CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjOTogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMAppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMDogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzExOiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEyCmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMjogX19zdHIgPSBTdHJpbmcoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICItSW5maW5pdHkiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/0) and String(-1/0), and call with +/-Infinity","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvImEiKSwgU3RyaW5nKCJiIiogbnVsbCkgYW5kIFN0cmluZyhOdW1iZXIuTmFOKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLyJhIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoMS8iYSIpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEvImEiKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygiYiIqbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoImIiKm51bGwpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKCJiIipudWxsKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/\"a\"), String(\"b\"* null) and String(Number.NaN)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHRydWUpIGFuZCBTdHJpbmcoZmFsc2UpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRydWUpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZyh0cnVlKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhCb29sZWFuKHRydWUpKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoQm9vbGVhbihmYWxzZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzc6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzg6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(true) and String(false)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDApIGFuZCBTdHJpbmcoLTApCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMCIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygwKTsgX19zdHIgPT09ICIwIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0wKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTApOyBfX3N0ciA9PT0gIjAiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(0) and String(-0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHN0cmluZ19vYmplY3QpCiAqLwoKdmFyIF9fb2JqX19zdHIgPSAiY2FwcyI7CgovL19fb2JqX19zdHIucHJvcD0xOwoKdmFyIF9fc3RyID0gU3RyaW5nKF9fb2JqX19zdHIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIgIT09IF9fb2JqX19zdHIpIHsKICAkRVJST1IoJyMxOiBfX29ial9fc3RyID0gImNhcHMiOyBfX3N0ciA9IFN0cmluZyhfX29ial9fc3RyKTsgX19zdHIgPT09IF9fb2JqX19zdHIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(string_object)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCAuMTIzNDUgYW5kIGFuYWxvZ291cyBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKC4xMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAuMTIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgX19zdHIgPT09ICIwLjEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICIwLjAxMjM0NSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZyguMDEyMzQ1KTsgX19zdHIgPT09ICIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDEyMzQ1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ciA9PT0gIjAuMDAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDAwMDAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZyguMDAwMDAwMTIzNDUpOyBfX3N0ciA9PT0gIjEuMjM0NWUtNyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with .12345 and analogous numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdCBhZnRlciBwb2ludAogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLjIzNDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEuMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT09ICIxLjIzNDUiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoMS4yMzQ1Njc4OTApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiMS4yMzQ1Njc4OSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyID09PSAiMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjEuMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit after point","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdAogKi8KCl9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyAgCiAgICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjFlKzIxIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjFlKzIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gIjFlKzIyIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT09ICIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBBcnJheSBvZiBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSwyLDMiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyID09PSAiMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with Array of numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobnVsbCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcobnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcobnVsbCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJudWxsIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKG51bGwpOyBfX3N0ciA9PT0gIm51bGwiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(null)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodm9pZCAwKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHZvaWQgMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodm9pZCAwKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(void 0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodW5kZWZpbmVkKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHVuZGVmaW5lZCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodW5kZWZpbmVkKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(undefined)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX3N0ciA9IFN0cmluZyh4KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB2YXIgeDsgX19zdHIgPSBTdHJpbmcoeCk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(x), where x is undefined variable","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgQ2FsbCBTdHJpbmcoZXZhbCgpKTsKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoZXZhbCgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhldmFsKCkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKGV2YWwoKSk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Checking by using eval, Call String(eval())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoe30pCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHt9KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyh7fSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoe30pOyBfX3N0ciA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String({})","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobmV3IEFycmF5KQogKi8KCnZhciBfX29sZF9fQXJyYXlfX3Byb3RvdHlwZV9fdG9TdHJpbmcgPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmc7CgpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fQVJSQVlfXyI7fTsKCnZhciBfX3N0ciA9IFN0cmluZyhuZXcgQXJyYXkpOwoKLy8gcmVzdG9yZSBvbGQgdG9TdHJpbmcgbWV0aG9kIGp1c3QgaW4gY2FzZQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9X19vbGRfX0FycmF5X19wcm90b3R5cGVfX3RvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJfX0FSUkFZX18iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJfX0FSUkFZX18iO307IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IF9fc3RyID09PSAiX19BUlJBWV9fIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(new Array)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodGhpcykKICovCgp2YXIgdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OwoKdmFyIF9fc3RyID0gU3RyaW5nKHRoaXMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRoaXMpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiX19USElTX18iKSB7CiAgJEVSUk9SKCcjMjogdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OyBfX3N0ciA9IFN0cmluZyh0aGlzKTsgX19zdHIgPT09ICJfX1RISVNfXyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(this)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB2YWx1ZSBpcyBub3Qgc3VwcGxpZWQsIHRoZSBlbXB0eSBzdHJpbmcgIiIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMS9TMTUuNS4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKCk7IF9fc3RyID09PSAiIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If value is not supplied, the empty string \"\" is returned","description":"Call String()","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggZXhwcmVzc2lvbiAibmV3IFN0cmluZyIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gIiIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmc7IF9fc3RyID09ICIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0cik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nOyBfX3N0ciAhPT0gIiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with expression \"new String\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFzIHRoZSBmdW5jdGlvbiBvYmplY3QncyBwcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgd2FzIGNoYW5nZWQKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAidG9zdHIifTsKCnZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlk7Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gInRvc3RyIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyID09InRvc3RyIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" as the function object's prototype.toString property was changed","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgYW5kIHRvU3RyaW5nIHByb3BlcnRpZXMKICovCgpmdW5jdGlvbiBfX29iaigpe307CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fTsKCl9fb2JqLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHt9O307Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fb2JqKCl7fTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9InRydWUiKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gX19vYmooKXt9OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyBfX3N0ciA9PSJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf and toString properties","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiLCBhZnRlciBjaGFuZ2luZyB0aGUgZnVuY3Rpb24gb2JqZWN0IHRvU3RyaW5nIHByb3BlcnR5LCB3aGljaCBjYXVzZXMgZXhjZXB0aW9uIHRocm93CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX07CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOwogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopIGxlYWQgdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludG9zdHIiLiBBY3R1YWw6IGU9PT0nK2UpOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\", after changing the function object toString property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgcHJvcGVydHksIHdoaWNoIGNhdXNlcyBleGNlcHRpb24gdGhyb3cKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZjsgZnVuY3Rpb24gZigpe319fTsKCl9fb2JqLnZhbHVlT2Y9ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWx1ZW9mIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7CiAgJEVSUk9SKCcjMTogX19vYmoudmFsdWVPZj1mdW5jdGlvbigpe3Rocm93ICJpbnZhbHVlb2YifTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKSBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW52YWx1ZW9mIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludmFsdWVvZiIuIEFjdHVhbDogZT09PScrZSk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggLjEyMzQ1IGFuZCBvdGhlciBudW1iZXJzCiAqLwoKX19zdHIgPW5ldyBTdHJpbmcoLjEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9bmV3IFN0cmluZyguMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIwLjEyMzQ1IikgewogICRFUlJPUignIzI6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IF9fc3RyID09IjAuMTIzNDUiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT0iMC4wMTIzNDUiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPW5ldyAgU3RyaW5nKC4wMTIzNDUpOyBfX3N0ciA9PSIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID1uZXcgIFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsgX19zdHIgPT0iMC4wMDEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzc6IF9fc3RyID1uZXcgIFN0cmluZyguMDAwMDAwMTIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzcuNTogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDAwMDAxMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYgKF9fc3RyICE9IjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgX19zdHIgPT0iMS4yMzQ1ZS03Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with .12345 and other numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggbnVtYmVycyB0aGF0IGhhdmUgbW9yZSB0aGFuIDEgc2lnbmlmaWNhbnQgZGlnaXQgZm9sbG93aW5nIHRoZSBwb2ludAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEuMjM0NSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1Njc4OTApOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9IjEuMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgX19zdHIgPT0iMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with numbers that have more than 1 significant digit following the point","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZygpIiBpbml0aWFsaXplZCB3aXRoIG51bWJlcnMgdGhhdCBoYXZlIG1vcmUgdGhhbiAxIHNpZ25pZmljYW50IGRpZ2l0CiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iMWUrMjEiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMy41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMy41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPSIxZSsyMiIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String()\" initialized with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggQXJyYXkgb2YgbnVtYmVycwogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhuZXcgQXJyYXkoMSwyLDMpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with Array of numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZygpOyBfX3N0ciA9PSIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCBfX3N0ciA9PT0gIiIpIHsKICAkRVJST1IoJyMzOiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoIiIpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygiIik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgPT0iIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(\"\")\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKDEuMCkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxLjApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjApOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9MS4wKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyID09MS4wKyIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String(1.0)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoTmFOKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoTmFOKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0oMS8icyIpKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IF9fc3RyID09KDEvInMiKSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(NaN)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZmFsc2UpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZyhmYWxzZSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPWZhbHNlKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsgX19zdHIgPT1mYWxzZSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(false)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoe30pIgogKi8KCnZhciBfX3N0b3JlZF9fT2JqZWN0X19wcm90b3R5cGVfX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsKCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOwoKT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyA9IF9fc3RvcmVkX19PYmplY3RfX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKHt9KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyh7fSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IlNISUZURUQiKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAiU0hJRlRFRCJ9OyBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOyBfX3N0ciA9PSJTSElGVEVEIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String({})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KSIKICovCgp2YXIgX19zdG9yZWRfX0Z1bmN0aW9uX19wcm90b3R5cGVfX3RvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJTSElGVEVEIn07Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBfX3N0b3JlZF9fRnVuY3Rpb25fX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iU0hJRlRFRCIpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IF9fc3RyID09IlNISUZURUQiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){return [1,2,3]}())\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiB0byBjaGVjayBwcm90b3R5cGUKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoImFiYmEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fc3RyX19vYmopKSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygiYWJiYSIpOyBTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19zdHJfX29iaik9PT10cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" to check prototype","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiBhZGRpbmcgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9fb2JqWyJfX2N1c3RvbV9fcHJvcCJdIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT11bmRlZmluZWQuIEFjdHVhbDogX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PScrX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKU3RyaW5nLnByb3RvdHlwZS5fX2N1c3RvbV9fcHJvcCA9ICJib3IiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSE9PSJib3IiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IFN0cmluZy5wcm90b3R5cGUuX19jdXN0b21fX3Byb3AgPSAiYm9yIjsgX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PSJib3IiLiBBY3R1YWw6IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT0nK19fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl0pOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" adding custom property","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoc3RyaW5nKSIgYW5kIGNoYW5naW5nIHRvU3RyaW5nIHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoInNlYW1haWQiKTsKCl9fc3RyX19vYmoudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJfX29iai50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygic2VhbWFpZCIpOyBfX3N0cl9fb2JqLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgX19zdHJfX29iai50b1N0cmluZygpID09PSAiW29iamVjdCBTdHJpbmddIi4gQWN0dWFsOiBfX3N0cl9fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cl9fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The [[Class]] property of the newly constructed object is set to \"String\"","description":"Creating string object with \"new String(string)\" and changing toString property to Object.prototype.toString","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The String has property prototype","description":"Checking String.hasOwnProperty('prototype')","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcpewogIGlmIChwPT09InByb3RvdHlwZSIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcpeyBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6IGNvdW50ID09PScrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype property has the attribute DontEnum","description":"Checking if enumerating the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute DontDelete","description":"Checking if deleting the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZTsKClN0cmluZy5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlOyBTdHJpbmcucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT09JytTdHJpbmcucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute ReadOnly","description":"Checking if varying the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBmcm9tQ2hhckNvZGUgZnVuY3Rpb24gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgU3RyaW5nLmZyb21DaGFyQ29kZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PScrdHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLmhhc093blByb3BlcnR5KCJmcm9tQ2hhckNvZGUiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0nK1N0cmluZy5mcm9tQ2hhckNvZGUubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The length property of the fromCharCode function is 1","description":"Checking String.fromCharCode.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5mcm9tQ2hhckNvZGUoKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nLiBBY3R1YWw6ICcrU3RyaW5nLmZyb21DaGFyQ29kZSgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode () returns empty string","description":"Call String.fromCharCode()","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgIT09ICJBQkJBIikgewogICRFUlJPUignIzE6IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpID09PSAiQUJCQSIuIEFjdHVhbDogU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgPT09JytTdHJpbmcuZnJvbUNoYXJDb2RlKDY1LDY2LDY2LDY1KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Call String.fromCharCode(65,66,66,65)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgZnVuY3Rpb24gdmFyaWFibGUsIHRoYXQgZXF1YWwgU3RyaW5nLmZyb21DaGFyQ29kZSwgZGVsZXRlIG9yaWdpbmFsIFN0cmluZy5mcm9tQ2hhckNvZGUgYW5kIHVzZSBjcmVhdGVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsKCmRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mY2NfX2Z1bmMoNjUsNjYsNjYsNjUpICE9PSAiQUJCQSIpIHsKICAkRVJST1IoJyMxOiBfX2ZjY19fZnVuYyA9IFN0cmluZy5mcm9tQ2hhckNvZGU7IGRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOyBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09ICJBQkJBIi4gQWN0dWFsOiBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09JytfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Create function variable, that equal String.fromCharCode, delete original String.fromCharCode and use created variable","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlIGhhcyBub3QgW1tjb25zdHJ1Y3RdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgU3RyaW5nLmZyb21DaGFyQ29kZSIgZmFpbHMKICovCgp2YXIgX19mY2NfX2Z1bmMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKZGVsZXRlIFN0cmluZy5mcm9tQ2hhckNvZGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KTsKICAkRkFJTCgnIzE6IF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.fromCharCode has not [[construct]] method","description":"Checking if creating \"new String.fromCharCode\" fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJ1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuIEFjdHVhbDogU3RyaW5nLmxlbmd0aD09PScrU3RyaW5nLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String has length property whose value is 1","description":"Checking String.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(String)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBjdXN0b20gcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCBjaGVjayBpdCBhdCBTdHJpbmcKICovCgpGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5pbmRpY2F0b3IgIT09IDEpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgU3RyaW5nLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuaW5kaWNhdG9yID09PScrU3RyaW5nLmluZGljYXRvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Add custom property to Function.prototype and check it at String","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK1N0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Checking String.prototype.constructor","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBvYmplY3QgYW5kIGNoZWNrIGl0CiAqLwoKdmFyIF9fY29uc3RyID0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMwCmlmIChfX2luc3RhbmNlICE9ImNob29zaW5nIG9uZSIpIHsKICAkRVJST1IoJyMwOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlID09ImNob29zaW5nIG9uZSIuIEFjdHVhbDogX19pbnN0YW5jZSA9PScrX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0nK19faW5zdGFuY2UuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19pbnN0YW5jZSkpKSB7CiAgJEVSUk9SKCcjMjogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwp2YXIgX190b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ1N0cmluZycgKyddJzsKCmRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKaWYgKF9faW5zdGFuY2UudG9TdHJpbmcoKSAhPT0gX190b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0gX190b19zdHJpbmdfcmVzdWx0LiBBY3R1YWw6IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0nK19faW5zdGFuY2UudG9TdHJpbmcoKSsnIF9fdG9fc3RyaW5nX3Jlc3VsdCA9PT0nK19fdG9fc3RyaW5nX3Jlc3VsdCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Create new String.prototype.constructor object and check it","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcobnVtYmVyKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAiIisxKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoMSk7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIiIrMS4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(number) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoYm9vbGVhbikgYW5kIGNoZWNrIGl0YHMgbWV0aG9kIHRvU3RyaW5nKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcodHJ1ZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYgKF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSAhPT0gIiIrdHJ1ZSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKHRydWUpOyBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai50b1N0cmluZygpID09PScrX19zdHJpbmdfX29iai50b1N0cmluZygpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toString() returns this string value","description":"Create new String(boolean) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoc3RyaW5nKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygibWV0YWwiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAibWV0YWwiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoIm1ldGFsIik7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(string) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpIGFuZCBjaGVjayBpdGBzIG1ldGhvZCB0b1N0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsgX19zdHJpbmdfX29iai50b1N0cmluZygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(function(){}()) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB2YXJpYWJsZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fdG9TdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fdG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdHlwZW9mIF9fdG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fdG9TdHJpbmcgPT09Jyt0eXBlb2YgX190b1N0cmluZyApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBfX3RvU3RyaW5nKCk7CiAgJEZBSUwoJyMyOiAiX190b1N0cmluZyA9IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gX190b1N0cmluZygpOyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6ICJfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBfX3RvU3RyaW5nKCk7IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgb2JqZWN0IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgZmFpbHMKICovCgp2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307IHR5cGVvZiBfX29ialsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gPT09Jyt0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gKTsgCn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gKF9fb2JqID09IDEpOwogICRGQUlMKCcjMjogInZhciB4ID0gKF9fb2JqID09IDEpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzIuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgaXMgZXF1YWwgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nKCkgd2l0aCB2YXJpb3VzIGFyZ3VtZW50cyBhbmQgY29tcGFyZSByZXR1cm5lZCByZXN1bHRzIG9mIHRvU3RyaW5nKCkgYW5kIHZhbHVlT2YoKQogKi8KCi8vQ0hFQ0sjMQp2YXIgc3RyID0gbmV3IFN0cmluZygpOwppZighKHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCkpKQogICRFUlJPUignIzE6IHN0ciA9IG5ldyBTdHJpbmcoKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzIKc3RyID0gbmV3IFN0cmluZyh0cnVlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMyOiBzdHIgPSBuZXcgU3RyaW5nKHRydWUpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCi8vQ0hFQ0sjMwpzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMzOiBzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzQKc3RyID0gbmV3IFN0cmluZyhNYXRoLlBJKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyM0OiBzdHIgPSBuZXcgU3RyaW5nKE1hdGguUEkpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCg==","commentary":"String.prototype.toString() is equal String.prototype.valueOf()","description":"Create new String() with various arguments and compare returned results of toString() and valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGhhdmUgbGVuZ3RoIHByb3BlcnR5IGFuZCBpdCBpcyBlcXVhbCAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykhPT10cnVlKXsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpPT09dHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KZWxzZXsKLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCE9PTApCiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg9PT0wLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCk7IAp9Cgo=","commentary":"String.prototype.toString have length property and it is equal 0","description":"Checking String.prototype.toString.length property","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKDEpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiKzEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiKzEuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(1) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHRydWUpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiK3RydWUpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(true) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHN0cmluZykgYW5kIGNoZWNrIGl0YHMgdmFsdWVPZigpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gIm1ldGFsIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOyBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(string) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSBhbmQgY2hlY2sgaXRgcyB2YWx1ZU9mKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IF9fc3RyaW5nX19vYmoudmFsdWVPZigpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(function(){}()) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHZhcmlhYmxlIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCnZhciBfX3ZhbHVlT2YgPSBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX192YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogX192YWx1ZU9mID0gU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mOyB0eXBlb2YgX192YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX3ZhbHVlT2YgPT09Jyt0eXBlb2YgX192YWx1ZU9mICk7IAp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IF9fdmFsdWVPZigpOwogICRGQUlMKCcjMjogIl9fdmFsdWVPZiA9IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZjsgdmFyIHggPSBfX3ZhbHVlT2YoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBvYmplY3QgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mIGZhaWxzCiAqLwoKdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX29ialsidmFsdWVPZiJdICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09Jyt0eXBlb2YgX19vYmpbInZhbHVlT2YiXSApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAoX19vYmogPT0gMSk7CiAgJEZBSUwoJyMyOiAidmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdmFyIHggPSAoX19vYmogPT0gMSkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24gaXMgaW5zdGFuY2Ugb2YgVHlwZUVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyAiU3RyaW5nIikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBmaXJzdCB3ZSBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyBjYXVzZSBpdCBvdmVycmlkZXMgT2JqZWN0IHByb3RvdHlwZSB0b1N0cmluZy4KICogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tjbGFzc11dK10KICovCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIi4gQWN0dWFsOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object (its [[Class]] is \"String\")","description":"first we delete String.prototype.toString cause it overrides Object prototype toString.\nObject.prototype.toString returns [object+[[class]]+]","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCB3aG9zZSB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZSAhPSIiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZSA9PSIiLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT0nK1N0cmluZy5wcm90b3R5cGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object whose value is an empty string","description":"Checking String.prototype","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCAoMTUuMi4zLjEpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nLnByb3RvdHlwZSkpKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the String prototype object is the Object prototype object (15.2.3.1)","description":"Checking Object.prototype.isPrototypeOf(String.prototype)","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.match.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBtYXRjaCBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the match method is 1","description":"Checking String.prototype.match.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChtYXRjaChfX29iailbMF0gIT09IkFCIikgewogICAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgbWF0Y2goX19vYmopWzBdID09PSJBQiIuIEFjdHVhbDogJyttYXRjaChfX29iailbMF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBmdW5jdGlvbiwgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbWF0Y2goX19vYmopOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString function, toString throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IG1hdGNoKF9fb2JqKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, valueOf throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHRoZW4gY2FsbCBtYXRjaCAocmVnZXhwKSBmdW5jdGlvbiB3aXRoIHRoaXMgb2JqZWN0IGFzIGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyAiQUJCXFx1MDA0MUJcXHUwMDMxQUJBQlxcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gPT09IjEiLiBBY3R1YWw6ICcrKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKVswXSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJcdTAwMzFBQkFCXHUwMDMxQkJBQSIubWF0Y2goX19vYmopLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggUmVnRXhwIG9iamVjdCBhcyBhcmd1bWVudCBmcm9tIHN0cmluZwogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gIT09ICI3NyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOyAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzN1xcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gPT09ICI3NyIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIubWF0Y2goX19yZWcpWzBdKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with RegExp object as argument from string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UubWF0Y2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKVswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQoZm5HbG9iYWxPYmplY3QoKSk7Cgp0cnkgewogICAgZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cn0gY2F0Y2ggKGUpIHsgOyB9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgICYmIC8vRW5zdXJlIHdlIGNvdWxkIG92ZXJ3cml0ZSBnbG9iYWwgb2JqJ3MgdG9TdHJpbmcKICAgIChtYXRjaChldmFsKCJcImJqXCIiKSlbMF0gIT09ICJiaiIpKSB7CiAgJEVSUk9SKCcjMTogbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQodGhpcyk7IG1hdGNoKGV2YWwoIlxcImJqXFwiIikpWzBdID09PSAiYmoiLiBBY3R1YWw6ICcrbWF0Y2goZXZhbCgiXCJialwiIikpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudHMgb2Ygc3RyaW5nCiAqLwoKdmFyIF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gIiIubWF0Y2goKTsgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX21hdGNoZWQgPSAiIi5tYXRjaCgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKCkuZXhlYygiIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIG1hdGNoKG51bGwpIGV2YWx1YXRlcyB0byBtYXRjaCgibnVsbCIpCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdID09PSAibnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh4KTsKCnZhciBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2godW5kZWZpbmVkKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdDsKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoX19vYmopLm1hdGNoKHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fbWF0Y2hlZCA9IFN0cmluZyhfX29iaikubWF0Y2godm9pZCAwKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoX19vYmopLm1hdGNoKGZ1bmN0aW9uKCl7fSgpKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19tYXRjaGVkID0gbmV3IFN0cmluZyhfX29iaikubWF0Y2goZnVuY3Rpb24oKXt9KCkpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIDMKICovCgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2Nzg5MCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgzKVswXSE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMylbMF09PT0gIjMiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goMylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goMykubGVuZ3RoICE9PTEpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykubGVuZ3RoID09PTEuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgzKS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICE9PTIpIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykuaW5kZXggPT09Mi4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzQ6IF9fc3RyaW5nID0gIjEyMzQ1Njc4OTAiOyBfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is 3","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikKICovCgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7Cgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gMy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCAhPT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggPT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaChfX3JlKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMzLicrbWkrJzogX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCIsICIwMjEzNCIsIHVuZGVmaW5lZF07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87CgpfX3JlLmxhc3RJbmRleCA9IF9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSAzKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ID09PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIG1pPTA7IG1pPF9fbWF0Y2hlcy5sZW5ndGg7IG1pKyspIHsKICBpZiAoX19zdHJpbmcubWF0Y2goX19yZSlbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMy4nK21pKyc6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWycrbWkrJ109PT1fX21hdGNoZXNbJyttaSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTIuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyB2YXJpYWJsZSB0aGF0IGhhdmUgdmFsdWUgLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiXTsKCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2c7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is variable that have value /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTMuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSAwCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTQuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxlbmd0aAogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IF9fbWF0Y2hlcy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gX19tYXRjaGVzLmxlbmd0aC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKVswXSE9PV9fbWF0Y2hlc1swXSkgewogICRFUlJPUignIzM6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTUuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGFzdEluZGV4T2YoIjAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSBfX21hdGNoZXMubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IF9fbWF0Y2hlcy5sZW5ndGguIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goX19yZSlbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZy5tYXRjaChfX3JlKVswXT09PV9fbWF0Y2hlc1swXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKSsxCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKzE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTcuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vCiAqLwoKdmFyIF9fcmUgPSAvMC4vOwoKdmFyIF9fbnVtID0gMTAyMDMwNDA1MDYwNzA4MDkwMDA7CgpOdW1iZXIucHJvdG90eXBlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vX19tYXRjaGVzID0gWyIwMiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTguanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19yZSA9IC8wLi87CgpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19udW0gPSAxMDIwMzA0MDUwNjA3MDgwOTAwMDsKCk51bWJlci5wcm90b3R5cGUubWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8zNC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjM0IiwiMzQiLCIzNCJdOwoKdmFyIF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIzNDM0NDM0NDQiOyBfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC8zNC9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMzQiLCIzNCIsIjM0Il07IF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7IF9fc3RyaW5nLm1hdGNoKC8zNC9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /34/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsxfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsKCnZhciBfX3N0cmluZyA9ICIxMjM0NTZhYmNkZTc4OTAiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCE9PSAxMCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7MX0vZykubGVuZ3RoPT09IDEwLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMi4nK21pKyc6IF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsxfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{1}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEyIiwgIjM0IiwgIjU2IiwgIjc4IiwgIjkwIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKS5sZW5ndGghPT0gNSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7Mn0vZykubGVuZ3RoPT09IDUuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMTIiLCAiMzQiLCAiNTYiLCAiNzgiLCAiOTAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cRHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bImFiIiwgImNkIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKS5sZW5ndGghPT0gMikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXER7Mn0vZykubGVuZ3RoPT09IDIuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiYWIiLCAiY2QiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcRHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\D{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdm9pZCAwCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVswXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVsxXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMl0hPT0gdm9pZCAwKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pWzJdPT09IHZvaWQgMC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pWzJdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmxlbmd0aCAhPT0zKSB7CiAgJEVSUk9SKCcjNDogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pLmxlbmd0aCA9PT0zLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLykubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbmRleCAhPT0xNCkgewogICRFUlJPUignIzU6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbmRleCA9PT0xNC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzY6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is void 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZykubGVuZ3RoIT09IDEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpLmxlbmd0aD09PSAxLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZylbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMyOiBfX21hdGNoZXM9WyIwMjEzNCJdOyBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gMykgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19yZS5sYXN0SW5kZXggPSAwOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSAzLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICE9PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match has not prototype property","description":"Checking String.prototype.match.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIlN0cmluZy5wcm90b3R5cGUubWF0Y2ggb2JqZWN0IiBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.match can't be used as constructor","description":"Checking if creating \"String.prototype.match object\" fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUubWF0Y2gpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLm1hdGNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.match.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.match.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExLzE1LjUuNC4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gJ3RoaXMnIG9iamVjdCB1c2VkIGJ5IHRoZSByZXBsYWNlVmFsdWUgZnVuY3Rpb24gb2YgYSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaW52b2NhdGlvbg0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmV0VmFsID0gJ3gnLnJlcGxhY2UoL3gvLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd5JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3onOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICByZXR1cm4gcmV0VmFsPT09J3knOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"'this' object used by the replaceValue function of a String.prototype.replace invocation","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/15.5.4.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSByZXBsYWNlIG1ldGhvZCBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the replace method is 2","description":"Checking String.prototype.replace.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHJlcGxhY2VWYWx1ZSBwYXNzaW5nIHVuZGVmaW5lZCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gcmVwbGFjZVZhbHVlIHRlc3RzIHRoYXQgaXRzIHRoaXMgdmFsdWUgaXMgdW5kZWZpbmVkCiAqIEBvbmx5U3RyaWN0CiAqLwoKdmFyIGdsb2JhbCA9IHRoaXM7Cid4Jy5yZXBsYWNlKC94LywgZnVuY3Rpb24oKSB7CiAgInVzZSBzdHJpY3QiOwoKICBpZiAodGhpcyA9PT0gZ2xvYmFsKSB7CiAgICAkRkFJTCgnIzE6IFN0cmluZyByZXBsYWNlIGxlYWtzIGdsb2JhbCcpOwogIH0KICBpZiAodGhpcyAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRkFJTCgnIzI6IHJlcGxhY2VWYWx1ZSBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiAneSc7Cn0pOwoK","commentary":"Call replaceValue passing undefined as the this value","description":"replaceValue tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgdHJ1ZSBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKHRydWUsIDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Arguments are true and 1, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFuZCBmdW5jdGlvbiBhcmd1bWVudHMgb2Ygc3RyaW5nLiBPYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OwoKdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAocmVwbGFjZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4geDt9KSAhPT0gInVuZGVmaW5lZEJBQkFCQUIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOyByZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pID09PSAidW5kZWZpbmVkQkFCQUJBQiIuIEFjdHVhbDogJytyZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with object and function arguments of string. Object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nIG9iamVjdC4gT2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zZWFyY2hWYWx1ZSI7fX07CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5yZXBsYWNlVmFsdWUiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gcmVwbGFjZShfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSByZXBsYWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnNlYXJjaFZhbHVlIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string object. Objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdC4KICogRmlyc3Qgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLgogKiBTZWNvbmQgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnNlYXJjaFZhbHVlIjt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSByZXBsYWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHJlcGxhY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc2VhcmNoVmFsdWUiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of String object.\nFirst objects have overrided toString and valueOf functions, valueOf throw exception.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nLgogKiBGaXJzdCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdHMgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnJlcGxhY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6IHZhciB4ID0gIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzFCQkFBIi5yZXBsYWNlKF9fb2JqLF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICAgaWYgKGUhPT0iaW5yZXBsYWNlVmFsdWUiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnJlcGxhY2VWYWx1ZSIuIEFjdHVhbDogJytlKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string.\nFirst objects have overrided toString and valueOf functions.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBzdHJpbmcsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5yZXBsYWNlKF9fcmVnLCAxKSAhPT0gIkFCQkFCQUJBQlx1MDAzMUJCQUEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiNzciKTsgIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzdcXHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkgPT09ICJBQkJBQkFCQUJcXHUwMDMxQkJBQSIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is string, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBPYmplY3QsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAvNzcvfX07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoMTEwMC4wMDc3NzAwMSk7CgpPYmplY3QucHJvdG90eXBlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDE3MDAxIjsKICAgICRGQUlMKCcjMS4wOiB4ID0gX19pbnN0YW5jZS5yZXBsYWNlKF9fb2JqLCAxKSA9PT0gIjExMDAuMDAxNzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBOdW1iZXIsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlID0gLzc3LzsKCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMTAwLjAwNzc3MDAxKTsKCk51bWJlci5wcm90b3R5cGUucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyJ6In07fX0KLy9fX29iaiA9IGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrInoifTsKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19vYmopID09PSAiMTEwMC4wMDd6NzAwMSI7CiAgJEZBSUwoJyMxLjA6IHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDd6NzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Number, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0LCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoeCwiZyIpOwoKdmFyIF9faW5zdGFuY2UgPSBTdHJpbmcoImFzZGYiKTsKCnZhciBfX3N0ciA9ICIxIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSAhPT0gIjFhMXMxZDFmMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHgsImciKTsgX19pbnN0YW5jZSA9IFN0cmluZygiYXNkZiIpOyBfX3N0ciA9ICIxIjsgX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSA9PT0gIjFhMXMxZDFmMSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19zdHIpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is String object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnJlcGxhY2UoZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpLHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZShmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkseCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30gYXJndW1lbnRzIG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrIiI7fSkgIT09ICJnMXVuYSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCxmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30pID09PSAiZzF1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsZnVuY3Rpb24oYTEsYTIsYTMpe3JldHVybiBhMisiIjt9KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and function(a1,a2,a3){return a2+\"\";} arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBGdW5jdGlvbigpIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCwgRnVuY3Rpb24oKSkgIT09ICJndW5kZWZpbmVkdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLCBGdW5jdGlvbigpKSA9PT0gImd1bmRlZmluZWR1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and Function() arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCB4IGFuZCBGdW5jdGlvbigicmV0dXJuIGFyZ3VtZW50c1sxXSs0MjsiKSBhcmd1bWVudHMgb2YgbmV3IFN0cmluZyBvYmplY3QuIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5yZXBsYWNlKHgsRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMV0rNDI7IikpID09PSAiNDIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with x and Function(\"return arguments[1]+42;\") arguments of new String object. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBzdHJpbmcgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnJlcGxhY2UoImUiLHVuZGVmaW5lZCkgIT09ICJ1bmR1bmRlZmluZWRmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5yZXBsYWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kdW5kZWZpbmVkZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkucmVwbGFjZSgiZSIsdW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with string and undefined arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCByZWd1bGFyIGV4cHJlc3Npb24gYW5kIHZvaWQgMCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSAhPT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSA9PT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with regular expression and void 0 arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgYXJndW1lbnRzIG9mIG5ldyBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSAhPT0gInVuZGVmaW5lZDB1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IGZ1bmN0aW9uIF9fZnVuYyhhMSxhMixhMyl7cmV0dXJuIGExK2EyK2EzO307IG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSA9PT0gInVuZGVmaW5lZDB1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikucmVwbGFjZShmdW5jdGlvbigpe30oKSxfX2Z1bmMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoYTEsYTIsYTMpe3JldHVybiBhMSthMithMzt9OwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with functions arguments of new String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvZwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC9nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCdzY2gnKSE9PSdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzY2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVXNlICQnIGluIHJlcGxhY2VWYWx1ZSwgc2VhcmNoVmFsdWUgaXMgcmVndWxhciBleHByZXNzaW9uIC9zaC8KICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCAiJCciICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkXCciICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCQiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWEkc2NoZWxscyBieSB0aGUgc2VhJHNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWEkc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyAnc2NoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNoc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsIiQmIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2hzY2hlbGxzIGJ5IHRoZSBzZWFzaHNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhU2hlIHNlbGxzIHNlYXNjaGVsbHMgYnkgdGhlIHNlYVNoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2VhU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCcgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJFwnIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvCiAqLwoKdmFyIF9fc3RyID0gJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLic7CnZhciBfX3JlID0gL3NoLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQkIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJiIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYXNoc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuJykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCc7IHZhciBfX3JlID0gL3NoLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAxNQogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpIT09J3VpZD0xMTUnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCd1aWQ9MzFcJzsgdmFyIF9fcmUgPSAvKHVpZD0pKFxkKykvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpPT09XCd1aWQ9MTE1XCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 15","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnMTUnCiAqLwoKdmFyIF9fc3RyID0gJ3VpZD0zMSc7CnZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSE9PSd1aWQ9MTE1JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwndWlkPTMxXCc7IHZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJDExIiArIFwnMTVcJyk9PT1cJ3VpZD0xMTVcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + '15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnQTE1JwogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpIT09J3VpZD0xQTE1JyApIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ3VpZD0zMVwnOyB2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87IF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyBcJ0ExNVwnKT09PVwndWlkPTFBMTVcJyAuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 'A15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspLwogKi8KCnZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7CnZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcGF0dGVybiwgX19yZXBsRk4pIT09JzEyYWJjIGRlZjM0JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7IHZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2cKICovCgp2YXIgX19zdHIgPSAiYWJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhYmMgMzRkZWYnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFiYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2c7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgMzRkZWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2kKICovCgp2YXIgX19zdHIgPSAiYUJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhQmMgZGVmMzQnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFCYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2k7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/i","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2lnCiAqLwoKdmFyIF9fc3RyID0gImFCYzEyIGRFZjM0IjsKdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2lnOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKSE9PScxMmFCYyAzNGRFZicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiYUJjMTIgZEVmMzQiOyB2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaWc7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgMzRkRWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/ig","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2UgcmVwbGFjZSB3aXRoIHJlZ2V4cCBhcyBzZWFyY2hWYWx1ZSBhbmQgdXNlICQgaW4gcmVwbGFjZVZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzICByZWdleHAgL14oYSspXDEqLFwxKyQvIGFuZCByZXBsYWNlVmFsdWUgaXMgIiQxIgogKi8KCnZhciBfX3N0ciA9ICJhYWFhYWFhYWFhLGFhYWFhYWFhYWFhYWFhYSI7CnZhciBfX3BhdHRlcm4gPSAvXihhKylcMSosXDErJC87CnZhciBfX3JlcGwgPSAiJDEiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkhPT0nYWFhYWEnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFhYWFhYWFhYWEsYWFhYWFhYWFhYWFhYWFhIjsgdmFyIF9fcGF0dGVybiA9IC9eKGErKVwxKixcMSskLzsgdmFyIF9fcmVwbCA9ICIkMSI7IF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGwpPT09XCdhYWFhYVwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Use replace with regexp as searchValue and use $ in replaceValue","description":"searchValue is regexp /^(a+)\\1*,\\1+$/ and replaceValue is \"$1\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTEvUzE1LjUuNC4xMV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3RvdHlwZTsKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace has not prototype property","description":"Checking String.prototype.replace.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.replace can't be used as constructor","description":"Checking if creating the String.prototype.replace object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2Upe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.replace.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cyBiZWhhdmVzIGxpa2Ugd2l0aCBhcmd1bWVudCAidW5kZWZpbmVkIgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2VhcmNoKCkgaXMgdGhlIHNhbWUgc2VhcmNoKHVuZGVmaW5lZCkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gIiIuc2VhcmNoKCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) without arguments behaves like with argument \"undefined\"","description":"Call search() is the same search(undefined)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.search.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzZWFyY2ggbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the search method is 1","description":"Checking String.prototype.search.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2VhcmNoKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2VhcmNoID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7ICBfX2luc3RhbmNlLnNlYXJjaCh0cnVlKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2VhcmNoKHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319Owp2YXIgX19zdHIgPSAic3NBQkJcdTAwNDFCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogIGlmIChzZWFyY2goX19vYmopICE9PTIpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX3N0ciA9ICJzc0FCQlx1MDA0MUJBQkFCIjsgc2VhcmNoKF9fb2JqKSA9PT0yLiBBY3R1YWw6ICcrc2VhcmNoKF9fb2JqKSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgd2l0aChzdHJfXyl7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopICE9PTUpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLnNlYXJjaChfX29iaikgPT09NS4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgc3RyaW5nLCBhcmd1bWVudCBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSAhPT0gOSkgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7ICJBQkJcXHUwMDQxQkFCQUJcXHUwMDM3XFx1MDAzN0JCQUEiLnNlYXJjaChfX3JlZykgPT09IDkuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Instance is string, argument is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNlYXJjaCA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zZWFyY2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsgIF9faW5zdGFuY2Uuc2VhcmNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLnNlYXJjaChmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBzZWFyY2goKSBldmFsdWF0ZXMgdG8gc2VhcmNoKCIiKQppZiAoIiIuc2VhcmNoKCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAiIi5zZWFyY2goKSA9PT0gMC4gQWN0dWFsOiAnKygiIi5zZWFyY2goKSkgKTsKfQoKaWYgKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTogIi0tdW5kZWZpbmVkLS0iLnNlYXJjaCgpID09PSAwLiBBY3R1YWw6ICcrKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Call search (regexp) without arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBudWxsLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gY2FsbCwgdGhhdCByZXR1cm4gc3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgc2VhcmNoKG51bGwpIGV2YWx1YXRlcyB0byBzZWFyY2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zZWFyY2gobnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNlYXJjaChudWxsKSA9PT0gMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2VhcmNoKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is null, and instance is function call, that return string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB4LCBhbmQgaW5zdGFuY2UgaXMgbmV3IFN0cmluZywgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is x, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB1bmRlZmluZWQsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2godW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuc2VhcmNoKHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Argument is undefined, and instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB2b2lkIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0IHdpdGggb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHZvaWQgMCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKFN0cmluZyhfX29iaikuc2VhcmNoKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLnNlYXJjaCh2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5zZWFyY2godm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is void 0, and instance is String object with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nIG9iamVjdCB3aXRoIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLnNlYXJjaChmdW5jdGlvbigpe30oKSkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is String object with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHN1YnN0cmluZyBpbnNpZGUgc3RyaW5nCiAqLwoKdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYVN0cmluZy5zZWFyY2goInN0cmluZyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmciKT09PSA1LiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goInN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search substring inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIHN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJTdHJpbmciKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsgYVN0cmluZy5zZWFyY2goIlN0cmluZyIpPT09IC0xLiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goIlN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXNhYmxpbmcgb2YgY2FzZSBzZW5zaXRpdmUgb2Ygc2VhcmNoLCBhcmd1bWVudCBpcyBSZWdFeHAKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvU3RyaW5nL2kpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSk9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking disabling of case sensitive of search, argument is RegExp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRoIHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL0ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9Gb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAtMS4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp with uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRob3V0IHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL2ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAxNCkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9mb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAxNC4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp without uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBTZWFyY2hpbmcgdGhlIG5vbi1leGlzdGVudCAibm90ZXhpc3QiIHN1YnN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOyBhU3RyaW5nLnNlYXJjaCgibm90ZXhpc3QiKT09PSAtMS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Searching the non-existent \"notexist\" substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHNlbnRlbmNlIGluc2lkZSBzdHJpbmcKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgic3RyaW5nIHBybyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIik9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search sentence inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygicG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgZ3JlYXQgc3dvcmQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKC90aGUvKSE9PSBhU3RyaW5nLnNlYXJjaCgvdGhlL2cpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBncmVhdCBzd29yZCIpOyBhU3RyaW5nLnNlYXJjaCgvdGhlLyk9PT0gYVN0cmluZy5zZWFyY2goL3RoZS9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC90aGUvKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcy4gVW5pY29kZSBzeW1ib2xzIHVzZWQKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvb2YvKSE9PSBhU3RyaW5nLnNlYXJjaCgvb2YvZykpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFxcdTAwNkZcXHUwMDY2IHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgXFx1MDA2RlxcdTAwNjYgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBcXHUwMDZGXFx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7IGFTdHJpbmcuc2VhcmNoKC9vZi8pPT09IGFTdHJpbmcuc2VhcmNoKC9vZi9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9vZi8pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties. Unicode symbols used","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search has not prototype property","description":"Checking String.prototype.search.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.search can't be used as constructor","description":"Checking if creating the String.prototype.search object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCl7CiAgaWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsgZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.slice.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzbGljZSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the slice method is 2","description":"Checking String.prototype.slice.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnNsaWNlKGZhbHNlLCB0cnVlKSAhPT0gInQiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmYWxzZSwgdHJ1ZSkgPT09ICJ0Ii4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoZmFsc2UsIHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3QgYW5kIGZ1bmN0aW9uIGNhbGwsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcsIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMjt9fTsKCnZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgaWYgKHNsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAyO319OyB2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOyBzbGljZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc2xpY2UoMCwxKTt9KCkpID09PSAiQkJCIi4gQWN0dWFsOiAnK3NsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluc3RhcnQiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW5lbmQiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKTsKICAgICAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiBhbmQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNsaWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnN0YXJ0Ii4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zLgogKiBTZWNvbmQgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319Owp2YXIgX19vYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICAgIHZhciB4ID0gIkFCQlx1MDA0MUJBQkFCXHUwMDMxQkJBQSIuc2xpY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCBvbmUgYXJndW1lbnQsIHRoYXQgaXMgZnVuY3Rpb24oKXt9KCkuIEluc3RhbmNlIGlzIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJyZXBvcnQiLnNsaWNlKGZ1bmN0aW9uKCl7fSgpKSAhPT0gInJlcG9ydCIpIHsKICAkRVJST1IoJyMxOiAicmVwb3J0Ii5zbGljZShmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc2xpY2UoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzbGljZSB3aXRob3V0IGFyZ3VtZW50cy4gSW5zdGFuY2UgaXMgTnVtYmVyIHdpdGggcHJvdG90eXBlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZQogKi8KCnZhciBfX251bSA9IDExLjAwMTAwMjsKCk51bWJlci5wcm90b3R5cGUuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnNsaWNlKCkhPT0iMTEuMDAxMDAyIikgewogICRFUlJPUignIzE6IHZhciBfX251bSA9IDExLjAwMTAwMjsgTnVtYmVyLnByb3RvdHlwZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9fbnVtLnNsaWNlKCk9PT0iMTEuMDAxMDAyIi4gQWN0dWFsOiAnK19fbnVtLnNsaWNlKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Call slice without arguments. Instance is Number with prototype.slice = String.prototype.slice","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZ1bmN0aW9uIGNhbGwgYW5kIHgsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgIT09ICJhbHNlIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSA9PT0gImFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIGZ1bmN0aW9uIGNhbGwsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgeWVsZHMgMAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNsaWNlKG51bGwsIC0zKSAhPT0gImdudWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2xpY2UobnVsbCwgLTMpID09PSAiZ251bGwiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zbGljZShudWxsLCAtMykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIGNhbGwgb3RoZXIgc2xpY2Uoc3RhcnQsIGVuZCksIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBvYmplY3QsIHRoYXQgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zCiAqLwoKX19mdW5jLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn07Cl9fZnVuYy50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBfX2Z1bmM7fTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zbGljZT1TdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5zbGljZShudWxsLCBGdW5jdGlvbigpLnNsaWNlKF9fZnVuYyw1KS5sZW5ndGgpICE9PSAiZ251bGwiKSB7CiAgJEVSUk9SKCcjMTogX19mdW5jLnNsaWNlKG51bGwsIEZ1bmN0aW9uKCkuc2xpY2UoX19mdW5jLDUpLmxlbmd0aCkgPT09ICJnbnVsbCIuIEFjdHVhbDogJytfX2Z1bmMuc2xpY2UobnVsbCwgRnVuY3Rpb24oKS5zbGljZShfX2Z1bmMsNSkubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7fTsKCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and call other slice(start, end), and instance is function object, that have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHggYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcsIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkIHllbGRzIDApCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgIT09ICJ1bmQiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgPT09ICJ1bmQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuc2xpY2UoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHN5bWJvbCBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIoImUiKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5lZ2F0aXZlIG51bWJlciBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbgogKi8KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovL3NpbmNlIHZvaWQgMCB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc2xpY2UoLTQsdm9pZCAwKSAhPT0gImluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zbGljZSgtNCx2b2lkIDApID09PSAiaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnNsaWNlKC00LHZvaWQgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHVuZGVmaW5lZCBhbmQgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnNsaWNlKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLF9fb2JqKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLy8qKGZ1bmN0aW9uKCl7fSkoKSovL3VuZGVmaW5lZCxfX29iaikgPT09ICIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsX19vYmopICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are undefined and object, and instance is String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2Ygc2xpY2UoKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHJpbmcuc2xpY2UoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zbGljZSgpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnK3R5cGVvZiBfX3N0cmluZy5zbGljZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Checking type of slice()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIE5hTiwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygndGhpcyBpcyBhIHN0cmluZyBvYmplY3QnKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKFwndGhpcyBpcyBhIHN0cmluZyBvYmplY3RcJyk7IF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoTmFOLCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2xpY2UgZnJvbSBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnNsaWNlKDEsMCkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Call slice from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgTmFOCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBOYU4pICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIG5lZ2F0aXZlIGZsb2F0IG51bWJlciwgZW5kIGlzIDAKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoLTAuMDEsMCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZSgtMC4wMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoLCBlbmQgaXMgdGVzdGVkX3N0cmluZy5sZW5ndGgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCwgX19zdHJpbmcubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoKzEsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZShfX3N0cmluZy5sZW5ndGgrMSwgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIC1JbmZpbml0eSwgZW5kIGlzIC1JbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoLUluZmluaXR5LCAtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCw4KSAhPT0gIltvYmplY3QgIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyBfX2luc3RhbmNlLnNsaWNlKDAsOCkgPT09ICJbb2JqZWN0ICIuIEFjdHVhbDogJytfX2luc3RhbmNlLnNsaWNlKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCB1c2Ugb3RoZXIgdmFsdWUgZm9yIHN0YXJ0IGFuZCBlbmQgdmFsdWVzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSAhPT0gIk9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZSg4LF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, use other value for start and end values","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCBhbmQgY2FsbCBpbnN0YW5jZS5zbGljZSguLi4pLnNsaWNlKC4uLikKICovCgp2YXIgX19pbnN0YW5jZSA9ICBmdW5jdGlvbigpe307CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICE9PSAidW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OyBfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsgX19pbnN0YW5jZS5zbGljZSgtSW5maW5pdHksOCkuc2xpY2UoMSxJbmZpbml0eSkgPT09ICJ1bmN0aW9uIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, and call instance.slice(...).slice(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gRnVuY3Rpb24gb2JqZWN0IGluc3RhbmNlIHBhc3NlcwogKi8KCl9fRkFDVE9SWS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMudmFsdWUrJyc7IH07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkodm9pZCAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoMCwxMDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlLAogICAgdGhpcy5zbGljZT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKICAgIC8vdGhpcy5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKfQoK","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Checknig if applying String.prototype.slice to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice has not prototype property","description":"Checking String.prototype.slice.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.slice can't be used as constructor","description":"Checking if creating the String.prototype.slice object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2xpY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNsaWNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.slice.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.slice.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.split.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzcGxpdCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the split method is 2","description":"Checking String.prototype.split.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDJCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKd2l0aChfX3N0cil7CiAgICBfX3NwbGl0ID0gc3BsaXQoX19vYmosIF9fb2JqMik7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0WzBdID09PSAiQSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNwbGl0KF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uIGFuZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b2ludGVnZXIiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function and toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0Mlx1MDA0MiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319Cgp2YXIgX19zcGxpdCA9ICJBQkJcdTAwNDFCQUJBQlx1MDA0MmNjXl5cdTAwNDJCdnYlJUJcdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJBIikgewogICRFUlJPUignIzQ6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXRbMF0gPT09ICJBIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMV0gIT09ICJBQkFCQSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQydTAwNDIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiMiI7fX07IF9fc3BsaXQgPSAiQUJCdTAwNDFCQUJBQnUwMDQyY2NeXnUwMDQyQnZ2JSVCdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOyBfX3NwbGl0WzFdID09PSAiQUJBQkEiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludCIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiBhbmQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnNwbGl0KF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5zcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function and valueOf function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBvYmplY3QsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIuCiAqIE9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gcmVnZXhwCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIC9cdTAwMzdcdTAwMzcvZzt9fTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnRyeSB7CiAgdmFyIF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX29iaik7CiAgJEZBSUwoJyMxOiAiX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fb2JqKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is object, and instance is Number.\nObject have overrided toString function, that return regexp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19yZSA9IC9cdTAwMzdcdTAwMzcvZzsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCl9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiNiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0WzBdID09PSAiNiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAiNjc2NzYiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fcmUgPSAvdTAwMzd1MDAzNy9nOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIjY3Njc2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3BsaXRbMl0gIT09ICIuMDA2IikgewogICRFUlJPUignIzY6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICIuMDA2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcKaWYgKF9fc3BsaXRbM10gIT09ICIxIikgewogICRFUlJPUignIzc6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbM10gPT09ICIxIi4gQWN0dWFsOiAnK19fc3BsaXRbM10gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is regexp, and instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKdmFyIF9fcmUgPSAgbmV3IFJlZ0V4cCgiMDAiKTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSwgZXZhbCgiXCIxXCIiKSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZSA9ICBuZXcgUmVnRXhwKCIwMCIpOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlLCBldmFsKCIiMSIiKSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjY3NzY3Njc2NzcuIikgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdFswXSA9PT0gIjY3NzY3Njc2NzcuIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBleHByZXNzaW9uLCBmdW5jdGlvbiBjYWxsIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoIkEiIT09InUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are boolean expression, function call and null, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0LmJpbmQodGhpcyk7Cgp2YXIgX19vYmpfX2xpbSA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDU7fX07Cgp0cnkgewogICAgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp9IGNhdGNoKGUpIHsgOyB9CgovL0NoZWNrcyBhcmUgb25seSB2YWxpZCBpZiB3ZSBjYW4gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb2JqZWN0J3MgdG9TdHJpbmcgbWV0aG9kCi8vKHdoaWNoIEVTNSBkb2Vzbid0IGV2ZW4gcmVxdWlyZSB0byBleGlzdCkKaWYgKHRvU3RyaW5nPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICAgdmFyIF9fY2xhc3NfXyA9IHRvU3RyaW5nKCk7CgogICAgdmFyIF9fc3BsaXQgPSBzcGxpdChldmFsKCJcIltcIiIpLF9fb2JqX19saW0pOwoKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjMTogdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIAogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICAgICAgICRFUlJPUignIzI6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgICAgICAgJEVSUk9SKCcjMzogX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXRbMV0uc3Vic3RyaW5nKDAsNikgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjNDogX19zcGxpdFsxXS5zdWJzdHJpbmcoMCw2KSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJytfX3NwbGl0WzFdLnN1YnN0cmluZygwLDYpICk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3BsaXQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgovL3NpbmNlIFRvU3RyaW5nKCkgZXZhbHVhdGVzIHRvICIiIHNwbGl0KCkgZXZhbHVhdGVzIHRvIHNwbGl0KCIiLDApCnZhciBfX3NwbGl0ID0gIiIuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gIiIuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Call split without arguments, and instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIHNwbGl0KG51bGwpIGV2YWx1YXRlcyB0byBzcGxpdCgibnVsbCIsMCkKdmFyIF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJnIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzBdID09PSAiZyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAidW5hIikgewogICRFUlJPUignIzU6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzFdID09PSAidW5hIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is null, and instance is function call that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHgsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgc3BsaXQodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gc3BsaXQoIiIsMCkKdmFyIF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFswXSAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXRbMF0gPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is x, and instance is new String. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCnZhciBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkZCIpIHsKICAkRVJST1IoJyM0OiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdFswXSA9PT0gInVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX3NwbGl0ID0gU3RyaW5nKF9fb2JqKS5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fc3BsaXQgPSBTdHJpbmcoX19vYmopLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdFswXSAhPT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uKCl7fSgpLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIgp2YXIgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is function(){}(), and instance is String(object), object have overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIsIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\",\"), instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxMjMpLCBpbnN0YW5jZSBpcyAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCIKICovCgp2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7CnZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgxMjMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yICggdmFyIGkgPSAwOyBpIDwgX19leHBlY3RlZC5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX2V4cGVjdGVkW2ldIT09X19zcGxpdFtpXSkgewogICAgICAkRVJST1IoJyMzLicraSsnOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19leHBlY3RlZFsnK2krJ109PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(123), instance is \"this123is123a123string123object\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiOiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xLHR3by0yLGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSx0d28tMixmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\":\"), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgici00MiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xIHR3by0yIGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"r-42\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiLTQiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUtMSB0d28tMiBmb3VyIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCItNCIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"-4\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgib24iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJlLTEgdHdvLTIgZm91ci00IikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXRbMV0gPT09ICJlLTEgdHdvLTIgZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"on\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIFN0cmluZygiICIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiAiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAiICIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19zdHJpbmcgPSAiIjsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9ICIiOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIgIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdChuZXcgUmVnRXhwKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG5ldyBSZWdFeHApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChuZXcgUmVnRXhwKTsgX19zcGxpdC5sZW5ndGggPT09IF9fc3RyaW5nLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fc3RyaW5nLmxlbmd0aDsgaSsrICkgewogICAgaWYgKF9fc3RyaW5nLmNoYXJBdChpKSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7IF9fc3RyaW5nLmNoYXJBdCgnK2krJyk9PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLmNoYXJBdChpKSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(new RegExp)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibGwiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImxsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdFswXSA9PT0gImhlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsbCIpOyBfX3NwbGl0WzFdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"ll\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMV0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAibyIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJ4Iik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImgiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gImVsbG8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoIik7IF9fc3BsaXRbMV0gPT09ICJlbGxvIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"h\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibyIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdFswXSA9PT0gImhlbGwiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"o\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG8iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7IF9fc3BsaXRbMF0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hello\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCh1bmRlZmluZWQpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(undefined), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG90aGVyZSIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvdGhlcmUiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoZWxsb3RoZXJlIik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hellothere\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8gLywyKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0WzBdID09PSAib25lIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJ0d28iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/ /,2), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDIpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMik7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiMDAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,2), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDApLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMCk7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEwMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSwxMDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,100), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLHZvaWQgMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSx2b2lkIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzM6IF9fc3BsaXRbaW5kZXhdID09PSBfX2V4cGVjdGVkW2luZGV4XS4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,void 0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1, Math.pow(2,32)-1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCJib28iKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAiYm9vIik7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,\"boo\"), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLC1NYXRoLnBvdygyLDMyKSsxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAtTWF0aC5wb3coMiwzMikrMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,-Math.pow(2,32)+1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsTmFOKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCBOYU4pOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIE5hTik7IF9fZXhwZWN0ZWQgPSBbXTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsgX19leHBlY3RlZCA9IFtdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",NaN), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",0), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAibiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMV0gPT09ICJuIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMTFdICE9PSAiZSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMTFdID09PSAiZSIuIEFjdHVhbDogJytfX3NwbGl0WzExXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zcGxpdFsxMl0gIT09ICJlIikgewogICRFUlJPUignIzY6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdFsxMl0gPT09ICJlIi4gQWN0dWFsOiAnK19fc3BsaXRbMTJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\"one two three\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMSksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAxKTsgX19leHBlY3RlZCA9IFsiaGUiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMSk7IF9fZXhwZWN0ZWQgPSBbImhlIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOyBfX2V4cGVjdGVkID0gWyJoZSJdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",1), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMiksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDIpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMik7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",2), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0Mi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMyksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDMpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMyk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",3), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0My5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsNCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDQpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgNCk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",4), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8sLyksIGluc3RhbmNlIGlzIFN0cmluZygib25lLTEsdHdvLTIsZm91ci00IikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAib25lLTEiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzBdID09PSAib25lLTEiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3by0yIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsgX19zcGxpdFsxXSA9PT0gInR3by0yIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJmb3VyLTQiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzJdID09PSAiZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/,/), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCcnKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoJycpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChcJ1wnKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19zdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoXCdcJyk7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IgKCB2YXIgaSA9IDA7IGkgPCBfX3N0cmluZy5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX3NwbGl0W2ldIT09X19zdHJpbmcuY2hhckF0KGkpKSB7CiAgICAgICRFUlJPUignIzMuJytpKyc6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KFwnXCcpOyBfX3NwbGl0WycraSsnXT09PV9fc3RyaW5nLmNoYXJBdCgnK2krJykuIEFjdHVhbDogJytfX3NwbGl0W2ldKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(''), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHZvaWQgMCksIGluc3RhbmNlIGlzICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IgogKi8KCnZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbX19zdHJpbmddOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodm9pZCAwKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(void 0), instance is \"thisundefinedisundefinedaundefinedstringundefinedobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KG51bGwpLCBpbnN0YW5jZSBpcyAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzbnVsbGlzbnVsbGFudWxsc3RyaW5nbnVsbG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChudWxsKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(null), instance is \"thisnullisnullanullstringnullobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHRydWUpLCBpbnN0YW5jZSBpcyAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdHJ1ZWlzdHJ1ZWF0cnVlc3RyaW5ndHJ1ZW9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodHJ1ZSk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh0cnVlKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(true), instance is \"thistrueistrueatruestringtrueobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIgIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09ICIgIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE9iamVjdCgpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Object()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIGZ1bmN0aW9uKCl7fQogKi8KCnZhciBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcrX19zcGxpdFswXS5zdWJzdHJpbmcoMCw4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is function(){}","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcihOYU4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiTmFOIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMTIzNDU2Nzg5MCkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xMjM0NTY3ODkwKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIi0xMjM0NTY3ODkwIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigtMTIzNDU2Nzg5MCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiLTEyMzQ1Njc4OTAiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1234567890)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMWUyMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19pbnN0YW5jZS50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09IF9faW5zdGFuY2UudG9TdHJpbmcoKS4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1e21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE1hdGgKICovCgp2YXIgX19pbnN0YW5jZSA9IE1hdGg7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIltvYmplY3QgTWF0aF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIltvYmplY3QgTWF0aF0iLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Math","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEFycmF5KDEsMiwzLDQsNSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Array(1,2,3,4,5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEJvb2xlYW4KICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHJlZ2V4cCAvbC8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSAvbC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdC5sZW5ndGggPT09IDMuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICJvIi4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /l/, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBuZXcgUmVnRXhwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gbmV3IFJlZ0V4cDsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsImUiLCJsIiwibCIsIm8iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is new RegExp, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAwKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDEsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAxKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAyKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDMsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAzKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDQsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCA0KTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCIgLCJsIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kICJoaSIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAiaGkiKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xzLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvXHMvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsKCnZhciBfX2V4cGVjdGVkID0gWyJhIiwiYiIsImMiLCJkZSIsImYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\s/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHJlZ2V4cCAvXHMvIGFuZCAzLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJhIGIgYyBkZSBmIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhIGIgYyBkZSBmIik7Cgp2YXIgX19yZSA9IC9ccy87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsMyk7Cgp2YXIgX19leHBlY3RlZCA9IFsiYSIsImIiLCJjIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /\\s/ and 3, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xYLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvWC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImEgYiBjIGRlIGYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19leHBlY3RlZFswXSkgewogICRFUlJPUignIzM6IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\X/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xkKy8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSAvXGQrLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiZGZlIiwiaXUgIiwiID0rIiwiLS0iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\d+/, and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgUmVnRXhwKCdcXGQrJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwKCdcXGQrJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImRmZSIsIml1ICIsIiA9KyIsIi0tIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp RegExp('\\\\d+'), and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1thLXpdLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYWJjIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhYmMiKTsKCnZhciBfX3JlID0gL1thLXpdLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiIiwiIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /[a-z]/, and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBSZWdFeHAoJ1thLXpdJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImFiYyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYWJjIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoJ1thLXpdJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIiIsIiIsIiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is RegExp('[a-z]'), and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgNCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgImhpIiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsICJoaSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0LnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split has not prototype property","description":"Checking String.prototype.split.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","commentary":"String.prototype.split can't be used as constructor","description":"Checking if creating the String.prototype.split object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc3BsaXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.split.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.split.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.substring.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzdWJzdHJpbmcgbWV0aG9kIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the substring method is 2","description":"Checking String.prototype.substring.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgIT09ICJ0IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZmFsc2UsIHRydWUpID09PSAidCIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0IGFuZCBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07Cgp2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07IHZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7IHN1YnN0cmluZyhfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc3Vic3RyaW5nKDAsMSk7fSgpKSA9PT0gIkJCQiIuIEFjdHVhbDogJytzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZywgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0ge3N0cl9fOiJBQkJcdTAwNDFCQUJBQiJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHdpdGgoc3RyX18pewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgeCA9IHN1YnN0cmluZyhfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzdWJzdHJpbmcoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvdyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24gYW5kIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zdGFydCI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzdWJzdHJpbmcoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3Vic3RyaW5nKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09Imluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaiwgX19vYmoyKTsKICAgICRGQUlMKCcjMTogdmFyIHggPSAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaixfX29iajIpIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgb25lIGFyZ3VtZW50LCB0aGF0IGlzIGZ1bmN0aW9uKCl7fSgpLiBJbnN0YW5jZSBpcyBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgicmVwb3J0Ii5zdWJzdHJpbmcoZnVuY3Rpb24oKXt9KCkpICE9PSAicmVwb3J0IikgewogICRFUlJPUignIzE6ICJyZXBvcnQiLnN1YnN0cmluZyhmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3Vic3RyaW5nIHdpdGhvdXQgYXJndW1lbnRzLiBJbnN0YW5jZSBpcyBOdW1iZXIgd2l0aCBwcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcKICovCgp2YXIgX19udW0gPSAxMS4wMDEwMDI7CgpOdW1iZXIucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnN1YnN0cmluZygpIT09IjExLjAwMTAwMiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19udW0gPSAxMS4wMDEwMDI7IE51bWJlci5wcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9fbnVtLnN1YnN0cmluZygpPT09IjExLjAwMTAwMiIuIEFjdHVhbDogJytfX251bS5zdWJzdHJpbmcoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Call substring without arguments. Instance is Number with prototype.substring = String.prototype.substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmdW5jdGlvbiBjYWxsIGFuZCB4LCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbi4geCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICE9PSAiYWxzZSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgPT09ICJhbHNlIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsLCB0aGF0IHJldHVybmVkIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3Vic3RyaW5nKG51bGwsIC0zKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnN1YnN0cmluZyhudWxsLCAtMykgPT09ICIiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zdWJzdHJpbmcobnVsbCwgLTMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBGdW5jdGlvbigpLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gb2JqZWN0LCB0aGF0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24KICovCgpfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zdWJzdHJpbmc9U3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsgRnVuY3Rpb24ucHJvdG90eXBlLnN1YnN0cmluZz1TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgZnVuY3Rpb24gX19mdW5jKCl7fTsgX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSA9PT0gIiIuIEFjdHVhbDogJytfX2Z1bmMuc3Vic3RyaW5nKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and Function(), and instance is function object, that have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB4IGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLCB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnN1YnN0cmluZyh4LDMpICE9PSAidW5kIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSA9PT0gInVuZCIuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBzeW1ib2wgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnN1YnN0cmluZygiZSIsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5zdWJzdHJpbmcoImUiLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkuc3Vic3RyaW5nKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBuZWdhdGl2ZSBudW1iZXIgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC00LHZvaWQgMCkgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLTQsdm9pZCAwKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnN1YnN0cmluZygtNCx2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB1bmRlZmluZWQgYW5kIG9iamVjdCwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcob2JqZWN0KSwgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucwogKi8KCnZhciBfX29iaiA9IHsKICAgIHZhbHVlT2Y6ZnVuY3Rpb24oKXt9LAogICAgdG9TdHJpbmc6dm9pZCAwCn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are undefined and object, and instance is new String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIHN1YnN0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyt0eXBlb2YgX19zdHJpbmcuc3Vic3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Checking type of substring()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgaXMgMCwgZW5kIGlzIDgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzX2lzX2Ffc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgIT09ICJ0aGlzX2lzXyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXNfaXNfYV9zdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygwLDgpID09PSAidGhpc19pc18iLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is 0, end is 8","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBOYU4sIGVuZCBpcyBJbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoJ3RoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Jyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoTmFOLCBJbmZpbml0eSkgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoXCd0aGlzIGlzIGEgc3RyaW5nIG9iamVjdFwnKTsgX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHN1YnN0cmluZyBmcm9tIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnN1YnN0cmluZygxLDApID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZygxLDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Call substring from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSA9PT0gInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Ii4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgSW5maW5pdHkpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBuZWdhdGl2ZSBmbG9hdCBudW1iZXIsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zdWJzdHJpbmcoLTAuMDEsMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCwgZW5kIGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCsxLCBlbmQgaXMgMAogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyAtSW5maW5pdHksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgLUluZmluaXR5CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICE9PSAiMSwyLDMsNCw1IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEZ1bmN0aW9uIG9iamVjdCBpbnN0YW5jZSBwYXNzZXMKICovCgpfX0ZBQ1RPUlkucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoMCwgMTAwKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlLnN1YnN0cmluZygwLCAxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKDAsIDEwMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSggdmFsdWUgKSB7CiAgICB0aGlzLnZhbHVlID0gdmFsdWU7CiAgICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLnZhbHVlKycnOyB9Cn0KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Checknig if applying String.prototype.substring to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEJvb2xlYW4gaW5zdGFuY2UuIFN0YXJ0IGlzIG5ldyBBcnJheSgpLCBlbmQgaXMgbmV3IEJvb2xlYW4oMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKCk7CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKG5ldyBBcnJheSgpLCBuZXcgQm9vbGVhbigxKSkgIT09ICJmIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbigpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSA9PT0gImYiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Boolean instance. Start is new Array(), end is new Boolean(1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIDksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg5LC1JbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is 9, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIHRydWUsIGVuZCBpcyBmYWxzZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKHRydWUsIGZhbHNlKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is true, end is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzICc0JywgZW5kIGlzICc1JwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoJzQnLCAnNScpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKFwnNFwnLCBcJzVcJykgPT09ICIzIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKCc0JywgJzUnKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is '4', end is '5'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgMAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsMCkgIT09ICJbb2JqZWN0ICIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LDApID09PSAiW29iamVjdCAiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgbGVuZ3RoIG9mIG9iamVjdC50b1N0cmluZwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsIF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICE9PSAiT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LCBfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwgX19pbnN0YW5jZS50b1N0cmluZygpLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is length of object.toString","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBDYWxsIGluc3RhbmNlLnN1YnN0cmluZyguLi4pLnN1YnN0cmluZyguLi4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKC1JbmZpbml0eSw4KSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7ICBfX2luc3RhbmNlLnN1YnN0cmluZygtSW5maW5pdHksOCkgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg4LEluZmluaXR5KS5zdWJzdHJpbmcoLUluZmluaXR5LDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Call instance.substring(...).substring(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTnVtYmVyIGluc3RhbmNlLiBTdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOwogCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgPT09ICJOYU4iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Number instance. Start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTWF0aCBpbnN0YW5jZS4gU3RhcnQgaXMgTWF0aC5QSSwgZW5kIGlzIC0xMAogKi8KCnZhciBfX2luc3RhbmNlID0gTWF0aDsKIApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSAhPT0gIltvYiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgIF9faW5zdGFuY2Uuc3Vic3RyaW5nKE1hdGguUEksIC0xMCkgPT09ICJbb2IiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Math instance. Start is Math.PI, end is -10","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring has not prototype property","description":"Checking String.prototype.substring.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHVuZGVmaW5lZCA9IDEgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.substring can't be used as constructor","description":"Checking if creating the String.prototype.substring object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAodmFyIHAgaW4gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLowerCase method is 0","description":"Checking String.prototype.toLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09ImFiIikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKSA9PT0iYWIiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Override toString function, toString throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IF9fb2JqLnRvTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19yZWcudG9Mb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgpfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7ICBfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgTmFOLnRvTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IEluZmluaXR5LnRvTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PW5ldyBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE2L1MxNS41LjQuMTZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase has not prototype property","description":"Checking String.prototype.toLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93cyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfTsKCgo=","commentary":"String.prototype.toLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZUxvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleLowerCase method is 0","description":"Checking String.prototype.toLocaleLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0iYWIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSJhYiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString function, toString throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19yZWcudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb2NhbGVMb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PV9fZXhwZWN0ZWRbMF0uIEFjdHVhbDogJytfX2xvd2VyQ2FzZVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVMb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVMb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVMb3dlckNhc2UoKTsKCgp2YXIgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19sb3dlckNhc2UubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19sb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2xvd2VyQ2FzZS5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2xvd2VyQ2FzZS5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19sb3dlckNhc2VbaW5kZXhdIT09X19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQuJytpbmRleCsnOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19sb3dlckNhc2UgPSBuZXcgU3RyaW5nKF9fb2JqKS50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgX19sb3dlckNhc2VbJytpbmRleCsnXT09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX2xvd2VyQ2FzZVtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIikpIHsKICAkRVJST1IoJyMzOiAiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gbmV3IFN0cmluZygiaGVsbG8sIHdvcmxkISIpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE3L1MxNS41LjQuMTdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase has not prototype property","description":"Checking String.prototype.toLocaleLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAidmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiB0aHJvdyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KICAkUFJJTlQoZSk7Cn0KCg==","commentary":"String.prototype.toLocaleLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1VwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toUpperCase method is 0","description":"Checking String.prototype.toUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9VcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9VcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBfX29iai50b1VwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCk7CiAgIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Override toString function, toString throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b1VwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9VcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvVXBwZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fb2JqLnRvVXBwZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9VcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBSZWdFeHAgb2JqZWN0CiAqLwoKdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiYWJjIik7Cl9fcmVnLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19yZWcudG9VcHBlckNhc2UoKSAhPT0gIi9BQkMvIikgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOyBfX3JlZy50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fcmVnLnRvVXBwZXJDYXNlKCkgPT09ICIvQUJDLyIuIEFjdHVhbDogJytfX3JlZy50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgTmFOLnRvVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9VcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5OwogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKaWYgKEluZmluaXR5LnRvVXBwZXJDYXNlKCkhPT0gIklORklOSVRZIikgewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBJbmZpbml0eS50b1VwcGVyQ2FzZSgpPT09ICJJTkZJTklUWSIuIEFjdHVhbDogJytJbmZpbml0eS50b1VwcGVyQ2FzZSgpKTsKfQoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3VwcGVyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3VwcGVyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fdXBwZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fdXBwZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3VwcGVyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3VwcGVyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX3VwcGVyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX191cHBlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE4L1MxNS41LjQuMThfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase has not prototype property","description":"Checking String.prototype.toUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVVwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleUpperCase method is 0","description":"Checking String.prototype.toLocaleUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCk7CiAgJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString function, toString throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0iMSIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOwpfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fcmVnLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICIvQUJDLyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCJhYmMiKTsgX19yZWcudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiL0FCQy8iLiBBY3R1YWw6ICcrX19yZWcudG9Mb2NhbGVVcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOwp2YXIgX19leHBlY3RlZCA9ICIiOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbG93ZXJDYXNlLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19sb3dlckNhc2UuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5kZXggPT09IF9fZXhwZWN0ZWQuaW5kZXguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19sb3dlckNhc2UuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5wdXQgPT09IF9fZXhwZWN0ZWQuaW5wdXQuIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19sb3dlckNhc2VbMF0hPT1fX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjNDogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVVcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVVcHBlckNhc2UoKSE9PSAiSU5GSU5JVFkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIklORklOSVRZIi4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE5L1MxNS41LjQuMTlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase has not prototype property","description":"Checking String.prototype.toLocaleUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMTogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgIE9iamVjdCBoYXMgbm8gY29uc3RydWN0IGxlYWQgIGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toLocaleUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBTdHJpbmcucHJvdG90eXBlLnRyaW07DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim must exist as a function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim must exist as a function taking 0 parameters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHVuZGVmaW5lZCk7IA0KICAgIHJldHVybiBmYWxzZTsgDQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim throws TypeError when string is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChudWxsKTsgIA0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim throws TypeError when string is null","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGlmKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHRydWUpID09ICJ0cnVlIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for primitive type boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT0gIjAiKSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for primitive type number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoe30pPT0iW29iamVjdCBPYmplY3RdIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for an Object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IFN0cmluZygpKSA9PSAiIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for an String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoImFiYyIpID09PSAiYWJjIikgIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for a primitive string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZyAodmFsdWUgaXMgJyAgICBhYmMnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gU3RyaW5nKCIgICAgYWJjIik7DQogICAgICAgIHJldHVybiAiYWJjIiA9PT0gc3RyT2JqLnRyaW0oKSAmJiBzdHJPYmoudG9TdHJpbmcoKSA9PT0gIiAgICBhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for a primitive string (value is ' abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgU3RyaW5nIG9iamVjdCB3aGljaCB2YWx1ZSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZyh1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gc3RyT2JqLnRyaW0oKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for a String object which value is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZhbHNlKSA9PT0gImZhbHNlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICtJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoK0luZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoLUluZmluaXR5KSA9PT0gIi1JbmZpbml0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwKSA9PT0gIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIxIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCkgPT09ICIxZSsyMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIyIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlKzIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxZSsyMCkgPT09ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjEpID09PSAiMWUrMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjIpID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwLjAwMDAwMSkgPT09ICIwLjAwMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMC4wMDAwMDAxKSA9PT0gIjFlLTciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument argument 'this' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodHJ1ZSkgPT09ICJ0cnVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is true","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDAuMDAwMDAwMDEpID09PSAiMWUtOCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTcpID09PSAiMWUtNyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTYpID09PSAiMC4wMDAwMDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTUpID09PSAiMC4wMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGludGVnZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMpID09PSAiMTIzIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgZGVjaW1hbCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuNDU2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuNDU2KSA9PT0gIjEyMy40NTYiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKS4xMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpID09PSAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros).123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy4xMjM0NTY3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuMTIzNDU2NykgPT09ICIxMjMuMTIzNDU2NyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIiIpID09PSAiIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is an empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdBQg0KICogXGNkJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIkFCXG5cXGNkIikgPT09ICJBQlxuXFxjZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'AB\n\\cd')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-29.js"},{"code":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoTmFOKSA9PT0gIk5hTiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICd1bmRlZmluZWQnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoInVuZGVmaW5lZCIpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'undefined')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdudWxsJykgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCJudWxsIikgPT09ICJudWxsIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'null')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxMjMjJCVhYmMnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiMTIzIyQlYWJjIikgPT09ICIxMjMjJCVhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '123#$%abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIjEiKSA9PT0gIjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '1')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIGFycmF5IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKFsxXSkgPT09ICcxJyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an array that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgU3RyaW5nIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5nKCJhYmMiKSkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a String Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQm9vbGVhbiBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gImZhbHNlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgTnVtYmVyIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgTnVtYmVyKDEyMykpID09PSAiMTIzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a Number Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG9iaikgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiW29iamVjdCBPYmplY3RdIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own valueOf method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT09ICIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiYWJjIikgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an object that has an own toString method that returns an object and valueOf method that returns a primitive value","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImNlZiI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKSA9PT0gImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString and valueOf method.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gVHlwZUVycm9yIGV4Y2VwdGlvbiB3YXMgdGhyb3duICB3aGVuICd0aGlzJyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIHdvdWxkbid0IHJldHVybiBwcmltaXRpdmUgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - TypeError exception was thrown when 'this' is an object that both toString and valueOf wouldn't return primitive value.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB2YWx1ZU9mIGFuZCBpbmhlcml0ZWQgdG9TdHJpbmcgbWV0aG9kcyB3aXRoIGhpbnQgc3RyaW5nLCB2ZXJpZnkgaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBmaXJzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJlZmciOw0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGNoaWxkKSA9PT0gImFiYyIpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object with an own valueOf and inherited toString methods with hint string, verify inherited toString method will be called first","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgZWFzdCBBc2lhbiBjaGFyYWN0ZXJzICh2YWx1ZSBpcyAnU0TlkpXlmZwnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiU0TlkpXlmZwiOw0KICAgICAgICByZXR1cm4gc3RyLnRyaW0oKSA9PT0gc3RyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a string that contains east Asian characters (value is 'SD\u5495\u565c')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgd2hpdGUgc3BhY2UsIGNoYXJhY3RlciwgbnVtYmVyLCBvYmplY3QgYW5kIG51bGwgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArICIgICAiICsgMTIzICsgIiAgICIgKyB7fSArICIgICAgIiArICJcdTAwMDAiOw0KICAgICAgICB2YXIgc3RyMSA9ICIgICAgIiArIHN0ciArICIgICAgIjsNCiAgICAgICAgcmV0dXJuIHN0cjEudHJpbSgpID09PSBzdHI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a string that contains white space, character, number, object and null characters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRnVuY3Rpb24gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9Ow0KICAgICAgICByZXR1cm4gdHlwZW9mKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZ1bk9iaikpID09PSAic3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Function Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgb2JqZWN0IE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHt9KSA9PT0gIltvYmplY3QgT2JqZWN0XSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a object Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgUmVnRXhwIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoL3Rlc3QvKTsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHJlZ09iaikgPT09ICIvdGVzdC8iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a RegExp Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCswKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRXJyb3IgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChlcnJPYmopID09PSAiRXJyb3I6IHRlc3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a Error Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQXJndW1lbnRzIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSAoMSwgMiwgdHJ1ZSk7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChhcmdPYmopID09PSAiW29iamVjdCBBcmd1bWVudHNdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Arguments Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKC0wKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgzMCkgPT09ICIzMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgtMjApID09PSAiLTIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKEluZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgcmV0dXJuIChsaW5lVGVybWluYXRvcnNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHdpdGggbnVsbCBjaGFyYWN0ZXIgKCdcdTAwMDAnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXHUwMDAwIi50cmltKCkgPT09ICJcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\u0000')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwYWJjIi50cmltKCkgPT09ICJcMFx1MDAwMGFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgZW5kcyB3aXRoIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICJhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiYWJjXDBcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXIgYW5kIGVuZHMgd2l0aCBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXDBcdTAwMDBhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiXDBcdTAwMDBhYmNcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character and ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgaGFzIG51bGwgY2hhcmFjdGVyIGluIHRoZSBtaWRkbGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhXDBcdTAwMDBiYyIudHJpbSgpID09PSAiYVwwXHUwMDAwYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that has null character in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHJldHVybiAod2hpdGVTcGFjZXNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgdW5pb24gb2YgV2hpdGVTcGFjZSBhbmQgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all union of WhiteSpace and LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgZW5kIHdpdGggdW5pb24gb2YgYWxsIExpbmVUZXJtaW5hdG9yIGFuZCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArIHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyIDsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlIGFuZCBlbmQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0cjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace and end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCB1bmlvbiBvZiBMaW5lVGVybWluYXRvciBhbmQgV2hpdGVTcGFjZSBpbiB0aGUgbWlkZGxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9ICJhYiIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0ciArICJjZCI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that union of LineTerminator and WhiteSpace in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwIi50cmltKCkgPT09ICJcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBudWxsIGNoYXJhY3RlciAoJ1wwJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJcMCIudHJpbSgpID09PSAiXDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\0')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyBtdWx0aWxpbmUgc3RyaW5nIHdpdGggd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIHMgPSAiXHUwMDA5YSBiXA0KYyBcdTAwMDkiDQoNCiAgICAgICAgICAgIA0KICBpZiAocy50cmltKCkgPT09ICJhIGJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles multiline string with whitepace and lineterminators","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRmFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRmFiYyIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFFabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiY1x1RkVGRiIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOWFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOWFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoIFx1MDAwOWFiYyBcdTAwMDkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCIgXHUwMDA5YWJjIFx1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators ( \\u0009abc \\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQmFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQmFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ2FiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ2FiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMGFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMGFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOVx1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOVx1MDAwOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQlx1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQlx1MDAwQiIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000B\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ1x1MDAwQyIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000C\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDA5YWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDA5YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMFx1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMFx1MDAyMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMFx1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMFx1MDBBMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRlx1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRlx1RkVGRiIudHJpbSgpID09PSAiIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFF\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDA5YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDA5YyIudHJpbSgpID09PSAiYWJcdTAwMDljIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0009c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBCYyIudHJpbSgpID09PSAiYWJcdTAwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBDYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBDYyIudHJpbSgpID09PSAiYWJcdTAwMENjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Cc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDIwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDIwYyIudHJpbSgpID09PSAiYWJcdTAwMjBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0020c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDg1YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiXHUwMDg1YyIudHJpbSgpID09PSAiYWJcdTAwODVjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0085c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBCYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBCYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMEEwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMEEwYyIudHJpbSgpID09PSAiYWJcdTAwQTBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u00A0c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUyMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUyMDBCYyIudHJpbSgpID09PSAiYWJcdTIwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u200Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHVGRUZGYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHVGRUZGYyIudHJpbSgpID09PSAiYWJcdUZFRkZjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\uFEFFc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBDYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBDYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQVx1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQVx1MDAwQSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000A\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRFx1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRFx1MDAwRCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000D\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOFx1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOFx1MjAyOCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOVx1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOVx1MjAyOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYyBhcyBhIG11bHRpbGluZSBzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSAiXHUyMDI5XA0KICAgICAgICAgICBhYmMiOw0KICBpZiAocy50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc as a multiline string)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDIwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDIwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKHN0cmluZyB3aXRoIGp1c3QgYmxhbmtzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiICAgICIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (string with just blanks)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMEEwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMEEwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCgpIGNhbiBhY2NlcHQgbWFueSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpeyByZXR1cm4gIndpemFyZCI7fTt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogIGlmIChfX2luc3RhbmNlLmNoYXJBdChldmFsKCIxIiksdHJ1ZSxudWxsLHt9KSE9PSAiaSIpIHsKICAgICRFUlJPUignIzE6IF9faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09ICJpIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.charAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the charAt method is 1","description":"Checking String.prototype.charAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpID09PSAiNDIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQXQoKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGNoYXJBdChfX29iaikgIT09ICJlIikgewogICAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IHZhciBfX3N0ciA9ICJsZWdvIjsgY2hhckF0KF9fb2JqKSA9PT0gImUiLiBBY3R1YWw6IGNoYXJBdChfX29iaikgPT09JytjaGFyQXQoX19vYmopICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdChmYWxzZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSsxKSAhPT0gImZhbCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7ICBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7IF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpID09PSAiZmFsIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIoKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmICgibGVnbyIuY2hhckF0KCkgIT09ICJsIikgewogICRFUlJPUignIzE6ICJsZWdvIi5jaGFyQXQoKSA9PT0gImwiLiBBY3R1YWw6ICJsZWdvIi5jaGFyQXQoKSA9PT0nKygibGVnbyIuY2hhckF0KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKG51bGwpIGV2YWx1YXRlcyB0byAwIGNoYXJBdCgpIGV2YWx1YXRlcyB0byBjaGFyQXQoMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgIT09ICJsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgPT09ICJsIi4gQWN0dWFsOiBmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckF0KG51bGwpID09PScrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJBdChudWxsKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAobmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSAhPT0gImwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQXQoeCkgPT09ICJsIi4gQWN0dWFsOiBuZXcgU3RyaW5nKCJsZWdvIikuY2hhckF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgIT09ICJsIikgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJBdCh1bmRlZmluZWQpID09PSAibCIuIEFjdHVhbDogU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQXQodW5kZWZpbmVkKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHZvaWQgMCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSAhPT0gIjQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSA9PT0gIjQiLiBBY3R1YWw6IFN0cmluZyg0MikuY2hhckF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJBdCh2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmIChuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpICE9PSAiNCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNCIuIEFjdHVhbDogbmV3IFN0cmluZyg0MikuY2hhckF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJBdChmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbGVzcyB0aGFuIDAgdGhlIGVtcHR5IHN0cmluZyByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdChwb3MpIHdpdGggbmVnYXRpdmUgcG9zCiAqLwoKZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgtMSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQXQoLTEpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgtMSkgPT09JytfX2luc3RhbmNlLmNoYXJBdCgtMSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) less than 0 the empty string returns","description":"Call charAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbm90IGxlc3MgdGhhbiBUb1N0cmluZyh0aGlzIHZhbHVlKSB0aGUgZW1wdHkgc3RyaW5nIHJldHVybnMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTMuanMKICogQGRlc2NyaXB0aW9uIHBvcyBpcyBiaWdnZXIgb2Ygc3RyaW5nIGxlbmd0aAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgzKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IF9faW5zdGFuY2UuY2hhckF0KDMpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgzKSA9PT0nK19faW5zdGFuY2UuY2hhckF0KDMpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) not less than ToString(this value) the empty string returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKHZhciBpPTA7IGk8NjsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJytpKyc6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDNBQkMiLnN1YnN0cmluZygnK2krJywgJysoaSsxKSsnKS4gQWN0dWFsOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PScrKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSkgKTsgCiAgICB9Cn0KICAgIAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgc21hbGxlciBvZiB6ZXJvCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IodmFyIGk9LTI7IGk8MDsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJysoaSsyKSsnOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PSAiXFx1MDA0MVxcdTAwNDJcXHUwMDQzQUJDIi5zdWJzdHJpbmcoJytpKycsICcrKGkrMSkrJykuIEFjdHVhbDogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0nKygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkpICk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is smaller of zero","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgYmlnZ2VyIHN0cmluZyBsZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaT02OyBpPDg7IGkrKykgewogIGlmICgiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkgIT09ICJcdTAwNDFcdTAwNDJcdTAwNDNBQkMiLnN1YnN0cmluZyhpLCBpKzEpKSB7CiAgICAgICRFUlJPUignIycrKGktNSkrJzogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0gIlxcdTAwNDFcXHUwMDQyXFx1MDA0M0FCQyIuc3Vic3RyaW5nKCcraSsnLCAnKyhpKzEpKycpLiBBY3R1YWw6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09JysoIkFCQ1x1MDA0MVx1MDA0Mlx1MDA0MyIuY2hhckF0KGkpKSk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is bigger string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgZmlyc3QgY2FsbHMgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB0b1N0cmluZyBmdW5jdGlvbiwgaXQgdHJvdyBleGNlcHRpb24sIGFuZCBjYWxsIGNoYXJBdCgpCiAqLwoKdmFyIF9fb2JqPXsKICAgIHZhbHVlT2Y6MSwKICAgIHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2ludG9zdHJpbmcnfSwKICAgIGNoYXJBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJBdAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai5jaGFyQXQoKTsKICAkRkFJTCgnIzE6IF9fb2JqPXt2YWx1ZU9mOjEsdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcJ2ludG9zdHJpbmdcJ30sY2hhckF0OlN0cmluZy5wcm90b3R5cGUuY2hhckF0fTsgInZhciB4ID0gX19vYmouY2hhckF0KCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gJ2ludG9zdHJpbmcnKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gXCdpbnRvc3RyaW5nXCcuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSApOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC40L1MxNS41LjQuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt has not prototype property","description":"Checking String.prototype.charAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB1bmRlZmluZWQgPSAxIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.charAt can't be used as constructor","description":"Checking if creating the String.prototype.charAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogY291bnQgPT09Jytjb3VudCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQoKSBjYW4gYWNjZXB0IG1hbnkgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKXsgcmV0dXJuICJ3aXphcmQiO307fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgCiAgICBpZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pIT09IDB4NjkpIHsKICAgICAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09IDB4NjkuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09JytfX2luc3RhbmNlLmNoYXJDb2RlQXQoZXZhbCgiMSIpLHRydWUsbnVsbCx7fSkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.charCodeAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charCodeAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQ29kZUF0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the charCodeAt method is 1","description":"Checking String.prototype.charCodeAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsKCl9faW5zdGFuY2UuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpICE9PSA1Mil8fChfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSkgIT09IDUwKSkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyAgX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0gNTIgYW5kIF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKSA9PT0gNTAuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0nK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkrJyBhbmQgX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpID09PScrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY2hhckNvZGVBdCgpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX0KdmFyIF9fc3RyID0gImxlZ28iOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICBpZiAoY2hhckNvZGVBdChfX29iaikgIT09IDB4NjUpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNoYXJDb2RlQXQoX19vYmopID09PSAweDY1LiBBY3R1YWw6IGNoYXJDb2RlQXQoX19vYmopID09PScrY2hhckNvZGVBdChfX29iaikgKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGVxdWF0aW9uIHdpdGggZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpIT09MHg2NikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpPT09MHg2Ni4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkpOyAgIAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpIT09MHg2MSkgewogICRFUlJPUignIzI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSk9PT0weDYxLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMzogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7IF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpID09PSAweDZDLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUrMSkgKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIE51bWJlcigpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAoInNtYXJ0Ii5jaGFyQ29kZUF0KCkgIT09IDB4NzMpIHsKICAkRVJST1IoJyMxOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0gMHg3My4gQWN0dWFsOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0nKygic21hcnQiLmNoYXJDb2RlQXQoKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgZXZhbHVhdGVzIHRvIDAgY2hhckNvZGVBdCgpIGV2YWx1YXRlcyB0byBjaGFyQ29kZUF0KDApCmlmIChmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckNvZGVBdChudWxsKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQ29kZUF0KG51bGwpID09PSAweDZDLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJDb2RlQXQobnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PSAweDZDLiBBY3R1YWw6IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQoeCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSA9PT0gMHg2Qy4gQWN0dWFsOiBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodm9pZCAwKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZyg0MikuY2hhckNvZGVBdCh2b2lkIDApICE9PSAweDM0KSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09IDB4MzQuIEFjdHVhbDogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJDb2RlQXQodm9pZCAwKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvSW50ZWdlcih1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAobmV3IFN0cmluZyg0MikuY2hhckNvZGVBdChmdW5jdGlvbigpe30oKSkgIT09IDB4MzQpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0gMHgzNC4gQWN0dWFsOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJDb2RlQXQoZnVuY3Rpb24oKXt9KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIGxlc3MgdGhhbiAwIHRoZSBOYU4gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KHBvcykgd2l0aCBuZWdhdGl2ZSBwb3MKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgtMSkpKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsgX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgaXNOYU4oX19pbnN0YW5jZS5jaGFyQ29kZUF0KC0xKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoLTEpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) less than 0 the NaN returns","description":"Call charCodeAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIG5vdCBsZXNzIHRoYW4gVG9TdHJpbmcodGhpcyB2YWx1ZSkgdGhlIE5hTiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgYmlnZ2VyIG9mIHN0cmluZyBsZW5ndGgKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IGlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoMykpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) not less than ToString(this value) the NaN returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGZpcnN0IGNhbGxzIFRvU3RyaW5nLCBnaXZpbmcgaXQgdGhlIHRoaXMgdmFsdWUgYXMgaXRzIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdG9TdHJpbmcgZnVuY3Rpb24sIGl0IHRyb3cgZXhjZXB0aW9uLCBhbmQgY2FsbCBjaGFyQ29kZUF0KCkKICovCgp2YXIgX19vYmo9ewogICAgdmFsdWVPZjoxLAogICAgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAnaW50b3N0cmluZyd9LAogICAgY2hhckNvZGVBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmouY2hhckNvZGVBdCgpOwogICRGQUlMKCcjMTogICJ2YXIgeCA9IF9fb2JqLmNoYXJDb2RlQXQoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAnaW50b3N0cmluZycpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSBcJ2ludG9zdHJpbmdcJy4gQWN0dWFsOiBleGNlcHRpb24gPT09JytlICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charCodeAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNS9TMTUuNS40LjVfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt has not prototype property","description":"Checking String.prototype.charCodeAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","commentary":"String.prototype.charCodeAt can't be used as constructor","description":"Checking if creating the String.prototype.charCodeAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiBjb3VudCA9PT0nK2NvdW50ICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjb25jYXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the concat method is 1","description":"Checking String.prototype.concat.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KGZhbHNlLHRydWUpICE9PSAiNDJmYWxzZXRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOyBfX2luc3RhbmNlLmNvbmNhdCA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OyAgX19pbnN0YW5jZS5jb25jYXQoZmFsc2UsdHJ1ZSkgPT09ICI0MmZhbHNldHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdChmYWxzZSx0cnVlKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNvbmNhdChbLFsuLi5dXSkgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDEiO319CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAoY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgIT09ICJsZWdvQXRydWU0MnVuZGVmaW5lZCIpIHsKICAgICAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxIjt9fTsgdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNvbmNhdChfX29iaiwgX19vYmoyLCBfX29iajMsIHgpID09PSAibGVnb0F0cnVlNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgiXHUwMDQxIix0cnVlLHRydWUrMSkgIT09ICJmYWxzZUF0cnVlMiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgiXFx1MDA0MSIsdHJ1ZSx0cnVlKzEpID09PSAiZmFsc2VBdHJ1ZTIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jb25jYXQoIlx1MDA0MSIsdHJ1ZSx0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Arguments are equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgY29uY2F0KCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgiIikKaWYgKCJsZWdvIi5jb25jYXQoKSAhPT0gImxlZ28iKSB7CiAgJEVSUk9SKCcjMTogImxlZ28iLmNvbmNhdCgpID09PSAibGVnbyIuIEFjdHVhbDogJysoImxlZ28iLmNvbmNhdCgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgY29uY2F0KG51bGwpIGV2YWx1YXRlcyB0byBjb25jYXQoIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNvbmNhdChudWxsKSAhPT0gImxlZ29udWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jb25jYXQobnVsbCkgPT09ICJsZWdvbnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY29uY2F0KG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKCJsZWdvIikuY29uY2F0KHgpICE9PSAibGVnb3VuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSA9PT0gImxlZ291bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoImxlZ28iKS5jb25jYXQodW5kZWZpbmVkKSAhPT0gImxlZ291bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJsZWdvIikuY29uY2F0KHVuZGVmaW5lZCkgPT09ICJsZWdvdW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZygibGVnbyIpLmNvbmNhdCh1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHZvaWQgMCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh2b2lkIDApIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoNDIpLmNvbmNhdCh2b2lkIDApICE9PSAiNDJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jb25jYXQodm9pZCAwKSA9PT0gIjQydW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyg0MikuY29uY2F0KHZvaWQgMCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgY29uY2F0KHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoNDIpLmNvbmNhdChmdW5jdGlvbigpe30oKSkgIT09ICI0MnVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jb25jYXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyg0MikuY29uY2F0KGZ1bmN0aW9uKCl7fSgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuIGFjY2VwdCBhdCBsZWFzdCAxMjgKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoKTsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RgopICE9PSAiMDAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1IikgewogICRFUlJPUignIzE6IENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBhbnkgZXJyb3JzJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.concat([,[...]]) can accept at least 128","description":"Call concat([,[...]]) function with 128 arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuJ3QgY2hhbmdlIHRoZSBpbnN0YW5jZSB0byBiZSBhcHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBpbnN0YW5jZSB0aGF0IGlzIGFwcGxpZWQgZmFpbHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOwoKX19pbnN0YW5jZS5jb25jYXQoInR3byIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZSAhPSAib25lIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJvbmUiKTsgX19pbnN0YW5jZS5jb25jYXQoInR3byIpOyAgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOyBfX2luc3RhbmNlLmNvbmNhdCgidHdvIik7IF9faW5zdGFuY2UgPT0gIm9uZSIuIEFjdHVhbDogJytfX2luc3RhbmNlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]]) can't change the instance to be applied","description":"Checking if varying the instance that is applied fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAib25lIn19OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KCJ0d28iLHgpICE9PSAib25ldHdvdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJvbmUifX07IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSA9PT0gIm9uZXR3b3VuZGVmaW5lZCIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCgo=","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24gb250byBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyaW5nIjt9fTsKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZmlyc3RhcmciO319OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KTsKICAkRkFJTCgnIzE6ICJTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAiaW50b3N0cmluZyIpIHsKICAgICRFUlJPUignIzE6IGUgPT09ICJpbnRvc3RyaW5nIi4gQWN0dWFsOiAnK2UgKTsgCiAgfQp9IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBub3RleGlzdDsKCgoKCg==","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function onto function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat has not prototype property","description":"Checking String.prototype.concat.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.concat can't be used as constructor","description":"Checking if creating the String.prototype.concat object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQgPSAwOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudCA9IDA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.concat.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBpbmRleE9mIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the indexOf method is 1","description":"Checking String.prototype.indexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsgIF9faW5zdGFuY2UuaW5kZXhPZih0cnVlLCBmYWxzZSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChpbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSAzKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgaW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gMy4gQWN0dWFsOiAnK2luZGV4T2YoX19vYmosIF9fb2JqMikgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBEYXRlKDApIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IERhdGUoMCk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoJzMxJykgOiBfX2luc3RhbmNlLmluZGV4T2YoJzAxJykpICE9PSA4KSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBEYXRlKDApOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICAoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoXCczMVwnKSA6IF9faW5zdGFuY2UuaW5kZXhPZihcJzAxXCcpKSA9PT0gOC4gQWN0dWFsOiAnKyhfX2luc3RhbmNlLmdldFRpbWV6b25lT2Zmc2V0KCk+MCA/IF9faW5zdGFuY2UuaW5kZXhPZignMzEnKSA6IF9faW5zdGFuY2UuaW5kZXhPZignMDEnKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Instance is Date(0) object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBzdHJpbmcsIGFuZCBpbnN0YW5jZSBpcyBhcnJheSBvZiBzdHJpbmdzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoJ25ldycsJ3pvbycsJ3JldnVlJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoJ25ldycpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5pbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5pbmRleE9mKCduZXcnKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuaW5kZXhPZignem9vJykgIT09IDEpIHsKICAkRVJST1IoJyMyOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmluZGV4T2YoXCd6b29cJykgPT09IDEuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YoJ3pvbycpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBlcXVhdGlvbiwgZnVuY3Rpb24gYW5kIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09Ilx1MDA0MSIsIGZ1bmN0aW9uKCl7cmV0dXJuIDA7fSgpLG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICBfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09IlxcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2UuaW5kZXhPZigiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50cyBvZiBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgaW5kZXhPZigpIGV2YWx1YXRlcyB0byBpbmRleE9mKCIiLDApCmlmICgiIi5pbmRleE9mKCkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogIiIuaW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5pbmRleE9mKCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgaW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpID09PSAxLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICIiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBTdHJpbmcoInVuZGVmaW5lZCIpLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgaW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBpbmRleE9mKCJ1bmRlZmluZWQiKQppZiAoU3RyaW5nKF9fb2JqKS5pbmRleE9mKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLmluZGV4T2Yodm9pZCAwKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZyhfX29iaikuaW5kZXhPZih2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuaW5kZXhPZihmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIikpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\") and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDApIGFuZCBjaGVjayByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSE9PS0xKSB7CiAgJEVSUk9SKCcjMTogImFiY2QiLmluZGV4T2YoImFiY2RhYiIsMCk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",0) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDk5KSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIsOTkpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",99) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikhPT0tMSkgewogICRFUlJPUignIzE6ICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKT09PTIuIEFjdHVhbDogJysoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXCItOTlcIiIpKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixldmFsKCJcIi05OVwiIikpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXFwiLTk5XFwiIikpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLGV2YWwoIlwiLTk5XCIiKSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",eval(\"\\\"-99\\\"\")) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZnVuY3Rpb24oKXtyZXR1cm4gLUluZmluaXR5O30oKSkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLCBmdW5jdGlvbigpe3JldHVybiAtSW5maW5pdHk7fSgpKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",function(){return -Infinity;}()) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludGVnZXIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB3aXRoKHN0cl9fKXsKICAgICAgICB0cnkgewogICAgICAgICAgdmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHNlY29uZCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpIT09MykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fTsgIkFCQlxcdTAwNDFCQUJBQiIuaW5kZXhPZihfX29iaiwgX19vYmoyKT09PTMuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGFuZCB0aGV5IHRocm93IGV4Y2VwdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5pbmRleE9mPVN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGZpcnN0IGFuZCBzZWNvbmQgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19GQUNUT1JZKCB2YWx1ZSApIHsKICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICAgIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldyBOdW1iZXI7IH07CiAgICB0aGlzLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZSsiIn07Cn0KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gYmVnaW4gb2Ygc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbiBpbiB0aGUgc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgayApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoaSksIGsgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbisxIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdlOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpLCBrKzEgKSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoJytpKycpLCAnKyhrKzEpKycgKT09PS0xLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBiZWdpbiBvZiBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICh2YXIgayA9IDAsIGkgPSAweDAwMjA7IGkgPCAweDAwN2Q7IGkrKywgaysrICkgewogICAgaWYgKFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCAwICkhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsyKSksIDAgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search substring from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdkOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLGsgKSAhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCBrICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uKzEgaW4gdGhlIHN0cmluZwogKi8KCnZhciBURVNUX1NUUklORyA9IG5ldyBTdHJpbmcoICIgIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+IiApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IgKHZhciBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZDsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKCcraSsnKSsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzEpKycpICsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzIpKycpKSwgJysoaysxKSsnICk9PT0gLTEuIEFjdHVhbDogJytURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf has not prototype property","description":"Checking String.prototype.indexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiB2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.indexOf can't be used as constructor","description":"Checking if creating the String.prototype.indexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIGNvdW50PTA7Cgpmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.indexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcmF0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGg7CgpTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.lastIndexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsYXN0SW5kZXhPZiBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the lastIndexOf method is 1","description":"Checking String.prototype.lastIndexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKHRydWUsIGZhbHNlKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsgIF9faW5zdGFuY2UubGFzdEluZGV4T2YodHJ1ZSwgZmFsc2UpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZih0cnVlLCBmYWxzZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBsYXN0SW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudHMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBOYU47fX0KdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSA3KSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIE5hTjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjtsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gNy4gQWN0dWFsOiAnK2xhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgc3RyaW5nLCBhbmQgaW5zdGFuY2UgaXMgYXJyYXkgb2Ygc3RyaW5ncwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KCduZXcnLCd6b28nLCdyZXZ1ZScpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZihcJ3pvb1wnKSA9PT0gMS4gQWN0dWFsOiAnK19faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGJvb2xlYW4gZXF1YXRpb24sIGZ1bmN0aW9uIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7ICBfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBsYXN0SW5kZXhPZigpIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigiIiwwKQppZiAoIiIubGFzdEluZGV4T2YoKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiAiIi5sYXN0SW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5sYXN0SW5kZXhPZigpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBsYXN0SW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICE9PSAxMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpID09PSAxMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YoeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoInVuZGVmaW5lZCIsMCkKaWYgKFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh2b2lkIDApIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBsYXN0SW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHsKICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBpbmRleE9mKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGluZGV4T2YoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZihmdW5jdGlvbigpe30oKSkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBzZWNvbmQgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludGVnZXIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpIT09NykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7fX07ICJBQkJcXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpPT09Ny4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBhbmQgdGhleSB0aHJvdyBleGNlcHRpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07CnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAwMS4xMDAwMSk7Ck51bWJlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9U3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBmaXJzdCBhbmQgc2Vjb25kIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fTsKCnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX07CgpfX0ZBQ1RPUlkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAkRkFJTCgnIzE6IHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm90b3R5cGUgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf has not prototype property","description":"Checking String.prototype.lastIndexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.lastIndexOf can't be used as constructor","description":"Checking if creating the String.prototype.lastIndexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZil7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.localeCompare.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsb2NhbGVDb21wYXJlIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the localeCompare method is 1","description":"Checking String.prototype.localeCompare.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoaXMgc3RyaW5nIGlzIHN5bWJvbCBhbmQgYXJndW1lbnRzIGFyZSBzeW1ib2xzCiAqLwoKdmFyIHN0cjEgPSBuZXcgU3RyaW5nKCJoIik7IAovL0NIRUNLIzEKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiXHg2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzE6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHg2OCIpOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0wLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoKLy9DSEVDSyMyCnZhciBzdHIyID0gbmV3IFN0cmluZyAoIlx1MDA2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzI6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHUwMDY4Iik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9CgovL0NIRUNLIzMKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiaCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzM6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJoIik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9Cgo=","commentary":"String.prototype.localeCompare(that)","description":"This string is symbol and arguments are symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3RyaW5nXzEubG9jYWxlQ29tcGFyZShzdHJpbmdfMikgaXMgZXF1YWwgLXN0cmluZ18yLmxvY2FsZUNvbXBhcmUoc3RyaW5nXzEpCiAqLwoKLy9DSEVDSyMxCnZhciBzdHIxID0gImgiOwp2YXIgc3RyMiA9ICJIIjsKaWYgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PS1zdHIyLmxvY2FsZUNvbXBhcmUoc3RyMSkpewogICRFUlJPUignIzEuMTogdmFyIHN0cjEgPSAiaCI7IHZhciBzdHIyID0gIkgiOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0tc3RyMi5sb2NhbGVDb21wYXJlKHN0cjEpLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoK","commentary":"String.prototype.localeCompare(that)","description":"Call string_1.localeCompare(string_2) is equal -string_2.localeCompare(string_1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.localeCompare has not prototype property","description":"Checking String.prototype.localeCompare.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmU7IF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Cgo=","commentary":"String.prototype.localeCompare can't be used as constructor","description":"Checking if creating the String.prototype.localeCompare object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgY29udGFpbnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBTdHJpbmcgdmFsdWUgcmVwcmVzZW50ZWQgYnkgdGhpcyBTdHJpbmcgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5ncyBhbmQgY2hlY2sgaXRzIGxlbmd0aAogKi8KCnZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDYsIHdoZXJlIF9fc3RyX19pbnN0YW5jZSBpcyBuZXcgU3RyaW5nKCJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZzsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gMCwgd2hlcmUgX19zdHJfX2luc3RhbmNlIGlzIG5ldyBTdHJpbmcuIEFjdHVhbDogX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0nK19fc3RyX19pbnN0YW5jZS5sZW5ndGggKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"length property contains the number of characters in the String value represented by this String object","description":"Create strings and check its length","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHByb3AgaW4gX19zdHJfX2luc3RhbmNlKXsKICAgIGlmIChwcm9wID09PSAibGVuZ3RoIikgewogICAgICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0nKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontEnum}","description":"Checking if enumerating the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjUuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIF9fc3RyX19pbnN0YW5jZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBkZWxldGUgX19zdHJfX2luc3RhbmNlICE9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IGRlbGV0ZSBfX3N0cl9faW5zdGFuY2U7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontDelete}","description":"Checking if deleting the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX2luc3RhbmNlLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gOChhZnRlciByZWRlZmluZSBsZW5ndGggcHJvcGVydHkpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKd2l0aChfX3N0cl9faW5zdGFuY2UpCiAgICBsZW5ndGggPSAwOwogICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgd2l0aChfX3N0cl9faW5zdGFuY2UpIGxlbmd0aCA9IDA7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDgoYWZ0ZXIgcmVkZWZpbmUgbGVuZ3RoIHByb3BlcnR5IHdpdGggdXNpbmcgIndpdGgiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZS5sZW5ndGgrKzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCsrOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4KGFmdGVyIHJlZGVmaW5lIGxlbmd0aCBwcm9wZXJ0eSB3aXRoIHVzaW5nICIrKyIpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"length property has the attributes {ReadOnly}","description":"Checking if varying the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmNlIGEgU3RyaW5nIG9iamVjdCBpcyBjcmVhdGVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHVuY2hhbmdpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB2YWx1ZU9mIGFuZCB0b1N0cmluZyBvZiBTdHJpbmcgb2JqZWN0IGFuZCBjaGVjayBsZW5ndGggcHJvcGVydHkKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLnZhbHVlT2YgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsKX19zdHJfX2luc3RhbmNlLnRvU3RyaW5nID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UgIT0iZWQiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UudmFsdWVPZiA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UudG9TdHJpbmcgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsgX19zdHJfX2luc3RhbmNlID09ImVkIi4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UgPT0nK19fc3RyX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS52YWx1ZU9mID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07IF9fc3RyX19pbnN0YW5jZS50b1N0cmluZyA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Once a String object is created, the length property is unchanging","description":"Change valueOf and toString of String object and check length property","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nIGFuZCB0cnkgY2FsbCBpdAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgX19zdHIoKTsKICAkRkFJTCgnIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[call]] property","description":"Create new String and try call it","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIG5ldyAiU3RyaW5nKCJhfGIiKSgpIiBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcoImF8YiIpKCk7CiAgJEZBSUwoJyMxOiBTdHJpbmcoImF8YiIpKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[call]] property","description":"Checking if creating new \"String(\"a|b\")()\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBzdHJpbmcgb2JqZWN0IGFuZCB0cnkgbmV3IGNyZWF0ZWRfc3RyaW5nCiAqLwoKdmFyIF9fc3RyID0gbmV3IE9iamVjdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgbmV3IF9fc3RyOwogICRGQUlMKCcjMTogX19zdHIgPSBuZXcgT2JqZWN0KCIiKTsgIm5ldyBfX3N0ciIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[construct]] property","description":"Create new string object and try new created_string","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBTdHJpbmciIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyBuZXcgU3RyaW5nOwogICRGQUlMKCcjMTogIm5ldyBuZXcgU3RyaW5nIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[construct]] property","description":"Checking if creating \"new String\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBzdXBwb3J0cyBicmFja2V0IG5vdGF0aW9uIHRvIGxvb2t1cCBvZiBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIHMuZm9vID0gMTsNCiAgDQogIGlmIChzWyJmb28iXSA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object supports bracket notation to lookup of data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIHN1cHBvcnRzIGJyYWNrZXQgbm90YXRpb24gdG8gbG9va3VwIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value supports bracket notation to lookup data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbWlzc2luZyBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIA0KICBpZiAoc1siZm9vIl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGZvciBtaXNzaW5nIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoTmFOKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbTmFOXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (NaN) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoSW5maW5pdHkpIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tJbmZpbml0eV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (Infinity) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy01LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoIDJeMzItMSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBuZXcgU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW01hdGgucG93KDIsIDMyKS0xXT09PXVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index ( 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy02LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW05hTl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index (NaN) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy03LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbSW5maW5pdHldID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index (Infinity) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy04LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4ICggPj0gMl4zMi0xKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tNYXRoLnBvdygyLCAzMiktMV09PT11bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index ( >= 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBsZXNzIHRoYW4gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1stMV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGxlc3MgdGhhbiAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbLTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBncmVhdGVyIHRoYW4gdGhlIHN0cmluZyBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbMTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3RyaW5nIGxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzWzExXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFsdWVzIDEsIG5ldyBTdHJpbmcoIjEiKSwgbmV3IE9iamVjdCgxKSBhbmQgY2FsbGVkIHdpdGhvdXQgYXJndW1lbnQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBCb29sZWFuKCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgQm9vbGVhbigpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4oMSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgQm9vbGVhbigxKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oMSkrJyInKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbihuZXcgU3RyaW5nKCIxIikpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSsnIicpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW4obmV3IE9iamVjdCgxKSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpKyciJyk7Cn0KCgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used values 1, new String(\"1\"), new Object(1) and called without argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBudW1iZXIgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oMCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKDApKyciJyk7Cn0KaWYoIEJvb2xlYW4oMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbigwKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oMCkpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKC0xKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4oLTEpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigtMSkrJyInKTsKfQppZiggQm9vbGVhbigtMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMi4yOiBCb29sZWFuKC0xKSBzaG91bGQgYmUgdHJ1ZSwgYWN0dWFsIGlzICcrQm9vbGVhbigtMSkpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkrJyInKTsKfQppZiggQm9vbGVhbigtSW5maW5pdHkpICE9PSB0cnVlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbigtSW5maW5pdHkpIHNob3VsZCBiZSB0cnVlLCBhY3R1YWwgaXMgJytCb29sZWFuKC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKE5hTikgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKE5hTikgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKE5hTikrJyInKTsKfQppZiggQm9vbGVhbihOYU4pICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oTmFOKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oTmFOKSk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various number values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBzdHJpbmcgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigiMCIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbigiMCIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMCIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjAiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxLjI6IEJvb2xlYW4oIjAiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKCItMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMi4xOiB0eXBlb2YgQm9vbGVhbigiLTEiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oIi0xIikrJyInKTsKfQppZiggQm9vbGVhbigiLTEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyLjI6IEJvb2xlYW4oIi0xIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbigiMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMy4xOiB0eXBlb2YgQm9vbGVhbigiMSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oIjEiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKCJmYWxzZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNC4xOiB0eXBlb2YgQm9vbGVhbigiZmFsc2UiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oImZhbHNlIikrJyInKTsKfQppZiggQm9vbGVhbigiZmFsc2UiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oImZhbHNlIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigidHJ1ZSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oInRydWUiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM1LjI6IEJvb2xlYW4oInRydWUiKSBzaG91bGQgYmUgdHJ1ZScpOwp9Cgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various string values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyB1bmRlZmluZWQgdmFsdWVzIGFuZCBudWxsIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpKyciJyk7Cn0KaWYoIEJvb2xlYW4odW5kZWZpbmVkKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjMS4yOiBCb29sZWFuKHVuZGVmaW5lZCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4odm9pZCAwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4odm9pZCAwKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4odm9pZCAwKSsnIicpOwp9CmlmKCBCb29sZWFuKHZvaWQgMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih2b2lkIDApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKGZ1bmN0aW9uKCl7fSgpKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzMuMTogdHlwZW9mIEJvb2xlYW4oZnVuY3Rpb24oKXt9KCkpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihmdW5jdGlvbigpe30oKSkrJyInKTsKfQppZiggQm9vbGVhbihmdW5jdGlvbigpe30oKSkgIT09IGZhbHNlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbihmdW5jdGlvbigpe30oKSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4obnVsbCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKG51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihudWxsKSsnIicpOwp9CmlmKCBCb29sZWFuKG51bGwpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4obnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiggdHlwZW9mIEJvb2xlYW4oeCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM1LjE6IHZhciB4OyB0eXBlb2YgQm9vbGVhbih4KSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeCkrJyInKTsKfQppZiggQm9vbGVhbih4KSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiB2YXIgeDsgQm9vbGVhbih4KSBzaG91bGQgYmUgZmFsc2UnKTsKfQp2YXIgeDsKCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various undefined values and null as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBhc3NpZ25pbmcgdmFsdWVzIHRvIGFueSB2YXJpYWJsZSBhcyBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oeD0wKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oeD0wKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD0wKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9MCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbih4PTApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKHg9MSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyLjE6IHR5cGVvZiBCb29sZWFuKHg9MSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKHg9MSkrJyInKTsKfQppZiggQm9vbGVhbih4PTEpICE9PSB0cnVlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih4PTEpIHNob3VsZCBiZSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIEJvb2xlYW4oeD1mYWxzZSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKHg9ZmFsc2UpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PWZhbHNlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9ZmFsc2UpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oeD1mYWxzZSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4oeD10cnVlKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzQuMTogdHlwZW9mIEJvb2xlYW4oeD10cnVlKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD10cnVlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9dHJ1ZSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNC4yOiBCb29sZWFuKHg9dHJ1ZSkgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbih4PW51bGwpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbih4PW51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PW51bGwpKyciJyk7Cn0KaWYoIEJvb2xlYW4oeD1udWxsKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiBCb29sZWFuKHg9bnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various assigning values to any variable as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuKCkgcmV0dXJucyBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4xL1MxNS42LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBCb29sZWFuKCkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuKCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKCkrJyInKTsKfQoKLy9DSEVDSyMyCmlmKCBCb29sZWFuKCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzI6IEJvb2xlYW4oKSBzaG91bGQgYmUgZmFsc2UnKTsKfQoK","commentary":"Boolean() returns false","description":"Call Boolean() and check result","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEJvb2xlYW4gaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IGFuZCBpdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCIjMTogdHlwZW9mIG5ldyBCb29sZWFuKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4oKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjMjogbmV3IEJvb2xlYW4oKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDQgPSBuZXcgQm9vbGVhbigpOwppZih4NCA9PT0gdW5kZWZpbmVkKXsKICAkRVJST1IoIiM0OiBuZXcgQm9vbGVhbigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgQm9vbGVhbigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oMSkgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUigiIzY6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNwp2YXIgeDcgPSBuZXcgQm9vbGVhbigxKTsKaWYodHlwZW9mIHg3ICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjNzogdHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAnb2JqZWN0JyIpOwp9CgovL0NIRUNLIzgKdmFyIHg4ID0gbmV3IEJvb2xlYW4oMSk7CmlmKHg4ID09PSB1bmRlZmluZWQpewogICRFUlJPUigiIzg6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Boolean is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgQm9vbGVhbi5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICovCgovLyBDSEVDSyMxCnZhciB4MSA9IG5ldyBCb29sZWFuKDEpOwppZiAodHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgeDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgovL0NIRUNLIzIKdmFyIHgyID0gbmV3IEJvb2xlYW4oMik7CmlmICghQm9vbGVhbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MikpIHsKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKScpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oMyk7CmlmIChCb29sZWFuLnByb3RvdHlwZSAhPT0geDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMzogQm9vbGVhbi5wcm90b3R5cGUgPT09IHgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Boolean prototype object, the one that is the\ninitial value of Boolean.prototype","description":"Checking prototype property of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IEJvb2xlYW4oMSk7CmlmICh4MS52YWx1ZU9mKCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDEgPSBuZXcgQm9vbGVhbigxKTsgeDEudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgQm9vbGVhbigpOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4MiA9IG5ldyBCb29sZWFuKCk7IHgyLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCnZhciB4MiA9IG5ldyBCb29sZWFuKDApOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4MiA9IG5ldyBCb29sZWFuKDApOyB4Mi52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDIgPSBuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpOwppZiAoeDIudmFsdWVPZigpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHgyID0gbmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKTsgeDIudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nis set to ToBoolean(value)","description":"Checking value of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJCb29sZWFuIgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4yL1MxNS42LjIuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdG9TdHJpbmcgZnVuY3Rpb24gaXMgdXNlZAogKi8KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCnZhciBvYmogPSBuZXcgQm9vbGVhbigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgQm9vbGVhbl0iKSB7CiAgJEVSUk9SKCcjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiQm9vbGVhbiInKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Boolean\"","description":"For testing toString function is used","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvUzE1LjYuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKi8KCmlmKCFCb29sZWFuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Boolean constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMy9TMTUuNi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgdGhlIEJvb2xlYW4gY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbikpKSB7CiAgJEVSUk9SKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Boolean\nconstructor is the Function prototype object","description":"Checking prototype of the Boolean constructor","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zL1MxNS42LjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4ubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghQm9vbGVhbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogQm9vbGVhbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Boolean constructor has length property whose value is 1","description":"Checking Boolean.length property","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZSBpcyB0aGUgQm9vbGVhbgogKiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuLnByb3RvdHlwZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The initial value of Boolean.prototype is the Boolean\nprototype object","description":"Checking Boolean.prototype property","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCnggPSBCb29sZWFuLnByb3RvdHlwZTsKQm9vbGVhbi5wcm90b3R5cGUgPSAxOwppZiAoQm9vbGVhbi5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute ReadOnly","description":"Checking if varying the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute DontDelete","description":"Checking if deleting the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEJvb2xlYW4ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih4IGluIEJvb2xlYW4pIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCmlmIChCb29sZWFuLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Boolean.prototype has the attribute DontEnum","description":"Checking if enumerating the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogYnVpbHQtaW4gQm9vbGVhbiBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIEJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYoQm9vbGVhbi5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEJvb2xlYW4pewogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBCb29sZWFuJyk7Cn0KCg==","commentary":"The initial value of Boolean.prototype.constructor is the\nbuilt-in Boolean constructor","description":"Compare Boolean.prototype.constructor with Boolean","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiZmFsc2UiKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudG9TdHJpbmcoKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoKSAhPT0gInRydWUiKXsKICAkRVJST1IoJyM0OiAobmV3IEJvb2xlYW4odHJ1ZSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS50b1N0cmluZygpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoKSA9PT0gInRydWUiJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4oMCkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcoKSA9PT0gImZhbHNlIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9Cgo=","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIHdpdGggc29tZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKHRydWUpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oZmFsc2UpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS50b1N0cmluZyhmYWxzZSkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKGZhbHNlKSA9PT0gInRydWUiJyk7Cn0KCg==","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"with some argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgTnVtYmVyIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBOdW1iZXIoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbigwKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKDApKS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbigtMSkpLnZhbHVlT2YoKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpICE9PSB0cnVlKXsKICAkRVJST1IoJyM2OiAobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgd2l0aCBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKC0xKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNjogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnZhbHVlT2YoZmFsc2UpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"calling with argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBOdW1iZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE51bWJlcigpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEJvb2xlYW4gb2JqZWN0CiAqIChpdHMgW1tDbGFzc11dIGlzICJCb29sZWFuIikgd2hvc2UgdmFsdWUgaXMgZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The Boolean prototype object is itself a Boolean object\n(its [[Class]] is \"Boolean\") whose value is false","description":"Checking type and value of Boolean.prototype","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbi5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmICghT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEJvb2xlYW4ucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Boolean\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Boolean.prototype)","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoW3ZhbHVlXSkgcmV0dXJucyBhIG51bWJlciB2YWx1ZSAobm90IGEgTnVtYmVyIG9iamVjdCkgY29tcHV0ZWQgYnkgVG9OdW1iZXIodmFsdWUpIGlmIHZhbHVlIHdhcyBzdXBwbGllZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4xL1MxNS43LjEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCB2YWx1ZXMgIjEwIiwgMTAsIG5ldyBTdHJpbmcoIjEwIiksIG5ldyBPYmplY3QoMTApIGFuZCAiYWJjIgogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIE51bWJlcigiMTAiKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigiMTAiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCIxMCIpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIE51bWJlcigxMCkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXIoMTApIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoMTApKyciJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKG5ldyBTdHJpbmcoIjEwIikpKyciJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIE51bWJlcihuZXcgT2JqZWN0KDEwKSkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzQ6IHR5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpKyciJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYoIHR5cGVvZiBOdW1iZXIoImFiYyIpICE9PSAibnVtYmVyIiApIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTnVtYmVyKCJhYmMiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCJhYmMiKSsnIicpOwp9CgovL0NIRUNLICM2CmlmKCAhaXNOYU4oTnVtYmVyKCJhYmMiKSkpIHsKCSRFUlJPUignIzY6IE51bWJlcigiYWJjIikpIHNob3VsZCBiZSBOYU4nKTsKfQoK","commentary":"Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied","description":"Used values \"10\", 10, new String(\"10\"), new Object(10) and \"abc\"","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoKSByZXR1cm5zICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjEvUzE1LjcuMS4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIE51bWJlcigpIGFuZCBjaGVjayByZXN1bHQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBOdW1iZXIoKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoKSsnIicpOwp9CgovL0NIRUNLIzIKaWYoIE51bWJlcigpICE9PSAwICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSAwLCBhY3R1YWwgaXMgJytOdW1iZXIoKSk7Cn0gZWxzZSBpZiggMS9OdW1iZXIoKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSArMCwgYWN0dWFsIGlzICcrTnVtYmVyKCkpOwp9CgoK","commentary":"Number() returns +0","description":"Call Number() and check result","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIE51bWJlciBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uIGl0IGlzCiAqIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4yL1MxNS43LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdHlwZSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QgYW5kIGl0IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbmV3IE51bWJlcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzE6IHR5cGVvZiBuZXcgTnVtYmVyKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigpID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoIiMyOiBuZXcgTnVtYmVyKCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBOdW1iZXIoKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM0CnZhciB4NCA9IG5ldyBOdW1iZXIoKTsKaWYoeDQgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjNDogbmV3IE51bWJlcigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBOdW1iZXIoMTApICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgTnVtYmVyKDEwKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjNjogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyM3CnZhciB4NyA9IG5ldyBOdW1iZXIoMTApOwppZih0eXBlb2YgeDcgIT09ICJvYmplY3QiKXsKICAkRVJST1IoIiM3OiB0eXBlb2YgbmV3IE51bWJlcigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjOAp2YXIgeDggPSBuZXcgTnVtYmVyKDEwKTsKaWYoeDggPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjODogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Number is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUKICogaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cwogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IE51bWJlcigxKTsKaWYgKHR5cGVvZiB4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCnZhciB4MiA9IG5ldyBOdW1iZXIoMik7CmlmICghTnVtYmVyLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKSkgewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MiknKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoMyk7CmlmIChOdW1iZXIucHJvdG90eXBlICE9PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlID09PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Number prototype object, the one that is the\ninitial value of Number.prototype","description":"Checking prototype property of the newly created objects","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvTnVtYmVyKHZhbHVlKSBpZiB2YWx1ZSB3YXMgc3VwcGxpZWQsIGVsc2UgdG8gKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMi9TMTUuNy4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDEgPSBuZXcgTnVtYmVyKDEpOwppZiAoeDEudmFsdWVPZigpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHgxID0gbmV3IE51bWJlcigxKTsgeDEudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgTnVtYmVyKCk7CmlmICh4Mi52YWx1ZU9mKCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSAwJyk7Cn0gZWxzZSBpZiggMS94Mi52YWx1ZU9mKCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMyLjI6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSArMCcpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set to ToNumber(value) if value was supplied, else to +0","description":"Checking value of the newly created object","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJOdW1iZXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBGb3IgdGVzdGluZyB0b1N0cmluZyBmdW5jdGlvbiBpcyB1c2VkCiAqLwoKZGVsZXRlIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7Cgp2YXIgb2JqID0gbmV3IE51bWJlcigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Number\"","description":"For testing toString function is used","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0ICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpOw0KICBpZiAocCA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object (using getPrototypeOf)","path":"TestCases/ch15/15.7/15.7.3/15.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Number constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1BWF9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNQVhfVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUFYX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUFYX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MAX_VALUE\"","description":"Checking existence of the property \"MAX_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1JTl9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNSU5fVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUlOX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUlOX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MIN_VALUE\"","description":"Checking existence of the property \"MIN_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJOYU4iCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTmFOIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTmFOIicpOwp9CgoK","commentary":"The Number constructor has the property \"NaN\"","description":"Checking existence of the property \"NaN\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIk5FR0FUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTkVHQVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"NEGATIVE_INFINITY\"","description":"Checking existence of the property \"NEGATIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIlBPU0lUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiUE9TSVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"POSITIVE_INFINITY\"","description":"Checking existence of the property \"POSITIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTnVtYmVyKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nconstructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Number)","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvUzE1LjcuM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IE51bWJlciBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE51bWJlciBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Number constructor has length property whose value is 1","description":"Checking Number.length property","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAncHJvdG90eXBlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Number.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUsIGluaXRpYWwgdmFsdWUgaXMgdGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gYXNzdW1lIHRoYXQgTnVtYmVyLnByb3RvdHlwZSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuDQogIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IE51bWJlcig0MikpPT09TnVtYmVyLnByb3RvdHlwZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number.prototype, initial value is the Number prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBOdW1iZXIucHJvdG90eXBlOwpOdW1iZXIucHJvdG90eXBlID0gMTsKaWYgKE51bWJlci5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if varying the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghTnVtYmVyLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkgewogICRGQUlMKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if deleting the Number.prototype property fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCg==","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if enumerating the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIGRlbGV0aW5nIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\ndeleting Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIG92ZXJ3cml0aW5nIG9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\noverwriting of Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIHZhbHVlIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9Cgo=","commentary":"Number.prototype value is +0","description":"Checking value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgMS43OTc2OTMxMzQ4NjIzMTU3ZTMwOAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy4yL1MxNS43LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLk1BWF9WQUxVRSB2YWx1ZQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChOdW1iZXIuTUFYX1ZBTFVFLCAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgYXBwcm94aW1hdGVseSBlcXVhbCB0byAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is approximately 1.7976931348623157e308","description":"Checking Number.MAX_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1BWF9WQUxVRTsKTnVtYmVyLk1BWF9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUFYX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NQVhfVkFMVUU7IE51bWJlci5NQVhfVkFMVUUgPSAxOyBOdW1iZXIuTUFYX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is ReadOnly","description":"Checking if varying Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMi9TMTUuNy4zLjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.MAX_VALUE is DontDelete","description":"Checking if deleting Number.MAX_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUFYX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUFYX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1BWF9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUFYX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MAX_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgNWUtMzI0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIuTUlOX1ZBTFVFIHZhbHVlCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE51bWJlci5NSU5fVkFMVUUsIDVlLTMyNCkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUlOX1ZBTFVFIGFwcHJveGltYXRlbHkgZXF1YWwgdG8gNWUtMzI0Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is approximately 5e-324","description":"Checking Number.MIN_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1JTl9WQUxVRTsKTnVtYmVyLk1JTl9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUlOX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NSU5fVkFMVUU7IE51bWJlci5NSU5fVkFMVUUgPSAxOyBOdW1iZXIuTUlOX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is ReadOnly","description":"Checking if varying Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMy9TMTUuNy4zLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.MIN_VALUE is DontDelete","description":"Checking if deleting Number.MIN_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUlOX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUlOX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1JTl9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUlOX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MIN_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIE5vdC1hLU51bWJlcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy40L1MxNS43LjMuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4oTnVtYmVyLk5hTikKICovCgovLyBDSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=","commentary":"Number.NaN is Not-a-Number","description":"Checking isNaN(Number.NaN)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5OYU4gZmFpbHMKICovCgovLyBDSEVDSyMxCk51bWJlci5OYU4gPSAxOwppZiAoaXNOYU4oTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOID0gMTsgTnVtYmVyLk5hTiA9PT0gTm90LWEtTnVtYmVyJyk7Cn0KCg==","commentary":"Number.NaN is ReadOnly","description":"Checking if varying Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNC9TMTUuNy4zLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5OYU4gZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5OYU4gIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.NaN is DontDelete","description":"Checking if deleting Number.NaN fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTmFOIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTmFOIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5hTiBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTmFOJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NaN has the attribute DontEnum","description":"Checking if enumerating Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjUvUzE1LjcuMy41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IC1JbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.NEGATIVE_INFINITY is -Infinity","description":"Checking sign and finiteness of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gLUluZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSAtSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY is ReadOnly","description":"Checking if varying Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy41L1MxNS43LjMuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.NEGATIVE_INFINITY is DontDelete","description":"Checking if deleting Number.NEGATIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIk5FR0FUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdORUdBVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjYvUzE1LjcuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09ICtJbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.POSITIVE_INFINITY is +Infinity","description":"Checking sign and finiteness of Number.POSITIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gK0luZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSArSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.POSITIVE_INFINITY is ReadOnly","description":"Checking if varying Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy42L1MxNS43LjMuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.POSITIVE_INFINITY is DontDelete","description":"Checking if deleting Number.POSITIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIlBPU0lUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdQT1NJVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.POSITIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgcHJvdG90eXBlIG9iamVjdDogaXRzIFtbQ2xhc3NdXSBtdXN0IGJlICdOdW1iZXInDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG51bVByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKTsNCiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVtUHJvdG8gKTsNCiAgcmV0dXJuIChzID09PSAnW29iamVjdCBOdW1iZXJdJykgOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number prototype object: its [[Class]] must be 'Number'","path":"TestCases/ch15/15.7/15.7.4/15.7.4-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgTnVtYmVyIG9iamVjdAogKiAoaXRzIFtbQ2xhc3NdXSBpcyAiTnVtYmVyIikgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC9TMTUuNy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The Number prototype object is itself a Number object\n(its [[Class]] is \"Number\") whose value is +0","description":"Checking type and value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKQogKi8KCi8vQ0hFQ0sjMQppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Number.prototype)","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcicpOwp9CgoK","commentary":"The Number prototype object has the property constructor","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toLocaleString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB2YWx1ZU9mCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy40LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWVPZicpOwp9CgoK","commentary":"The Number prototype object has the property valueOf","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0ZpeGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy41LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRml4ZWQiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9GaXhlZCcpOwp9CgoK","commentary":"The Number prototype object has the property toFixed","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0V4cG9uZW50aWFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy42LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRXhwb25lbnRpYWwiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9FeHBvbmVudGlhbCcpOwp9CgoK","commentary":"The Number prototype object has the property toExponential","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbicpOwp9CgoK","commentary":"The Number prototype object has the property toPrecision","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZQogKiBidWlsdC1pbiBOdW1iZXIgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuMS9TMTUuNy40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIE51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IE51bWJlcicpOwp9CgoK","commentary":"The initial value of Number.prototype.constructor is the\nbuilt-in Number constructor","description":"Compare Number.prototype.constructor with Number","path":"TestCases/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIHVuZGVmaW5lZCByYWRpeAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"undefined radix","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEwCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTApICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEwKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEwKSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTApID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTApICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSAhPT0gIi1JbmZpbml0eSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is 10","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIHVuZGVmaW5lZCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is undefined value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDIpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 2","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 3","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDQpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 4","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDUpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDUpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 5","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDYpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDYpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 6","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDcpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDcpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 7","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDgpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDgpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 8","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 9","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDExKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDExKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 11","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 12","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 13","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 14","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 15","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 16","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 17","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 18","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 19","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 20","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 22","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 23","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 24","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 25","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 26","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 27","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 28","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 29","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 30","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 31","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 32","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 33","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 34","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 35","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 36","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDEuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcigxKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzYKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCg==","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 1","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDM3CiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgbiA9TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzgKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 37","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIG51bGwgdmFsdWUKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is null value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDQuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDAKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygwKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 0","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgQm9vbGVhbiBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgQm9vbGVhbigpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlUb1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB3aXRob3V0IGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgIT09IDApewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigpICE9PSAtMSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS52YWx1ZU9mKCkgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudmFsdWVPZigpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgppZighaXNOYU4oKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoKSkpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCkgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSA9PT0gSW5maW5pdHknKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgPT09IC1JbmZpbml0eScpOwp9Cgo=","commentary":"Number.prototype.valueOf() returns this number value","description":"Call without argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gY2FsbGluZyB3aXRoIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gLTEpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgTnVtYmVyKDEpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYoIWlzTmFOKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCJhcmd1bWVudCIpKSl7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSBJbmZpbml0eScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAtSW5maW5pdHknKTsKfQoK","commentary":"Number.prototype.valueOf() returns this number value","description":"calling with argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBCb29sZWFuIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBCb29sZWFuKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlWYWx1ZU9mID0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDApICE9PSAiMCIpewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgIT09ICIwLjAiKXsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgPT09ICIwLjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMS4xKSAhPT0gIjAuMCIpewogICRFUlJPUignIzQ6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgxLjEpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzUKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjNTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIxIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM2OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEiKSA9PT0gIjAuMCInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMS4xIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM3OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEuMSIpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIwLjkiKSAhPT0gIjAiKXsKICAkRVJST1IoJyM4OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjAuOSIpID09PSAiMCInKTsKfQoKLy9DSEVDSyM5CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgic29tZSBzdHJpbmciKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoLTAuMSkgIT09ICIwIil7CiAgICAkRVJST1IoJyMxMDogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKC0wLjEpID09PSAiMCInKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number prototype object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgpICE9PSAiMSIpewogICRFUlJPUignIzE6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDApICE9PSAiMSIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgxKSAhPT0gIjEuMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIjEuMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEuMSkgIT09ICIxLjAiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgxLjEpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoMC45KSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgwLjkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxIikgIT09ICIxLjAiKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgiMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpICE9PSAiMS4wIil7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjAuOSIpICE9PSAiMSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjEiKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09ICIxIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSAhPT0gIjEiKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSA9PT0gIjEiJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDEuanMKICogQGRlc2NyaXB0aW9uIE5hTiBpcyBjb21wdXRlZCBieSBuZXcgTnVtYmVyKCJzdHJpbmciKQogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigiYSIpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIxLjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjAuOSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5OYU4pICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgic29tZSBzdHJpbmciKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAp0cnl7CiAgcyA9IChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoK","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"NaN is computed by new Number(\"string\")","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDIuanMKICogQGRlc2NyaXB0aW9uIGRpcmVjdCB1c2FnZSBvZiBOYU4KICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMgppZihOdW1iZXIuTmFOLnRvRml4ZWQoMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKDEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk5hTi5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM0CmlmKE51bWJlci5OYU4udG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk5hTi50b0ZpeGVkKDEuMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNQppZihOdW1iZXIuTmFOLnRvRml4ZWQoMC45KSAhPT0gIk5hTiIpewogICRFUlJPUignIzU6IE51bWJlci5OYU4udG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIxIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5OYU4udG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEuMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIwLjkiKSAhPT0gIk5hTiIpewogICRFUlJPUignIzg6IE51bWJlci5OYU4udG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZihOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM5OiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gTnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5OYU4udG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"direct usage of NaN","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDk6IElmIHggPj0gMTBeMjEsIGxldCBtID0gVG9TdHJpbmcoeCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgMTBeMjEKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoMCkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMWUyMSkpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDEuMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMS4xKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwLjkpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDAuOSkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMSIpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIxLjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMS4xIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjAuOSIpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90IHJldHVybiBOYU4nKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSl7CiAgICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 9: If x >= 10^21, let m = ToString(x)","description":"x is 10^21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0ZpeGVkIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjUvUzE1LjcuNC41X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyIHByb3RvdHlwZSBpdHNlbGYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmxlbmd0aCAhPT0gMSl7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the toFixed method is 1","description":"Checking Number prototype itself","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgImNvbnN0cnVjdG9yIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkuY29uc3RydWN0b3IgIT09IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAiY29uc3RydWN0b3IiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property constructor","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9TdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9Mb2NhbGVTdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9Mb2NhbGVTdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toLocaleString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdmFsdWVPZgogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ2YWx1ZU9mIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZiAhPT0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInZhbHVlT2YiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property valueOf","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9GaXhlZAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9GaXhlZCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0ZpeGVkIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9GaXhlZCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRml4ZWQiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toFixed","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9FeHBvbmVudGlhbAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9FeHBvbmVudGlhbCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0V4cG9uZW50aWFsIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9FeHBvbmVudGlhbCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRXhwb25lbnRpYWwiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toExponential","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9QcmVjaXNpb24KICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvUHJlY2lzaW9uIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvUHJlY2lzaW9uIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9QcmVjaXNpb24gIT09IE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9QcmVjaXNpb24iIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toPrecision","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkUgaXMgYXBwcm94aW1hdGVseSAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMS9TMTUuOC4xLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLkUgd2l0aCAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5FLCAyLjcxODI4MTgyODQ1OTA0NTIzNTQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkUgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi43MTgyODE4Mjg0NTkwNDUyMzU0XCcnKTsKfQoK","commentary":"Math.E is approximately 2.7182818284590452354","description":"Comparing Math.E with 2.7182818284590452354","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJFIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property E of the Math Object has the attribute DontEnum","description":"Checking if Math.E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjEvUzE1LjguMS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5FID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiBcJ01hdGguRSA9PT0gdHJ1ZVwnJyk7Cn0KCgo=","commentary":"Value Property E of the Math Object has the attribute DontDelete","description":"Checking if Math.E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5FO01hdGguRSA9IDE7TWF0aC5FID09PSB4XCcnKTsKfQoK","commentary":"Value Property E of the Math Object has the attribute ReadOnly","description":"Checking if Math.E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMTAgaXMgYXBwcm94aW1hdGVseSAyLjMwMjU4NTA5Mjk5NDA0NgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4xMCB3aXRoIDIuMzAyNTg1MDkyOTk0MDQ2CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4xMCwgMi4zMDI1ODUwOTI5OTQwNDYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMTAgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi4zMDI1ODUwOTI5OTQwNDZcJycpOwp9Cgo=","commentary":"Math.LN10 is approximately 2.302585092994046","description":"Comparing Math.LN10 with 2.302585092994046","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkxOMTAiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJMTjEwIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property LN10 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN10 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjIvUzE1LjguMS4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMTAgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5MTjEwID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogVmFsdWUgUHJvcGVydHkgTE4xMCBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxOMTAgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN10 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN10 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMTA7Ck1hdGguTE4xMCA9IDE7CmlmIChNYXRoLkxOMTAgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMTAgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MTjEwO01hdGguTE4xMCA9IDE7TWF0aC5MTjEwID09PSB4XCcnKTsKfQoK","commentary":"Value Property LN10 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN10 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMiBpcyBhcHByb3hpbWF0ZWx5IDAuNjkzMTQ3MTgwNTU5OTQ1MwogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4zL1MxNS44LjEuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4yIHdpdGggMC42OTMxNDcxODA1NTk5NDUzCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4yLCAwLjY5MzE0NzE4MDU1OTk0NTMpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMiBpcyBub3QgYXBwcm94aW1hdGVseSBlcXVhbCB0byAwLjY5MzE0NzE4MDU1OTk0NTNcJycpOwp9Cgo=","commentary":"Math.LN2 is approximately 0.6931471805599453","description":"Comparing Math.LN2 with 0.6931471805599453","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMTjIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxOMiJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LN2 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMy9TMTUuOC4xLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE4yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE4yID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MTjIgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN2 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMjsKTWF0aC5MTjIgPSAxOwppZiAoTWF0aC5MTjIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMiBoYXNuXCd0IFJlYWRPbmx5OiBcJ3ggPSBNYXRoLkxOMjtNYXRoLkxOMiA9IDE7TWF0aC5MTjIgPT09IHhcJycpOwp9Cgo=","commentary":"Value Property LN2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzJFIGlzIGFwcHJveGltYXRlbHkgMS40NDI2OTUwNDA4ODg5NjM0CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjQvUzE1LjguMS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5MT0cyRSB3aXRoIDEuNDQyNjk1MDQwODg4OTYzNAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLkxPRzJFLCAxLjQ0MjY5NTA0MDg4ODk2MzQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzJFIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDQyNjk1MDQwODg4OTYzNFwnJyk7Cn0KCg==","commentary":"Math.LOG2E is approximately 1.4426950408889634","description":"Comparing Math.LOG2E with 1.4426950408889634","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiTE9HMkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iTE9HMkUifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property LOG2E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG2E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS40L1MxNS44LjEuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MT0cyRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkxPRzJFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxPRzJFID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property LOG2E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG2E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguTE9HMkU7Ck1hdGguTE9HMkUgPSAxOwppZiAoTWF0aC5MT0cyRSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguTE9HMkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cyRTtNYXRoLkxPRzJFID0gMTtNYXRoLkxPRzJFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG2E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG2E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzEwRSBpcyBhcHByb3hpbWF0ZWx5IDAuNDM0Mjk0NDgxOTAzMjUxOAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS41L1MxNS44LjEuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE9HMTBFIHdpdGggMC40MzQyOTQ0ODE5MDMyNTE4CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE9HMTBFLCAwLjQzNDI5NDQ4MTkwMzI1MTgpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzEwRSBpcyBub3QgYXBwcm94aW1hdGxleSBlcXVhbCB0byAgMC40MzQyOTQ0ODE5MDMyNTE4XCcnKTsKfQoK","commentary":"Math.LOG10E is approximately 0.4342944819032518","description":"Comparing Math.LOG10E with 0.4342944819032518","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMT0cxMEUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxPRzEwRSJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LOG10E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG10E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNS9TMTUuOC4xLjVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMTBFIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE9HMTBFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MT0cxMEUgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LOG10E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG10E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTWF0aC5MT0cxMEU7Ck1hdGguTE9HMTBFID0gMTsKaWYgKE1hdGguTE9HMTBFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogTWF0aC5MT0cxMEUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cxMEU7TWF0aC5MT0cxMEUgPSAxO01hdGguTE9HMTBFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG10E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG10E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlBJIGlzIGFwcHJveGltYXRlbHkgMy4xNDE1OTI2NTM1ODk3OTMyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjYvUzE1LjguMS42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5QSSB3aXRoIDMuMTQxNTkyNjUzNTg5NzkzMgogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlBJLCAzLjE0MTU5MjY1MzU4OTc5MzIpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlBJIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDMuMTQxNTkyNjUzNTg5NzkzMlwnJyk7Cn0KCgo=","commentary":"Math.PI is approximately 3.1415926535897932","description":"Comparing Math.PI with 3.1415926535897932","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiUEkiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iUEkifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property PI of the Math Object has the attribute DontEnum","description":"Checking if Math.PI property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS42L1MxNS44LjEuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5QSSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlBJID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlBJID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property PI of the Math Object has the attribute DontDelete","description":"Checking if Math.PI property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguUEk7Ck1hdGguUEkgPSAxOwppZiAoTWF0aC5QSSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguUEkgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5QSTtNYXRoLlBJID0gMTtNYXRoLlBJID09PSB4XCcnKTsKfQoK","commentary":"Value Property PI of the Math Object has the attribute ReadOnly","description":"Checking if Math.PI property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQxXzIgaXMgYXBwcm94aW1hdGVseSAwLjcwNzEwNjc4MTE4NjU0NzYKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNy9TMTUuOC4xLjdfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLlNRUlQxXzIgd2l0aCAwLjcwNzEwNjc4MTE4NjU0NzYKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5TUVJUMV8yLCAwLjcwNzEwNjc4MTE4NjU0NzYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQxXzIgaXMgbm90IGFwcHJveGltYXRsZXkgZXF1YWwgdG8gIDAuNzA3MTA2NzgxMTg2NTQ3NlwnJyk7Cn0KCgo=","commentary":"Math.SQRT1_2 is approximately 0.7071067811865476","description":"Comparing Math.SQRT1_2 with 0.7071067811865476","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIlNRUlQxXzIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJTUVJUMV8yIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT1_2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjcvUzE1LjguMS43X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLlNRUlQxXzIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5TUVJUMV8yID09PSB0cnVlKSB7CiAgJEVSUk9SKCIjMTogVmFsdWUgUHJvcGVydHkgU1FSVDFfMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzbid0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiAnTWF0aC5TUVJUMV8yID09PSB0cnVlJyIpOwp9CgoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT1_2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLlNRUlQxXzI7Ck1hdGguU1FSVDFfMiA9IDE7CmlmIChNYXRoLlNRUlQxXzIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLlNRUlQxXzIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMV8yO01hdGguU1FSVDFfMiA9IDE7TWF0aC5TUVJUMV8yID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT1_2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQyIGlzIGFwcHJveGltYXRlbHkgMS40MTQyMTM1NjIzNzMwOTUxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjgvUzE1LjguMS44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5TUVJUMiB3aXRoIDEuNDE0MjEzNTYyMzczMDk1MQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlNRUlQyLCAxLjQxNDIxMzU2MjM3MzA5NTEpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQyIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDE0MjEzNTYyMzczMDk1MVwnJyk7Cn0KCgo=","commentary":"Math.SQRT2 is approximately 1.4142135623730951","description":"Comparing Math.SQRT2 with 1.4142135623730951","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiU1FSVDIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iU1FSVDIifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property SQRT2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS44L1MxNS44LjEuOF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlNRUlQyID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlNRUlQyID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property SQRT2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguU1FSVDI7Ck1hdGguU1FSVDIgPSAxOwppZiAoTWF0aC5TUVJUMiAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguU1FSVDIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMjtNYXRoLlNRUlQyID0gMTtNYXRoLlNRUlQyID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hYnMoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicyhOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5hYnMoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFicyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.abs(x) is NaN","description":"Checking if Math.abs(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmFicyh4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xL1MxNS44LjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hYnMoLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguYWJzKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmFicyh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is -0, Math.abs(x) is +0","description":"Checking if Math.abs(-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5hYnMoeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicygtSW5maW5pdHkpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSciKTsKfQoK","commentary":"If x is -Infinity, Math.abs(x) is +Infinity","description":"Checking if Math.abs(-Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5sb2coeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.log(x) is NaN","description":"Checking if Math.log(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAwLCBNYXRoLmxvZyh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGxlc3MgdGhhbiAwCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMC4wMDAwMDAwMDAwMDAwMDE7IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0xOwppZiAoIWlzTmFOKE1hdGgubG9nKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0xOyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5sb2coeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LUluZmluaXR5OyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than 0, Math.log(x) is NaN","description":"Checking if Math.log(x) is NaN, where x is less than 0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIG9yIC0wLCBNYXRoLmxvZyh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coKzApIGFuZCBNYXRoLmxvZygtMCkgZXF1YWxzIHRvIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGgubG9nKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSciKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgeCA9IC0wOwppZiAoTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmxvZyh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +0 or -0, Math.log(x) is -Infinity","description":"Checking if Math.log(+0) and Math.log(-0) equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIDEsIE1hdGgubG9nKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKDEpIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAxOwppZiAoTWF0aC5sb2coeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9MTsgTWF0aC5sb2coeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is 1, Math.log(x) is +0","description":"Checking if Math.log(1) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5sb2coeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKCtJbmZpbml0eSkgZXF1YWxzIHRvICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmIChNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5KQp7CgkkRVJST1IoIiMxOiAndmFyIHg9K0luZmluaXR5OyBNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.log(x) is +Infinity","description":"Checking if Math.log(+Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmxvZywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMC9TMTUuOC4yLjEwX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmxvZyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeFsxXSA9IDAuMjUzOTY4MjUzOTY4MjUzOTUwMDA7CnhbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4WzNdID0gMC43NjE5MDQ3NjE5MDQ3NjE4NjAwMDsKeFs0XSA9IDEuMDE1ODczMDE1ODczMDE1ODAwMDA7CnhbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4WzZdID0gMS41MjM4MDk1MjM4MDk1MjM3MDAwMDsKeFs3XSA9IDEuNzc3Nzc3Nzc3Nzc3Nzc3NzAwMDA7CnhbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4WzldID0gMi4yODU3MTQyODU3MTQyODU2MDAwMDsKeFsxMF0gPSAyLjUzOTY4MjUzOTY4MjUzOTUwMDAwOwp4WzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CnhbMTJdID0gMy4wNDc2MTkwNDc2MTkwNDc0MDAwMDsKeFsxM10gPSAzLjMwMTU4NzMwMTU4NzMwMTQwMDAwOwp4WzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CnhbMTVdID0gMy44MDk1MjM4MDk1MjM4MDkzMDAwMDsKeFsxNl0gPSA0LjA2MzQ5MjA2MzQ5MjA2MzMwMDAwOwp4WzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CnhbMThdID0gNC41NzE0Mjg1NzE0Mjg1NzEyMDAwMDsKeFsxOV0gPSA0LjgyNTM5NjgyNTM5NjgyNTEwMDAwOwp4WzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CnhbMjFdID0gNS4zMzMzMzMzMzMzMzMzMzMwMDAwMDsKeFsyMl0gPSA1LjU4NzMwMTU4NzMwMTU4NzAwMDAwOwp4WzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CnhbMjRdID0gNi4wOTUyMzgwOTUyMzgwOTQ5MDAwMDsKeFsyNV0gPSA2LjM0OTIwNjM0OTIwNjM0ODkwMDAwOwp4WzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CnhbMjddID0gNi44NTcxNDI4NTcxNDI4NTY4MDAwMDsKeFsyOF0gPSA3LjExMTExMTExMTExMTExMDcwMDAwOwp4WzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CnhbMzBdID0gNy42MTkwNDc2MTkwNDc2MTg2MDAwMDsKeFszMV0gPSA3Ljg3MzAxNTg3MzAxNTg3MjYwMDAwOwp4WzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CnhbMzNdID0gOC4zODA5NTIzODA5NTIzODE0MDAwMDsKeFszNF0gPSA4LjYzNDkyMDYzNDkyMDYzNDQwMDAwOwp4WzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbMzZdID0gOS4xNDI4NTcxNDI4NTcxNDIzMDAwMDsKeFszN10gPSA5LjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4WzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CnhbMzldID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeFs0MF0gPSAxMC4xNTg3MzAxNTg3MzAxNTgwMDAwMDsKeFs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeFs0Ml0gPSAxMC42NjY2NjY2NjY2NjY2NjYwMDAwMDsKeFs0M10gPSAxMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeFs0NV0gPSAxMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeFs0Nl0gPSAxMS42ODI1Mzk2ODI1Mzk2ODIwMDAwMDsKeFs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs0OF0gPSAxMi4xOTA0NzYxOTA0NzYxOTAwMDAwMDsKeFs0OV0gPSAxMi40NDQ0NDQ0NDQ0NDQ0NDUwMDAwMDsKeFs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeFs1MV0gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs1Ml0gPSAxMy4yMDYzNDkyMDYzNDkyMDYwMDAwMDsKeFs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeFs1NF0gPSAxMy43MTQyODU3MTQyODU3MTQwMDAwMDsKeFs1NV0gPSAxMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeFs1N10gPSAxNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeFs1OF0gPSAxNC43MzAxNTg3MzAxNTg3MjkwMDAwMDsKeFs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFs2MF0gPSAxNS4yMzgwOTUyMzgwOTUyMzcwMDAwMDsKeFs2MV0gPSAxNS40OTIwNjM0OTIwNjM0OTIwMDAwMDsKeFs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeFs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjM3MDU0NjAwNDE1MTc1MTQwMDAwOwp5WzJdID0gLTAuNjc3Mzk4ODIzNTkxODA2MTQwMDA7CnlbM10gPSAtMC4yNzE5MzM3MTU0ODM2NDE4MTAwMDsKeVs0XSA9IDAuMDE1NzQ4MzU2OTY4MTM5MTEyMDA7CnlbNV0gPSAwLjIzODg5MTkwODI4MjM0ODg4MDAwOwp5WzZdID0gMC40MjEyMTM0NjUwNzYzMDM0NzAwMDsKeVs3XSA9IDAuNTc1MzY0MTQ0OTAzNTYxODAwMDA7CnlbOF0gPSAwLjcwODg5NTUzNzUyODA4NDQzMDAwOwp5WzldID0gMC44MjY2Nzg1NzMxODQ0Njc5MTAwMDsKeVsxMF0gPSAwLjkzMjAzOTA4ODg0MjI5NDE0MDAwOwp5WzExXSA9IDEuMDI3MzQ5MjY4NjQ2NjE5MDAwMDA7CnlbMTJdID0gMS4xMTQzNjA2NDU2MzYyNDg3MDAwMDsKeVsxM10gPSAxLjE5NDQwMzM1MzMwOTc4NTMwMDAwOwp5WzE0XSA9IDEuMjY4NTExMzI1NDYzNTA3MjAwMDA7CnlbMTVdID0gMS4zMzc1MDQxOTY5NTA0NTg2MDAwMDsKeVsxNl0gPSAxLjQwMjA0MjcxODA4ODAyOTcwMDAwOwp5WzE3XSA9IDEuNDYyNjY3MzM5OTA0NDY0NTAwMDA7CnlbMThdID0gMS41MTk4MjU3NTM3NDQ0MTMxMDAwMDsKeVsxOV0gPSAxLjU3Mzg5Mjk3NTAxNDY4OTEwMDAwOwp5WzIwXSA9IDEuNjI1MTg2MjY5NDAyMjM5NDAwMDA7CnlbMjFdID0gMS42NzM5NzY0MzM1NzE2NzE2MDAwMDsKeVsyMl0gPSAxLjcyMDQ5NjQ0OTIwNjU2NDQwMDAwOwp5WzIzXSA9IDEuNzY0OTQ4MjExNzc3Mzk4MjAwMDA7CnlbMjRdID0gMS44MDc1MDc4MjYxOTYxOTQxMDAwMDsKeVsyNV0gPSAxLjg0ODMyOTgyMDcxNjQ0OTEwMDAwOwp5WzI2XSA9IDEuODg3NTUwNTMzODY5NzMwNTAwMDA7CnlbMjddID0gMS45MjUyOTA4NjE4NTI1Nzc1MDAwMDsKeVsyOF0gPSAxLjk2MTY1ODUwNjAyMzQ1MjQwMDAwOwp5WzI5XSA9IDEuOTk2NzQ5ODI1ODM0NzIyNTAwMDA7CnlbMzBdID0gMi4wMzA2NTEzNzc1MTA0MDQwMDAwMDsKeVszMV0gPSAyLjA2MzQ0MTIwMDMzMzM5NDgwMDAwOwp5WzMyXSA9IDIuMDk1MTg5ODk4NjQ3OTc1MTAwMDA7CnlbMzNdID0gMi4xMjU5NjE1NTczMTQ3Mjg4MDAwMDsKeVszNF0gPSAyLjE1NTgxNDUyMDQ2NDQwOTcwMDAwOwp5WzM1XSA9IDIuMTg0ODAyMDU3MzM3NjYyMTAwMDA7CnlbMzZdID0gMi4yMTI5NzI5MzQzMDQzNTg1MDAwMDsKeVszN10gPSAyLjI0MDM3MTkwODQ5MjQ3MjkwMDAwOwp5WzM4XSA9IDIuMjY3MDQwMTU1NTc0NjM0MjAwMDA7CnlbMzldID0gMi4yOTMwMTU2NDE5Nzc4OTQ5MDAwMDsKeVs0MF0gPSAyLjMxODMzMzQ0OTk2MjE4NDgwMDAwOwp5WzQxXSA9IDIuMzQzMDI2MDYyNTUyNTU2NTAwMDA7CnlbNDJdID0gMi4zNjcxMjM2MTQxMzE2MTcwMDAwMDsKeVs0M10gPSAyLjM5MDY1NDExMTU0MTgxMTAwMDAwOwp5WzQ0XSA9IDIuNDEzNjQzNjI5NzY2NTA5NjAwMDA7CnlbNDVdID0gMi40MzYxMTY0ODU2MTg1NjgyMDAwMDsKeVs0Nl0gPSAyLjQ1ODA5NTM5MjMzNzM0MzYwMDAwOwp5WzQ3XSA9IDIuNDc5NjAxNTk3NTU4MzA3MDAwMDA7CnlbNDhdID0gMi41MDA2NTUwMDY3NTYxMzkzMDAwMDsKeVs0OV0gPSAyLjUyMTI3NDI5Mzk1ODg3NTAwMDAwOwp5WzUwXSA9IDIuNTQxNDc3MDAxMjc2Mzk0NTAwMDA7CnlbNTFdID0gMi41NjEyNzk2Mjg1NzI1NzQzMDAwMDsKeVs1Ml0gPSAyLjU4MDY5NzcxNDQyOTY3NTcwMDAwOwp5WzUzXSA9IDIuNTk5NzQ1OTA5NDAwMzcwNTAwMDA7CnlbNTRdID0gMi42MTg0MzgwNDI0MTI1MjMxMDAwMDsKeVs1NV0gPSAyLjYzNjc4NzE4MTA4MDcxOTMwMDAwOwp5WzU2XSA9IDIuNjU0ODA1Njg2NTgzMzk3ODAwMDA7CnlbNTddID0gMi42NzI1MDUyNjM2ODI3OTg4MDAwMDsKeVs1OF0gPSAyLjY4OTg5NzAwNjM5NDY2NzcwMDAwOwp5WzU5XSA9IDIuNzA2OTkxNDM5NzUzOTY3ODAwMDA7CnlbNjBdID0gMi43MjM3OTg1NTgwNzAzNDkwMDAwMDsKeVs2MV0gPSAyLjc0MDMyNzg2MDAyMTU1OTkwMDAwOwp5WzYyXSA9IDIuNzU2NTg4MzgwODkzMzQwMjAwMDA7CnlbNjNdID0gMi43NzI1ODg3MjIyMzk3ODExMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLmxvZyh4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLmxvZyh4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5sb2coeCkgPSAiICsgTWF0aC5sb2coeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLmxvZyh4KSAtIE1hdGgubG9nKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.log, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.log is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExLzE1LjguMi4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5tYXgoe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWF4KHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.max({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/15.8.2.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1heCgpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heCgpIGVxdWFscyB0byAtSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1heCgpICE9IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWF4KCkgIT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.max() is -Infinity","description":"Checking if Math.max() equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWF4IGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWF4IGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWF4KE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5tYXgoTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1heChhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5tYXgoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.max is NaN","description":"The script tests Math.max giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExL1MxNS44LjIuMTFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gKzAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09ICswKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gKzAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heC5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5tYXggIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWF4IG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5tYXgubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWF4IG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5tYXgubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.max method is 2","description":"Checking if Math.max.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyLzE1LjguMi4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5taW4oe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWluKHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.min({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/15.8.2.12-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1pbigpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbigpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1pbigpICE9ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWluKCkgIT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.min() is +Infinity","description":"Checking if Math.min() equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWluIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWluIGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWluKE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5taW4oTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1pbihhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5taW4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.min is NaN","description":"The script tests Math.min giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyL1MxNS44LjIuMTJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byAtMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gLTAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09IC0wKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gLTAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbi5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5taW4gIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWluIG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5taW4ubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWluIG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5taW4ubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.min method is 2","description":"Checking if Math.min.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBpcyBOYU4sIHdoZXJlIHkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9IE5hTjsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAtMDsKeFs0XSA9ICswCnhbNV0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeFs2XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbN10gPSArSW5maW5pdHk7CnhbOF0gPSBOYU47CnhudW0gPSA5OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHkpKSkKCXsKCQkkRVJST1IoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If y is NaN, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where y is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)<1 and y is -Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)<1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeT4wLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzICtJbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9ICtJbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzNdID0gSW5maW5pdHk7CnlbMl0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzFdID0gMTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5bnVtID0gNDsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is +Infinity and y>0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeTwwLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyArSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTE7CnlbM10gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnludW0gPSA0OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is +Infinity and y<0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gLUluZmluaXR5LCB3aGVyZSB4IGlzIC1JbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC1JbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMTsKeVsxXSA9IDExMTsKeVsyXSA9IDExMTExMTsKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gLUluZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLUluZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y>0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk+MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMjsKeVsyXSA9IE1hdGguUEk7CnlbM10gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzRdID0gK0luZmluaXR5Owp5bnVtID0gNTsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -Infinity and y>0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtMCwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09IC0wIik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y<0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIHggaXMgLUluZmluaXR5IGFuZCB5PDAKICovCgovLyBDSEVDSyMxCgp4ID0gLUluZmluaXR5Owp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -Infinity and y<0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PjAsIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gKzA7CnkgPSBuZXcgQXJyYXkoKTsKeVszXSA9IEluZmluaXR5Owp5WzJdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeVsxXSA9IDE7CnlbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gKzApCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArMCIpOwoJfQp9Cgo=","commentary":"If x is +0 and y>0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PDAsIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIHggaXMgKzAgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLUluZmluaXR5Owp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMl0gPSAtMTsKeVszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gK0luZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gK0luZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is +0 and y<0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +0 and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDE7CnlbMV0gPSAxMTE7CnlbMl0gPSAxMTExMTE7CnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09IC0wKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLTAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeSBpcyArMCBhbmQgeCBpcyBudW1iZXIgb3IgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09IDEiKTsKCX0KfQoK","commentary":"If y is +0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where y is +0 and x is number or NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyAtMCBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnggPSAtMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbMV0gPSAyOwp5WzJdID0gTWF0aC5QSTsKeVszXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnlbNF0gPSArSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -0 and y>0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtSW5maW5pdHksIHdoZXJlIHggaXMgLTAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSAtSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -0 and y<0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -0 and y is an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC0wOwp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If x is -0 and y<0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -0 and y<0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgaXMgTmFOLCB3aGVyZSB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnkgPSBOYU47CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzFdID0gLU1hdGguUEk7CnhbMl0gPSAtMTsKeFszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeG51bSA9IDQ7Cgp5WzBdID0gLU1hdGguUEk7CnlbMV0gPSAtTWF0aC5FOwp5WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNV0gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeVs2XSA9IE1hdGguRTsKeVs3XSA9IE1hdGguUEk7CnludW0gPSA4OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKCWZvciAoaiA9IDA7IGogPCB5bnVtOyBqKyspCgkJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHlbal0pKSkKCQkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHhbaV0gKyAiLCAiICsgeVtqXSArICIpKSA9PT0gZmFsc2UiKTsKCg==","commentary":"If x<0 and x is finite and y is finite and y is not an integer, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x<0 and x is finite and y is finite and y is not an integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnBvdywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coYXJndW1lbnQxLCBhcmd1bWVudDIpIGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWUgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudDEgdmFsdWVzIGFuZCA2NCBhcmd1bWVudDIgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4MSA9IG5ldyBBcnJheSgpOwp4MVswXSA9IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CngxWzFdID0gMC4yNTM5NjgyNTM5NjgyNTM5NTAwMDsKeDFbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4MVszXSA9IDAuNzYxOTA0NzYxOTA0NzYxODYwMDA7CngxWzRdID0gMS4wMTU4NzMwMTU4NzMwMTU4MDAwMDsKeDFbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4MVs2XSA9IDEuNTIzODA5NTIzODA5NTIzNzAwMDA7CngxWzddID0gMS43Nzc3Nzc3Nzc3Nzc3Nzc3MDAwMDsKeDFbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4MVs5XSA9IDIuMjg1NzE0Mjg1NzE0Mjg1NjAwMDA7CngxWzEwXSA9IDIuNTM5NjgyNTM5NjgyNTM5NTAwMDA7CngxWzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CngxWzEyXSA9IDMuMDQ3NjE5MDQ3NjE5MDQ3NDAwMDA7CngxWzEzXSA9IDMuMzAxNTg3MzAxNTg3MzAxNDAwMDA7CngxWzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CngxWzE1XSA9IDMuODA5NTIzODA5NTIzODA5MzAwMDA7CngxWzE2XSA9IDQuMDYzNDkyMDYzNDkyMDYzMzAwMDA7CngxWzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CngxWzE4XSA9IDQuNTcxNDI4NTcxNDI4NTcxMjAwMDA7CngxWzE5XSA9IDQuODI1Mzk2ODI1Mzk2ODI1MTAwMDA7CngxWzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CngxWzIxXSA9IDUuMzMzMzMzMzMzMzMzMzMzMDAwMDA7CngxWzIyXSA9IDUuNTg3MzAxNTg3MzAxNTg3MDAwMDA7CngxWzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CngxWzI0XSA9IDYuMDk1MjM4MDk1MjM4MDk0OTAwMDA7CngxWzI1XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4OTAwMDA7CngxWzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CngxWzI3XSA9IDYuODU3MTQyODU3MTQyODU2ODAwMDA7CngxWzI4XSA9IDcuMTExMTExMTExMTExMTEwNzAwMDA7CngxWzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CngxWzMwXSA9IDcuNjE5MDQ3NjE5MDQ3NjE4NjAwMDA7CngxWzMxXSA9IDcuODczMDE1ODczMDE1ODcyNjAwMDA7CngxWzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CngxWzMzXSA9IDguMzgwOTUyMzgwOTUyMzgxNDAwMDA7CngxWzM0XSA9IDguNjM0OTIwNjM0OTIwNjM0NDAwMDA7CngxWzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngxWzM2XSA9IDkuMTQyODU3MTQyODU3MTQyMzAwMDA7CngxWzM3XSA9IDkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CngxWzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CngxWzM5XSA9IDkuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CngxWzQwXSA9IDEwLjE1ODczMDE1ODczMDE1ODAwMDAwOwp4MVs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeDFbNDJdID0gMTAuNjY2NjY2NjY2NjY2NjY2MDAwMDA7CngxWzQzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeDFbNDVdID0gMTEuNDI4NTcxNDI4NTcxNDI5MDAwMDA7CngxWzQ2XSA9IDExLjY4MjUzOTY4MjUzOTY4MjAwMDAwOwp4MVs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeDFbNDhdID0gMTIuMTkwNDc2MTkwNDc2MTkwMDAwMDA7CngxWzQ5XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4MVs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeDFbNTFdID0gMTIuOTUyMzgwOTUyMzgwOTUzMDAwMDA7CngxWzUyXSA9IDEzLjIwNjM0OTIwNjM0OTIwNjAwMDAwOwp4MVs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeDFbNTRdID0gMTMuNzE0Mjg1NzE0Mjg1NzE0MDAwMDA7CngxWzU1XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4MVs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeDFbNTddID0gMTQuNDc2MTkwNDc2MTkwNDc2MDAwMDA7CngxWzU4XSA9IDE0LjczMDE1ODczMDE1ODcyOTAwMDAwOwp4MVs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeDFbNjBdID0gMTUuMjM4MDk1MjM4MDk1MjM3MDAwMDA7CngxWzYxXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4MVs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeDFbNjNdID0gMTYuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKCnZhciB4MiA9IG5ldyBBcnJheSgpOwp4MlswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDJbMV0gPSAtMTUuNDkyMDYzNDkyMDYzNDkyMDAwMDA7CngyWzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4MlszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeDJbNF0gPSAtMTMuOTY4MjUzOTY4MjUzOTY4MDAwMDA7CngyWzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4Mls2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbN10gPSAtMTIuNDQ0NDQ0NDQ0NDQ0NDQ1MDAwMDA7CngyWzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4Mls5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeDJbMTBdID0gLTEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MlsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4MlsxM10gPSAtOS4zOTY4MjUzOTY4MjUzOTcyMDAwMDsKeDJbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngyWzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4MlsxNl0gPSAtNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CngyWzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4MlsxOV0gPSAtNi4zNDkyMDYzNDkyMDYzNDk3MDAwMDsKeDJbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CngyWzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4MlsyMl0gPSAtNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CngyWzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4MlsyNV0gPSAtMy4zMDE1ODczMDE1ODczMDIzMDAwMDsKeDJbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CngyWzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4MlsyOF0gPSAtMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CngyWzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4MlszMV0gPSAtMC4yNTM5NjgyNTM5NjgyNTQ4NDAwMDsKeDJbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeDJbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeDJbMzRdID0gMS4yNjk4NDEyNjk4NDEyNjg5MDAwMDsKeDJbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeDJbMzddID0gMi43OTM2NTA3OTM2NTA3OTQ0MDAwMDsKeDJbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeDJbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeDJbNDBdID0gNC4zMTc0NjAzMTc0NjAzMTYzMDAwMDsKeDJbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeDJbNDNdID0gNS44NDEyNjk4NDEyNjk4NDE4MDAwMDsKeDJbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeDJbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeDJbNDZdID0gNy4zNjUwNzkzNjUwNzkzNjM4MDAwMDsKeDJbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeDJbNDldID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeDJbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeDJbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDJbNTJdID0gMTAuNDEyNjk4NDEyNjk4NDExMDAwMDA7CngyWzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4Mls1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeDJbNTVdID0gMTEuOTM2NTA3OTM2NTA3OTM3MDAwMDA7CngyWzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4Mls1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbNThdID0gMTMuNDYwMzE3NDYwMzE3NDU5MDAwMDA7CngyWzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4Mls2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeDJbNjFdID0gMTQuOTg0MTI2OTg0MTI2OTg0MDAwMDA7CngyWzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4Mls2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gK0luZmluaXR5Owp5WzFdID0gMTY2NDE1ODk3OS4xMTA5NjI5MDAwMDAwMDAwMDAwMDsKeVsyXSA9IDI1NTk2Ljk4ODYyMjA2NDI0NzAwMDAwMDAwOwp5WzNdID0gNTEuMjQyMjQzNjAzMzIyMDU5MDAwMDA7CnlbNF0gPSAwLjgwMjUzNzIxNjIxMDAxMjczMDAwOwp5WzVdID0gMC4wNDAxMzI4MTYwNDE4NDI0MDYwMDsKeVs2XSA9IDAuMDA0MjcxODExNjc0NjY5NjgyNTA7CnlbN10gPSAwLjAwMDc3Njk4Njg0NjI5MzA3ODM5Owp5WzhdID0gMC4wMDAyMTE0MDQ0OTc1MTI4ODg1MjsKeVs5XSA9IDAuMDAwMDc4ODY2NDEyMTYyNzU4MjA7CnlbMTBdID0gMC4wMDAwMzc5Nzk3MDQ5NTYyNTkwNDsKeVsxMV0gPSAwLjAwMDAyMjYwMTg2NTc2OTQ0Mzg0Owp5WzEyXSA9IDAuMDAwMDE2MDg3MzU3MDQ2NzU5OTQ7CnlbMTNdID0gMC4wMDAwMTMzNTUyNjYzOTQ0MDg0MDsKeVsxNF0gPSAwLjAwMDAxMjY3NzgyNDA3ODI1MDAyOwp5WzE1XSA9IDAuMDAwMDEzNTQ0MTA3MzkzMDcyOTg7CnlbMTZdID0gMC4wMDAwMTYwNzQwNDcwMDA3NzIxNDsKeVsxN10gPSAwLjAwMDAyMDk2NDg5Nzk4OTQ5ODU4Owp5WzE4XSA9IDAuMDAwMDI5NzgwMzM0MTEzMTY4NzI7CnlbMTldID0gMC4wMDAwNDU3MjAxNTc2OTMyNjcwNzsKeVsyMF0gPSAwLjAwMDA3NTM2NjIwODg0ODk2ODI3Owp5WzIxXSA9IDAuMDAwMTMyNjM5Njc1NTg4ODI2ODc7CnlbMjJdID0gMC4wMDAyNDgwMDA5MTk1MDkxNzc5NjsKeVsyM10gPSAwLjAwMDQ5MDQ5NTc4NzcyMDUyNjgwOwp5WzI0XSA9IDAuMDAxMDIyMjU1MjEyMzg4ODU0OTA7CnlbMjVdID0gMC4wMDIyMzc0NDE0NzM1NjY2MTg4MDsKeVsyNl0gPSAwLjAwNTEyNzM5NzU1ODc4NTg3OTIwOwp5WzI3XSA9IDAuMDEyMjY5MTgwMzA3NTQ4NjMwMDA7CnlbMjhdID0gMC4wMzA1ODA0OTQ3NTQyNzQwOTQwMDsKeVsyOV0gPSAwLjA3OTIxNzcxNDcyNTY5OTY2MjAwOwp5WzMwXSA9IDAuMjEyODUwOTg2MDExNjc0NTcwMDA7CnlbMzFdID0gMC41OTIxMTg0NjIzMzg2MDMyMTAwMDsKeVszMl0gPSAxLjcwMjUyMzc2OTE5NDA3NzMwMDAwOwp5WzMzXSA9IDUuMDUxOTc5OTQxODYzNTA5MjAwMDA7CnlbMzRdID0gMTUuNDQ4OTY4NjY3NTg4Mjc3MDAwMDA7CnlbMzVdID0gNDguNjIyNzk5NDk4MTYxNDc3MDAwMDA7CnlbMzZdID0gMTU3LjMxMDg2MDMzMTM5MDM5MDAwMDAwOwp5WzM3XSA9IDUyMi42MDAyMTI3NzQ3Njc2NzAwMDAwMDsKeVszOF0gPSAxNzgwLjgyMzE2NzEzNDI2OTkwMDAwMDAwOwp5WzM5XSA9IDYyMTguNTg1MDk4NDYzMzc3MTAwMDAwMDA7CnlbNDBdID0gMjIyMzIuNTQ5MTY4OTgwMjU1MDAwMDAwMDA7CnlbNDFdID0gODEzMTAuNTA2OTU4MTQ4NDQyMDAwMDAwMDA7CnlbNDJdID0gMzAzOTYyLjM5NTk5OTk0OTE5MDAwMDAwMDAwOwp5WzQzXSA9IDExNjA2MDkuMzkxNTE4MzU4MTAwMDAwMDAwMDA7CnlbNDRdID0gNDUyMzE2MC4xNjM5NjE4MzUyMDAwMDAwMDAwMDsKeVs0NV0gPSAxNzk4MDUwNi41MzEwNTY4NjYwMDAwMDAwMDAwMDsKeVs0Nl0gPSA3Mjg2MTI2MC42MzE0MDA4NTMwMDAwMDAwMDAwMDsKeVs0N10gPSAzMDA3OTU5NjUuMTgzNzI4MDQwMDAwMDAwMDAwMDA7CnlbNDhdID0gMTI2NDQwODg0My44ODYzNjI2MDAwMDAwMDAwMDAwMDsKeVs0OV0gPSA1NDA4OTgzNzA1LjgyNTk1OTIwMDAwMDAwMDAwMDAwOwp5WzUwXSA9IDIzNTM2NDM4NDg1LjMyMzI0NjAwMDAwMDAwMDAwMDAwOwp5WzUxXSA9IDEwNDEyNTcyNDIwMS43Nzg4ODAwMDAwMDAwMDAwMDAwMDsKeVs1Ml0gPSA0NjgxMzcwNzk0MDkuMTc0NjIwMDAwMDAwMDAwMDAwMDA7CnlbNTNdID0gMjEzNzk2NTg2NTkxMy45MTI2MDAwMDAwMDAwMDAwMDAwMDsKeVs1NF0gPSA5OTE0MzY4NjQzODA4LjI1MjAwMDAwMDAwMDAwMDAwMDAwOwp5WzU1XSA9IDQ2NjY1NzI2OTk1MzE3Ljg5ODAwMDAwMDAwMDAwMDAwMDAwOwp5WzU2XSA9IDIyMjg2Mzc4NjQwOTAzOS44NzAwMDAwMDAwMDAwMDAwMDAwMDsKeVs1N10gPSAxMDc5NTM0NDQzNzAyMDY1LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzU4XSA9IDUzMDIwMzc4NTAzMjk5NTIuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNTldID0gMjYzOTQ4MTMzMTM3NTEwODQuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNjBdID0gMTMzMTQ2NTQzMjM1MDI0NzIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYxXSA9IDY4MDM3NTA4MjM1MTg4NTk1MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVs2Ml0gPSAzNTIwODc4NTQyNDQ3ODIzOTAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYzXSA9IDE4NDQ2NzQ0MDczNzA5NTUyMDAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbngxID0gIiArIHgxW2ldICsgIlxueDIgPSAiICsgeDJbaV0gKyAiXG5saWJjLnBvdyh4MSx4MikgPSAiICsgeVtpXSArICJcbk1hdGgucG93KHgxLHgyKSA9ICIgKyBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pICsgIlxuTWF0aC5hYnMobGliYy5wb3coeDEseDIpIC0gTWF0aC5wb3coeDEseDIpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.pow, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.pow(argument1, argument2) is approximately equals to its mathematical value on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeCBpcyBudW1iZXIgb3IgTmFOIGFuZCB5IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsIC0wKSAhPT0gMSIpOwoJfQp9Cgo=","commentary":"If y is -0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where x is number or NaN and y is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiBhbmQgeSBpcyBub256ZXJvLCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgeCBpcyBOYU4gYW5kIHkgaXMgbm9uemVybwogKi8KCi8vIENIRUNLIzEKCnggPSBOYU47CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzVdID0gK0luZmluaXR5Owp5WzZdID0gTmFOOwp5bnVtID0gNzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeCx5W2ldKSkpCgl7CgkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpKSA9PT0gZmFsc2UiKTsKCX0KfQoK","commentary":"If x is NaN and y is nonzero, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x is NaN and y is nonzero","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgYWJzKHgpPjEgYW5kIHkgaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICtJbmZpbml0eTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMS4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeFs0XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbNV0gPSArSW5maW5pdHk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)>1 and y is +Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)>1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KT4xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC1JbmZpbml0eTsKeFsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp4WzNdID0gMS4wMDAwMDAwMDAwMDAwMDE7CnhbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp4WzVdID0gK0luZmluaXR5Owp4bnVtID0gNjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4W2ldLHkpICE9PSArMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICswIik7Cgl9Cn0KCg==","commentary":"If abs(x)>1 and y is -Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)>1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgK0luZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is +Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgLUluZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is -Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4W2ldICsgIiwgIiArIHkgKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If abs(x)<1 and y is +Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)<1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnJhbmRvbSgpIHJldHVybnMgYSBudW1iZXIgdmFsdWUgd2l0aCBwb3NpdGl2ZSBzaWduLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCBidXQgbGVzcyB0aGFuIDEKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTQvUzE1LjguMi4xNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yYW5kb20oKSBpcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIGNhbGxpbmcgTWF0aC5yYW5kb20oKSAxMDAgdGltZXMKICovCgovLyBDSEVDSyMxCmZvciAoaSA9IDA7IGkgPCAxMDA7IGkrKykKewoJdmFsID0gTWF0aC5yYW5kb20oKTsKCWlmICh2YWwgPCAwIHx8IHZhbCA+PSAxKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucmFuZG9tKCkgPSAiICsgdmFsKTsKCX0KfQoK","commentary":"Math.random() returns a number value with positive sign, greater than or equal to 0 but less than 1","description":"Checking if Math.random() is a number between 0 and 1, calling Math.random() 100 times","path":"TestCases/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5yb3VuZCh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBOYU4sIHdoZXJlIHggaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnJvdW5kKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PU5hTjsgaXNOYU4oTWF0aC5yb3VuZCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.round(x) is NaN","description":"Checking if Math.round(x) is NaN, where x is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLnJvdW5kKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5yb3VuZCh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.round(x) is +0","description":"Checking if Math.round(x) equals to +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnJvdW5kKHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMDsgTWF0aC5yb3VuZCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.round(x) is -0","description":"Checking if Math.round(x) equals to -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHksIHdoZXJlIHggaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PStJbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.round(x) is +Infinity","description":"Checking if Math.round(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHksIHdoZXJlIHggaXMgLUluZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.round(x) is -Infinity","description":"Checking if Math.round(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvIDAgb3IgZ3JlYXRlciB0aGFuIDAsIG9yIGlmIHggaXMgbGVzcyB0aGFuIC0wLjUsIE1hdGgucm91bmQoeCkgaXMgZXF1YWwgdG8gTWF0aC5mbG9vcih4KzAuNSkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byBNYXRoLmZsb29yKHgrMC41KSwgd2hlcmUgeCBlcXVhbHMgdG8gMCwgZ3JlYXRlciB0aGFuIDAsIG9yIGlzIGxlc3MgdGhhbiAtMC41OyB0aGlzIGNoZWNrIGlzIHBlcmZvcm1lZCBvbiAyMDAwIGFyZ3VtZW50IHggdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKGkgPSAwOyBpIDw9IDEwMDA7IGkrKykKewoJeCA9IGkvMTAuMDsKCWlmIChNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpKQoJewoJCSRFUlJPUigiIzE6ICd4ID0gIiArIHggKyAiOyBNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpJyIpCgl9Cn0KCmZvciAoaSA9IC01OyBpID49IC0xMDAwOyBpLS0pCnsKCWlmIChpID09PSAtNSkKCXsKCQl4ID0gLTAuNTAwMDAwMDAwMDAwMDAxOwoJfSBlbHNlCgl7CgkJeCA9IGkvMTAuMDsKCX0KCQoJaWYgKE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSkpCgl7CgkJJEVSUk9SKCIjMjogJ3ggPSAiICsgeCArICI7IE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSknIikKCX0KfQoK","commentary":"If x is equal to 0 or greater than 0, or if x is less than -0.5, Math.round(x) is equal to Math.floor(x+0.5)","description":"Checking if Math.round(x) is equal to Math.floor(x+0.5), where x equals to 0, greater than 0, or is less than -0.5; this check is performed on 2000 argument x values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMCBhbmQgeCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTAuNSwgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNS9TMTUuOC4yLjE1X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnJvdW5kKHgpIGlzIGVxdWFsIC0wLCB3aGVyZSB4IGlzIGVxdWFsIHRvIDAsIGVxdWFsIHRvIC0wLjUsIG9yIGxlc3MgdGhhbiAtMCB3aGlsZSBncmVhdGVyIHRoYW4gLTAuNQogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgucm91bmQoLTApICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ01hdGgucm91bmQoLTApICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMgppZiAoTWF0aC5yb3VuZCgtMC41KSAhPT0gLTApCnsKCSRFUlJPUigiIzI6ICdNYXRoLnJvdW5kKC0wLjUpICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wKQp7CgkkRVJST1IoIiMzOiAnTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is less than or equal to -0 and x is greater than or equal to -0.5, Math.round(x) is equal to -0","description":"Checking if Math.round(x) is equal -0, where x is equal to 0, equal to -0.5, or less than -0 while greater than -0.5","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGguc2luKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.sin(x) is NaN","description":"Checking if Math.sin(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnNpbih4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNi9TMTUuOC4yLjE2X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNpbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5zaW4oeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5zaW4oeCkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is -0, Math.sin(x) is -0","description":"Checking if Math.sin(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKCtJbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgaXNOYU4oTWF0aC5zaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is +Infinity, Math.sin(x) is NaN","description":"Checking if Math.sin(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKC1JbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgaXNOYU4oTWF0aC5zaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is -Infinity, Math.sin(x) is NaN","description":"Checking if Math.sin(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5lIGlzIGEgcGVyaW9kaWMgZnVuY3Rpb24gd2l0aCBwZXJpb2QgMipQSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNi9TMTUuOC4yLjE2X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNpbih4KSBlcXVhbHMgdG8gTWF0aC5zaW4oeCtuKjIqTWF0aC5QSSkgd2l0aCBwcmVjaXNpb24gMC4wMDAwMDAwMDAwMDMsIHdoZXJlIG4gaXMgYW4gaW50ZWdlciBmcm9tIDEgdG8gMTAwIGFuZCB4IGlzIG9uZSBvZiAxMCBmbG9hdCBwb2ludCB2YWx1ZXMgZnJvbSAwIHRvIDIqTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMDM7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDAxOwpwZXJpb2QgPSAyKk1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kOwpiID0gcGVybnVtICogcGVyaW9kOwpzbnVtID0gOTsgCnN0ZXAgPSBwZXJpb2Qvc251bSArIDAuMDsKeCA9IG5ldyBBcnJheSgpOwpmb3IgKGkgPSAwOyBpIDwgc251bTsgaSsrKQp7Cgl4W2ldID0gYSArIGkqc3RlcDsKfQp4WzldID0gYSArIHBlcmlvZDsKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC5zaW4oeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGguc2luKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiBzaW4gaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLnNpbigiICsgeFtpXSArICIpIC0gTWF0aC5zaW4oIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGguc2luKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC5zaW4oIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGguc2luKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Sine is a periodic function with period 2*PI","description":"Checking if Math.sin(x) equals to Math.sin(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to 2*Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnNpbiBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luIGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWVzIG9uIHRoZSBzZXQgb2YgNjQgYXJndW1lbnQgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gMC4wOTk3MzMxMDAxMTM5NjE2OTIwMDsKeFsyXSA9IDAuMTk5NDY2MjAwMjI3OTIzMzgwMDA7CnhbM10gPSAwLjI5OTE5OTMwMDM0MTg4NTA4MDAwOwp4WzRdID0gMC4zOTg5MzI0MDA0NTU4NDY3NzAwMDsKeFs1XSA9IDAuNDk4NjY1NTAwNTY5ODA4NDEwMDA7CnhbNl0gPSAwLjU5ODM5ODYwMDY4Mzc3MDE1MDAwOwp4WzddID0gMC42OTgxMzE3MDA3OTc3MzE3OTAwMDsKeFs4XSA9IDAuNzk3ODY0ODAwOTExNjkzNTQwMDA7CnhbOV0gPSAwLjg5NzU5NzkwMTAyNTY1NTE4MDAwOwp4WzEwXSA9IDAuOTk3MzMxMDAxMTM5NjE2ODEwMDA7CnhbMTFdID0gMS4wOTcwNjQxMDEyNTM1Nzg0MDAwMDsKeFsxMl0gPSAxLjE5Njc5NzIwMTM2NzU0MDMwMDAwOwp4WzEzXSA9IDEuMjk2NTMwMzAxNDgxNTAxOTAwMDA7CnhbMTRdID0gMS4zOTYyNjM0MDE1OTU0NjM2MDAwMDsKeFsxNV0gPSAxLjQ5NTk5NjUwMTcwOTQyNTIwMDAwOwp4WzE2XSA9IDEuNTk1NzI5NjAxODIzMzg3MTAwMDA7CnhbMTddID0gMS42OTU0NjI3MDE5MzczNDg3MDAwMDsKeFsxOF0gPSAxLjc5NTE5NTgwMjA1MTMxMDQwMDAwOwp4WzE5XSA9IDEuODk0OTI4OTAyMTY1MjcyMDAwMDA7CnhbMjBdID0gMS45OTQ2NjIwMDIyNzkyMzM2MDAwMDsKeFsyMV0gPSAyLjA5NDM5NTEwMjM5MzE5NTcwMDAwOwp4WzIyXSA9IDIuMTk0MTI4MjAyNTA3MTU2OTAwMDA7CnhbMjNdID0gMi4yOTM4NjEzMDI2MjExMTg1MDAwMDsKeFsyNF0gPSAyLjM5MzU5NDQwMjczNTA4MDYwMDAwOwp4WzI1XSA9IDIuNDkzMzI3NTAyODQ5MDQyMzAwMDA7CnhbMjZdID0gMi41OTMwNjA2MDI5NjMwMDM5MDAwMDsKeFsyN10gPSAyLjY5Mjc5MzcwMzA3Njk2NTUwMDAwOwp4WzI4XSA9IDIuNzkyNTI2ODAzMTkwOTI3MjAwMDA7CnhbMjldID0gMi44OTIyNTk5MDMzMDQ4ODg4MDAwMDsKeFszMF0gPSAyLjk5MTk5MzAwMzQxODg1MDQwMDAwOwp4WzMxXSA9IDMuMDkxNzI2MTAzNTMyODEyMTAwMDA7CnhbMzJdID0gMy4xOTE0NTkyMDM2NDY3NzQyMDAwMDsKeFszM10gPSAzLjI5MTE5MjMwMzc2MDczNTgwMDAwOwp4WzM0XSA9IDMuMzkwOTI1NDAzODc0Njk3NDAwMDA7CnhbMzVdID0gMy40OTA2NTg1MDM5ODg2NTkxMDAwMDsKeFszNl0gPSAzLjU5MDM5MTYwNDEwMjYyMDcwMDAwOwp4WzM3XSA9IDMuNjkwMTI0NzA0MjE2NTgyMzAwMDA7CnhbMzhdID0gMy43ODk4NTc4MDQzMzA1NDQwMDAwMDsKeFszOV0gPSAzLjg4OTU5MDkwNDQ0NDUwNTYwMDAwOwp4WzQwXSA9IDMuOTg5MzI0MDA0NTU4NDY3MzAwMDA7CnhbNDFdID0gNC4wODkwNTcxMDQ2NzI0Mjg0MDAwMDsKeFs0Ml0gPSA0LjE4ODc5MDIwNDc4NjM5MTQwMDAwOwp4WzQzXSA9IDQuMjg4NTIzMzA0OTAwMzUyNjAwMDA7CnhbNDRdID0gNC4zODgyNTY0MDUwMTQzMTM4MDAwMDsKeFs0NV0gPSA0LjQ4Nzk4OTUwNTEyODI3NTkwMDAwOwp4WzQ2XSA9IDQuNTg3NzIyNjA1MjQyMjM3MTAwMDA7CnhbNDddID0gNC42ODc0NTU3MDUzNTYxOTkyMDAwMDsKeFs0OF0gPSA0Ljc4NzE4ODgwNTQ3MDE2MTIwMDAwOwp4WzQ5XSA9IDQuODg2OTIxOTA1NTg0MTIyNDAwMDA7CnhbNTBdID0gNC45ODY2NTUwMDU2OTgwODQ1MDAwMDsKeFs1MV0gPSA1LjA4NjM4ODEwNTgxMjA0NTcwMDAwOwp4WzUyXSA9IDUuMTg2MTIxMjA1OTI2MDA3ODAwMDA7CnhbNTNdID0gNS4yODU4NTQzMDYwMzk5Njk5MDAwMDsKeFs1NF0gPSA1LjM4NTU4NzQwNjE1MzkzMTEwMDAwOwp4WzU1XSA9IDUuNDg1MzIwNTA2MjY3ODkzMTAwMDA7CnhbNTZdID0gNS41ODUwNTM2MDYzODE4NTQzMDAwMDsKeFs1N10gPSA1LjY4NDc4NjcwNjQ5NTgxNTUwMDAwOwp4WzU4XSA9IDUuNzg0NTE5ODA2NjA5Nzc3NjAwMDA7CnhbNTldID0gNS44ODQyNTI5MDY3MjM3Mzk3MDAwMDsKeFs2MF0gPSA1Ljk4Mzk4NjAwNjgzNzcwMDkwMDAwOwp4WzYxXSA9IDYuMDgzNzE5MTA2OTUxNjYzMDAwMDA7CnhbNjJdID0gNi4xODM0NTIyMDcwNjU2MjQyMDAwMDsKeFs2M10gPSA2LjI4MzE4NTMwNzE3OTU4NjIwMDAwOwoKCnZhciB5ID0gbmV3IEFycmF5KCk7CnlbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzFdID0gMC4wOTk1Njc4NDY1OTU4MTY2NjEwMDsKeVsyXSA9IDAuMTk4MTQ2MTQzMTk5Mzk3NTgwMDA7CnlbM10gPSAwLjI5NDc1NTE3NDQxMDkwNDIxMDAwOwp5WzRdID0gMC4zODg0MzQ3OTYyNzQ2OTQ3NDAwMDsKeVs1XSA9IDAuNDc4MjUzOTc4NjIxMzE4MTkwMDA7CnlbNl0gPSAwLjU2MzMyMDA1ODA2MzYyMjA2MDAwOwp5WzddID0gMC42NDI3ODc2MDk2ODY1MzkyNTAwMDsKeVs4XSA9IDAuNzE1ODY2ODQ5MjU5NzE4NDQwMDA7CnlbOV0gPSAwLjc4MTgzMTQ4MjQ2ODAyOTgwMDAwOwp5WzEwXSA9IDAuODQwMDI1OTIzMTUwNzcxNDAwMDA7CnlbMTFdID0gMC44ODk4NzE4MDg4MTE0Njg1NTAwMDsKeVsxMl0gPSAwLjkzMDg3Mzc0ODY0NDIwNDI1MDAwOwp5WzEzXSA9IDAuOTYyNjI0MjQ2OTUwMDEyMDMwMDA7CnlbMTRdID0gMC45ODQ4MDc3NTMwMTIyMDgwMjAwMDsKeVsxNV0gPSAwLjk5NzIwMzc5NzE4MTE4MDEzMDAwOwp5WzE2XSA9IDAuOTk5Njg5MTgyMDAwODE2MjUwMDA7CnlbMTddID0gMC45OTIyMzkyMDY2MDAxNzIwNjAwMDsKeVsxOF0gPSAwLjk3NDkyNzkxMjE4MTgyMzYyMDAwOwp5WzE5XSA9IDAuOTQ3OTI3MzQ2MTY3MTMxODEwMDA7CnlbMjBdID0gMC45MTE1MDU4NTIzMTE2NzMyNTAwMDsKeVsyMV0gPSAwLjg2NjAyNTQwMzc4NDQzODQ5MDAwOwp5WzIyXSA9IDAuODExOTM4MDA1NzE1ODU2NjEwMDA7CnlbMjNdID0gMC43NDk3ODEyMDI5Njc3MzQ0MzAwMDsKeVsyNF0gPSAwLjY4MDE3MjczNzc3MDkxOTM2MDAwOwp5WzI1XSA9IDAuNjAzODA0NDEwMzI1NDc3MzgwMDA7CnlbMjZdID0gMC41MjE0MzUyMDMzNzk0OTgxMTAwMDsKeVsyN10gPSAwLjQzMzg4MzczOTExNzU1ODIzMDAwOwp5WzI4XSA9IDAuMzQyMDIwMTQzMzI1NjY4ODgwMDA7CnlbMjldID0gMC4yNDY3NTczOTc2OTAyOTM4NDAwMDsKeVszMF0gPSAwLjE0OTA0MjI2NjE3NjE3NDcyMDAwOwp5WzMxXSA9IDAuMDQ5ODQ1ODg1NjYwNjk3NDgyMDA7CnlbMzJdID0gLTAuMDQ5ODQ1ODg1NjYwNjk3MjMzMDA7CnlbMzNdID0gLTAuMTQ5MDQyMjY2MTc2MTc0NDcwMDA7CnlbMzRdID0gLTAuMjQ2NzU3Mzk3NjkwMjkzNjIwMDA7CnlbMzVdID0gLTAuMzQyMDIwMTQzMzI1NjY4NjYwMDA7CnlbMzZdID0gLTAuNDMzODgzNzM5MTE3NTU4MDEwMDA7CnlbMzddID0gLTAuNTIxNDM1MjAzMzc5NDk3ODkwMDA7CnlbMzhdID0gLTAuNjAzODA0NDEwMzI1NDc3MTYwMDA7CnlbMzldID0gLTAuNjgwMTcyNzM3NzcwOTE5MTMwMDA7CnlbNDBdID0gLTAuNzQ5NzgxMjAyOTY3NzMzOTgwMDA7CnlbNDFdID0gLTAuODExOTM4MDA1NzE1ODU1OTUwMDA7CnlbNDJdID0gLTAuODY2MDI1NDAzNzg0NDM4ODIwMDA7CnlbNDNdID0gLTAuOTExNTA1ODUyMzExNjczMTQwMDA7CnlbNDRdID0gLTAuOTQ3OTI3MzQ2MTY3MTMxNTkwMDA7CnlbNDVdID0gLTAuOTc0OTI3OTEyMTgxODIzNjIwMDA7CnlbNDZdID0gLTAuOTkyMjM5MjA2NjAwMTcxOTUwMDA7CnlbNDddID0gLTAuOTk5Njg5MTgyMDAwODE2MjUwMDA7CnlbNDhdID0gLTAuOTk3MjAzNzk3MTgxMTgwMTMwMDA7CnlbNDldID0gLTAuOTg0ODA3NzUzMDEyMjA4MTMwMDA7CnlbNTBdID0gLTAuOTYyNjI0MjQ2OTUwMDEyMDMwMDA7CnlbNTFdID0gLTAuOTMwODczNzQ4NjQ0MjA0NDcwMDA7CnlbNTJdID0gLTAuODg5ODcxODA4ODExNDY4NjYwMDA7CnlbNTNdID0gLTAuODQwMDI1OTIzMTUwNzcxMjkwMDA7CnlbNTRdID0gLTAuNzgxODMxNDgyNDY4MDI5OTEwMDA7CnlbNTVdID0gLTAuNzE1ODY2ODQ5MjU5NzE4MzMwMDA7CnlbNTZdID0gLTAuNjQyNzg3NjA5Njg2NTM5NTgwMDA7CnlbNTddID0gLTAuNTYzMzIwMDU4MDYzNjIyNzMwMDA7CnlbNThdID0gLTAuNDc4MjUzOTc4NjIxMzE4NTgwMDA7CnlbNTldID0gLTAuMzg4NDM0Nzk2Mjc0Njk0NzQwMDA7CnlbNjBdID0gLTAuMjk0NzU1MTc0NDEwOTA0NzEwMDA7CnlbNjFdID0gLTAuMTk4MTQ2MTQzMTk5Mzk3NzIwMDA7CnlbNjJdID0gLTAuMDk5NTY3ODQ2NTk1ODE3Mjg2MDA7CnlbNjNdID0gLTAuMDAwMDAwMDAwMDAwMDAwMjQ0OTI5MzU5ODI5NDcwNjQwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnNpbih4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLnNpbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5zaW4oeCkgPSAiICsgTWF0aC5zaW4oeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLnNpbih4KSAtIE1hdGguc2luKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.sin it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.sin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5zcXJ0KHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNy9TMTUuOC4yLjE3X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNxcnQoTmFOKSBpcyBOYU4KICovCgovLyBDSEVDSyMxCnZhciB4ID0gTmFOOwppZiAoIWlzTmFOKE1hdGguc3FydCh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGguc3FydCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.sqrt(x) is NaN","description":"Checking if Math.sqrt(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGxlc3MgdGhhbiAwLCBNYXRoLnNxcnQoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE3L1MxNS44LjIuMTdfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc3FydCh4KSBpcyBOYU4sIHdoZXJlIHggaXMgbGVzcyB0aGFuIDAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguc3FydCh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMC4wMDAwMDAwMDAwMDAwMDE7IGlzTmFOKE1hdGguc3FydCh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMyCnZhciB4ID0gLTE7CmlmICghaXNOYU4oTWF0aC5zcXJ0KHgpKSkKewoJJEVSUk9SKCIjMjogJ3ZhciB4PS0xOyBpc05hTihNYXRoLnNxcnQoeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNxcnQoeCkpKQp7CgkkRVJST1IoIiMzOiAndmFyIHg9LUluZmluaXR5OyBpc05hTihNYXRoLnNxcnQoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x less than 0, Math.sqrt(x) is NaN","description":"Checking if Math.sqrt(x) is NaN, where x is less than 0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvICswLCBNYXRoLnNxcnQoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0KCswKSBlcXVhbHMgdG8gKzAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gKzA7CmlmIChNYXRoLnNxcnQoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9KzA7IE1hdGguc3FydCh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is equal to +0, Math.sqrt(x) is +0","description":"Checking if Math.sqrt(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvIC0wLCBNYXRoLnNxcnQoeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0KC0wKSBlcXVhbHMgdG8gLTAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTA7CmlmIChNYXRoLnNxcnQoeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LTA7IE1hdGguc3FydCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is equal to -0, Math.sqrt(x) is -0","description":"Checking if Math.sqrt(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5zcXJ0KHgpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNy9TMTUuOC4yLjE3X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNxcnQoK0luZmluaXR5KSBpcyArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5zcXJ0KHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rSW5maW5pdHk7IE1hdGguc3FydCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is equal to +Infinity, Math.sqrt(x) is +Infinity","description":"Checking if Math.sqrt(+Infinity) is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnNxcnQsIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0IGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWVzIG9uIHRoZSBzZXQgb2YgNjQgYXJndW1lbnQgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gMC4yNTM5NjgyNTM5NjgyNTM5NTAwMDsKeFsyXSA9IDAuNTA3OTM2NTA3OTM2NTA3OTEwMDA7CnhbM10gPSAwLjc2MTkwNDc2MTkwNDc2MTg2MDAwOwp4WzRdID0gMS4wMTU4NzMwMTU4NzMwMTU4MDAwMDsKeFs1XSA9IDEuMjY5ODQxMjY5ODQxMjY5ODAwMDA7CnhbNl0gPSAxLjUyMzgwOTUyMzgwOTUyMzcwMDAwOwp4WzddID0gMS43Nzc3Nzc3Nzc3Nzc3Nzc3MDAwMDsKeFs4XSA9IDIuMDMxNzQ2MDMxNzQ2MDMxNjAwMDA7CnhbOV0gPSAyLjI4NTcxNDI4NTcxNDI4NTYwMDAwOwp4WzEwXSA9IDIuNTM5NjgyNTM5NjgyNTM5NTAwMDA7CnhbMTFdID0gMi43OTM2NTA3OTM2NTA3OTM1MDAwMDsKeFsxMl0gPSAzLjA0NzYxOTA0NzYxOTA0NzQwMDAwOwp4WzEzXSA9IDMuMzAxNTg3MzAxNTg3MzAxNDAwMDA7CnhbMTRdID0gMy41NTU1NTU1NTU1NTU1NTU0MDAwMDsKeFsxNV0gPSAzLjgwOTUyMzgwOTUyMzgwOTMwMDAwOwp4WzE2XSA9IDQuMDYzNDkyMDYzNDkyMDYzMzAwMDA7CnhbMTddID0gNC4zMTc0NjAzMTc0NjAzMTcyMDAwMDsKeFsxOF0gPSA0LjU3MTQyODU3MTQyODU3MTIwMDAwOwp4WzE5XSA9IDQuODI1Mzk2ODI1Mzk2ODI1MTAwMDA7CnhbMjBdID0gNS4wNzkzNjUwNzkzNjUwNzkxMDAwMDsKeFsyMV0gPSA1LjMzMzMzMzMzMzMzMzMzMzAwMDAwOwp4WzIyXSA9IDUuNTg3MzAxNTg3MzAxNTg3MDAwMDA7CnhbMjNdID0gNS44NDEyNjk4NDEyNjk4NDA5MDAwMDsKeFsyNF0gPSA2LjA5NTIzODA5NTIzODA5NDkwMDAwOwp4WzI1XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4OTAwMDA7CnhbMjZdID0gNi42MDMxNzQ2MDMxNzQ2MDI4MDAwMDsKeFsyN10gPSA2Ljg1NzE0Mjg1NzE0Mjg1NjgwMDAwOwp4WzI4XSA9IDcuMTExMTExMTExMTExMTEwNzAwMDA7CnhbMjldID0gNy4zNjUwNzkzNjUwNzkzNjQ3MDAwMDsKeFszMF0gPSA3LjYxOTA0NzYxOTA0NzYxODYwMDAwOwp4WzMxXSA9IDcuODczMDE1ODczMDE1ODcyNjAwMDA7CnhbMzJdID0gOC4xMjY5ODQxMjY5ODQxMjY1MDAwMDsKeFszM10gPSA4LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4WzM0XSA9IDguNjM0OTIwNjM0OTIwNjM0NDAwMDA7CnhbMzVdID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeFszNl0gPSA5LjE0Mjg1NzE0Mjg1NzE0MjMwMDAwOwp4WzM3XSA9IDkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CnhbMzhdID0gOS42NTA3OTM2NTA3OTM2NTAzMDAwMDsKeFszOV0gPSA5LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzQwXSA9IDEwLjE1ODczMDE1ODczMDE1ODAwMDAwOwp4WzQxXSA9IDEwLjQxMjY5ODQxMjY5ODQxMzAwMDAwOwp4WzQyXSA9IDEwLjY2NjY2NjY2NjY2NjY2NjAwMDAwOwp4WzQzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4WzQ0XSA9IDExLjE3NDYwMzE3NDYwMzE3NDAwMDAwOwp4WzQ1XSA9IDExLjQyODU3MTQyODU3MTQyOTAwMDAwOwp4WzQ2XSA9IDExLjY4MjUzOTY4MjUzOTY4MjAwMDAwOwp4WzQ3XSA9IDExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzQ4XSA9IDEyLjE5MDQ3NjE5MDQ3NjE5MDAwMDAwOwp4WzQ5XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4WzUwXSA9IDEyLjY5ODQxMjY5ODQxMjY5ODAwMDAwOwp4WzUxXSA9IDEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzUyXSA9IDEzLjIwNjM0OTIwNjM0OTIwNjAwMDAwOwp4WzUzXSA9IDEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4WzU0XSA9IDEzLjcxNDI4NTcxNDI4NTcxNDAwMDAwOwp4WzU1XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzU2XSA9IDE0LjIyMjIyMjIyMjIyMjIyMTAwMDAwOwp4WzU3XSA9IDE0LjQ3NjE5MDQ3NjE5MDQ3NjAwMDAwOwp4WzU4XSA9IDE0LjczMDE1ODczMDE1ODcyOTAwMDAwOwp4WzU5XSA9IDE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzYwXSA9IDE1LjIzODA5NTIzODA5NTIzNzAwMDAwOwp4WzYxXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4WzYyXSA9IDE1Ljc0NjAzMTc0NjAzMTc0NTAwMDAwOwp4WzYzXSA9IDE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVsxXSA9IDAuNTAzOTUyNjMwNjc4OTY5NjcwMDA7CnlbMl0gPSAwLjcxMjY5NjY0NTA5OTc5ODM1MDAwOwp5WzNdID0gMC44NzI4NzE1NjA5NDM5Njk0NTAwMDsKeVs0XSA9IDEuMDA3OTA1MjYxMzU3OTM5MzAwMDA7CnlbNV0gPSAxLjEyNjg3MjMzOTYzODAyMjAwMDAwOwp5WzZdID0gMS4yMzQ0MjY3OTk2OTY3MzUzMDAwMDsKeVs3XSA9IDEuMzMzMzMzMzMzMzMzMzMzMzAwMDA7CnlbOF0gPSAxLjQyNTM5MzI5MDE5OTU5NjcwMDAwOwp5WzldID0gMS41MTE4NTc4OTIwMzY5MDg4MDAwMDsKeVsxMF0gPSAxLjU5MzYzODE0NTc3OTE5MTUwMDAwOwp5WzExXSA9IDEuNjcxNDIxNzg4MDc0Njg5ODAwMDA7CnlbMTJdID0gMS43NDU3NDMxMjE4ODc5Mzg5MDAwMDsKeVsxM10gPSAxLjgxNzAyNzA1MDMxNzk5MTcwMDAwOwp5WzE0XSA9IDEuODg1NjE4MDgzMTY0MTI2NzAwMDA7CnlbMTVdID0gMS45NTE4MDAxNDU4OTcwNjY0MDAwMDsKeVsxNl0gPSAyLjAxNTgxMDUyMjcxNTg3ODcwMDAwOwp5WzE3XSA9IDIuMDc3ODQ5OTI2NTk3Mjc5MDAwMDA7CnlbMThdID0gMi4xMzgwODk5MzUyOTkzOTUyMDAwMDsKeVsxOV0gPSAyLjE5NjY3ODU4OTQ2MTEwMzgwMDAwOwp5WzIwXSA9IDIuMjUzNzQ0Njc5Mjc2MDQ0MDAwMDA7CnlbMjFdID0gMi4zMDk0MDEwNzY3NTg1MDI5MDAwMDsKeVsyMl0gPSAyLjM2Mzc0NzM2MTE0MTExNTMwMDAwOwp5WzIzXSA9IDIuNDE2ODcxOTEyNDY2NTc1MjAwMDA7CnlbMjRdID0gMi40Njg4NTM1OTkzOTM0NzA2MDAwMDsKeVsyNV0gPSAyLjUxOTc2MzE1MzM5NDg0ODEwMDAwOwp5WzI2XSA9IDIuNTY5NjY0Mjk3NzU4NDg0MDAwMDA7CnlbMjddID0gMi42MTg2MTQ2ODI4MzE5MDgzMDAwMDsKeVsyOF0gPSAyLjY2NjY2NjY2NjY2NjY2NjUwMDAwOwp5WzI5XSA9IDIuNzEzODY3OTcxMTk1MjM5NDAwMDA7CnlbMzBdID0gMi43NjAyNjIyMzczNjk0MTcwMDAwMDsKeVszMV0gPSAyLjgwNTg4OTQ5NzY0ODgwNjcwMDAwOwp5WzMyXSA9IDIuODUwNzg2NTgwMzk5MTkzNDAwMDA7CnlbMzNdID0gMi44OTQ5ODc0NTc4MjI5ODM1MDAwMDsKeVszNF0gPSAyLjkzODUyMzU0Njc2OTgxMTYwMDAwOwp5WzM1XSA9IDIuOTgxNDIzOTY5OTk5NzE5NjAwMDA7CnlbMzZdID0gMy4wMjM3MTU3ODQwNzM4MTc2MDAwMDsKeVszN10gPSAzLjA2NTQyNDE3ODkzOTI1MzgwMDAwOwp5WzM4XSA9IDMuMTA2NTcyNjUzMzkwNDkzMjAwMDA7CnlbMzldID0gMy4xNDcxODMxNjk4Nzc3NzI4MDAwMDsKeVs0MF0gPSAzLjE4NzI3NjI5MTU1ODM4MzAwMDAwOwp5WzQxXSA9IDMuMjI2ODcxMzA0MDE4NTU1NzAwMDA7CnlbNDJdID0gMy4yNjU5ODYzMjM3MTA5MDQxMDAwMDsKeVs0M10gPSAzLjMwNDYzODM5NDgzNzYxMzkwMDAwOwp5WzQ0XSA9IDMuMzQyODQzNTc2MTQ5Mzc5NTAwMDA7CnlbNDVdID0gMy4zODA2MTcwMTg5MTQwNjYzMDAwMDsKeVs0Nl0gPSAzLjQxNzk3MzAzNzEyODgzMDYwMDAwOwp5WzQ3XSA9IDMuNDU0OTI1MTcwODk4NDg2NzAwMDA7CnlbNDhdID0gMy40OTE0ODYyNDM3NzU4Nzc4MDAwMDsKeVs0OV0gPSAzLjUyNzY2ODQxNDc1Mjc4NzUwMDAwOwp5WzUwXSA9IDMuNTYzNDgzMjI1NDk4OTkxNzAwMDA7CnlbNTFdID0gMy41OTg5NDE2NDMzNjk3NDk0MDAwMDsKeVs1Ml0gPSAzLjYzNDA1NDEwMDYzNTk4MzQwMDAwOwp5WzUzXSA9IDMuNjY4ODMwNTMwMzM0ODk5NDAwMDA7CnlbNTRdID0gMy43MDMyODAzOTkwOTAyMDU3MDAwMDsKeVs1NV0gPSAzLjczNzQxMjczNzIwOTI1NDAwMDAwOwp5WzU2XSA9IDMuNzcxMjM2MTY2MzI4MjUzNDAwMDA7CnlbNTddID0gMy44MDQ3NTg5MjQ4NDUzNjc1MDAwMDsKeVs1OF0gPSAzLjgzNzk4ODg5MTM1NDI2MzUwMDAwOwp5WzU5XSA9IDMuODcwOTMzNjA2MjY2OTY2ODAwMDA7CnlbNjBdID0gMy45MDM2MDAyOTE3OTQxMzI4MDAwMDsKeVs2MV0gPSAzLjkzNTk5NTg3MDQzMjcyODcwMDAwOwp5WzYyXSA9IDMuOTY4MTI2OTgyMDk1MTczMDAwMDA7CnlbNjNdID0gNC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnNxcnQoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5zcXJ0KHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLnNxcnQoeCkgPSAiICsgTWF0aC5zcXJ0KHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5zcXJ0KHgpIC0gTWF0aC5zcXJ0KHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.sqrt, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.sqrt is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.tan(x) is NaN","description":"Checking if Math.tan(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLnRhbih4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbigrMCkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC50YW4oeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9KzA7IE1hdGgudGFuKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is +0, Math.tan(x) is +0","description":"Checking if Math.tan(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnRhbih4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC50YW4oeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LTA7IE1hdGgudGFuKHgpICE9PSAtMCciKTsKfQoK","commentary":"If x is -0, Math.tan(x) is -0","description":"Checking if Math.tan(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKCtJbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rSW5maW5pdHk7IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is +Infinity, Math.tan(x) is NaN","description":"Checking if Math.tan(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKC1JbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tSW5maW5pdHk7IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is -Infinity, Math.tan(x) is NaN","description":"Checking if Math.tan(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUYW5nZW50IGlzIGEgcGVyaW9kaWMgZnVuY3Rpb24gd2l0aCBwZXJpb2QgUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTgvUzE1LjguMi4xOF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC50YW4oeCkgZXF1YWxzIHRvIE1hdGgudGFuKHgrbipNYXRoLlBJKSB3aXRoIHByZWNpc2lvbiAwLjAwMDAwMDAwMDAwMywgd2hlcmUgbiBpcyBhbiBpbnRlZ2VyIGZyb20gMSB0byAxMDAgYW5kIHggaXMgb25lIG9mIDEwIGZsb2F0IHBvaW50IHZhbHVlcyBmcm9tIDAgdG8gTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMzsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMDE7CnBlcmlvZCA9IE1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kICsgcGVyaW9kLzI7CmIgPSBwZXJudW0gKiBwZXJpb2QgLSBwZXJpb2QvMjsKc251bSA9IDk7IApzdGVwID0gcGVyaW9kLyhzbnVtICsgMik7CnggPSBuZXcgQXJyYXkoKTsKZm9yIChpID0gMDsgaSA8PSBzbnVtOyBpKyspICAgIC8vLy8gV2UgZXhsdWRlIHNwZWNpYWwgcG9pbnRzIAp7CQkJCQkJCSAgIC8vLy8gICAgICAgICAgIGluIHRoaXMgY3ljbGUuCgl4W2ldID0gYSArIChpKzEpKnN0ZXA7ICAgICAvLy8vCn0JCQkJCQkJICAgLy8vLwoKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC50YW4oeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGgudGFuKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiB0YW4gaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLnRhbigiICsgeFtpXSArICIpIC0gTWF0aC50YW4oIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGgudGFuKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC50YW4oIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGgudGFuKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Tangent is a periodic function with period PI","description":"Checking if Math.tan(x) equals to Math.tan(x+n*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnRhbiwgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuNTcwNzk2MzI2Nzk0ODk2NjAwMDA7CnhbMV0gPSAtMS41MjA5Mjk3NzY3Mzc5MTU3MDAwMDsKeFsyXSA9IC0xLjQ3MTA2MzIyNjY4MDkzNDkwMDAwOwp4WzNdID0gLTEuNDIxMTk2Njc2NjIzOTU0MTAwMDA7CnhbNF0gPSAtMS4zNzEzMzAxMjY1NjY5NzMzMDAwMDsKeFs1XSA9IC0xLjMyMTQ2MzU3NjUwOTk5MjIwMDAwOwp4WzZdID0gLTEuMjcxNTk3MDI2NDUzMDExNDAwMDA7CnhbN10gPSAtMS4yMjE3MzA0NzYzOTYwMzA2MDAwMDsKeFs4XSA9IC0xLjE3MTg2MzkyNjMzOTA0OTgwMDAwOwp4WzldID0gLTEuMTIxOTk3Mzc2MjgyMDY5MDAwMDA7CnhbMTBdID0gLTEuMDcyMTMwODI2MjI1MDg4MjAwMDA7CnhbMTFdID0gLTEuMDIyMjY0Mjc2MTY4MTA3MzAwMDA7CnhbMTJdID0gLTAuOTcyMzk3NzI2MTExMTI2NDAwMDA7CnhbMTNdID0gLTAuOTIyNTMxMTc2MDU0MTQ1NTkwMDA7CnhbMTRdID0gLTAuODcyNjY0NjI1OTk3MTY0NzcwMDA7CnhbMTVdID0gLTAuODIyNzk4MDc1OTQwMTgzOTUwMDA7CnhbMTZdID0gLTAuNzcyOTMxNTI1ODgzMjAzMDIwMDA7CnhbMTddID0gLTAuNzIzMDY0OTc1ODI2MjIyMjAwMDA7CnhbMThdID0gLTAuNjczMTk4NDI1NzY5MjQxMzgwMDA7CnhbMTldID0gLTAuNjIzMzMxODc1NzEyMjYwNTYwMDA7CnhbMjBdID0gLTAuNTczNDY1MzI1NjU1Mjc5NzUwMDA7CnhbMjFdID0gLTAuNTIzNTk4Nzc1NTk4Mjk4NzAwMDA7CnhbMjJdID0gLTAuNDczNzMyMjI1NTQxMzE4MTEwMDA7CnhbMjNdID0gLTAuNDIzODY1Njc1NDg0MzM3MjkwMDA7CnhbMjRdID0gLTAuMzczOTk5MTI1NDI3MzU2MjUwMDA7CnhbMjVdID0gLTAuMzI0MTMyNTc1MzcwMzc1NDMwMDA7CnhbMjZdID0gLTAuMjc0MjY2MDI1MzEzMzk0NjEwMDA7CnhbMjddID0gLTAuMjI0Mzk5NDc1MjU2NDEzNzkwMDA7CnhbMjhdID0gLTAuMTc0NTMyOTI1MTk5NDMyOTgwMDA7CnhbMjldID0gLTAuMTI0NjY2Mzc1MTQyNDUyMTYwMDA7CnhbMzBdID0gLTAuMDc0Nzk5ODI1MDg1NDcxMzM5MDA7CnhbMzFdID0gLTAuMDI0OTMzMjc1MDI4NDkwNTIwMDA7CnhbMzJdID0gMC4wMjQ5MzMyNzUwMjg0OTA1MjAwMDsKeFszM10gPSAwLjA3NDc5OTgyNTA4NTQ3MTMzOTAwOwp4WzM0XSA9IDAuMTI0NjY2Mzc1MTQyNDUyMTYwMDA7CnhbMzVdID0gMC4xNzQ1MzI5MjUxOTk0MzI5ODAwMDsKeFszNl0gPSAwLjIyNDM5OTQ3NTI1NjQxMzc5MDAwOwp4WzM3XSA9IDAuMjc0MjY2MDI1MzEzMzk0NjEwMDA7CnhbMzhdID0gMC4zMjQxMzI1NzUzNzAzNzU0MzAwMDsKeFszOV0gPSAwLjM3Mzk5OTEyNTQyNzM1NjI1MDAwOwp4WzQwXSA9IDAuNDIzODY1Njc1NDg0MzM3MDcwMDA7CnhbNDFdID0gMC40NzM3MzIyMjU1NDEzMTc2NjAwMDsKeFs0Ml0gPSAwLjUyMzU5ODc3NTU5ODI5OTE1MDAwOwp4WzQzXSA9IDAuNTczNDY1MzI1NjU1Mjc5NzUwMDA7CnhbNDRdID0gMC42MjMzMzE4NzU3MTIyNjAzNDAwMDsKeFs0NV0gPSAwLjY3MzE5ODQyNTc2OTI0MTM4MDAwOwp4WzQ2XSA9IDAuNzIzMDY0OTc1ODI2MjIxOTgwMDA7CnhbNDddID0gMC43NzI5MzE1MjU4ODMyMDMwMjAwMDsKeFs0OF0gPSAwLjgyMjc5ODA3NTk0MDE4NDA2MDAwOwp4WzQ5XSA9IDAuODcyNjY0NjI1OTk3MTY0NjYwMDA7CnhbNTBdID0gMC45MjI1MzExNzYwNTQxNDU3MDAwMDsKeFs1MV0gPSAwLjk3MjM5NzcyNjExMTEyNjI5MDAwOwp4WzUyXSA9IDEuMDIyMjY0Mjc2MTY4MTA3MzAwMDA7CnhbNTNdID0gMS4wNzIxMzA4MjYyMjUwODg0MDAwMDsKeFs1NF0gPSAxLjEyMTk5NzM3NjI4MjA2OTAwMDAwOwp4WzU1XSA9IDEuMTcxODYzOTI2MzM5MDUwMDAwMDA7CnhbNTZdID0gMS4yMjE3MzA0NzYzOTYwMzA2MDAwMDsKeFs1N10gPSAxLjI3MTU5NzAyNjQ1MzAxMTIwMDAwOwp4WzU4XSA9IDEuMzIxNDYzNTc2NTA5OTkyMjAwMDA7CnhbNTldID0gMS4zNzEzMzAxMjY1NjY5NzMzMDAwMDsKeFs2MF0gPSAxLjQyMTE5NjY3NjYyMzk1MzkwMDAwOwp4WzYxXSA9IDEuNDcxMDYzMjI2NjgwOTM0OTAwMDA7CnhbNjJdID0gMS41MjA5Mjk3NzY3Mzc5MTU1MDAwMDsKeFs2M10gPSAxLjU3MDc5NjMyNjc5NDg5NjYwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTE2MzMxMjM5MzUzMTk1MzcwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzFdID0gLTIwLjAzNjg5Nzg4OTk3ODI4MTAwMDAwOwp5WzJdID0gLTkuOTkzNDk0OTgyNDE3NDIyMjAwMDA7CnlbM10gPSAtNi42MzQ1NjY0OTk3ODkzMTE3MDAwMDsKeVs0XSA9IC00Ljk0NjcxNDk0NDk0OTQwMDYwMDAwOwp5WzVdID0gLTMuOTI3MjQ3MTQ3NjAyNzI2OTAwMDA7CnlbNl0gPSAtMy4yNDE5MjAzNzU3NjkyODcyMDAwMDsKeVs3XSA9IC0yLjc0NzQ3NzQxOTQ1NDYyMTYwMDAwOwp5WzhdID0gLTIuMzcyMjgwMjkxODQ3ODg3NjAwMDA7CnlbOV0gPSAtMi4wNzY1MjEzOTY1NzIzMzY0MDAwMDsKeVsxMF0gPSAtMS44MzYzMDc5Mjk3MzYyMzEwMDAwMDsKeVsxMV0gPSAtMS42MzY0Mjc0NTI3MzQwMTYxMDAwMDsKeVsxMl0gPSAtMS40NjY3MzA2MTM0MjA5NzM0MDAwMDsKeVsxM10gPSAtMS4zMjAxODMzMTM2NTQ4ODQ2MDAwMDsKeVsxNF0gPSAtMS4xOTE3NTM1OTI1OTQyMTAwMDAwMDsKeVsxNV0gPSAtMS4wNzc3NDM2ODM1MTIyMjY1MDAwMDsKeVsxNl0gPSAtMC45NzUzNzI0NzE1ODIwMDI5MTAwMDsKeVsxN10gPSAtMC44ODI1MDUyMzYxNjQ2NTQ5MzAwMDsKeVsxOF0gPSAtMC43OTc0NzMzODg4ODI0MDM5MzAwMDsKeVsxOV0gPSAtMC43MTg5NTEwMzgyODc4NjA1NjAwMDsKeVsyMF0gPSAtMC42NDU4Njg0NzcyODU1Mjg4NzAwMDsKeVsyMV0gPSAtMC41NzczNTAyNjkxODk2MjU1MTAwMDsKeVsyMl0gPSAtMC41MTI2NzAwODY2NzUxNjY3ODAwMDsKeVsyM10gPSAtMC40NTEyMTcxODMxNzgzMDMyMzAwMDsKeVsyNF0gPSAtMC4zOTI0NzEwNzg4MTAxMDI0MDAwMDsKeVsyNV0gPSAtMC4zMzU5ODIxMzE0NzgxNzY2ODAwMDsKeVsyNl0gPSAtMC4yODEzNTYzNzQ1MTU5NTMyNDAwMDsKeVsyN10gPSAtMC4yMjgyNDM0NzQzOTAxNDk5NDAwMDsKeVsyOF0gPSAtMC4xNzYzMjY5ODA3MDg0NjUwMDAwMDsKeVsyOV0gPSAtMC4xMjUzMTYyNTgyMzczMDQ0MTAwMDsKeVszMF0gPSAtMC4wNzQ5Mzk2NDAwMTkwODcwMzkwMDsKeVszMV0gPSAtMC4wMjQ5Mzg0NDMwNTUwNDYxMDEwMDsKeVszMl0gPSAwLjAyNDkzODQ0MzA1NTA0NjEwMTAwOwp5WzMzXSA9IDAuMDc0OTM5NjQwMDE5MDg3MDM5MDA7CnlbMzRdID0gMC4xMjUzMTYyNTgyMzczMDQ0MTAwMDsKeVszNV0gPSAwLjE3NjMyNjk4MDcwODQ2NTAwMDAwOwp5WzM2XSA9IDAuMjI4MjQzNDc0MzkwMTQ5OTQwMDA7CnlbMzddID0gMC4yODEzNTYzNzQ1MTU5NTMyNDAwMDsKeVszOF0gPSAwLjMzNTk4MjEzMTQ3ODE3NjY4MDAwOwp5WzM5XSA9IDAuMzkyNDcxMDc4ODEwMTAyNDAwMDA7CnlbNDBdID0gMC40NTEyMTcxODMxNzgzMDMwMTAwMDsKeVs0MV0gPSAwLjUxMjY3MDA4NjY3NTE2NjIzMDAwOwp5WzQyXSA9IDAuNTc3MzUwMjY5MTg5NjI2MTgwMDA7CnlbNDNdID0gMC42NDU4Njg0NzcyODU1Mjg4NzAwMDsKeVs0NF0gPSAwLjcxODk1MTAzODI4Nzg2MDIyMDAwOwp5WzQ1XSA9IDAuNzk3NDczMzg4ODgyNDAzOTMwMDA7CnlbNDZdID0gMC44ODI1MDUyMzYxNjQ2NTQ1OTAwMDsKeVs0N10gPSAwLjk3NTM3MjQ3MTU4MjAwMjkxMDAwOwp5WzQ4XSA9IDEuMDc3NzQzNjgzNTEyMjI2NzAwMDA7CnlbNDldID0gMS4xOTE3NTM1OTI1OTQyMDk1MDAwMDsKeVs1MF0gPSAxLjMyMDE4MzMxMzY1NDg4NTEwMDAwOwp5WzUxXSA9IDEuNDY2NzMwNjEzNDIwOTczMjAwMDA7CnlbNTJdID0gMS42MzY0Mjc0NTI3MzQwMTYxMDAwMDsKeVs1M10gPSAxLjgzNjMwNzkyOTczNjIzMTkwMDAwOwp5WzU0XSA9IDIuMDc2NTIxMzk2NTcyMzM2NDAwMDA7CnlbNTVdID0gMi4zNzIyODAyOTE4NDc4ODg5MDAwMDsKeVs1Nl0gPSAyLjc0NzQ3NzQxOTQ1NDYyMTYwMDAwOwp5WzU3XSA9IDMuMjQxOTIwMzc1NzY5Mjg0NTAwMDA7CnlbNThdID0gMy45MjcyNDcxNDc2MDI3MjY5MDAwMDsKeVs1OV0gPSA0Ljk0NjcxNDk0NDk0OTQwMDYwMDAwOwp5WzYwXSA9IDYuNjM0NTY2NDk5Nzg5MzAxOTAwMDA7CnlbNjFdID0gOS45OTM0OTQ5ODI0MTc0MjIyMDAwMDsKeVs2Ml0gPSAyMC4wMzY4OTc4ODk5NzgxOTIwMDAwMDsKeVs2M10gPSAxNjMzMTIzOTM1MzE5NTM3MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnRhbih4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLnRhbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC50YW4oeCkgPSAiICsgTWF0aC50YW4oeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLnRhbih4KSAtIE1hdGgudGFuKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.tan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.tan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hY29zKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4yL1MxNS44LjIuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hY29zKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmFjb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFjb3MoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.acos(x) is NaN","description":"Checking if Math.acos(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAxLCBNYXRoLmFjb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjIvUzE1LjguMi4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFjb3MoeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGdyZWF0ZXIgdGhhbiAxCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOyBpc05hTihNYXRoLmFjb3MoeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMgp4ID0gMjsKaWYgKCFpc05hTihNYXRoLmFjb3MoeCkpKQp7CgkkRVJST1IoIiMyOiAneCA9IDI7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hY29zKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is greater than 1, Math.acos(x) is NaN","description":"Checking if Math.acos(x) is NaN, where x is greater than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAtMSwgTWF0aC5hY29zKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4yL1MxNS44LjIuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hY29zKHgpIGlzIE5hTiwgd2hlcmUgeCBpcyBsZXNzIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0xLjAwMDAwMDAwMDAwMDAwMTsgaXNOYU4oTWF0aC5hY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0yOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzI6ICd4ID0gLTI7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hY29zKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than -1, Math.acos(x) is NaN","description":"Checking if Math.acos(x) is NaN, where x is less than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGV4YWN0bHkgMSwgTWF0aC5hY29zKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjIvUzE1LjguMi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFjb3MoMSkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChNYXRoLmFjb3MoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAxOyBNYXRoLmFjb3MoeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is exactly 1, Math.acos(x) is +0","description":"Checking if Math.acos(1) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmFjb3MsIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMi9TMTUuOC4yLjJfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYWNvcyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnhbMV0gPSAtMC45NjgyNTM5NjgyNTM5NjgyNjAwMDsKeFsyXSA9IC0wLjkzNjUwNzkzNjUwNzkzNjUxMDAwOwp4WzNdID0gLTAuOTA0NzYxOTA0NzYxOTA0NzcwMDA7CnhbNF0gPSAtMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs1XSA9IC0wLjg0MTI2OTg0MTI2OTg0MTI4MDAwOwp4WzZdID0gLTAuODA5NTIzODA5NTIzODA5NTMwMDA7CnhbN10gPSAtMC43Nzc3Nzc3Nzc3Nzc3Nzc3OTAwMDsKeFs4XSA9IC0wLjc0NjAzMTc0NjAzMTc0NjA1MDAwOwp4WzldID0gLTAuNzE0Mjg1NzE0Mjg1NzE0MzAwMDA7CnhbMTBdID0gLTAuNjgyNTM5NjgyNTM5NjgyNTYwMDA7CnhbMTFdID0gLTAuNjUwNzkzNjUwNzkzNjUwODEwMDA7CnhbMTJdID0gLTAuNjE5MDQ3NjE5MDQ3NjE5MDcwMDA7CnhbMTNdID0gLTAuNTg3MzAxNTg3MzAxNTg3MzIwMDA7CnhbMTRdID0gLTAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbMTVdID0gLTAuNTIzODA5NTIzODA5NTIzODQwMDA7CnhbMTZdID0gLTAuNDkyMDYzNDkyMDYzNDkyMDkwMDA7CnhbMTddID0gLTAuNDYwMzE3NDYwMzE3NDYwMzUwMDA7CnhbMThdID0gLTAuNDI4NTcxNDI4NTcxNDI4NjAwMDA7CnhbMTldID0gLTAuMzk2ODI1Mzk2ODI1Mzk2ODYwMDA7CnhbMjBdID0gLTAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbMjFdID0gLTAuMzMzMzMzMzMzMzMzMzMzMzcwMDA7CnhbMjJdID0gLTAuMzAxNTg3MzAxNTg3MzAxNjMwMDA7CnhbMjNdID0gLTAuMjY5ODQxMjY5ODQxMjY5ODgwMDA7CnhbMjRdID0gLTAuMjM4MDk1MjM4MDk1MjM4MTQwMDA7CnhbMjVdID0gLTAuMjA2MzQ5MjA2MzQ5MjA2MzkwMDA7CnhbMjZdID0gLTAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMjddID0gLTAuMTQyODU3MTQyODU3MTQyOTAwMDA7CnhbMjhdID0gLTAuMTExMTExMTExMTExMTExMTYwMDA7CnhbMjldID0gLTAuMDc5MzY1MDc5MzY1MDc5NDE2MDA7CnhbMzBdID0gLTAuMDQ3NjE5MDQ3NjE5MDQ3NjcyMDA7CnhbMzFdID0gLTAuMDE1ODczMDE1ODczMDE1OTI4MDA7CnhbMzJdID0gMC4wMTU4NzMwMTU4NzMwMTU4MTcwMDsKeFszM10gPSAwLjA0NzYxOTA0NzYxOTA0NzY3MjAwOwp4WzM0XSA9IDAuMDc5MzY1MDc5MzY1MDc5MzA1MDA7CnhbMzVdID0gMC4xMTExMTExMTExMTExMTExNjAwMDsKeFszNl0gPSAwLjE0Mjg1NzE0Mjg1NzE0Mjc5MDAwOwp4WzM3XSA9IDAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMzhdID0gMC4yMDYzNDkyMDYzNDkyMDYyODAwMDsKeFszOV0gPSAwLjIzODA5NTIzODA5NTIzODE0MDAwOwp4WzQwXSA9IDAuMjY5ODQxMjY5ODQxMjY5NzcwMDA7CnhbNDFdID0gMC4zMDE1ODczMDE1ODczMDE2MzAwMDsKeFs0Ml0gPSAwLjMzMzMzMzMzMzMzMzMzMzI2MDAwOwp4WzQzXSA9IDAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbNDRdID0gMC4zOTY4MjUzOTY4MjUzOTY3NTAwMDsKeFs0NV0gPSAwLjQyODU3MTQyODU3MTQyODYwMDAwOwp4WzQ2XSA9IDAuNDYwMzE3NDYwMzE3NDYwMjQwMDA7CnhbNDddID0gMC40OTIwNjM0OTIwNjM0OTIwOTAwMDsKeFs0OF0gPSAwLjUyMzgwOTUyMzgwOTUyMzcyMDAwOwp4WzQ5XSA9IDAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbNTBdID0gMC41ODczMDE1ODczMDE1ODcyMTAwMDsKeFs1MV0gPSAwLjYxOTA0NzYxOTA0NzYxOTA3MDAwOwp4WzUyXSA9IDAuNjUwNzkzNjUwNzkzNjUwNzAwMDA7CnhbNTNdID0gMC42ODI1Mzk2ODI1Mzk2ODI1NjAwMDsKeFs1NF0gPSAwLjcxNDI4NTcxNDI4NTcxNDE5MDAwOwp4WzU1XSA9IDAuNzQ2MDMxNzQ2MDMxNzQ2MDUwMDA7CnhbNTZdID0gMC43Nzc3Nzc3Nzc3Nzc3Nzc2ODAwMDsKeFs1N10gPSAwLjgwOTUyMzgwOTUyMzgwOTUzMDAwOwp4WzU4XSA9IDAuODQxMjY5ODQxMjY5ODQxMTcwMDA7CnhbNTldID0gMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs2MF0gPSAwLjkwNDc2MTkwNDc2MTkwNDY2MDAwOwp4WzYxXSA9IDAuOTM2NTA3OTM2NTA3OTM2NTEwMDA7CnhbNjJdID0gMC45NjgyNTM5NjgyNTM5NjgxNDAwMDsKeFs2M10gPSAxLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDMuMTQxNTkyNjUzNTg5NzkzMTAwMDA7CnlbMV0gPSAyLjg4ODk0NDkyNzMwNTIyOTkwMDAwOwp5WzJdID0gMi43ODMzMzE0MzUwNzcxNzY1MDAwMDsKeVszXSA9IDIuNzAxNjE2Njk4Nzk4ODc0MzAwMDA7CnlbNF0gPSAyLjYzMjE0ODgwNDc3NzkwMDMwMDAwOwp5WzVdID0gMi41NzA0MjQxNTUwMjQyNTU3MDAwMDsKeVs2XSA9IDIuNTE0MTM2ODgwNjY2NjAyNTAwMDA7CnlbN10gPSAyLjQ2MTkxODgzNDY4MTU0OTUwMDAwOwp5WzhdID0gMi40MTI4NzkyMDI4NDYzODc1MDAwMDsKeVs5XSA9IDIuMzY2Mzk5MjgwMjc5NDMyMDAwMDA7CnlbMTBdID0gMi4zMjIwMjgzMjU5MjE1MzI0MDAwMDsKeVsxMV0gPSAyLjI3OTQyNTU5ODM1NzI4MDQwMDAwOwp5WzEyXSA9IDIuMjM4MzI1NzcxNDMwNzI5NjAwMDA7CnlbMTNdID0gMi4xOTg1MTcxNDQ0NTI4MDkxMDAwMDsKeVsxNF0gPSAyLjE1OTgyNzI5NzAxMTE3MDcwMDAwOwp5WzE1XSA9IDIuMTIyMTEzMjk1OTI2Nzc5MjAwMDA7CnlbMTZdID0gMi4wODUyNTQ4MDIzNTYwODMzMDAwMDsKeVsxN10gPSAyLjA0OTE0OTA5MTQ0NDE1NDQwMDAwOwp5WzE4XSA9IDIuMDEzNzA3MzcwODY4NTM1NjAwMDA7CnlbMTldID0gMS45Nzg4NTIwMDQwOTYxNzUyMDAwMDsKeVsyMF0gPSAxLjk0NDUxNDM3NzczNzgxMDQwMDAwOwp5WzIxXSA9IDEuOTEwNjMzMjM2MjQ5MDE4NjAwMDA7CnlbMjJdID0gMS44NzcxNTMzNjEzNTE4MTU5MDAwMDsKeVsyM10gPSAxLjg0NDAyNDUwOTMzNTUzNDUwMDAwOwp5WzI0XSA9IDEuODExMjAwNTQzNTY0MTU2MTAwMDA7CnlbMjVdID0gMS43Nzg2Mzg3MTYxNDgyNDMzMDAwMDsKeVsyNl0gPSAxLjc0NjI5OTA2NDM3MDYxOTMwMDAwOwp5WzI3XSA9IDEuNzE0MTQzODk1NzAwMjYxOTAwMDA7CnlbMjhdID0gMS42ODIxMzczNDExMzU4NjA3MDAwMDsKeVsyOV0gPSAxLjY1MDI0NDk2MDg4MDAzMzgwMDAwOwp5WzMwXSA9IDEuNjE4NDMzMzg5NDE5Mjk5NzAwMDA7CnlbMzFdID0gMS41ODY2NzAwMDkyODQ4NTI1MDAwMDsKeVszMl0gPSAxLjU1NDkyMjY0NDMwNDk0MTEwMDAwOwp5WzMzXSA9IDEuNTIzMTU5MjY0MTcwNDkzNDAwMDA7CnlbMzRdID0gMS40OTEzNDc2OTI3MDk3NTk1MDAwMDsKeVszNV0gPSAxLjQ1OTQ1NTMxMjQ1MzkzMjcwMDAwOwp5WzM2XSA9IDEuNDI3NDQ4NzU3ODg5NTMxNDAwMDA7CnlbMzddID0gMS4zOTUyOTM1ODkyMTkxNzM4MDAwMDsKeVszOF0gPSAxLjM2Mjk1MzkzNzQ0MTU1MDAwMDAwOwp5WzM5XSA9IDEuMzMwMzkyMTEwMDI1NjM3MzAwMDA7CnlbNDBdID0gMS4yOTc1NjgxNDQyNTQyNTg4MDAwMDsKeVs0MV0gPSAxLjI2NDQzOTI5MjIzNzk3NzUwMDAwOwp5WzQyXSA9IDEuMjMwOTU5NDE3MzQwNzc0NzAwMDA7CnlbNDNdID0gMS4xOTcwNzgyNzU4NTE5ODI3MDAwMDsKeVs0NF0gPSAxLjE2Mjc0MDY0OTQ5MzYxODMwMDAwOwp5WzQ1XSA9IDEuMTI3ODg1MjgyNzIxMjU3NTAwMDA7CnlbNDZdID0gMS4wOTI0NDM1NjIxNDU2MzkwMDAwMDsKeVs0N10gPSAxLjA1NjMzNzg1MTIzMzcwOTgwMDAwOwp5WzQ4XSA9IDEuMDE5NDc5MzU3NjYzMDEzOTAwMDA7CnlbNDldID0gMC45ODE3NjUzNTY1Nzg2MjI3NDAwMDsKeVs1MF0gPSAwLjk0MzA3NTUwOTEzNjk4NDAxMDAwOwp5WzUxXSA9IDAuOTAzMjY2ODgyMTU5MDYzNTkwMDA7CnlbNTJdID0gMC44NjIxNjcwNTUyMzI1MTI4MDAwMDsKeVs1M10gPSAwLjgxOTU2NDMyNzY2ODI2MDgyMDAwOwp5WzU0XSA9IDAuNzc1MTkzMzczMzEwMzYxNDIwMDA7CnlbNTVdID0gMC43Mjg3MTM0NTA3NDM0MDU1NDAwMDsKeVs1Nl0gPSAwLjY3OTY3MzgxODkwODI0NDA4MDAwOwp5WzU3XSA9IDAuNjI3NDU1NzcyOTIzMTkwNzcwMDA7CnlbNThdID0gMC41NzExNjg0OTg1NjU1Mzc3NTAwMDsKeVs1OV0gPSAwLjUwOTQ0Mzg0ODgxMTg5Mjk3MDAwOwp5WzYwXSA9IDAuNDM5OTc1OTU0NzkwOTE5MTcwMDA7CnlbNjFdID0gMC4zNTgyNjEyMTg1MTI2MTY3NzAwMDsKeVs2Ml0gPSAwLjI1MjY0NzcyNjI4NDU2Mzk0MDAwOwp5WzYzXSA9IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLmFjb3MoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5hY29zKHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLmFjb3MoeCkgPSAiICsgTWF0aC5hY29zKHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5hY29zKHgpIC0gTWF0aC5hY29zKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.acos, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.acos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hc2luKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4zL1MxNS44LjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hc2luKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmFzaW4oeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFzaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.asin(x) is NaN","description":"Checking if Math.asin(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAxLCBNYXRoLmFzaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjMvUzE1LjguMi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFzaW4oeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGdyZWF0ZXIgdGhhbiAxCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOyBpc05hTihNYXRoLmFzaW4oeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMgp4ID0gMjsKaWYgKCFpc05hTihNYXRoLmFzaW4oeCkpKQp7CgkkRVJST1IoIiMyOiAneCA9IDI7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hc2luKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is greater than 1, Math.asin(x) is NaN","description":"Checking if Math.asin(x) is NaN, where x is greater than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAtMSwgTWF0aC5hc2luKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4zL1MxNS44LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hc2luKHgpIGlzIE5hTiwgd2hlcmUgeCBpcyBsZXNzIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0xLjAwMDAwMDAwMDAwMDAwMTsgaXNOYU4oTWF0aC5hc2luKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0yOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzI6ICd4ID0gLTI7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hc2luKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than -1, Math.asin(x) is NaN","description":"Checking if Math.asin(x) is NaN, where x is less than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmFzaW4oeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbigrMCkgZXF1YWxzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5hc2luKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gKzA7IE1hdGguYXNpbih4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.asin(x) is +0","description":"Checking if Math.asin(+0) equals +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmFzaW4oeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5hc2luKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTA7IE1hdGguYXNpbih4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.asin(x) is -0","description":"Checking if Math.asin(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmFzaW4sIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnhbMV0gPSAtMC45NjgyNTM5NjgyNTM5NjgyNjAwMDsKeFsyXSA9IC0wLjkzNjUwNzkzNjUwNzkzNjUxMDAwOwp4WzNdID0gLTAuOTA0NzYxOTA0NzYxOTA0NzcwMDA7CnhbNF0gPSAtMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs1XSA9IC0wLjg0MTI2OTg0MTI2OTg0MTI4MDAwOwp4WzZdID0gLTAuODA5NTIzODA5NTIzODA5NTMwMDA7CnhbN10gPSAtMC43Nzc3Nzc3Nzc3Nzc3Nzc3OTAwMDsKeFs4XSA9IC0wLjc0NjAzMTc0NjAzMTc0NjA1MDAwOwp4WzldID0gLTAuNzE0Mjg1NzE0Mjg1NzE0MzAwMDA7CnhbMTBdID0gLTAuNjgyNTM5NjgyNTM5NjgyNTYwMDA7CnhbMTFdID0gLTAuNjUwNzkzNjUwNzkzNjUwODEwMDA7CnhbMTJdID0gLTAuNjE5MDQ3NjE5MDQ3NjE5MDcwMDA7CnhbMTNdID0gLTAuNTg3MzAxNTg3MzAxNTg3MzIwMDA7CnhbMTRdID0gLTAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbMTVdID0gLTAuNTIzODA5NTIzODA5NTIzODQwMDA7CnhbMTZdID0gLTAuNDkyMDYzNDkyMDYzNDkyMDkwMDA7CnhbMTddID0gLTAuNDYwMzE3NDYwMzE3NDYwMzUwMDA7CnhbMThdID0gLTAuNDI4NTcxNDI4NTcxNDI4NjAwMDA7CnhbMTldID0gLTAuMzk2ODI1Mzk2ODI1Mzk2ODYwMDA7CnhbMjBdID0gLTAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbMjFdID0gLTAuMzMzMzMzMzMzMzMzMzMzMzcwMDA7CnhbMjJdID0gLTAuMzAxNTg3MzAxNTg3MzAxNjMwMDA7CnhbMjNdID0gLTAuMjY5ODQxMjY5ODQxMjY5ODgwMDA7CnhbMjRdID0gLTAuMjM4MDk1MjM4MDk1MjM4MTQwMDA7CnhbMjVdID0gLTAuMjA2MzQ5MjA2MzQ5MjA2MzkwMDA7CnhbMjZdID0gLTAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMjddID0gLTAuMTQyODU3MTQyODU3MTQyOTAwMDA7CnhbMjhdID0gLTAuMTExMTExMTExMTExMTExMTYwMDA7CnhbMjldID0gLTAuMDc5MzY1MDc5MzY1MDc5NDE2MDA7CnhbMzBdID0gLTAuMDQ3NjE5MDQ3NjE5MDQ3NjcyMDA7CnhbMzFdID0gLTAuMDE1ODczMDE1ODczMDE1OTI4MDA7CnhbMzJdID0gMC4wMTU4NzMwMTU4NzMwMTU4MTcwMDsKeFszM10gPSAwLjA0NzYxOTA0NzYxOTA0NzY3MjAwOwp4WzM0XSA9IDAuMDc5MzY1MDc5MzY1MDc5MzA1MDA7CnhbMzVdID0gMC4xMTExMTExMTExMTExMTExNjAwMDsKeFszNl0gPSAwLjE0Mjg1NzE0Mjg1NzE0Mjc5MDAwOwp4WzM3XSA9IDAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMzhdID0gMC4yMDYzNDkyMDYzNDkyMDYyODAwMDsKeFszOV0gPSAwLjIzODA5NTIzODA5NTIzODE0MDAwOwp4WzQwXSA9IDAuMjY5ODQxMjY5ODQxMjY5NzcwMDA7CnhbNDFdID0gMC4zMDE1ODczMDE1ODczMDE2MzAwMDsKeFs0Ml0gPSAwLjMzMzMzMzMzMzMzMzMzMzI2MDAwOwp4WzQzXSA9IDAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbNDRdID0gMC4zOTY4MjUzOTY4MjUzOTY3NTAwMDsKeFs0NV0gPSAwLjQyODU3MTQyODU3MTQyODYwMDAwOwp4WzQ2XSA9IDAuNDYwMzE3NDYwMzE3NDYwMjQwMDA7CnhbNDddID0gMC40OTIwNjM0OTIwNjM0OTIwOTAwMDsKeFs0OF0gPSAwLjUyMzgwOTUyMzgwOTUyMzcyMDAwOwp4WzQ5XSA9IDAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbNTBdID0gMC41ODczMDE1ODczMDE1ODcyMTAwMDsKeFs1MV0gPSAwLjYxOTA0NzYxOTA0NzYxOTA3MDAwOwp4WzUyXSA9IDAuNjUwNzkzNjUwNzkzNjUwNzAwMDA7CnhbNTNdID0gMC42ODI1Mzk2ODI1Mzk2ODI1NjAwMDsKeFs1NF0gPSAwLjcxNDI4NTcxNDI4NTcxNDE5MDAwOwp4WzU1XSA9IDAuNzQ2MDMxNzQ2MDMxNzQ2MDUwMDA7CnhbNTZdID0gMC43Nzc3Nzc3Nzc3Nzc3Nzc2ODAwMDsKeFs1N10gPSAwLjgwOTUyMzgwOTUyMzgwOTUzMDAwOwp4WzU4XSA9IDAuODQxMjY5ODQxMjY5ODQxMTcwMDA7CnhbNTldID0gMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs2MF0gPSAwLjkwNDc2MTkwNDc2MTkwNDY2MDAwOwp4WzYxXSA9IDAuOTM2NTA3OTM2NTA3OTM2NTEwMDA7CnhbNjJdID0gMC45NjgyNTM5NjgyNTM5NjgxNDAwMDsKeFs2M10gPSAxLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0xLjU3MDc5NjMyNjc5NDg5NjYwMDAwOwp5WzFdID0gLTEuMzE4MTQ4NjAwNTEwMzMzMTAwMDA7CnlbMl0gPSAtMS4yMTI1MzUxMDgyODIyNzk5MDAwMDsKeVszXSA9IC0xLjEzMDgyMDM3MjAwMzk3NzgwMDAwOwp5WzRdID0gLTEuMDYxMzUyNDc3OTgzMDAzNzAwMDA7CnlbNV0gPSAtMC45OTk2Mjc4MjgyMjkzNTkwMzAwMDsKeVs2XSA9IC0wLjk0MzM0MDU1Mzg3MTcwNTkwMDAwOwp5WzddID0gLTAuODkxMTIyNTA3ODg2NjUyODEwMDA7CnlbOF0gPSAtMC44NDIwODI4NzYwNTE0OTEwMTAwMDsKeVs5XSA9IC0wLjc5NTYwMjk1MzQ4NDUzNTM2MDAwOwp5WzEwXSA9IC0wLjc1MTIzMTk5OTEyNjYzNTg1MDAwOwp5WzExXSA9IC0wLjcwODYyOTI3MTU2MjM4Mzk4MDAwOwp5WzEyXSA9IC0wLjY2NzUyOTQ0NDYzNTgzMjk3MDAwOwp5WzEzXSA9IC0wLjYyNzcyMDgxNzY1NzkxMjY2MDAwOwp5WzE0XSA9IC0wLjU4OTAzMDk3MDIxNjI3MzkzMDAwOwp5WzE1XSA9IC0wLjU1MTMxNjk2OTEzMTg4Mjc3MDAwOwp5WzE2XSA9IC0wLjUxNDQ1ODQ3NTU2MTE4NjczMDAwOwp5WzE3XSA9IC0wLjQ3ODM1Mjc2NDY0OTI1Nzc0MDAwOwp5WzE4XSA9IC0wLjQ0MjkxMTA0NDA3MzYzODk2MDAwOwp5WzE5XSA9IC0wLjQwODA1NTY3NzMwMTI3ODUxMDAwOwp5WzIwXSA9IC0wLjM3MzcxODA1MDk0MjkxMzk0MDAwOwp5WzIxXSA9IC0wLjMzOTgzNjkwOTQ1NDEyMTk4MDAwOwp5WzIyXSA9IC0wLjMwNjM1NzAzNDU1NjkxOTE1MDAwOwp5WzIzXSA9IC0wLjI3MzIyODE4MjU0MDYzNzg1MDAwOwp5WzI0XSA9IC0wLjI0MDQwNDIxNjc2OTI1OTM4MDAwOwp5WzI1XSA9IC0wLjIwNzg0MjM4OTM1MzM0Njc4MDAwOwp5WzI2XSA9IC0wLjE3NTUwMjczNzU3NTcyMjc0MDAwOwp5WzI3XSA9IC0wLjE0MzM0NzU2ODkwNTM2NTQwMDAwOwp5WzI4XSA9IC0wLjExMTM0MTAxNDM0MDk2Mzk0MDAwOwp5WzI5XSA9IC0wLjA3OTQ0ODYzNDA4NTEzNzIyMTAwOwp5WzMwXSA9IC0wLjA0NzYzNzA2MjYyNDQwMzE4MzAwOwp5WzMxXSA9IC0wLjAxNTg3MzY4MjQ4OTk1NTczNjAwOwp5WzMyXSA9IDAuMDE1ODczNjgyNDg5OTU1NjI1MDA7CnlbMzNdID0gMC4wNDc2MzcwNjI2MjQ0MDMxODMwMDsKeVszNF0gPSAwLjA3OTQ0ODYzNDA4NTEzNzExMDAwOwp5WzM1XSA9IDAuMTExMzQxMDE0MzQwOTYzOTQwMDA7CnlbMzZdID0gMC4xNDMzNDc1Njg5MDUzNjUyOTAwMDsKeVszN10gPSAwLjE3NTUwMjczNzU3NTcyMjc0MDAwOwp5WzM4XSA9IDAuMjA3ODQyMzg5MzUzMzQ2NjcwMDA7CnlbMzldID0gMC4yNDA0MDQyMTY3NjkyNTkzODAwMDsKeVs0MF0gPSAwLjI3MzIyODE4MjU0MDYzNzc0MDAwOwp5WzQxXSA9IDAuMzA2MzU3MDM0NTU2OTE5MTUwMDA7CnlbNDJdID0gMC4zMzk4MzY5MDk0NTQxMjE4NzAwMDsKeVs0M10gPSAwLjM3MzcxODA1MDk0MjkxMzk0MDAwOwp5WzQ0XSA9IDAuNDA4MDU1Njc3MzAxMjc4NDAwMDA7CnlbNDVdID0gMC40NDI5MTEwNDQwNzM2Mzg5NjAwMDsKeVs0Nl0gPSAwLjQ3ODM1Mjc2NDY0OTI1NzU4MDAwOwp5WzQ3XSA9IDAuNTE0NDU4NDc1NTYxMTg2NzMwMDA7CnlbNDhdID0gMC41NTEzMTY5NjkxMzE4ODI2NjAwMDsKeVs0OV0gPSAwLjU4OTAzMDk3MDIxNjI3MzkzMDAwOwp5WzUwXSA9IDAuNjI3NzIwODE3NjU3OTEyNTQwMDA7CnlbNTFdID0gMC42Njc1Mjk0NDQ2MzU4MzI5NzAwMDsKeVs1Ml0gPSAwLjcwODYyOTI3MTU2MjM4Mzg3MDAwOwp5WzUzXSA9IDAuNzUxMjMxOTk5MTI2NjM1ODUwMDA7CnlbNTRdID0gMC43OTU2MDI5NTM0ODQ1MzUxNDAwMDsKeVs1NV0gPSAwLjg0MjA4Mjg3NjA1MTQ5MTAxMDAwOwp5WzU2XSA9IDAuODkxMTIyNTA3ODg2NjUyNTkwMDA7CnlbNTddID0gMC45NDMzNDA1NTM4NzE3MDU5MDAwMDsKeVs1OF0gPSAwLjk5OTYyNzgyODIyOTM1ODgxMDAwOwp5WzU5XSA9IDEuMDYxMzUyNDc3OTgzMDAzNzAwMDA7CnlbNjBdID0gMS4xMzA4MjAzNzIwMDM5Nzc2MDAwMDsKeVs2MV0gPSAxLjIxMjUzNTEwODI4MjI3OTkwMDAwOwp5WzYyXSA9IDEuMzE4MTQ4NjAwNTEwMzMyNzAwMDA7CnlbNjNdID0gMS41NzA3OTYzMjY3OTQ4OTY2MDAwMDsKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hc2luKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuYXNpbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hc2luKHgpID0gIiArIE1hdGguYXNpbih4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuYXNpbih4KSAtIE1hdGguYXNpbih4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.asin, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.asin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hdGFuKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi40L1MxNS44LjIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmF0YW4oeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmF0YW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.atan(x) is NaN","description":"Checking if Math.atan(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmF0YW4oeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbigrMCkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5hdGFuKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gKzA7IE1hdGguYXRhbih4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.atan(x) is +0","description":"Checking if Math.atan(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmF0YW4oeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5hdGFuKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTA7IE1hdGguYXRhbih4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.atan(x) is -0","description":"Checking if Math.atan(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5hdGFuKHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvICtQSS8yCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjQvUzE1LjguMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4oK0luZmluaXR5KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS8yCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQoKdmFyIHggPSArSW5maW5pdHk7CmlmICghaXNFcXVhbChNYXRoLmF0YW4oeCksTWF0aC5QSS8yKSkKewoJJEVSUk9SKCIjMTogJyFpc0VxdWFsKE1hdGguYXRhbigrSW5maW5pdHkpLCBNYXRoLlBJLzIpJyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.atan(x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan(+Infinity) is an approximation to +PI/2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5hdGFuKHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvIC1QSS8yCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjQvUzE1LjguMi40X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4oLUluZmluaXR5KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS8yCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQoKdmFyIHggPSAtSW5maW5pdHk7CmlmICghaXNFcXVhbChNYXRoLmF0YW4oeCksIC1NYXRoLlBJLzIpKQp7CgkkRVJST1IoIiMxOiAnIWlzRXF1YWwoTWF0aC5hdGFuKC1JbmZpbml0eSksIC1NYXRoLlBJLzIpJyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.atan(x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan(-Infinity) is an approximation to -PI/2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmF0YW4sIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gLTE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4WzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzNdID0gLTE0LjQ3NjE5MDQ3NjE5MDQ3NjAwMDAwOwp4WzRdID0gLTEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4WzZdID0gLTEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzddID0gLTEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4WzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzldID0gLTExLjQyODU3MTQyODU3MTQyOTAwMDAwOwp4WzEwXSA9IC0xMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CnhbMTJdID0gLTkuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CnhbMTNdID0gLTkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CnhbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbMTVdID0gLTguMzgwOTUyMzgwOTUyMzgxNDAwMDA7CnhbMTZdID0gLTcuODczMDE1ODczMDE1ODczNTAwMDA7CnhbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CnhbMThdID0gLTYuODU3MTQyODU3MTQyODU3NzAwMDA7CnhbMTldID0gLTYuMzQ5MjA2MzQ5MjA2MzQ5NzAwMDA7CnhbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CnhbMjFdID0gLTUuMzMzMzMzMzMzMzMzMzMzOTAwMDA7CnhbMjJdID0gLTQuODI1Mzk2ODI1Mzk2ODI2MDAwMDA7CnhbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CnhbMjRdID0gLTMuODA5NTIzODA5NTIzODEwMjAwMDA7CnhbMjVdID0gLTMuMzAxNTg3MzAxNTg3MzAyMzAwMDA7CnhbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CnhbMjddID0gLTIuMjg1NzE0Mjg1NzE0Mjg2NTAwMDA7CnhbMjhdID0gLTEuNzc3Nzc3Nzc3Nzc3Nzc4NjAwMDA7CnhbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CnhbMzBdID0gLTAuNzYxOTA0NzYxOTA0NzYyNzUwMDA7CnhbMzFdID0gLTAuMjUzOTY4MjUzOTY4MjU0ODQwMDA7CnhbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeFszM10gPSAwLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4WzM0XSA9IDEuMjY5ODQxMjY5ODQxMjY4OTAwMDA7CnhbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeFszNl0gPSAyLjI4NTcxNDI4NTcxNDI4NDcwMDAwOwp4WzM3XSA9IDIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CnhbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeFszOV0gPSAzLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4WzQwXSA9IDQuMzE3NDYwMzE3NDYwMzE2MzAwMDA7CnhbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeFs0Ml0gPSA1LjMzMzMzMzMzMzMzMzMzMjEwMDAwOwp4WzQzXSA9IDUuODQxMjY5ODQxMjY5ODQxODAwMDA7CnhbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeFs0NV0gPSA2Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4WzQ2XSA9IDcuMzY1MDc5MzY1MDc5MzYzODAwMDA7CnhbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeFs0OF0gPSA4LjM4MDk1MjM4MDk1MjM3OTYwMDAwOwp4WzQ5XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeFs1MV0gPSA5LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzUyXSA9IDEwLjQxMjY5ODQxMjY5ODQxMTAwMDAwOwp4WzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4WzU0XSA9IDExLjQyODU3MTQyODU3MTQyNzAwMDAwOwp4WzU1XSA9IDExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4WzU3XSA9IDEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzU4XSA9IDEzLjQ2MDMxNzQ2MDMxNzQ1OTAwMDAwOwp4WzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzYwXSA9IDE0LjQ3NjE5MDQ3NjE5MDQ3NDAwMDAwOwp4WzYxXSA9IDE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4WzYzXSA9IDE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTEuNTA4Mzc3NTE2Nzk4OTM5MzAwMDA7CnlbMV0gPSAtMS41MDYzMzY1NzMxNDM4MjY3MDAwMDsKeVsyXSA9IC0xLjUwNDE1Nzg1NDM2NDE5MzEwMDAwOwp5WzNdID0gLTEuNTAxODI2OTQ1MTkzNTg2NjAwMDA7CnlbNF0gPSAtMS40OTkzMjczNTAyNjEwMzA5MDAwMDsKeVs1XSA9IC0xLjQ5NjY0MDEwNTU3NjgyMzAwMDAwOwp5WzZdID0gLTEuNDkzNzQzMjk5NzQzOTM5NTAwMDA7CnlbN10gPSAtMS40OTA2MTE0Nzk0OTM1ODAzMDAwMDsKeVs4XSA9IC0xLjQ4NzIxNDkwNTY1MzQ5NTgwMDAwOwp5WzldID0gLTEuNDgzNTE4NjEzODQ1NDM1MzAwMDA7CnlbMTBdID0gLTEuNDc5NDgxMjE3NTY3NjE4NDAwMDA7CnlbMTFdID0gLTEuNDc1MDUzMzY3NTYwMTU1ODAwMDA7CnlbMTJdID0gLTEuNDcwMTc1NzQ2OTM3NzcxMDAwMDA7CnlbMTNdID0gLTEuNDY0Nzc2NDMwOTM5NzE2MDAwMDA7CnlbMTRdID0gLTEuNDU4NzY3MzY0MzY4OTA4NzAwMDA7CnlbMTVdID0gLTEuNDUyMDM5NTk0MjY3MDcwMzAwMDA7CnlbMTZdID0gLTEuNDQ0NDU2NzE1NjUyNTUzNjAwMDA7CnlbMTddID0gLTEuNDM1ODQ1NzAyMjkwMzkzOTAwMDA7CnlbMThdID0gLTEuNDI1OTgzODI4NTU1OTU3NjAwMDA7CnlbMTldID0gLTEuNDE0NTc5NjA4MzUwNzc0OTAwMDA7CnlbMjBdID0gLTEuNDAxMjQ0MzMxMjk2MDcwNzAwMDA7CnlbMjFdID0gLTEuMzg1NDQ4Mzc2Nzk5MjAxOTAwMDA7CnlbMjJdID0gLTEuMzY2NDUyMDQ3NDUzMjE1MTAwMDA7CnlbMjNdID0gLTEuMzQzMTkyMTA5Nzg3NjIwMDAwMDA7CnlbMjRdID0gLTEuMzE0MDg3OTk2MzYxNTEwOTAwMDA7CnlbMjVdID0gLTEuMjc2Njk1MjAxNzY4MzE4NjAwMDA7CnlbMjZdID0gLTEuMjI3MDUyNzAzMTU5MTE0NTAwMDA7CnlbMjddID0gLTEuMTU4Mzg1ODg1MTk3NTA5NTAwMDA7CnlbMjhdID0gLTEuMDU4NDA2ODY2NDg0MTU5MDAwMDA7CnlbMjldID0gLTAuOTAzNzIzOTQ1OTAyOTgxNjYwMDA7CnlbMzBdID0gLTAuNjUxMDc2NzIxNDQ0NDgwMzcwMDA7CnlbMzFdID0gLTAuMjQ4NzA5OTg5MDkzNTIzNjgwMDA7CnlbMzJdID0gMC4yNDg3MDk5ODkwOTM1MjIwMjAwMDsKeVszM10gPSAwLjY1MTA3NjcyMTQ0NDQ4MDM3MDAwOwp5WzM0XSA9IDAuOTAzNzIzOTQ1OTAyOTgxMDAwMDA7CnlbMzVdID0gMS4wNTg0MDY4NjY0ODQxNTkwMDAwMDsKeVszNl0gPSAxLjE1ODM4NTg4NTE5NzUwOTEwMDAwOwp5WzM3XSA9IDEuMjI3MDUyNzAzMTU5MTE0NTAwMDA7CnlbMzhdID0gMS4yNzY2OTUyMDE3NjgzMTg0MDAwMDsKeVszOV0gPSAxLjMxNDA4Nzk5NjM2MTUxMDkwMDAwOwp5WzQwXSA9IDEuMzQzMTkyMTA5Nzg3NjE5ODAwMDA7CnlbNDFdID0gMS4zNjY0NTIwNDc0NTMyMTUxMDAwMDsKeVs0Ml0gPSAxLjM4NTQ0ODM3Njc5OTIwMTkwMDAwOwp5WzQzXSA9IDEuNDAxMjQ0MzMxMjk2MDcwNzAwMDA7CnlbNDRdID0gMS40MTQ1Nzk2MDgzNTA3NzQ5MDAwMDsKeVs0NV0gPSAxLjQyNTk4MzgyODU1NTk1NzYwMDAwOwp5WzQ2XSA9IDEuNDM1ODQ1NzAyMjkwMzkzOTAwMDA7CnlbNDddID0gMS40NDQ0NTY3MTU2NTI1NTM2MDAwMDsKeVs0OF0gPSAxLjQ1MjAzOTU5NDI2NzA3MDMwMDAwOwp5WzQ5XSA9IDEuNDU4NzY3MzY0MzY4OTA4NzAwMDA7CnlbNTBdID0gMS40NjQ3NzY0MzA5Mzk3MTYwMDAwMDsKeVs1MV0gPSAxLjQ3MDE3NTc0NjkzNzc3MTAwMDAwOwp5WzUyXSA9IDEuNDc1MDUzMzY3NTYwMTU1ODAwMDA7CnlbNTNdID0gMS40Nzk0ODEyMTc1Njc2MTg0MDAwMDsKeVs1NF0gPSAxLjQ4MzUxODYxMzg0NTQzNTMwMDAwOwp5WzU1XSA9IDEuNDg3MjE0OTA1NjUzNDk1ODAwMDA7CnlbNTZdID0gMS40OTA2MTE0Nzk0OTM1ODAzMDAwMDsKeVs1N10gPSAxLjQ5Mzc0MzI5OTc0MzkzOTUwMDAwOwp5WzU4XSA9IDEuNDk2NjQwMTA1NTc2ODIzMDAwMDA7CnlbNTldID0gMS40OTkzMjczNTAyNjEwMzA5MDAwMDsKeVs2MF0gPSAxLjUwMTgyNjk0NTE5MzU4NjYwMDAwOwp5WzYxXSA9IDEuNTA0MTU3ODU0MzY0MTkzMTAwMDA7CnlbNjJdID0gMS41MDYzMzY1NzMxNDM4MjY3MDAwMDsKeVs2M10gPSAxLjUwODM3NzUxNjc5ODkzOTMwMDAwOwoKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hdGFuKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuYXRhbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hdGFuKHgpID0gIiArIE1hdGguYXRhbih4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuYXRhbih4KSAtIE1hdGguYXRhbih4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.atan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.atan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzIE5hTiwgTWF0aCh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMihOYU4seSkgYW5kIE1hdGguYXRhbjIoeCxOYU4pIGlzIE5hTiBmb3IgZGlmZmVyZW50IHggYW5kIHkgdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQoKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPCAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47Cglmb3IgKGogPSAwOyBqIDwgdmFsbnVtOyBqKyspCgl7CgkJYXJnc1sxLWldID0gdmFsc1tqXTsKCQlpZiAoIWlzTmFOKE1hdGguYXRhbjIoYXJnc1swXSwgYXJnc1sxXSkpKQoJCXsKCQkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5hdGFuMigiICsgYXJnc1swXSArICIsICIgKyBhcmdzWzFdICsgIikpID09PSBmYWxzZSciKTsKCQl9Cgl9Cn0KCg==","commentary":"If either x or y is NaN, Math(x,y) is NaN","description":"Checking if Math.atan2(NaN,y) and Math.atan2(x,NaN) is NaN for different x and y values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wIGFuZCB4IGlzIC0wLCBNYXRoLmF0YW4yKHkseCkgaXMgYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IGFwcHJveGltYXRpb24gdG8gLVBJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMigtMCwtMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSAtMDsKeCA9IC0wOwppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAtTWF0aC5QSSkpCgkkRVJST1IoIiMxOiAhaXNFcXVhbChNYXRoLmF0YW4yKC0wLC0wKSwgLU1hdGguUEkpIik7Cgo=","commentary":"If y is -0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(-0,-0) is an approximation to -PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PDAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4yKC0wLHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gLVBJLCB3aGVyZSB4PDAKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnkgPSAtMDsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gLUluZmluaXR5Owp4WzFdID0gLTE7IAp4bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIC0gTWF0aC5QSSkpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHhbaV0gKyAiKSArIE1hdGguUEkpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is equal to -0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(-0,x) is an approximation to -PI, where x<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHggaXMgKzAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSwrMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkvMiwgd2hlcmUgeTwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQp4ID0gKzA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsyXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xOyAKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5W2ldLHgpLCAtKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgKyAoKE1hdGguUEkpLzIpKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y<0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,+0) is an approximation to -PI/2, where y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHggaXMgLTAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSwtMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkvMiwgd2hlcmUgeTwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQp4ID0gLTA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsyXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xOyAKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5W2ldLHgpLCAtKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsIC0wKSArICgoTWF0aC5QSSkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y<0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,-0) is an approximation to -PI/2, where y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGVxdWFscyB0byArMCwgd2hlcmUgeT4wIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnggPSArSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMTsKeVsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLmF0YW4yKHlbaV0seCkgIT09ICswKQoJCSRGQUlMKCIjMTogTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgIT09ICswIik7Cn0KCg==","commentary":"If y>0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) equals to +0, where y>0 and y is finite and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvIC1JbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvICtQSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSSwgd2hlcmUgeT4wIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMTsKeVsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHlbaV0seCksTWF0aC5QSSkpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAtIE1hdGguUEkpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y>0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y>0 and y is finite and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIC0wLCB3aGVyZSB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKeCA9ICtJbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gLTE7CnlbMl0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGJ5IGFicygpIGZpbml0ZSBudW1iZXIgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGguYXRhbjIoeVtpXSx4KSAhPT0gLTApCgkJJEZBSUwoIiMxOiBNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAhPT0gLTAiKTsKfQoK","commentary":"If y<0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y<0 and y is finite and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvIC1JbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvIC1QSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSSwgd2hlcmUgeTwwIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsxXSA9IC0xOwp5WzJdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHlbaV0seCksIC1NYXRoLlBJKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHlbaV0gKyAiLCAiICsgeCArICIpICsgTWF0aC5QSSkgPj0gIiArIHByZWMpOwp9Cgo=","commentary":"If y<0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(y,x) is an approximation to -PI, where y<0 and y is finite and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS8yLCB3aGVyZSB5IGlzICtJbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzFdID0gMTsKeFsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbM10gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnhbNF0gPSAtMTsKeFs1XSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlciAKIAp4bnVtID0gNjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIChNYXRoLlBJKS8yKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpIC0gKE1hdGguUEkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is +Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y is +Infinity and x is finite","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS8yLCB3aGVyZSB5IGlzIC1JbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9IC1JbmZpbml0eTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnhbMV0gPSAxOwp4WzJdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFs0XSA9IC0xOwp4WzVdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyIAogCnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeSx4W2ldKSwgLShNYXRoLlBJKS8yKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpICsgKE1hdGguUEkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is -Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,x) is an approximation to -PI/2, where y is -Infinity and x is finite","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHggaXMgKzAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gK1BJLzIsIHdoZXJlIHk+MCBhbmQgeCBpcyArMAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7IAoKLy8gQ0hFQ0sjMQp4ID0gKzA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzJdID0gK0luZmluaXR5Owp5WzFdID0gMTsgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeVtpXSx4KSwoTWF0aC5QSSkvMikpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAtICgoTWF0aC5QSSkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y>0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvNAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMjAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS80LCB3aGVyZSB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9ICtJbmZpbml0eTsKeCA9ICtJbmZpbml0eTsKCmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksKE1hdGguUEkpLzQpKQoJJEVSUk9SKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgLSAoTWF0aC5QSS80KSkgPj0gIiArIHByZWMpOwoK","commentary":"If y is equal to +Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI/4","description":"Checking if Math.atan2(y,x) is an approximation to +PI/4, where y is equal to +Infinity and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArMypQSS80CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gKzMqUEkvNCwgd2hlcmUgeSBpcyBlcXVhbCB0byArSW5maW5pdHkgYW5kIHggaXMgZXF1YWwgdG8gLUluZmluaXR5CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSArSW5maW5pdHk7CnggPSAtSW5maW5pdHk7CgppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAoMypNYXRoLlBJKS80KSkKCSRFUlJPUigiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeCArICIpIC0gKDMqTWF0aC5QSS80KSkgPj0gIiArIHByZWMpOwoK","commentary":"If y is equal to +Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +3*PI/4","description":"Checking if Math.atan2(y,x) is an approximation to +3*PI/4, where y is equal to +Infinity and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvNAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS80LCB3aGVyZSB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9IC1JbmZpbml0eTsKeCA9ICtJbmZpbml0eTsKCmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksLSAoTWF0aC5QSSkvNCkpCgkkRVJST1IoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHggKyAiKSArIChNYXRoLlBJLzQpKSA+PSAiICsgcHJlYyk7Cgo=","commentary":"If y is equal to -Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI/4","description":"Checking if Math.atan2(y,x) is an approximation to -PI/4, where y is equal to -Infinity and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtMypQSS80CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gLTMqUEkvNCwgd2hlcmUgeSBpcyBlcXVhbCB0byAtSW5maW5pdHkgYW5kIHggaXMgZXF1YWwgdG8gLUluZmluaXR5CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSAtSW5maW5pdHk7CnggPSAtSW5maW5pdHk7CgppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAtKDMqTWF0aC5QSSkvNCkpCgkkRVJST1IoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHggKyAiKSArICgzKk1hdGguUEkvNCkpID49ICIgKyBwcmVjKTsKCg==","commentary":"If y is equal to -Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -3*PI/4","description":"Checking if Math.atan2(y,x) is an approximation to -3*PI/4, where y is equal to -Infinity and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmF0YW4yLCByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMihhcmd1bWVudDEsIGFyZ3VtZW50MikgaXMgYXBwcm94aW1hdGVseSBlcXVhbHMgdG8gaXRzIG1hdGhlbWF0aWNhbCB2YWx1ZXMgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudDEgdmFsdWVzIGFuZCA2NCBhcmd1bWVudDIgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4MSA9IG5ldyBBcnJheSgpOwp4MVswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDFbMV0gPSAtMTUuNDkyMDYzNDkyMDYzNDkyMDAwMDA7CngxWzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4MVszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeDFbNF0gPSAtMTMuOTY4MjUzOTY4MjUzOTY4MDAwMDA7CngxWzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4MVs2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDFbN10gPSAtMTIuNDQ0NDQ0NDQ0NDQ0NDQ1MDAwMDA7CngxWzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4MVs5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeDFbMTBdID0gLTEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngxWzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4MVsxM10gPSAtOS4zOTY4MjUzOTY4MjUzOTcyMDAwMDsKeDFbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngxWzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4MVsxNl0gPSAtNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDFbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CngxWzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4MVsxOV0gPSAtNi4zNDkyMDYzNDkyMDYzNDk3MDAwMDsKeDFbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CngxWzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4MVsyMl0gPSAtNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDFbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CngxWzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4MVsyNV0gPSAtMy4zMDE1ODczMDE1ODczMDIzMDAwMDsKeDFbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CngxWzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4MVsyOF0gPSAtMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDFbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CngxWzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4MVszMV0gPSAtMC4yNTM5NjgyNTM5NjgyNTQ4NDAwMDsKeDFbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeDFbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeDFbMzRdID0gMS4yNjk4NDEyNjk4NDEyNjg5MDAwMDsKeDFbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDFbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeDFbMzddID0gMi43OTM2NTA3OTM2NTA3OTQ0MDAwMDsKeDFbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeDFbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeDFbNDBdID0gNC4zMTc0NjAzMTc0NjAzMTYzMDAwMDsKeDFbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDFbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeDFbNDNdID0gNS44NDEyNjk4NDEyNjk4NDE4MDAwMDsKeDFbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeDFbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeDFbNDZdID0gNy4zNjUwNzkzNjUwNzkzNjM4MDAwMDsKeDFbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDFbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeDFbNDldID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeDFbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeDFbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDFbNTJdID0gMTAuNDEyNjk4NDEyNjk4NDExMDAwMDA7CngxWzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVs1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeDFbNTVdID0gMTEuOTM2NTA3OTM2NTA3OTM3MDAwMDA7CngxWzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4MVs1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDFbNThdID0gMTMuNDYwMzE3NDYwMzE3NDU5MDAwMDA7CngxWzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4MVs2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeDFbNjFdID0gMTQuOTg0MTI2OTg0MTI2OTg0MDAwMDA7CngxWzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4MVs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgeDIgPSBuZXcgQXJyYXkoKTsKeDJbMF0gPSAtOC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDJbMV0gPSAtNy43NDYwMzE3NDYwMzE3NDYwMDAwMDsKeDJbMl0gPSAtNy40OTIwNjM0OTIwNjM0OTIxMDAwMDsKeDJbM10gPSAtNy4yMzgwOTUyMzgwOTUyMzgxMDAwMDsKeDJbNF0gPSAtNi45ODQxMjY5ODQxMjY5ODQyMDAwMDsKeDJbNV0gPSAtNi43MzAxNTg3MzAxNTg3MzAyMDAwMDsKeDJbNl0gPSAtNi40NzYxOTA0NzYxOTA0NzYzMDAwMDsKeDJbN10gPSAtNi4yMjIyMjIyMjIyMjIyMjIzMDAwMDsKeDJbOF0gPSAtNS45NjgyNTM5NjgyNTM5Njg0MDAwMDsKeDJbOV0gPSAtNS43MTQyODU3MTQyODU3MTQ0MDAwMDsKeDJbMTBdID0gLTUuNDYwMzE3NDYwMzE3NDYwNTAwMDA7CngyWzExXSA9IC01LjIwNjM0OTIwNjM0OTIwNjUwMDAwOwp4MlsxMl0gPSAtNC45NTIzODA5NTIzODA5NTI2MDAwMDsKeDJbMTNdID0gLTQuNjk4NDEyNjk4NDEyNjk4NjAwMDA7CngyWzE0XSA9IC00LjQ0NDQ0NDQ0NDQ0NDQ0NDYwMDAwOwp4MlsxNV0gPSAtNC4xOTA0NzYxOTA0NzYxOTA3MDAwMDsKeDJbMTZdID0gLTMuOTM2NTA3OTM2NTA3OTM2NzAwMDA7CngyWzE3XSA9IC0zLjY4MjUzOTY4MjUzOTY4MjgwMDAwOwp4MlsxOF0gPSAtMy40Mjg1NzE0Mjg1NzE0Mjg4MDAwMDsKeDJbMTldID0gLTMuMTc0NjAzMTc0NjAzMTc0OTAwMDA7CngyWzIwXSA9IC0yLjkyMDYzNDkyMDYzNDkyMDkwMDAwOwp4MlsyMV0gPSAtMi42NjY2NjY2NjY2NjY2NjcwMDAwMDsKeDJbMjJdID0gLTIuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzIzXSA9IC0yLjE1ODczMDE1ODczMDE1OTEwMDAwOwp4MlsyNF0gPSAtMS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDJbMjVdID0gLTEuNjUwNzkzNjUwNzkzNjUxMTAwMDA7CngyWzI2XSA9IC0xLjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4MlsyN10gPSAtMS4xNDI4NTcxNDI4NTcxNDMyMDAwMDsKeDJbMjhdID0gLTAuODg4ODg4ODg4ODg4ODg5MjgwMDA7CngyWzI5XSA9IC0wLjYzNDkyMDYzNDkyMDYzNTMzMDAwOwp4MlszMF0gPSAtMC4zODA5NTIzODA5NTIzODEzODAwMDsKeDJbMzFdID0gLTAuMTI2OTg0MTI2OTg0MTI3NDIwMDA7CngyWzMyXSA9IDAuMTI2OTg0MTI2OTg0MTI2NTMwMDA7CngyWzMzXSA9IDAuMzgwOTUyMzgwOTUyMzgxMzgwMDA7CngyWzM0XSA9IDAuNjM0OTIwNjM0OTIwNjM0NDQwMDA7CngyWzM1XSA9IDAuODg4ODg4ODg4ODg4ODg5MjgwMDA7CngyWzM2XSA9IDEuMTQyODU3MTQyODU3MTQyMzAwMDA7CngyWzM3XSA9IDEuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CngyWzM4XSA9IDEuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CngyWzM5XSA9IDEuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CngyWzQwXSA9IDIuMTU4NzMwMTU4NzMwMTU4MjAwMDA7CngyWzQxXSA9IDIuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzQyXSA9IDIuNjY2NjY2NjY2NjY2NjY2MTAwMDA7CngyWzQzXSA9IDIuOTIwNjM0OTIwNjM0OTIwOTAwMDA7CngyWzQ0XSA9IDMuMTc0NjAzMTc0NjAzMTc0MDAwMDA7CngyWzQ1XSA9IDMuNDI4NTcxNDI4NTcxNDI4ODAwMDA7CngyWzQ2XSA9IDMuNjgyNTM5NjgyNTM5NjgxOTAwMDA7CngyWzQ3XSA9IDMuOTM2NTA3OTM2NTA3OTM2NzAwMDA7CngyWzQ4XSA9IDQuMTkwNDc2MTkwNDc2MTg5ODAwMDA7CngyWzQ5XSA9IDQuNDQ0NDQ0NDQ0NDQ0NDQ0NjAwMDA7CngyWzUwXSA9IDQuNjk4NDEyNjk4NDEyNjk3NzAwMDA7CngyWzUxXSA9IDQuOTUyMzgwOTUyMzgwOTUyNjAwMDA7CngyWzUyXSA9IDUuMjA2MzQ5MjA2MzQ5MjA1NjAwMDA7CngyWzUzXSA9IDUuNDYwMzE3NDYwMzE3NDYwNTAwMDA7CngyWzU0XSA9IDUuNzE0Mjg1NzE0Mjg1NzEzNTAwMDA7CngyWzU1XSA9IDUuOTY4MjUzOTY4MjUzOTY4NDAwMDA7CngyWzU2XSA9IDYuMjIyMjIyMjIyMjIyMjIxNDAwMDA7CngyWzU3XSA9IDYuNDc2MTkwNDc2MTkwNDc2MzAwMDA7CngyWzU4XSA9IDYuNzMwMTU4NzMwMTU4NzI5MzAwMDA7CngyWzU5XSA9IDYuOTg0MTI2OTg0MTI2OTg0MjAwMDA7CngyWzYwXSA9IDcuMjM4MDk1MjM4MDk1MjM3MjAwMDA7CngyWzYxXSA9IDcuNDkyMDYzNDkyMDYzNDkyMTAwMDA7CngyWzYyXSA9IDcuNzQ2MDMxNzQ2MDMxNzQ1MjAwMDA7CngyWzYzXSA9IDguMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzFdID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbMl0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVszXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzRdID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbNV0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVs2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzddID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbOF0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVs5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzExXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEyXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEzXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE0XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE1XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE3XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE4XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIxXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIyXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIzXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI0XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI1XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI3XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI4XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMxXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMyXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzNdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVszNF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzM1XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzZdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVszN10gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzM4XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzldID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0MF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQxXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDJdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0M10gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQ0XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDVdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0Nl0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQ3XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDhdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0OV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzUwXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTFdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1Ml0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzUzXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTRdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1NV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzU2XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTddID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1OF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzU5XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNjBdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs2MV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzYyXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNjNdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hdGFuMih4MVtpXSwgeDJbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbngxID0gIiArIHgxW2ldICsgIlxueDIgPSAiICsgeDJbaV0gKyAiXG5saWJjLmF0YW4yKHgxLHgyKSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hdGFuMih4MSx4MikgPSAiICsgTWF0aC5hdGFuMih4MVtpXSx4MltpXSkgKyAiXG5NYXRoLmFicyhsaWJjLmF0YW4yKHgxLHgyKSAtIE1hdGguYXRhbjIoeDEseDIpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.atan2, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.atan2(argument1, argument2) is approximately equals to its mathematical values on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHggaXMgLTAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gK1BJLzIsIHdoZXJlIHk+MCBhbmQgeCBpcyAtMAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7IAoKLy8gQ0hFQ0sjMQp4ID0gLTA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzJdID0gK0luZmluaXR5Owp5WzFdID0gMTsgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeVtpXSx4KSwgKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgLSAoKE1hdGguUEkpLzIpKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y>0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4PjAsIE1hdGguYXRhbjIoeSx4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGVxdWFscyB0byArMCwgd2hlcmUgeSBpcyArMCBhbmQgeD4wCiAqLwoKLy8gQ0hFQ0sjMQp5ID0gKzA7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gK0luZmluaXR5Owp4WzFdID0gMTsgCnhudW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGguYXRhbjIoeSx4W2ldKSAhPT0gKzApCgkJJEZBSUwoIiMxOiBNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHhbaV0gKyAiKSAhPT0gKzAiKTsKfQoK","commentary":"If y is +0 and x>0, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) equals to +0, where y is +0 and x>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4IGlzICswLCBNYXRoLmF0YW4yKHkseCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyArMCwgd2hlcmUgeSBpcyArMCBhbmQgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKeSA9ICswOwp4ID0gKzA7CmlmIChNYXRoLmF0YW4yKHkseCkgIT09ICswKQoJJEVSUk9SKCIjMTogTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgIT09ICswIik7Cgo=","commentary":"If y is +0 and x is +0, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) is +0, where y is +0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4IGlzIC0wLCBNYXRoLmF0YW4yKHkseCkgaXMgYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IGFwcHJveGltYXRpb24gdG8gK1BJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4yKHkseCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byArUEksIHdoZXJlIHkgaXMgKzAgYW5kIHggaXMgLTAKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9ICswOwp4ID0gLTA7CmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksIE1hdGguUEkpKQoJJEVSUk9SKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsIC0wKSAtIE1hdGguUEkpID49ICIgKyBwcmVjKTsKCg==","commentary":"If y is +0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y is +0 and x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICswIGFuZCB4PDAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSSwgd2hlcmUgeSBpcyBlcXVhbCB0byArMCBhbmQgeDwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCnkgPSArMDsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gLUluZmluaXR5Owp4WzFdID0gLTE7IAp4bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIE1hdGguUEkpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4W2ldICsgIikgLSBNYXRoLlBJKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y is equal to +0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y is equal to +0 and x<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PjAsIE1hdGguYXRhbjIoeSx4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIC0wLCB3aGVyZSB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PjAKICovCgovLyBDSEVDSyMxCnkgPSAtMDsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnhbMl0gPSArSW5maW5pdHk7CnhbMV0gPSAxOyAKeG51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5hdGFuMih5LHhbaV0pICE9PSAtMCkKCQkkRkFJTCgiIzE6IE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpICE9PSAtMCIpOwp9Cgo=","commentary":"If y is equal to -0 and x>0, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y is equal to -0 and x>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wIGFuZCB4IGlzICswLCBNYXRoLmF0YW4yKHkseCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyAtMCwgd2hlcmUgeSBpcyAtMCBhbmQgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKeSA9IC0wOwp4ID0gKzA7CmlmIChNYXRoLmF0YW4yKHkseCkgIT09IC0wKQoJJEVSUk9SKCIjMTogTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgIT09IC0wIik7Cgo=","commentary":"If y is -0 and x is +0, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y is -0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5jZWlsKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmNlaWwoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmNlaWwoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.ceil(x) is NaN","description":"Checking if Math.ceil(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmNlaWwoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBpcyArMCwgd2hlcmUgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguY2VpbCh4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICswOyBNYXRoLmNlaWwoeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is +0, Math.ceil(x) is +0","description":"Checking if Math.ceil(x) is +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmNlaWwoeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBpcyAtMCwgd2hlcmUgeCBpcyAtMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguY2VpbCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0wOyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is -0, Math.ceil(x) is -0","description":"Checking if Math.ceil(x) is -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5jZWlsKHgpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzICtJbmZpbml0eSwgd2hlcmUgeCBpcyArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5jZWlsKHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgTWF0aC5jZWlsKHgpICE9PSArSW5maW5pdHknIik7Cn0KCg==","commentary":"If x is +Infinity, Math.ceil(x) is +Infinity","description":"Checking if Math.ceil(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5jZWlsKHgpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzIC1JbmZpbml0eSwgd2hlcmUgeCBpcyAtSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5jZWlsKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgTWF0aC5jZWlsKHgpICE9PSAtSW5maW5pdHknIik7Cn0KCg==","commentary":"If x is -Infinity, Math.ceil(x) is -Infinity","description":"Checking if Math.ceil(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAwIGJ1dCBncmVhdGVyIHRoYW4gLTEsIE1hdGguY2VpbCh4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzIC0wLCB3aGVyZSB4IGlzIGxlc3MgdGhhbiAwIGJ1dCBncmVhdGVyIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOwppZiAoTWF0aC5jZWlsKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9CgovLyBDSEVDSyMyCnZhciB4ID0gLTAuOTk5OTk5OTk5OTk5OTk5OwppZiAoTWF0aC5jZWlsKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMjogJ3ZhciB4ID0gLTAuOTk5OTk5OTk5OTk5OTk5OyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9CgovLyBDSEVDSyMzCnZhciB4ID0gLTAuNTsKaWYgKE1hdGguY2VpbCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzM6ICd2YXIgeCA9IC0wLjU7IE1hdGguY2VpbCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is less than 0 but greater than -1, Math.ceil(x) is -0","description":"Checking if Math.ceil(x) is -0, where x is less than 0 but greater than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgTWF0aC5jZWlsKHgpIGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZSBvZiAtTWF0aC5mbG9vcigteCkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBlcXVhbHMgdG8gLU1hdGguZmxvb3IoLXgpIG9uIDIwMDAgZmxvYXRpbmcgcG9pbnQgYXJndW1lbnQgdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKGk9LTEwMDA7IGk8MTAwMDsgaSsrKQp7Cgl4ID0gaS8xMC4wOwoJaWYgKE1hdGguY2VpbCh4KSAhPT0gLU1hdGguZmxvb3IoLXgpKQoJewoJCSRFUlJPUigiIzE6ICd4ID0gIiArIHggKyAiOyBNYXRoLmNlaWwoeCkgIT09IC1NYXRoLmZsb29yKC14KSciKTsKCX0KfQoK","commentary":"The value of Math.ceil(x) is the same as the value of -Math.floor(-x)","description":"Checking if Math.ceil(x) equals to -Math.floor(-x) on 2000 floating point argument values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyhOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.cos(x) is NaN","description":"Checking if Math.cos(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmNvcyh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygrMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguY29zKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArMDsgTWF0aC5jb3MoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is +0, Math.cos(x) is 1","description":"Checking if Math.cos(+0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmNvcyh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygtMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguY29zKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5jb3MoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is -0, Math.cos(x) is 1","description":"Checking if Math.cos(-0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygrSW5maW5pdHkpIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is +Infinity, Math.cos(x) is NaN","description":"Checking if Math.cos(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygtSW5maW5pdHkpIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is -Infinity, Math.cos(x) is NaN","description":"Checking if Math.cos(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb3NpbmUgaXMgYSBwZXJpb2RpYyBmdW5jdGlvbiB3aXRoIHBlcmlvZCAyKlBJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyh4KSBlcXVhbHMgdG8gTWF0aC5jb3MoeCtuKjIqTWF0aC5QSSkgd2l0aCBwcmVjaXNpb24gMC4wMDAwMDAwMDAwMDMsIHdoZXJlIG4gaXMgYW4gaW50ZWdlciBmcm9tIDEgdG8gMTAwIGFuZCB4IGlzIG9uZSBvZiAxMCBmbG9hdCBwb2ludCB2YWx1ZXMgZnJvbSAtTWF0aC5QSSB0byArTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMDM7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDAxOwpwZXJpb2QgPSAyKk1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kOwpiID0gcGVybnVtICogcGVyaW9kOwpzbnVtID0gOTsgCnN0ZXAgPSBwZXJpb2Qvc251bSArIDAuMDsKeCA9IG5ldyBBcnJheSgpOwpmb3IgKGkgPSAwOyBpIDwgc251bTsgaSsrKQp7Cgl4W2ldID0gYSArIGkqc3RlcDsKfQp4WzldID0gYSArIHBlcmlvZDsKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC5jb3MoeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGguY29zKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiBjb3MgaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLmNvcygiICsgeFtpXSArICIpIC0gTWF0aC5jb3MoIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGguY29zKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC5jb3MoIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGguY29zKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Cosine is a periodic function with period 2*PI","description":"Checking if Math.cos(x) equals to Math.cos(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from -Math.PI to +Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmNvcyBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTMuMTQxNTkyNjUzNTg5NzkzMTAwMDA7CnhbMV0gPSAtMy4wNDE4NTk1NTM0NzU4MzE1MDAwMDsKeFsyXSA9IC0yLjk0MjEyNjQ1MzM2MTg2OTgwMDAwOwp4WzNdID0gLTIuODQyMzkzMzUzMjQ3OTA4MjAwMDA7CnhbNF0gPSAtMi43NDI2NjAyNTMxMzM5NDY2MDAwMDsKeFs1XSA9IC0yLjY0MjkyNzE1MzAxOTk4NDUwMDAwOwp4WzZdID0gLTIuNTQzMTk0MDUyOTA2MDIyOTAwMDA7CnhbN10gPSAtMi40NDM0NjA5NTI3OTIwNjEyMDAwMDsKeFs4XSA9IC0yLjM0MzcyNzg1MjY3ODA5OTYwMDAwOwp4WzldID0gLTIuMjQzOTk0NzUyNTY0MTM3OTAwMDA7CnhbMTBdID0gLTIuMTQ0MjYxNjUyNDUwMTc2MzAwMDA7CnhbMTFdID0gLTIuMDQ0NTI4NTUyMzM2MjE0NzAwMDA7CnhbMTJdID0gLTEuOTQ0Nzk1NDUyMjIyMjUyODAwMDA7CnhbMTNdID0gLTEuODQ1MDYyMzUyMTA4MjkxMjAwMDA7CnhbMTRdID0gLTEuNzQ1MzI5MjUxOTk0MzI5NTAwMDA7CnhbMTVdID0gLTEuNjQ1NTk2MTUxODgwMzY3OTAwMDA7CnhbMTZdID0gLTEuNTQ1ODYzMDUxNzY2NDA2MDAwMDA7CnhbMTddID0gLTEuNDQ2MTI5OTUxNjUyNDQ0NDAwMDA7CnhbMThdID0gLTEuMzQ2Mzk2ODUxNTM4NDgyODAwMDA7CnhbMTldID0gLTEuMjQ2NjYzNzUxNDI0NTIxMTAwMDA7CnhbMjBdID0gLTEuMTQ2OTMwNjUxMzEwNTU5NTAwMDA7CnhbMjFdID0gLTEuMDQ3MTk3NTUxMTk2NTk3NDAwMDA7CnhbMjJdID0gLTAuOTQ3NDY0NDUxMDgyNjM2MjIwMDA7CnhbMjNdID0gLTAuODQ3NzMxMzUwOTY4Njc0NTgwMDA7CnhbMjRdID0gLTAuNzQ3OTk4MjUwODU0NzEyNTAwMDA7CnhbMjVdID0gLTAuNjQ4MjY1MTUwNzQwNzUwODYwMDA7CnhbMjZdID0gLTAuNTQ4NTMyMDUwNjI2Nzg5MjIwMDA7CnhbMjddID0gLTAuNDQ4Nzk4OTUwNTEyODI3NTkwMDA7CnhbMjhdID0gLTAuMzQ5MDY1ODUwMzk4ODY1OTUwMDA7CnhbMjldID0gLTAuMjQ5MzMyNzUwMjg0OTA0MzEwMDA7CnhbMzBdID0gLTAuMTQ5NTk5NjUwMTcwOTQyNjgwMDA7CnhbMzFdID0gLTAuMDQ5ODY2NTUwMDU2OTgxMDQwMDA7CnhbMzJdID0gMC4wNDk4NjY1NTAwNTY5ODEwNDAwMDsKeFszM10gPSAwLjE0OTU5OTY1MDE3MDk0MjY4MDAwOwp4WzM0XSA9IDAuMjQ5MzMyNzUwMjg0OTA0MzEwMDA7CnhbMzVdID0gMC4zNDkwNjU4NTAzOTg4NjU5NTAwMDsKeFszNl0gPSAwLjQ0ODc5ODk1MDUxMjgyNzU5MDAwOwp4WzM3XSA9IDAuNTQ4NTMyMDUwNjI2Nzg5MjIwMDA7CnhbMzhdID0gMC42NDgyNjUxNTA3NDA3NTA4NjAwMDsKeFszOV0gPSAwLjc0Nzk5ODI1MDg1NDcxMjUwMDAwOwp4WzQwXSA9IDAuODQ3NzMxMzUwOTY4Njc0MTQwMDA7CnhbNDFdID0gMC45NDc0NjQ0NTEwODI2MzUzMzAwMDsKeFs0Ml0gPSAxLjA0NzE5NzU1MTE5NjU5ODMwMDAwOwp4WzQzXSA9IDEuMTQ2OTMwNjUxMzEwNTU5NTAwMDA7CnhbNDRdID0gMS4yNDY2NjM3NTE0MjQ1MjA3MDAwMDsKeFs0NV0gPSAxLjM0NjM5Njg1MTUzODQ4MjgwMDAwOwp4WzQ2XSA9IDEuNDQ2MTI5OTUxNjUyNDQ0MDAwMDA7CnhbNDddID0gMS41NDU4NjMwNTE3NjY0MDYwMDAwMDsKeFs0OF0gPSAxLjY0NTU5NjE1MTg4MDM2ODEwMDAwOwp4WzQ5XSA9IDEuNzQ1MzI5MjUxOTk0MzI5MzAwMDA7CnhbNTBdID0gMS44NDUwNjIzNTIxMDgyOTE0MDAwMDsKeFs1MV0gPSAxLjk0NDc5NTQ1MjIyMjI1MjYwMDAwOwp4WzUyXSA9IDIuMDQ0NTI4NTUyMzM2MjE0NzAwMDA7CnhbNTNdID0gMi4xNDQyNjE2NTI0NTAxNzY3MDAwMDsKeFs1NF0gPSAyLjI0Mzk5NDc1MjU2NDEzNzkwMDAwOwp4WzU1XSA9IDIuMzQzNzI3ODUyNjc4MTAwMDAwMDA7CnhbNTZdID0gMi40NDM0NjA5NTI3OTIwNjEyMDAwMDsKeFs1N10gPSAyLjU0MzE5NDA1MjkwNjAyMjQwMDAwOwp4WzU4XSA9IDIuNjQyOTI3MTUzMDE5OTg0NTAwMDA7CnhbNTldID0gMi43NDI2NjAyNTMxMzM5NDY2MDAwMDsKeFs2MF0gPSAyLjg0MjM5MzM1MzI0NzkwNzgwMDAwOwp4WzYxXSA9IDIuOTQyMTI2NDUzMzYxODY5ODAwMDA7CnhbNjJdID0gMy4wNDE4NTk1NTM0NzU4MzEwMDAwMDsKeFs2M10gPSAzLjE0MTU5MjY1MzU4OTc5MzEwMDAwOwoKCnZhciB5ID0gbmV3IEFycmF5KCk7CnlbMF0gPSAtMS4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVsxXSA9IC0wLjk5NTAzMDc3NTM2NTQwMTQxMDAwOwp5WzJdID0gLTAuOTgwMTcyNDg3ODQ4NTQzODMwMDA7CnlbM10gPSAtMC45NTU1NzI4MDU3ODYxNDA3OTAwMDsKeVs0XSA9IC0wLjkyMTQ3NjIxMTg3MDQwNzc0MDAwOwp5WzVdID0gLTAuODc4MjIxNTczMzcwMjI4NDQwMDA7CnlbNl0gPSAtMC44MjYyMzg3NzQzMTU5OTQ2ODAwMDsKeVs3XSA9IC0wLjc2NjA0NDQ0MzExODk3NzkwMDAwOwp5WzhdID0gLTAuNjk4MjM2ODE4MDg2MDcyNzQwMDA7CnlbOV0gPSAtMC42MjM0ODk4MDE4NTg3MzM0ODAwMDsKeVsxMF0gPSAtMC41NDI1NDYyNjM4NjU3NTkzMzAwMDsKeVsxMV0gPSAtMC40NTYyMTA2NTczNTMxNjI5NjAwMDsKeVsxMl0gPSAtMC4zNjUzNDEwMjQzNjYzOTQ4NzAwMDsKeVsxM10gPSAtMC4yNzA4NDA0NjgxNDMwMDUwMDAwMDsKeVsxNF0gPSAtMC4xNzM2NDgxNzc2NjY5MzAzMDAwMDsKeVsxNV0gPSAtMC4wNzQ3MzAwOTM1ODY0MjQyNjgwMDsKeVsxNl0gPSAwLjAyNDkzMDY5MTczODA3MzAzNTAwOwp5WzE3XSA9IDAuMTI0MzQzNzA0NjQ3NDg1MjcwMDA7CnlbMThdID0gMC4yMjI1MjA5MzM5NTYzMTQ0NTAwMDsKeVsxOV0gPSAwLjMxODQ4NjY1MDI1MTY4NDQzMDAwOwp5WzIwXSA9IDAuNDExMjg3MTAzMTMwNjExNTEwMDA7CnlbMjFdID0gMC41MDAwMDAwMDAwMDAwMDAzMzAwMDsKeVsyMl0gPSAwLjU4Mzc0MzY3MjIzNDc4OTczMDAwOwp5WzIzXSA9IDAuNjYxNjg1ODM3NTk2ODU5MjgwMDA7CnlbMjRdID0gMC43MzMwNTE4NzE4Mjk4MjY0NTAwMDsKeVsyNV0gPSAwLjc5NzEzMjUwNzIyMjkyMjUwMDAwOwp5WzI2XSA9IDAuODUzMjkwODgxNjMyMTU1NzIwMDA7CnlbMjddID0gMC45MDA5Njg4Njc5MDI0MTkxNTAwMDsKeVsyOF0gPSAwLjkzOTY5MjYyMDc4NTkwODMyMDAwOwp5WzI5XSA9IDAuOTY5MDc3Mjg2MjI5MDc3OTYwMDA7CnlbMzBdID0gMC45ODg4MzA4MjYyMjUxMjg1MjAwMDsKeVszMV0gPSAwLjk5ODc1NjkyMTIxODkyMjM0MDAwOwp5WzMyXSA9IDAuOTk4NzU2OTIxMjE4OTIyMzQwMDA7CnlbMzNdID0gMC45ODg4MzA4MjYyMjUxMjg1MjAwMDsKeVszNF0gPSAwLjk2OTA3NzI4NjIyOTA3Nzk2MDAwOwp5WzM1XSA9IDAuOTM5NjkyNjIwNzg1OTA4MzIwMDA7CnlbMzZdID0gMC45MDA5Njg4Njc5MDI0MTkxNTAwMDsKeVszN10gPSAwLjg1MzI5MDg4MTYzMjE1NTcyMDAwOwp5WzM4XSA9IDAuNzk3MTMyNTA3MjIyOTIyNTAwMDA7CnlbMzldID0gMC43MzMwNTE4NzE4Mjk4MjY0NTAwMDsKeVs0MF0gPSAwLjY2MTY4NTgzNzU5Njg1OTYyMDAwOwp5WzQxXSA9IDAuNTgzNzQzNjcyMjM0NzkwNTEwMDA7CnlbNDJdID0gMC40OTk5OTk5OTk5OTk5OTk1MDAwMDsKeVs0M10gPSAwLjQxMTI4NzEwMzEzMDYxMTUxMDAwOwp5WzQ0XSA9IDAuMzE4NDg2NjUwMjUxNjg0ODIwMDA7CnlbNDVdID0gMC4yMjI1MjA5MzM5NTYzMTQ0NTAwMDsKeVs0Nl0gPSAwLjEyNDM0MzcwNDY0NzQ4NTcyMDAwOwp5WzQ3XSA9IDAuMDI0OTMwNjkxNzM4MDczMDM1MDA7CnlbNDhdID0gLTAuMDc0NzMwMDkzNTg2NDI0NDkwMDA7CnlbNDldID0gLTAuMTczNjQ4MTc3NjY2OTMwMDgwMDA7CnlbNTBdID0gLTAuMjcwODQwNDY4MTQzMDA1MjIwMDA7CnlbNTFdID0gLTAuMzY1MzQxMDI0MzY2Mzk0NjUwMDA7CnlbNTJdID0gLTAuNDU2MjEwNjU3MzUzMTYyOTYwMDA7CnlbNTNdID0gLTAuNTQyNTQ2MjYzODY1NzU5NzcwMDA7CnlbNTRdID0gLTAuNjIzNDg5ODAxODU4NzMzNDgwMDA7CnlbNTVdID0gLTAuNjk4MjM2ODE4MDg2MDczMDcwMDA7CnlbNTZdID0gLTAuNzY2MDQ0NDQzMTE4OTc3OTAwMDA7CnlbNTddID0gLTAuODI2MjM4Nzc0MzE1OTk0NDYwMDA7CnlbNThdID0gLTAuODc4MjIxNTczMzcwMjI4NDQwMDA7CnlbNTldID0gLTAuOTIxNDc2MjExODcwNDA3NzQwMDA7CnlbNjBdID0gLTAuOTU1NTcyODA1Nzg2MTQwNTcwMDA7CnlbNjFdID0gLTAuOTgwMTcyNDg3ODQ4NTQzODMwMDA7CnlbNjJdID0gLTAuOTk1MDMwNzc1MzY1NDAxNDEwMDA7CnlbNjNdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5jb3MoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5jb3MoeCkgPSAiICsgeVtpXSArICJcbk1hdGguY29zKHgpID0gIiArIE1hdGguY29zKHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5jb3MoeCkgLSBNYXRoLmNvcyh4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.cos it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.cos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5leHAoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cChOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5leHAoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmV4cCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.exp(x) is NaN","description":"Checking if Math.exp(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmV4cCh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cCgrMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguZXhwKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArMDsgTWF0aC5leHAoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is +0, Math.exp(x) is 1","description":"Checking if Math.exp(+0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmV4cCh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cCgtMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguZXhwKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5leHAoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is -0, Math.exp(x) is 1","description":"Checking if Math.exp(-0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5leHAoeCkgaXMgK0lmaW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOC9TMTUuOC4yLjhfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZXhwKCtJbmZpbml0eSkgaXMgK0lmaW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5leHAoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gK0luZmluaXR5OyBNYXRoLmV4cCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.exp(x) is +Ifinity","description":"Checking if Math.exp(+Infinity) is +Ifinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5leHAoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOC9TMTUuOC4yLjhfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZXhwKC1JbmZpbml0eSkgaXMgKzAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5leHAoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtSW5maW5pdHk7IE1hdGguZXhwKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is -Infinity, Math.exp(x) is +0","description":"Checking if Math.exp(-Infinity) is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmV4cCwgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi44L1MxNS44LjIuOF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5leHAgaXMgYXBwcm94aW1hdGVseSBlcXVhbHMgdG8gaXRzIG1hdGhlbWF0aWNhbCB2YWx1ZXMgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudCB2YWx1ZXM7IGFsbCB0aGUgc2FtcGxlIHZhbHVlcyBpcyBjYWxjdWxhdGVkIHdpdGggTGliQwogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCnZudW0gPSA2NDsKdmFyIHggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeFsxXSA9IC0xNS40OTIwNjM0OTIwNjM0OTIwMDAwMDsKeFsyXSA9IC0xNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeFs0XSA9IC0xMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs1XSA9IC0xMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeFs2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs3XSA9IC0xMi40NDQ0NDQ0NDQ0NDQ0NDUwMDAwMDsKeFs4XSA9IC0xMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeFsxMF0gPSAtMTAuOTIwNjM0OTIwNjM0OTIxMDAwMDA7CnhbMTFdID0gLTEwLjQxMjY5ODQxMjY5ODQxMzAwMDAwOwp4WzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzEzXSA9IC05LjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4WzE0XSA9IC04Ljg4ODg4ODg4ODg4ODg4OTMwMDAwOwp4WzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4WzE2XSA9IC03Ljg3MzAxNTg3MzAxNTg3MzUwMDAwOwp4WzE3XSA9IC03LjM2NTA3OTM2NTA3OTM2NTYwMDAwOwp4WzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4WzE5XSA9IC02LjM0OTIwNjM0OTIwNjM0OTcwMDAwOwp4WzIwXSA9IC01Ljg0MTI2OTg0MTI2OTg0MTgwMDAwOwp4WzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4WzIyXSA9IC00LjgyNTM5NjgyNTM5NjgyNjAwMDAwOwp4WzIzXSA9IC00LjMxNzQ2MDMxNzQ2MDMxODEwMDAwOwp4WzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4WzI1XSA9IC0zLjMwMTU4NzMwMTU4NzMwMjMwMDAwOwp4WzI2XSA9IC0yLjc5MzY1MDc5MzY1MDc5NDQwMDAwOwp4WzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4WzI4XSA9IC0xLjc3Nzc3Nzc3Nzc3Nzc3ODYwMDAwOwp4WzI5XSA9IC0xLjI2OTg0MTI2OTg0MTI3MDcwMDAwOwp4WzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4WzMxXSA9IC0wLjI1Mzk2ODI1Mzk2ODI1NDg0MDAwOwp4WzMyXSA9IDAuMjUzOTY4MjUzOTY4MjUzMDcwMDA7CnhbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeFszNF0gPSAxLjI2OTg0MTI2OTg0MTI2ODkwMDAwOwp4WzM1XSA9IDEuNzc3Nzc3Nzc3Nzc3Nzc4NjAwMDA7CnhbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeFszN10gPSAyLjc5MzY1MDc5MzY1MDc5NDQwMDAwOwp4WzM4XSA9IDMuMzAxNTg3MzAxNTg3MzAwNTAwMDA7CnhbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeFs0MF0gPSA0LjMxNzQ2MDMxNzQ2MDMxNjMwMDAwOwp4WzQxXSA9IDQuODI1Mzk2ODI1Mzk2ODI2MDAwMDA7CnhbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeFs0M10gPSA1Ljg0MTI2OTg0MTI2OTg0MTgwMDAwOwp4WzQ0XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4MDAwMDA7CnhbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeFs0Nl0gPSA3LjM2NTA3OTM2NTA3OTM2MzgwMDAwOwp4WzQ3XSA9IDcuODczMDE1ODczMDE1ODczNTAwMDA7CnhbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeFs0OV0gPSA4Ljg4ODg4ODg4ODg4ODg4OTMwMDAwOwp4WzUwXSA9IDkuMzk2ODI1Mzk2ODI1Mzk1NDAwMDA7CnhbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeFs1Ml0gPSAxMC40MTI2OTg0MTI2OTg0MTEwMDAwMDsKeFs1M10gPSAxMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFs1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeFs1NV0gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs1Nl0gPSAxMi40NDQ0NDQ0NDQ0NDQ0NDMwMDAwMDsKeFs1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs1OF0gPSAxMy40NjAzMTc0NjAzMTc0NTkwMDAwMDsKeFs1OV0gPSAxMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeFs2MV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFs2Ml0gPSAxNS40OTIwNjM0OTIwNjM0OTAwMDAwMDsKeFs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMTEyNTM1MTc0NzE5MjU5MTIwMDsKeVsxXSA9IDAuMDAwMDAwMTg3MDE3NTI3OTYyNzE2MDQwMDsKeVsyXSA9IDAuMDAwMDAwMzEwNzk2NjU0MDQ2NTExMjAwMDsKeVszXSA9IDAuMDAwMDAwNTE2NTAwMDM3Mjg5MzYwMTkwMDsKeVs0XSA9IDAuMDAwMDAwODU4MzQ5OTM3MzE5NDI2NjAwMDsKeVs1XSA9IDAuMDAwMDAxNDI2NDU2MDczMDAwMjUwNTAwOwp5WzZdID0gMC4wMDAwMDIzNzA1NjgwMzk1OTY3Mzc3MDA7CnlbN10gPSAwLjAwMDAwMzkzOTU0ODQ2MzMwMzEwNTkwMDsKeVs4XSA9IDAuMDAwMDA2NTQ2OTcxNzk1NTY3NjE5MzAwOwp5WzldID0gMC4wMDAwMTA4ODAxNDAyMjE5NjMzMTYwMDsKeVsxMF0gPSAwLjAwMDAxODA4MTI1MjY2ODU1ODQ1NTAwOwp5WzExXSA9IDAuMDAwMDMwMDQ4NDgyMDQxMDk0MjgxMDA7CnlbMTJdID0gMC4wMDAwNDk5MzYzMjI5NzA4MTA1NjgwMDsKeVsxM10gPSAwLjAwMDA4Mjk4NzA5ODkzMDE0OTIyNjAwOwp5WzE0XSA9IDAuMDAwMTM3OTEyODA5MzM2NTYxOTIwMDsKeVsxNV0gPSAwLjAwMDIyOTE5MTU2MzgwMDkyMzg3MDA7CnlbMTZdID0gMC4wMDAzODA4ODM5MzA3MjU1NDk0NzAwOwp5WzE3XSA9IDAuMDAwNjMyOTc1MTY4MzY1OTUwMTIwMDsKeVsxOF0gPSAwLjAwMTA1MTkxNTExNDkzOTgzNTcwMDsKeVsxOV0gPSAwLjAwMTc0ODEzMzk5Mzc3OTYwNzcwMDsKeVsyMF0gPSAwLjAwMjkwNTE1MTIwMTY1NjI1NTAwMDsKeVsyMV0gPSAwLjAwNDgyNzk0OTk5MzgzMTQzNzEwMDsKeVsyMl0gPSAwLjAwODAyMzM2OTM2MTg1OTExMTEwMDsKeVsyM10gPSAwLjAxMzMzMzcwMzk1MjgzMDc1ODAwOwp5WzI0XSA9IDAuMDIyMTU4NzI4MjIwNDUxNjQ2MDA7CnlbMjVdID0gMC4wMzY4MjQ2NjkxMzA1NjA1NjAwMDsKeVsyNl0gPSAwLjA2MTE5NzM4NjU1OTU2MjIyOTAwOwp5WzI3XSA9IDAuMTAxNzAxMzkyMzA0MjI2NzYwMDsKeVsyOF0gPSAwLjE2OTAxMzMxNTQwNjA2NTk2MDA7CnlbMjldID0gMC4yODA4NzYyMDE3NjQyODE0MTAwOwp5WzMwXSA9IDAuNDY2Nzc2NDgxNjUxNjgwOTUwMDsKeVszMV0gPSAwLjc3NTcxNjQyNzU3MzkyNzU2MDA7CnlbMzJdID0gMS4yODkxMzA4Nzg4MjgzOTI0MDA7CnlbMzNdID0gMi4xNDIzNTMwMDkwMDY2MTU0MDA7CnlbMzRdID0gMy41NjAyODczOTI1MTkwMTUzMDA7CnlbMzVdID0gNS45MTY2OTM1OTA2NjQzMzQ4MDA7CnlbMzZdID0gOS44MzI3MDcwNzg0Njk3MzgzMDA7CnlbMzddID0gMTYuMzQwNTY3MDc2Nzc3MzYxMDAwOwp5WzM4XSA9IDI3LjE1NTcwOTAyOTAzNTIyNjAwMDsKeVszOV0gPSA0NS4xMjg5NDM3NzU2MTk3MDMwMDA7CnlbNDBdID0gNzQuOTk3OTE1MzIzMjczNDg5MDAwOwp5WzQxXSA9IDEyNC42MzU5MTcyNjg1ODg1MzAwMDA7CnlbNDJdID0gMjA3LjEyNzI0ODg4OTgzNDMzMDAwMDsKeVs0M10gPSAzNDQuMjE2MTYzMTQ4MzcyNTIwMDAwOwp5WzQ0XSA9IDU3Mi4wMzg1Mjk5NzQ0MTk3MDAwMDA7CnlbNDVdID0gOTUwLjY0NzA0OTE3NDg3MDg2MDAwMDsKeVs0Nl0gPSAxNTc5Ljg0MDgwNTczMjYxMTkwMDAwMDsKeVs0N10gPSAyNjI1LjQ3MTc0OTYwOTEwMDcwMDAwMDsKeVs0OF0gPSA0MzYzLjE2MjM0MDc3NzA3ODUwMDAwMDsKeVs0OV0gPSA3MjUwLjk1ODA4NTg0MTA2MDAwMDAwMDsKeVs1MF0gPSAxMjA1MC4wNjU3Njc5NTM5NDAwMDAwMDA7CnlbNTFdID0gMjAwMjUuNTAzMjkxMTUyMDc2MDAwMDAwOwp5WzUyXSA9IDMzMjc5LjU1MTMxNDE4NjE1MjAwMDAwMDsKeVs1M10gPSA1NTMwNS45MDI2NTY3ODM0NTkwMDAwMDA7CnlbNTRdID0gOTE5MTAuNTgwMTU3OTA0MzE4MDAwMDAwOwp5WzU1XSA9IDE1Mjc0Mi4zNzE3NzUxNDgzODAwMDAwMDA7CnlbNTZdID0gMjUzODM2LjE5NzA0NTE2ODU1MDAwMDAwMDsKeVs1N10gPSA0MjE4MzkuODIyMDU4MDU0OTcwMDAwMDAwOwp5WzU4XSA9IDcwMTAzOC4wNjEzMzgwNjAzMDAwMDAwMDA7CnlbNTldID0gMTE2NTAyNi4wMDY5MDIxOTM5MDAwMDAwMDA7CnlbNjBdID0gMTkzNjEwOC4yODIyOTE4ODYyMDAwMDAwMDA7CnlbNjFdID0gMzIxNzUzNy44NTYyODA2MTYwMDAwMDAwMDA7CnlbNjJdID0gNTM0NzA5Mi4zODY5NzMyNjI4MDAwMDAwMDA7CnlbNjNdID0gODg4NjExMC41MjA1MDc4NzIxMDAwMDAwMDA7CgoKCnZhciB2YWw7CmZvciAoaSA9IDA7IGkgPCB2bnVtOyBpKyspCnsKCXZhbCA9IE1hdGguZXhwKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuZXhwKHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLmV4cCh4KSA9ICIgKyBNYXRoLmV4cCh4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuZXhwKHgpIC0gTWF0aC5leHAoeCkpID4gIiArIHByZWMgKyAiXG5cbiIpOyAKCX0KfQoK","commentary":"Math.exp, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.exp is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5mbG9vcih4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoTmFOKSBpcyBOYU4KICovCgovLyBDSEVDSyMxCnZhciB4ID0gTmFOOwppZiAoIWlzTmFOKE1hdGguZmxvb3IoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmZsb29yKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.floor(x) is NaN","description":"Checking if Math.floor(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmZsb29yKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjkvUzE1LjguMi45X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmZsb29yKHgpIGlzICswLCB3aGVyZSB4IGlzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICswOyBNYXRoLmZsb29yKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is +0, Math.floor(x) is +0","description":"Checking if Math.floor(x) is +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmZsb29yKHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjkvUzE1LjguMi45X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmZsb29yKHgpIGlzIC0wLCB3aGVyZSB4IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5mbG9vcih4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0wOyBNYXRoLmZsb29yKHgpICE9PSAtMCciKTsKfQoK","commentary":"If x is -0, Math.floor(x) is -0","description":"Checking if Math.floor(x) is -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5mbG9vcih4KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgK0luZmluaXR5LCB3aGVyZSB4IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmIChNYXRoLmZsb29yKHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgTWF0aC5mbG9vcih4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.floor(x) is +Infinity","description":"Checking if Math.floor(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5mbG9vcih4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgLUluZmluaXR5LCB3aGVyZSB4IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtSW5maW5pdHk7CmlmIChNYXRoLmZsb29yKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgTWF0aC5mbG9vcih4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.floor(x) is -Infinity","description":"Checking if Math.floor(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAwIGJ1dCBsZXNzIHRoYW4gMSwgTWF0aC5mbG9vcih4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi45L1MxNS44LjIuOV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5mbG9vcih4KSBpcyArMCwgd2hlcmUgeCBpcyBncmVhdGVyIHRoYW4gMCBidXQgbGVzcyB0aGFuIDEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gMC4wMDAwMDAwMDAwMDAwMDE7CmlmIChNYXRoLmZsb29yKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gMC4wMDAwMDAwMDAwMDAwMDE7IE1hdGguZmxvb3IoeCkgIT09ICArMCciKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgeCA9IDAuOTk5OTk5OTk5OTk5OTk5OwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzI6ICd2YXIgeCA9IDAuOTk5OTk5OTk5OTk5OTk5OyBNYXRoLmNlaWwoeCkgIT09ICswJyIpOwp9CgovLyBDSEVDSyMzCnZhciB4ID0gMC41OwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzM6ICd2YXIgeCA9IDAuNTsgTWF0aC5jZWlsKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is greater than 0 but less than 1, Math.floor(x) is +0","description":"Checking if Math.floor(x) is +0, where x is greater than 0 but less than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgTWF0aC5mbG9vcih4KSBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUgb2YgLU1hdGguY2VpbCgteCkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgZXF1YWwgdG8gLU1hdGguY2VpbCgteCkgb24gMjAwMCBmbG9hdGluZy1wb2ludCBhcmd1bWVudCB2YWx1ZXMKICovCgovLyBDSEVDSyMxCmZvciAoaT0tMTAwMDsgaTwxMDAwOyBpKyspCnsKCXggPSBpLzEwLjA7CglpZiAoLU1hdGguY2VpbCgteCkgIT09IE1hdGguZmxvb3IoeCkpCgl7CgkJJEVSUk9SKCIjMTogJ3ggPSAiICsgeCArICI7IE1hdGguZmxvb3IoeCkgIT09IC1NYXRoLmNlaWwoLXgpJyIpOwoJfQp9Cgo=","commentary":"The value of Math.floor(x) is the same as the value of -Math.ceil(-x)","description":"Checking if Math.floor(x) is equal to -Math.ceil(-x) on 2000 floating-point argument values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjEvMTUuOS4xLjE1LzE1LjkuMS4xNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZSBUaW1lIFN0cmluZyBGb3JtYXQgLSBzcGVjaWZpZWQgZGVmYXVsdCB2YWx1ZXMgd2lsbCBiZSBzZXQgZm9yIGFsbCBvcHRpb25hbCBmaWVsZHMoTU0sIERELCBtbSwgc3MgYW5kIHRpbWUgem9uZSkgd2hlbiB0aGV5IGFyZSBhYnNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBleHBlY3RlZERhdGVUaW1lU3RyID0gIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjE5NzAiKTsNCiAgICAgICAgdmFyIGRhdGVTdHIgPSBkYXRlT2JqLnRvSVNPU3RyaW5nKCk7DQogICAgICAgIHJlc3VsdCA9IGRhdGVTdHIgPT09IGV4cGVjdGVkRGF0ZVRpbWVTdHI7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date Time String Format - specified default values will be set for all optional fields(MM, DD, mm, ss and time zone) when they are absent","path":"TestCases/ch15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIGEgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYXMgYSBjb25zdHJ1Y3RvciwKICogaXQgc2hvdWxkIGJlICJzdHJpbmciIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB0aW1lIChVVEMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjIvUzE1LjkuMi4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIHJldHVybmVkIHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIiApIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgRGF0ZSgpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKCkpKTsKfQoKLy9DSEVDSyMyCmlmKCB0eXBlb2YgRGF0ZSgxKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzI6IHR5cGVvZiBEYXRlKDEpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIERhdGUoMTk3MCwgMSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgRGF0ZSgxOTcwLCAxKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSgxOTcwLCAxKSkpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEpICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjNDogdHlwZW9mIERhdGUoMTk3MCwgMSwgMSkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJysodHlwZW9mIERhdGUoMTk3MCwgMSwgMSkpKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzU6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiggdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyM3OiB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSkpOwp9CgovL0NIRUNLIzgKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDApICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjODogdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJysodHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCkpKTsKfQoKLy9DSEVDSyM5CmlmKCB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzk6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTA6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5OYU4pICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTE6IHR5cGVvZiBEYXRlKE51bWJlci5OYU4pIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKE51bWJlci5OYU4pKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxMjogdHlwZW9mIERhdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxMzogdHlwZW9mIERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYoIHR5cGVvZiBEYXRlKHVuZGVmaW5lZCkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxNDogdHlwZW9mIERhdGUodW5kZWZpbmVkKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSh1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYoIHR5cGVvZiBEYXRlKG51bGwpICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTU6IHR5cGVvZiBEYXRlKG51bGwpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKG51bGwpKSk7Cn0KCg==","commentary":"When Date is called as a function rather than as a constructor,\nit should be \"string\" representing the current time (UTC)","description":"Checking type of returned value","path":"TestCases/ch15/15.9/15.9.2/S15.9.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbGwgb2YgdGhlIGFyZ3VtZW50cyBhcmUgb3B0aW9uYWwsIGFueSBhcmd1bWVudHMgc3VwcGxpZWQgYXJlCiAqIGFjY2VwdGVkIGJ1dCBhcmUgY29tcGxldGVseSBpZ25vcmVkLiBBIHN0cmluZyBpcyBjcmVhdGVkIGFuZCByZXR1cm5lZCBhcwogKiBpZiBieSB0aGUgZXhwcmVzc2lvbiAobmV3IERhdGUoKSkudG9TdHJpbmcoKQogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4yL1MxNS45LjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHZhcmlvdXMgbnVtYmVyIGFyZ3VtZW50cyBhbmQgdmFyaW91cyB0eXBlcyBvZiBvbmVzCiAqLwoKZnVuY3Rpb24gaXNFcXVhbChkMSwgZDIpIHsKICBpZiAoZDEgPT09IGQyKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9IGVsc2UgaWYgKE1hdGguYWJzKERhdGUucGFyc2UoZDEpIC0gRGF0ZS5wYXJzZShkMikpIDw9IDEwMDApIHsKICAgIHJldHVybiB0cnVlOwogIH0gZWxzZSB7IAogICAgcmV0dXJuIGZhbHNlOwogIH0KfQoKLy9DSEVDSyMxCmlmKCAhaXNFcXVhbChEYXRlKCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxOiBEYXRlKCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMyCmlmKCAhaXNFcXVhbChEYXRlKDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMjogRGF0ZSgxKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzMKaWYoICFpc0VxdWFsKERhdGUoMTk3MCwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMzOiBEYXRlKDE5NzAsIDEpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjNAppZiggIWlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzQ6IERhdGUoMTk3MCwgMSwgMSkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyM1CmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjNTogRGF0ZSgxOTcwLCAxLCAxLCAxKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzYKaWYoICFpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyM3OiBEYXRlKDE5NzAsIDEsIDEsIDEpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjOAppZiggIWlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxLCAxLCAwKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzg6IERhdGUoMTk3MCwgMSwgMSwgMSwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyM5CmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjOTogRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzEwCmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMTA6IERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMxMQppZiggIWlzRXF1YWwoRGF0ZShOdW1iZXIuTmFOKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzExOiBEYXRlKE51bWJlci5OYU4pIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMTIKaWYoICFpc0VxdWFsKERhdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzEyOiBEYXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMxMwppZiggIWlzRXF1YWwoRGF0ZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMTM6IERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzE0CmlmKCAhaXNFcXVhbChEYXRlKHVuZGVmaW5lZCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxNDogRGF0ZSh1bmRlZmluZWQpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMTUKaWYoICFpc0VxdWFsKERhdGUobnVsbCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxNTogRGF0ZShudWxsKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9Cgo=","commentary":"All of the arguments are optional, any arguments supplied are\naccepted but are completely ignored. A string is created and returned as\nif by the expression (new Date()).toString()","description":"Use various number arguments and various types of ones","path":"TestCases/ch15/15.9/15.9.2/S15.9.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZSgxODk5LCAxMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZih4MTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDEyKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMyLjI6IG5ldyBEYXRlKDE4OTksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIpOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMikgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MjQgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmKHgyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzIuNDogbmV3IERhdGUoMTg5OSwgMTIpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5MDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzMuMjogbmV3IERhdGUoMTkwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDApOwppZih0eXBlb2YgeDMzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgzNCA9IG5ldyBEYXRlKDE5MDAsIDApOwppZih4MzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMzLjQ6IG5ldyBEYXRlKDE5MDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7CmlmKHR5cGVvZiB4NDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg0NCA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMikgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMikgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDU0ID0gbmV3IERhdGUoMTk2OSwgMTIpOwppZih4NTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM1LjQ6IG5ldyBEYXRlKDE5NjksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NzAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTcwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM2LjI6IG5ldyBEYXRlKDE5NzAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYodHlwZW9mIHg2MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNi4zOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NjQgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDExKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDExKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM3LjI6IG5ldyBEYXRlKDE5OTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEpOwppZih0eXBlb2YgeDczICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM3LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7CmlmKHg3NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzcuNDogbmV3IERhdGUoMTk5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTIpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoMTk5OSwgMTIpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmKHR5cGVvZiB4ODMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzguMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjAwMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzkuMzogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDk0ID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKHg5NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzkuNDogbmV3IERhdGUoMjAwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEwLjI6IG5ldyBEYXRlKDIwOTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExKTsKaWYodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEwLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTA0ID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZih4MTA0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTAuNDogbmV3IERhdGUoMjA5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDEyKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMS4yOiBuZXcgRGF0ZSgyMDk5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMik7CmlmKHR5cGVvZiB4MTEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMS4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExNCA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYoeDExNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzExLjQ6IG5ldyBEYXRlKDIwOTksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIxMDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjEwMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTIuMjogbmV3IERhdGUoMjEwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYodHlwZW9mIHgxMjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEyLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMjQgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYoeDEyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEyLjQ6IG5ldyBEYXRlKDIxMDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzUuMjogbmV3IERhdGUoMTk2OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmKHR5cGVvZiB4NTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzUuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk3MCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzYuMzogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKHg2NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzYuNDogbmV3IERhdGUoMTk3MCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDczICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM3LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoMTk5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmKHR5cGVvZiB4ODMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzguMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjAwMCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzkuMzogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDk0ID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKHg5NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzkuNDogbmV3IERhdGUoMjAwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEwLjI6IG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTA0ID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxKTsKaWYoeDEwNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEwLjQ6IG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEpOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMykgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZih4MTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmKHR5cGVvZiB4NDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDU0ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZih4NTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM1LjQ6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM2LjI6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYodHlwZW9mIHg2MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNi4zOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NjQgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM3LjI6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpOwppZih4MTA0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTAuNDogbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHR5cGVvZiB4MTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKaWYodHlwZW9mIHgyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMi4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDI0ID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZih4MjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMyLjQ6IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMy4xOiB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMzLjI6IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYodHlwZW9mIHgzMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMy4zOiB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MzQgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYoeDM0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM0LjI6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzUuMjogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4NTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzUuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzYuMzogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmKHg2NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzYuNDogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg3MyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpOwppZih4NzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM3LjQ6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHR5cGVvZiB4MTAzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYoeDEwNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEwLjQ6IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTEuMjogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApOwppZih0eXBlb2YgeDExMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTEuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMTQgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmKHgxMTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMS40OiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4MTIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMi4zOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTI0ID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmKHgxMjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMi40OiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgo=","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHgxNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEuNDogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMyLjI6IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MjQgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHgyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzIuNDogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzMuMjogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDMzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgzNCA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZih4MzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMzLjQ6IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNC4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg0NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM1LjI6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDUzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM1LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHg1NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzUuNDogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg2NCA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZih4NjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM2LjQ6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg3NCA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHg3NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzcuNDogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEwLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHgxMDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMC40OiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMS4yOiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MTEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMS4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExNCA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKaWYoeDExNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzExLjQ6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTIuMjogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYodHlwZW9mIHgxMjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEyLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMjQgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYoeDEyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEyLjQ6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxLjI6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTQgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHgxNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEuNDogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNC4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih4NDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM0LjQ6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM1LjI6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDUzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM1LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmKHg1NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzUuNDogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg2NCA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih4NjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM2LjQ6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHR5cGVvZiB4NzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzcuMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg3NCA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHg4MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDg0ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih4ODQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM4LjQ6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOS4xOiB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM5LjI6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHg5MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjOS4zOiB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoeDk0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOS40OiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTAuMjogbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMDQgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHgxMDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMC40OiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKdmFyIHgxMSA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikpIHsKICAkRVJST1IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKScpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MjEgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MjIgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCk7CmlmICh0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMikpIHsKICAkRVJST1IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzMuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg0MSA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYgKHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg0MiA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NTEgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7CiAgJEVSUk9SKCcjNS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MiknKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MikpIHsKICAkRVJST1IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzYuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg3MSA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKICAkRVJST1IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKScpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4ODEgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4ODIgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmICh0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MikpIHsKICAkRVJST1IoJyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzkuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMDEgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7CmlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMikpIHsKICAkRVJST1IoJyMxMC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTAuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTExID0gbmV3IERhdGUoMjA5OSwgMTIpOwppZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExMiA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpKSB7CiAgJEVSUk9SKCcjMTEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKScpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzExLjM6IERhdGUucHJvdG90eXBlID09PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDApOwppZiAodHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyMiA9IG5ldyBEYXRlKDIxMDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKICAkRVJST1IoJyMxMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpJyk7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKdmFyIHgxMSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSk7CmlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MjEgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MjIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmICh0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMikpIHsKICAkRVJST1IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzMuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg0MSA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSk7CmlmICh0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NTEgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7CiAgJEVSUk9SKCcjNS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MiknKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MikpIHsKICAkRVJST1IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzYuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg3MSA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSk7CmlmICh0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4ODEgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4ODIgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmICh0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MikpIHsKICAkRVJST1IoJyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzkuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMDEgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZiAodHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwMiA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTAuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEpOwppZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExMiA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpKSB7CiAgJEVSUk9SKCcjMTEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKScpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzExLjM6IERhdGUucHJvdG90eXBlID09PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAodHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKICAkRVJST1IoJyMxMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpJyk7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg0MiA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpKSB7CiAgJEVSUk9SKCcjMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiknKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpKSB7CiAgJEVSUk9SKCcjNC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MiknKTsKfQoKdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpKSB7CiAgJEVSUk9SKCcjNy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiknKTsKfQoKdmFyIHg3MyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAodHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwMiA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpKSB7CiAgJEVSUk9SKCcjMTAuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKScpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikpIHsKICAkRVJST1IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKScpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKICAkRVJST1IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKScpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMDIgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMikpIHsKICAkRVJST1IoJyMxMC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgp2YXIgeDExID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgyMSA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMikpIHsKICAkRVJST1IoJyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMyLjM6IERhdGUucHJvdG90eXBlID09PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MzEgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMy4xOiB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgzMiA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSkgewogICRFUlJPUignIzMuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpJyk7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDQxID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzQuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MikpIHsKICAkRVJST1IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM1LjM6IERhdGUucHJvdG90eXBlID09PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NjEgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg2MiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSkgewogICRFUlJPUignIzYuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpJyk7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDcxID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzcuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MikpIHsKICAkRVJST1IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM4LjM6IERhdGUucHJvdG90eXBlID09PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4OTEgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOS4xOiB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg5MiA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSkgewogICRFUlJPUignIzkuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpJyk7Cn0KCnZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEwMSA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMDIgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTEyID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKICAkRVJST1IoJyMxMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpJyk7Cn0KCnZhciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTIxID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICh0eXBlb2YgeDEyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgeDEyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSkgewogICRFUlJPUignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMiknKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEyLjM6IERhdGUucHJvdG90eXBlID09PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg2KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEwKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZiAoeDEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDApOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7CmlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmICh4Ni50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIpOwppZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKaWYgKHg5LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExKTsKaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIpOwppZiAoeDExLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYgKHgxMi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9CgoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsKaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEpOwppZiAoeDIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsKaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEpOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKaWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEpOwppZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKaWYgKHg5LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7CmlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYgKHgxMS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSk7CmlmICh4MTIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEwKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZiAoeDEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMyk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKTsKaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwppZiAoeDExLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKHgxMi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg1KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAoeDIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoeDQudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmICh4NS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZiAoeDYudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsKaWYgKHgxMS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmICh4MTIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg2KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4Ni50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoeDEwLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmICh4MTEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwppZiAoeDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiA3IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpCiAqLwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgpEYXRlLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoeDcudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoeDkudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoeDEwLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh4MTEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoeDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKXsKICB0aGlzLnZhbHVlID0gdmFsOwogIHRoaXMudmFsdWVPZiA9IGZ1bmN0aW9uKCl7dGhyb3cgInZhbHVlT2YtIit0aGlzLnZhbHVlO307CiAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCl7dGhyb3cgInRvU3RyaW5nLSIrdGhpcy52YWx1ZTt9Owp9OwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgeDEgPSBuZXcgRGF0ZShuZXcgbXlPYmooMSksIG5ldyBteU9iaigyKSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMikpOwogICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTIiKXsKICAgICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKXsKICB0aGlzLnZhbHVlID0gdmFsOwogIHRoaXMudmFsdWVPZiA9IGZ1bmN0aW9uKCl7dGhyb3cgInZhbHVlT2YtIit0aGlzLnZhbHVlO307CiAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCl7dGhyb3cgInRvU3RyaW5nLSIrdGhpcy52YWx1ZTt9Owp9OwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgeDEgPSBuZXcgRGF0ZShuZXcgbXlPYmooMSksIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTEiKXsKICAgICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7CiAgfQp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciB4MiA9IG5ldyBEYXRlKDEsIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTMiKXsKICAgICRFUlJPUigiIzM6IFRoZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7CiAgfQp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpKTsKICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTEiKXsKICAgICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7CiAgfQp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciB4MiA9IG5ldyBEYXRlKDEsIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCkpOwogICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTIiKXsKICAgICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwogIH0KfQoKLy9DSEVDSyMzCnRyeXsKICB2YXIgeDMgPSBuZXcgRGF0ZSgxLCAyLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCkpOwogICRFUlJPUigiIzQ6IFRoZSA0dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGhvdXJzKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTQiKXsKICAgICRFUlJPUigiIzQ6IFRoZSA0dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGhvdXJzKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSkpOwogICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMSIpewogICAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHgyID0gbmV3IERhdGUoMSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtNCIpewogICAgJEVSUk9SKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7CiAgfQp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciB4NSA9IG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi01Iil7CiAgICAkRVJST1IoIiM1OiBUaGUgNXRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtaW51dGVzKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMiIpewogICAgJEVSUk9SKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7CiAgfQp9CgovL0NIRUNLIzMKdHJ5ewogIHZhciB4MyA9IG5ldyBEYXRlKDEsIDIsIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpKTsKICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi00Iil7CiAgICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKICB9Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIHg1ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNikpOwogICRFUlJPUigiIzU6IFRoZSA1dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1pbnV0ZXMpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtNSIpewogICAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKICB9Cn0KCi8vQ0hFQ0sjNgp0cnl7CiAgdmFyIHg2ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgNSwgbmV3IG15T2JqKDYpKTsKICAkRVJST1IoIiM2OiBUaGUgNnRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihzZWNvbmRzKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTYiKXsKICAgICRFUlJPUigiIzY6IFRoZSA2dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHNlY29uZHMpIik7CiAgfQp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgp2YXIgbXlPYmogPSBmdW5jdGlvbih2YWwpewogIHRoaXMudmFsdWUgPSB2YWw7CiAgdGhpcy52YWx1ZU9mID0gZnVuY3Rpb24oKXt0aHJvdyAidmFsdWVPZi0iK3RoaXMudmFsdWU7fTsKICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKXt0aHJvdyAidG9TdHJpbmctIit0aGlzLnZhbHVlO307Cn07CgovL0NIRUNLIzEKdHJ5ewogIHZhciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSwgbmV3IG15T2JqKDcpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpLCBuZXcgbXlPYmooNykpOwogICRFUlJPUigiIzM6IFRoZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMyIpewogICAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnl7CiAgdmFyIHg0ID0gbmV3IERhdGUoMSwgMiwgMywgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSwgbmV3IG15T2JqKDcpKTsKICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi00Iil7CiAgICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKICB9Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIHg1ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi01Iil7CiAgICAkRVJST1IoIiM1OiBUaGUgNXRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtaW51dGVzKSIpOwogIH0KfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgeDYgPSBuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjNjogVGhlIDZ0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoc2Vjb25kcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi02Iil7CiAgICAkRVJST1IoIiM2OiBUaGUgNnRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihzZWNvbmRzKSIpOwogIH0KfQoKLy9DSEVDSyM3CnRyeXsKICB2YXIgeDcgPSBuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCA2LCBuZXcgbXlPYmooNykpOwogICRFUlJPUigiIzc6IFRoZSA3dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1zKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTciKXsKICAgICRFUlJPUigiIzc6IFRoZSA3dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1zKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCiRJTkNMVURFKCJlbnZpcm9ubWVudC5qcyIpOwokSU5DTFVERSgibnVtZXJpY19jb252ZXJzaW9uLmpzIik7CiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwokSU5DTFVERSgiRGF0ZV9saWJyYXJ5LmpzIik7CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMSkgIT09IG5ldyBEYXRlKDE4OTksIDExKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDEyKSAhPT0gbmV3IERhdGUoMTg5OSwgMTIpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTkwMCwgMCkgIT09IG5ldyBEYXRlKDE5MDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM0OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMikgIT09IG5ldyBEYXRlKDE5NjksIDEyKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzU6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NzAsIDApICE9PSBuZXcgRGF0ZSgxOTcwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzY6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDExKSAhPT0gbmV3IERhdGUoMTk5OSwgMTEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTIpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMikudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM4OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDAwLCAwKSAhPT0gbmV3IERhdGUoMjAwMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM5OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMSkgIT09IG5ldyBEYXRlKDIwOTksIDExKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEwOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMikgIT09IG5ldyBEYXRlKDIwOTksIDEyKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzExOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMTAwLCAwKSAhPT0gbmV3IERhdGUoMjEwMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCiRJTkNMVURFKCJlbnZpcm9ubWVudC5qcyIpOwokSU5DTFVERSgibnVtZXJpY19jb252ZXJzaW9uLmpzIik7CiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwokSU5DTFVERSgiRGF0ZV9saWJyYXJ5LmpzIik7CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM1OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTcwLCAwLCAxKSAhPT0gbmV3IERhdGUoMTk3MCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM2OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM4OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDAwLCAwLCAxKSAhPT0gbmV3IERhdGUoMjAwMCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM5OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEpICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMykgIT09IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEsIDApICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxLCAwKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM0OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMiwgMSwgMCkgIT09IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzU6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NzAsIDAsIDEsIDApICE9PSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzY6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDExLCAzMSwgMjMpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMykgIT09IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxLCAwKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEsIDApICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpICE9PSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzI6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5MDAsIDAsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzM6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTIsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM1OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM2OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgIT09IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpICE9PSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTIsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTI6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzQ6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEwOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzExOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiA3IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpCiAqLwoKJElOQ0xVREUoImVudmlyb25tZW50LmpzIik7CiRJTkNMVURFKCJudW1lcmljX2NvbnZlcnNpb24uanMiKTsKJElOQ0xVREUoIkRhdGVfY29uc3RhbnRzLmpzIik7CiRJTkNMVURFKCJEYXRlX2xpYnJhcnkuanMiKTsKCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgIT09IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzQ6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM3OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzg6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzk6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCmZ1bmN0aW9uIERhdGVWYWx1ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKXsKICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykudmFsdWVPZigpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMSkpKSB7CiAgJEZBSUwoIiMxOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMikpKSB7CiAgJEZBSUwoIiMyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTAwLCAwKSkpIHsKICAkRkFJTCgiIzM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDExKSkpIHsKICAkRkFJTCgiIzQ6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDEyKSkpIHsKICAkRkFJTCgiIzU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NzAsIDApKSkgewogICRGQUlMKCIjNjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTEpKSkgewogICRGQUlMKCIjNzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTIpKSkgewogICRGQUlMKCIjODogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjAwMCwgMCkpKSB7CiAgJEZBSUwoIiM5OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMSkpKSB7CiAgJEZBSUwoIiMxMDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTIpKSkgewogICRGQUlMKCIjMTE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIxMDAsIDApKSkgewogICRGQUlMKCIjMTI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCmZ1bmN0aW9uIERhdGVWYWx1ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKXsKICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykudmFsdWVPZigpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTIsIDEpKSkgewogICRGQUlMKCIjMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTkwMCwgMCwgMSkpKSB7CiAgJEZBSUwoIiMzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjNDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTIsIDEpKSkgewogICRGQUlMKCIjNTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk3MCwgMCwgMSkpKSB7CiAgJEZBSUwoIiM2OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjNzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTIsIDEpKSkgewogICRGQUlMKCIjODogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjAwMCwgMCwgMSkpKSB7CiAgJEZBSUwoIiM5OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjMTA6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwOTksIDEyLCAxKSkpIHsKICAkRkFJTCgiIzExOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMTAwLCAwLCAxKSkpIHsKICAkRkFJTCgiIzEyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMykpKSB7CiAgJEZBSUwoIiMxOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMiwgMSwgMCkpKSB7CiAgJEZBSUwoIiMyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTAwLCAwLCAxLCAwKSkpIHsKICAkRkFJTCgiIzM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDExLCAzMSwgMjMpKSkgewogICRGQUlMKCIjNDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTIsIDEsIDApKSkgewogICRGQUlMKCIjNTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk3MCwgMCwgMSwgMCkpKSB7CiAgJEZBSUwoIiM2OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTk5LCAxMSwgMzEsIDIzKSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMykpKSB7CiAgJEZBSUwoIiMxMDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTIsIDEsIDApKSkgewogICRGQUlMKCIjMTE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIxMDAsIDAsIDEsIDApKSkgewogICRGQUlMKCIjMTI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMywgNTkpKSkgewogICRGQUlMKCIjMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTIsIDEsIDAsIDApKSkgewogICRGQUlMKCIjMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTkwMCwgMCwgMSwgMCwgMCkpKSB7CiAgJEZBSUwoIiMzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkpKSB7CiAgJEZBSUwoIiM0OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMiwgMSwgMCwgMCkpKSB7CiAgJEZBSUwoIiM1OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTcwLCAwLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzY6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDExLCAzMSwgMjMsIDU5KSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMywgNTkpKSkgewogICRGQUlMKCIjMTA6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwOTksIDEyLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzExOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMTAwLCAwLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzEyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5MDAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjMzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzQ6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NzAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjNjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzEwOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkpKSB7CiAgJEZBSUwoIiMxMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjEwMCwgMCwgMSwgMCwgMCwgMCkpKSB7CiAgJEZBSUwoIiMxMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGVzIG9mIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cyBhbmQgaXQgdmFsdWVzCiAqLwoKJElOQ0xVREUoIkRhdGVfY29uc3RhbnRzLmpzIik7CiAKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xODk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xODk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTQgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDI0ID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYodHlwZW9mIHgzMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMy4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzQgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYoeDM0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMy40OiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk3MF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xOTk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDg0ID0gbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking types of newly created objects and it values","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERhdGUucHJvdG90eXBlIHByb3BlcnR5IG9mIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdHMKICovCgokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKCnZhciB4MTEgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKaWYgKHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgyMiA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MikpIHsKICAkRVJST1IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSkgewogICRFUlJPUignIzYuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpJyk7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KTsKaWYgKHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg4MiA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"Checking Date.prototype property of newly constructed objects","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMl9BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcKICovCgokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKCnZhciB4MSA9IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMl9BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZwogKi8KCiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoZGF0ZV8xODk5X2VuZCk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZiAoeDQudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoZGF0ZV8yMDk5X2VuZCk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvUzE1LjkuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKi8KCmlmKCFEYXRlLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Date constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwYXJzZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC9TMTUuOS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwYXJzZSIKICovCgppZighRGF0ZS5oYXNPd25Qcm9wZXJ0eSgicGFyc2UiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicGFyc2UiJyk7Cn0KCgo=","commentary":"The Date constructor has the property \"parse\"","description":"Checking existence of the property \"parse\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJVVEMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvUzE1LjkuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAiVVRDIgogKi8KCmlmKCFEYXRlLmhhc093blByb3BlcnR5KCJVVEMiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiVVRDIicpOwp9CgoK","commentary":"The Date constructor has the property \"UTC\"","description":"Checking existence of the property \"UTC\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIERhdGUKICogY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC9TMTUuOS40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihEYXRlKQogKi8KCi8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihEYXRlKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIERhdGUgY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Date\nconstructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Date)","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEYXRlIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgNwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40L1MxNS45LjRfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERhdGUubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IERhdGUgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKERhdGUubGVuZ3RoICE9PSA3KSB7CiAgJEVSUk9SKCcjMjogRGF0ZSBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDcnKTsKfQoK","commentary":"Date constructor has length property whose value is 7","description":"Checking Date.length property","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGU7CkRhdGUucHJvdG90eXBlID0gMTsKaWYgKERhdGUucHJvdG90eXBlICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZSkgewogIGlmKHggPT09ICJwcm90b3R5cGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wYXJzZTsKaWYoeCA9PT0gMSkKICBEYXRlLnBhcnNlID0gMjsKZWxzZQogIERhdGUucGFyc2UgPSAxOwppZiAoRGF0ZS5wYXJzZSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnBhcnNlIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wYXJzZSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucGFyc2UgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLmhhc093blByb3BlcnR5KCdwYXJzZScpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlKSB7CiAgaWYoeCA9PT0gInBhcnNlIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucGFyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJwYXJzZSIgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAicGFyc2UiIGlzIDEKICovCgppZihEYXRlLnBhcnNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHBhcnNlIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucGFyc2UubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHBhcnNlIGlzIDEnKTsKfQoKCg==","commentary":"The \"length\" property of the \"parse\" is 1","description":"The \"length\" property of the \"parse\" is 1","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wYXJzZS5sZW5ndGg7CkRhdGUucGFyc2UubGVuZ3RoID0gMTsKaWYgKERhdGUucGFyc2UubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucGFyc2UubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wYXJzZS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnBhcnNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucGFyc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wYXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wYXJzZSkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUuVVRDOwppZih4ID09PSAxKQogIERhdGUuVVRDID0gMjsKZWxzZQogIERhdGUuVVRDID0gMTsKaWYgKERhdGUuVVRDID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUuVVRDIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUuVVRDICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLmhhc093blByb3BlcnR5KCdVVEMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUuVVRDIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdVVEMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlKSB7CiAgaWYoeCA9PT0gIlVUQyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLlVUQyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJVVEMiIGlzIDcKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgIlVUQyIgaXMgNwogKi8KCmlmKERhdGUuVVRDLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIFVUQyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLlVUQy5sZW5ndGggIT09IDcpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgVVRDIGlzIDcnKTsKfQoKCg==","commentary":"The \"length\" property of the \"UTC\" is 7","description":"The \"length\" property of the \"UTC\" is 7","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUuVVRDLmxlbmd0aDsKRGF0ZS5VVEMubGVuZ3RoID0gMTsKaWYgKERhdGUuVVRDLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUuVVRDLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUuVVRDLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUuVVRDLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUuVVRDLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUuVVRDLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5VVEMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUuVVRDLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBEYXRlLm5vdyA9PT0gImZ1bmN0aW9uIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now must exist as a function","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gRGF0ZS5ub3cubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.now must exist as a function taking 0 parameters","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gRGF0ZS5ub3c7DQogICAgICAgIHJldHVybiAodHlwZW9mIChmdW4pID09PSAiZnVuY3Rpb24iKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now must exist as a function","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC00LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgLSByZXR1cm5zIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgICAgICANCiAgICAgICAgcmV0dXJuIHR5cGVvZiBEYXRlLm5vdygpID09PSAibnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now - returns number","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiY29uc3RydWN0b3IiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIicpOwp9CgoK","commentary":"The Date.prototype has the property \"constructor\"","description":"The Date.prototype has the property \"constructor\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A01_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9TdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1N0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toString\"","description":"The Date.prototype has the property \"toString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A02_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9EYXRlU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTAzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9EYXRlU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0RhdGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toDateString\"","description":"The Date.prototype has the property \"toDateString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A03_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9UaW1lU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9UaW1lU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1RpbWVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvVGltZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toTimeString\"","description":"The Date.prototype has the property \"toTimeString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A04_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b0xvY2FsZVN0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9Mb2NhbGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toLocaleString\"","description":"The Date.prototype has the property \"toLocaleString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A05_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVEYXRlU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVEYXRlU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZURhdGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toLocaleDateString\"","description":"The Date.prototype has the property \"toLocaleDateString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A06_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVUaW1lU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVUaW1lU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVRpbWVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toLocaleTimeString\"","description":"The Date.prototype has the property \"toLocaleTimeString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A07_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidmFsdWVPZiIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EwOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZhbHVlT2YiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZhbHVlT2YiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"valueOf\"","description":"The Date.prototype has the property \"valueOf\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A08_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VGltZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EwOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFRpbWUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getTime\"","description":"The Date.prototype has the property \"getTime\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A09_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTBfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0RnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getFullYear\"","description":"The Date.prototype has the property \"getFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDRnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCFullYear\"","description":"The Date.prototype has the property \"getUTCFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getMonth\"","description":"The Date.prototype has the property \"getMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDTW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCMonth\"","description":"The Date.prototype has the property \"getUTCMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldERhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getDate\"","description":"The Date.prototype has the property \"getDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0ExNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ0RhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCDate\"","description":"The Date.prototype has the property \"getUTCDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF5IgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTE2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF5IgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXREYXkiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERheSInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getDay\"","description":"The Date.prototype has the property \"getDay\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF5IgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTE3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF5IgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENEYXkiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RheSInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getUTCDay\"","description":"The Date.prototype has the property \"getUTCDay\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A17_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0SG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMThfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0SG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldEhvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getHours\"","description":"The Date.prototype has the property \"getHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDSG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTlfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDSG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCHours\"","description":"The Date.prototype has the property \"getUTCHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldE1pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getMinutes\"","description":"The Date.prototype has the property \"getMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A20_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCMinutes\"","description":"The Date.prototype has the property \"getUTCMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A21_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0U2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFNlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFNlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getSeconds\"","description":"The Date.prototype has the property \"getSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A22_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDU2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ1NlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCSeconds\"","description":"The Date.prototype has the property \"getUTCSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A23_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getMilliseconds\"","description":"The Date.prototype has the property \"getMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A24_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getUTCMilliseconds\"","description":"The Date.prototype has the property \"getUTCMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A25_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VGltZXpvbmVPZmZzZXQiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRUaW1lem9uZU9mZnNldCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VGltZXpvbmVPZmZzZXQiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IicpOwp9CgoK","commentary":"The Date.prototype has the property \"getTimezoneOffset\"","description":"The Date.prototype has the property \"getTimezoneOffset\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A26_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VGltZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFRpbWUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFRpbWUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFRpbWUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setTime\"","description":"The Date.prototype has the property \"setTime\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A27_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"setMilliseconds\"","description":"The Date.prototype has the property \"setMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A28_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRVVENNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"setUTCMilliseconds\"","description":"The Date.prototype has the property \"setUTCMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A29_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0U2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFNlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFNlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setSeconds\"","description":"The Date.prototype has the property \"setSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A30_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDU2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ1NlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCSeconds\"","description":"The Date.prototype has the property \"setUTCSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A31_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldE1pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setMinutes\"","description":"The Date.prototype has the property \"setMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A32_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCMinutes\"","description":"The Date.prototype has the property \"setUTCMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A33_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0SG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0SG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldEhvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setHours\"","description":"The Date.prototype has the property \"setHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A34_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDSG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDSG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCHours\"","description":"The Date.prototype has the property \"setUTCHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A35_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0RGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldERhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldERhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldERhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setDate\"","description":"The Date.prototype has the property \"setDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A36_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0RhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ0RhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0RhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCDate\"","description":"The Date.prototype has the property \"setUTCDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A37_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzhfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0TW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setMonth\"","description":"The Date.prototype has the property \"setMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A38_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzlfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDTW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCMonth\"","description":"The Date.prototype has the property \"setUTCMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A39_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0RnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDBfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0RnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setFullYear\"","description":"The Date.prototype has the property \"setFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A40_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDRnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCFullYear\"","description":"The Date.prototype has the property \"setUTCFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A41_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9VVENTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1VUQ1N0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9VVENTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toUTCString\"","description":"The Date.prototype has the property \"toUTCString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A42_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnY29uc3RydWN0b3InKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uc3RydWN0b3InKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJjb25zdHJ1Y3RvciIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJjb25zdHJ1Y3RvciIgaXMgNwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiY29uc3RydWN0b3IiIGlzIDcKICovCgppZihEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSBjb25zdHJ1Y3RvciBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggIT09IDcpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0b3IgaXMgNycpOwp9CgoK","commentary":"The \"length\" property of the \"constructor\" is 7","description":"The \"length\" property of the \"constructor\" is 7","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldEZ1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRGdWxsWWVhciIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRGdWxsWWVhciIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldEZ1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRGdWxsWWVhciBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getFullYear\" is 0","description":"The \"length\" property of the \"getFullYear\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0Z1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENGdWxsWWVhciIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENGdWxsWWVhciIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0Z1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENGdWxsWWVhciBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCFullYear\" is 0","description":"The \"length\" property of the \"getUTCFullYear\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNb250aCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNb250aCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldE1vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRNb250aCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMonth\" is 0","description":"The \"length\" property of the \"getMonth\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNb250aCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNb250aCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENNb250aCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMonth\" is 0","description":"The \"length\" property of the \"getUTCMonth\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXREYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldERhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXREYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldERhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldERhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXREYXRlIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldERhdGUiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXREYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldERhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0RGF0ZSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getDate\" is 0","description":"The \"length\" property of the \"getDate\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXREYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENEYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ0RhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0RhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENEYXRlIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ0RhdGUiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0RhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDRGF0ZSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCDate\" is 0","description":"The \"length\" property of the \"getUTCDate\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldERheTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXREYXkgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5ID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldERheSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXREYXknKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0RGF5JykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldERheSIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXREYXkiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0RGF5IiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldERheSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldERheSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getDay\" is 0","description":"The \"length\" property of the \"getDay\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldERheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXREYXkpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0RheTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5ID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0RheSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENEYXknKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0VVRDRGF5JykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0RheSIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENEYXkiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDRGF5IiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0RheSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ0RheSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCDay\" is 0","description":"The \"length\" property of the \"getUTCDay\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldEhvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRIb3VycyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRIb3VycyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldEhvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldEhvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRIb3VycyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getHours\" is 0","description":"The \"length\" property of the \"getHours\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0hvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENIb3VycyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENIb3VycyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0hvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENIb3VycyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCHours\" is 0","description":"The \"length\" property of the \"getUTCHours\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvU3RyaW5nOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9TdHJpbmcnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndG9TdHJpbmcnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b1N0cmluZyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1N0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAidG9TdHJpbmciIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b1N0cmluZyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toString\" is 0","description":"The \"length\" property of the \"toString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldE1pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNaW51dGVzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldE1pbnV0ZXMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0TWludXRlcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMinutes\" is 0","description":"The \"length\" property of the \"getMinutes\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ01pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNaW51dGVzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ01pbnV0ZXMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDTWludXRlcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMinutes\" is 0","description":"The \"length\" property of the \"getUTCMinutes\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFNlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFNlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRTZWNvbmRzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFNlY29uZHMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFNlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0U2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getSeconds\" is 0","description":"The \"length\" property of the \"getSeconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ1NlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ1NlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENTZWNvbmRzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ1NlY29uZHMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ1NlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDU2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCSeconds\" is 0","description":"The \"length\" property of the \"getUTCSeconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0TWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNaWxsaXNlY29uZHMiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0TWlsbGlzZWNvbmRzIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldE1pbGxpc2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMilliseconds\" is 0","description":"The \"length\" property of the \"getMilliseconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0VVRDTWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNaWxsaXNlY29uZHMiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDTWlsbGlzZWNvbmRzIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ01pbGxpc2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMilliseconds\" is 0","description":"The \"length\" property of the \"getUTCMilliseconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQ7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRUaW1lem9uZU9mZnNldCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lem9uZU9mZnNldCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFRpbWV6b25lT2Zmc2V0IikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lem9uZU9mZnNldCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lem9uZU9mZnNldCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFRpbWV6b25lT2Zmc2V0IGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRUaW1lem9uZU9mZnNldCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getTimezoneOffset\" is 0","description":"The \"length\" property of the \"getTimezoneOffset\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFRpbWUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFRpbWUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRUaW1lJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFRpbWUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFRpbWUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRUaW1lIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFRpbWUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFRpbWUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VGltZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setTime\" is 1","description":"The \"length\" property of the \"setTime\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFRpbWUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRUaW1lKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0TWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNaWxsaXNlY29uZHMiIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0TWlsbGlzZWNvbmRzIiBpcyAxCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldE1pbGxpc2Vjb25kcyBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMilliseconds\" is 1","description":"The \"length\" property of the \"setMilliseconds\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0VVRDTWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNaWxsaXNlY29uZHMiIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0VVRDTWlsbGlzZWNvbmRzIiBpcyAxCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldFVUQ01pbGxpc2Vjb25kcyBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMilliseconds\" is 1","description":"The \"length\" property of the \"setUTCMilliseconds\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9EYXRlU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvRGF0ZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0RhdGVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0RhdGVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvRGF0ZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0RhdGVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0RhdGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toDateString\" is 0","description":"The \"length\" property of the \"toDateString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFNlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFNlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRTZWNvbmRzIiBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFNlY29uZHMiIGlzIDIKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFNlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggIT09IDIpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0U2Vjb25kcyBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setSeconds\" is 2","description":"The \"length\" property of the \"setSeconds\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ1NlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ1NlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENTZWNvbmRzIiBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ1NlY29uZHMiIGlzIDIKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ1NlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IDIpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDU2Vjb25kcyBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCSeconds\" is 2","description":"The \"length\" property of the \"setUTCSeconds\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldE1pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNaW51dGVzIiBpcyAzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldE1pbnV0ZXMiIGlzIDMKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggIT09IDMpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0TWludXRlcyBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMinutes\" is 3","description":"The \"length\" property of the \"setMinutes\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ01pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNaW51dGVzIiBpcyAzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ01pbnV0ZXMiIGlzIDMKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggIT09IDMpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDTWludXRlcyBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMinutes\" is 3","description":"The \"length\" property of the \"setUTCMinutes\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldEhvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRIb3VycyIgaXMgNAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRIb3VycyIgaXMgNAogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldEhvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRIb3VycyBpcyA0Jyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setHours\" is 4","description":"The \"length\" property of the \"setHours\" is 4","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0hvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENIb3VycyIgaXMgNAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENIb3VycyIgaXMgNAogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0hvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENIb3VycyBpcyA0Jyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCHours\" is 4","description":"The \"length\" property of the \"setUTCHours\" is 4","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXREYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldERhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldERhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXREYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldERhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldERhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXREYXRlIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldERhdGUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXREYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldERhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0RGF0ZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setDate\" is 1","description":"The \"length\" property of the \"setDate\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXREYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENEYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ0RhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0RhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENEYXRlIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ0RhdGUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0RhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDRGF0ZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCDate\" is 1","description":"The \"length\" property of the \"setUTCDate\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNb250aCIgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNb250aCIgaXMgMgogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldE1vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCAhPT0gMil7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRNb250aCBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMonth\" is 2","description":"The \"length\" property of the \"setMonth\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNb250aCIgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNb250aCIgaXMgMgogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCAhPT0gMil7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENNb250aCBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMonth\" is 2","description":"The \"length\" property of the \"setUTCMonth\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9UaW1lU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvVGltZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b1RpbWVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1RpbWVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvVGltZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b1RpbWVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b1RpbWVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toTimeString\" is 0","description":"The \"length\" property of the \"toTimeString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldEZ1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRGdWxsWWVhciIgaXMgMwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRGdWxsWWVhciIgaXMgMwogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldEZ1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCAhPT0gMyl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRGdWxsWWVhciBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setFullYear\" is 3","description":"The \"length\" property of the \"setFullYear\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0Z1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENGdWxsWWVhciIgaXMgMwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENGdWxsWWVhciIgaXMgMwogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0Z1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMyl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENGdWxsWWVhciBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCFullYear\" is 3","description":"The \"length\" property of the \"setUTCFullYear\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b1VUQ1N0cmluZycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1VUQ1N0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInRvVVRDU3RyaW5nIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1VUQ1N0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1VUQ1N0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHRvVVRDU3RyaW5nIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b1VUQ1N0cmluZyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"toUTCString\" is 0","description":"The \"length\" property of the \"toUTCString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwLCAwLCAxKSwgdGhlIHRpbWUgem9uZSBpcyBVVEMoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGltZVpvbmVNaW51dGVzID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogKC0xKTsNCiAgICAgICAgdmFyIGRhdGUsIGRhdGVTdHI7DQoNCiAgICAgICAgaWYgKHRpbWVab25lTWludXRlcyA+IDApIHsNCiAgICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZSgxOTcwLCAwLCAtOTk5OTk5OTksIDAsIDAsIDAsIDEpOw0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGRhdGUudG9JU09TdHJpbmcoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCArIHRpbWVab25lTWludXRlcyArIDYwLCAwLCAxKTsNCg0KICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGVTdHJbZGF0ZVN0ci5sZW5ndGggLSAxXSA9PT0gIloiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, 1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTExLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgMTAwMDAwMDAxLCAwLCAwLCAwLCAtMSksIHRoZSB0aW1lIHpvbmUgaXMgVVRDKDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRpbWVab25lTWludXRlcyA9IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSAqICgtMSk7DQogICAgICAgIHZhciBkYXRlLCBkYXRlU3RyOw0KDQogICAgICAgIGRhdGUgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxMDAwMDAwMDEsIDAsIDAgKyB0aW1lWm9uZU1pbnV0ZXMgLSA2MCwgMCwgLTEpOw0KICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KDQogICAgICAgIHJldHVybiBkYXRlU3RyW2RhdGVTdHIubGVuZ3RoIC0gMV0gPT09ICJaIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, -1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgMTAwMDAwMDAxLCAwLCAwLCAwLCAwKSwgdGhlIHRpbWUgem9uZSBpcyBVVEMoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGltZVpvbmVNaW51dGVzID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogKC0xKTsNCiAgICAgICAgdmFyIGRhdGUsIGRhdGVTdHI7DQoNCiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCArIHRpbWVab25lTWludXRlcyAtIDYwLCAwLCAwKTsNCiAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, 0), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHZhbHVlIG9mIGRhdGUgaXMgRGF0ZSgxOTcwLCAwLCAxMDAwMDAwMDEsIDAsIDAsIDAsIDEpLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGlmICh0aW1lWm9uZU1pbnV0ZXMgPiAwKSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCArIHRpbWVab25lTWludXRlcyArIDYwLCAwLCAxKTsNCiAgICAgICAgICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCwgMCwgMSk7DQogICAgICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - RangeError is thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, 1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB3aGVuIHZhbHVlIG9mIHllYXIgaXMgLUluZmluaXR5IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBSYW5nZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgtSW5maW5pdHksIDEsIDcwLCAwLCAwLCAwKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - when value of year is -Infinity Date.prototype.toISOString throw the RangeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB2YWx1ZSBvZiB5ZWFyIGlzIEluZmluaXR5IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBSYW5nZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShJbmZpbml0eSwgMSwgNzAsIDAsIDAsIDApOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkYXRlLnRvSVNPU3RyaW5nKCk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - value of year is Infinity Date.prototype.toISOString throw the RangeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB3aGVuIHRoaXMgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdmFsdWUgZm9ybWF0IGlzICdZWVlZLU1NLUREVEhIOm1tOnNzLnNzc1onIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZSA9IG5ldyBTdHJpbmcoIjE5NzAtMDEtMDAwMDA6MDA6MDAuMDAwWiIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5jYWxsKGRhdGUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - when this is a String object that value format is 'YYYY-MM-DDTHH:mm:ss.sssZ' Date.prototype.toISOString throw the TypeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDAgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString must exist as a function taking 0 parameters","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIChEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykgPT09ICJmdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString must exist as a function","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIGZvcm1hdCBvZiByZXR1cm5lZCBzdHJpbmcgaXMgJ1lZWVktTU0tRERUSEg6bW06c3Muc3NzWicsIHRoZSB0aW1lIHpvbmUgaXMgVVRDKDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgxOTk5LCA5LCAxMCwgMTAsIDEwLCAxMCwgMTApOw0KICAgICAgICB2YXIgbG9jYWxEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7DQoNCiAgICAgICAgcmV0dXJuIGxvY2FsRGF0ZS50b0lTT1N0cmluZygpID09PSAiMTk5OS0xMC0xMFQxMDoxMDoxMC4wMTBaIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - format of returned string is 'YYYY-MM-DDTHH:mm:ss.sssZ', the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFRoZSByZXR1cm5lZCBzdHJpbmcgaXMgdGhlIFVUQyB0aW1lIHpvbmUoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZVN0ciA9IChuZXcgRGF0ZSgpKS50b0lTT1N0cmluZygpOw0KICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - The returned string is the UTC time zone(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGlzIGlzIGFueSBvdGhlciBvYmplY3RzIGluc3RlYWQgb2YgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5jYWxsKFtdKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - TypeError is thrown when this is any other objects instead of Date object","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGlzIGlzIGFueSBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcuY2FsbCgxNSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - TypeError is thrown when this is any primitive values","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTguanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdmFsdWUgb2YgZGF0ZSBpcyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgLTEpLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGlmICh0aW1lWm9uZU1pbnV0ZXMgPiAwKSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgLTEpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwICsgdGltZVpvbmVNaW51dGVzIC0gNjAsIDAsIC0xKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, -1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFJhbmdlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIHZhbHVlIG9mIGRhdGUgaXMgRGF0ZSgxOTcwLCAwLCAtOTk5OTk5OTksIDAsIDAsIDAsIDApLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCg0KICAgICAgICBpZiAodGltZVpvbmVNaW51dGVzID4gMCkgew0KICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgMCk7DQoNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwICsgdGltZVpvbmVNaW51dGVzICsgNjAsIDAsIDApOw0KDQogICAgICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KDQogICAgICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, 0), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQ0LzE1LjkuNS40NC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0pTT04gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBEYXRlLnByb3RvdHlwZS50b0pTT047DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toJSON must exist as a function","path":"TestCases/ch15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQ0LzE1LjkuNS40NC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0pTT04gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChEYXRlLnByb3RvdHlwZS50b0pTT04ubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toJSON must exist as a function taking 1 parameter","path":"TestCases/ch15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVTdHJpbmcnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndG9Mb2NhbGVTdHJpbmcnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZVN0cmluZyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZVN0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAidG9Mb2NhbGVTdHJpbmciIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZVN0cmluZyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleString\" is 0","description":"The \"length\" property of the \"toLocaleString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVEYXRlU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlRGF0ZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZURhdGVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZURhdGVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvTG9jYWxlRGF0ZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZURhdGVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZURhdGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleDateString\" is 0","description":"The \"length\" property of the \"toLocaleDateString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVUaW1lU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlVGltZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZVRpbWVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZVRpbWVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvTG9jYWxlVGltZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZVRpbWVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVRpbWVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleTimeString\" is 0","description":"The \"length\" property of the \"toLocaleTimeString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudmFsdWVPZjsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnZhbHVlT2YgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudmFsdWVPZiA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndmFsdWVPZicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd2YWx1ZU9mJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ2YWx1ZU9mIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ2YWx1ZU9mIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ2YWx1ZU9mIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB2YWx1ZU9mIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHZhbHVlT2YgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"valueOf\" is 0","description":"The \"length\" property of the \"valueOf\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudmFsdWVPZikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRUaW1lID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLmdldFRpbWUgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VGltZScpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJnZXRUaW1lIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSBnZXRUaW1lIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFRpbWUgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"getTime\" is 0","description":"The \"length\" property of the \"getTime\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLmdldFRpbWUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - ch15","numTests":"7970","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXM7Cgo=","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXMoKTsKCg==","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xL1MxNS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBnbG9iYWwgb2JqZWN0IGFzIGEgZnVuY3Rpb24KICogQG5lZ2F0aXZlCiAqLwoKdGhpcygpOwoK","commentary":"The global object does not have a [[Call]] property","description":"It is not possible to invoke the global object as a function","negative":"","path":"TestCases/ch15/15.1/S15.1_A2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvMTUuMS4xLjEtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5OYU4gaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAnTmFOJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Global.NaN is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOYU4gaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpIHsKCSRFUlJPUignIzE6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7IAp9CgovLyBDSEVDSyMyCmlmIChpc05hTihOYU4pICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUoTmFOKSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IE5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTmFOKSk7IAp9CgoK","commentary":"The initial value of NaN is NaN","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMS9TMTUuMS4xLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTmFOICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIE5hTiA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgTmFOKSk7IAkKfQoK","commentary":"The NaN is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHZhciBwcm9wIGluIHRoaXMpIHsKICBpZiAocHJvcCA9PT0gIk5hTiIpIHsKCSRFUlJPUignIzE6IFRoZSBOYU4gaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The NaN is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvMTUuMS4xLjItMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5JbmZpbml0eSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdJbmZpbml0eScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Global.Infinity is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbmZpbml0eSBpcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0eXBlb2YsIGlzTmFOLCBpc0Zpbml0ZQogKi8KCi8vIENIRUNLIzEKaWYgKHR5cGVvZihJbmZpbml0eSkgIT09ICJudW1iZXIiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YoSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihJbmZpbml0eSkpKTsgCn0KCi8vIENIRUNLIzIKaWYgKGlzRmluaXRlKEluZmluaXR5KSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzI6IEluZmluaXR5ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChJbmZpbml0eSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNOYU4oSW5maW5pdHkpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMzogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9CgoKLy8gQ0hFQ0sjNAppZiAoSW5maW5pdHkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewoJJEVSUk9SKCcjNDogSW5maW5pdHkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9Cgo=","commentary":"The initial value of Infinity is Number.POSITIVE_INFINITY","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgbm90IFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvUzE1LjEuMS4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlb2YgRnVuY3Rpb25zCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgRmluaXRlID0gdHJ1ZTsKaWYgKHR5cGVvZihGaW5pdGUpICE9PSAiYm9vbGVhbiIpIHsKCSRFUlJPUignIzE6IEZpbml0ZSA9IHRydWU7IHR5cGVvZihOYU4pID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YoTmFOKSkpOyAKfQoK","commentary":"The Infinity is not ReadOnly","description":"Checking typeof Functions","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4xLzE1LjEuMS4yL1MxNS4xLjEuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBJbmZpbml0eSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBJbmZpbml0eSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgSW5maW5pdHkpKTsgCn0KCg==","commentary":"The Infinity is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGZvci1pbiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCmZvciAodmFyIHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAiSW5maW5pdHkiKSB7CgkkRVJST1IoJyMxOiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The Infinity is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvMTUuMS4xLjMtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC51bmRlZmluZWQgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAndW5kZWZpbmVkJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Global.undefined is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB1bmRlZmluZWQgaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YodW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7IAp9CgovLyBDSEVDSyMyCmlmICh1bmRlZmluZWQgIT09IHZvaWQgMCkgewoJJEVSUk9SKCcjMjogdW5kZWZpbmVkID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQpKTsgCn0KCi8vIENIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewoJJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The initial value of undefined is undefined","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy9TMTUuMS4xLjNfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgdW5kZWZpbmVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIHVuZGVmaW5lZCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgdW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The undefined is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogVGhlIHVuZGVmaW5lZCBpcyBEb250RW51bScpOwogIH0JIAkKfQoK","commentary":"The undefined is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChldmFsKHgpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IGV2YWwoeCkgPT09IHguIEFjdHVhbDogJyArIChldmFsKHgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoMSkgPT09IDEuIEFjdHVhbDogJyArIChldmFsKDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCh0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGV2YWwodHJ1ZSkgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IGV2YWwobnVsbCkgPT09IG51bGwuIEFjdHVhbDogJyArIChldmFsKG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCh1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBldmFsKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwodW5kZWZpbmVkKSkpOwp9ICAgICAgICAKCg==","commentary":"If x is not a string value, return x","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSB7fTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxKzEiKTsKaWYgKGV2YWwoeCkgIT09IHgpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IFN0cmluZygiMSIpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9ICAgIAoK","commentary":"If x is not a string value, return x","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgZXZhbCBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBzb21lIGFyZ3VtZW50LCB0aGVuIHVzZSBhIGZpcnN0IGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIGV2YWwoInggPSAxIiwgInggPSAyIiksIHggZXF1YWwgMSwgbm90IDIKICovCgovL0NIRUNLIzEKdmFyIHg7CmV2YWwoInggPSAxIiwgInggPSAyIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgieCA9IDEiLCAieCA9IDIiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"If the eval function is called with some argument, then use a first argument","description":"eval(\"x = 1\", \"x = 2\"), x equal 1, not 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIiksIGNhdGNoIFN5bnRheEVycm9yIiBwYXNzZXMKICovCgovL0NIRUNLIzEKdmFyIHg7CnRyeSB7CiAgZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOwogICRFUlJPUignIzEuMTogZXZhbCgieCA9IDE7IHhcXHUwMDBBKysiKSBtdXN0IHRocm93IGEgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBldmFsKCJ4ID0gMTsgeFxcdTAwMEErKyIpIG11c3QgdGhyb3cgYSBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfSAgIAoK","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\"), catch SyntaxError\" passes","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsKZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOyAKCg==","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\")\" fails","negative":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQogKi8KCnZhciB4OwovL0NIRUNLIzEKaWYgKGV2YWwoInggPSAxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ4ID0gMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoZXZhbCgieCA9IDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwoIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIicxJyIpICE9PSAnMScpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcJzFcJyIpID09PSBcJzFcJy4gQWN0dWFsOiAnICsgKGV2YWwoIicxJyIpKSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKGV2YWwoIisreCIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IGV2YWwoIisreCIpID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9ICAgICAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return primitive value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIG9iamVjdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9Owp2YXIgeTsKaWYgKGV2YWwoInkgPSB4IikgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyBldmFsKCJ5ID0geCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieSA9IHgiKSkpOwp9ICAgIAoKCi8vQ0hFQ0sjMgppZiAoZXZhbCgieCIpICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgZXZhbCgieCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieCIpKSk7Cn0gICAgCgoK","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return object value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgie30iKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgie30iKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgie30iKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Block statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFZhciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMSIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ2YXIgeCA9IDEiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgidmFyIHggPSAxIikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Var statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIEVtcHR5IHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCI7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIjsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Empty statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiaWYgKGZhbHNlKSA7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImlmIChmYWxzZSkgOyIpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIGV2YWwoImlmIChmYWxzZSkgOyIpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"If statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIFN3aXRjaCBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInN3aXRjaCgxKXt9IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoInN3aXRjaCgxKXt9IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoInN3aXRjaCgxKXt9IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Switch statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDYuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDcuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgid2hpbGUoZmFsc2UpOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ3aGlsZShmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIndoaWxlKGZhbHNlKTsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDguanMKICogQGRlc2NyaXB0aW9uIGZvciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"for statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29udGludWUgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiY29udGludWU7Iik7CiAgJEVSUk9SKCcjMS4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGNvbnRpbnVlIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbCAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMTsgaSsrKSB7CiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAxOyBqKyspIHsKICAgICAgIGV2YWwoImNvbnRpbnVlOyIpOyAgICAgICAKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Continue statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWsgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiYnJlYWs7Iik7CiAgJEVSUk9SKCcjMS4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGJyZWFrIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIGZvciAodmFyIGkgPSAwOyBpIDw9IDE7IGkrKykgewogICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMTsgaisrKSB7CiAgICAgICBldmFsKCJicmVhazsiKTsKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgeyAgIAogICAgJEVSUk9SKCcjMi4yOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Break statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gUmV0dXJuIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGV2YWwoInJldHVybjsiKTsKICAkRVJST1IoJyMxLjE6IHJldHVybiBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgicmV0dXJuOyIpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCgpmdW5jdGlvbiBmKCkgeyAgZXZhbCgicmV0dXJuOyIpOyB9OwoKdHJ5IHsKICBmKCk7ICAgICAgCiAgJEVSUk9SKCcjMi4xOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGYoKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogcmV0dXJuIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0gICAgICAKCg==","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Return statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3cgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgidGhyb3cgMTsiKTsKICAkRVJST1IoJyMxLjE6IHRocm93IDEgbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGV2YWwoInRocm93IDE7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKGUgIT09IDEpIHsKICAgICRFUlJPUignIzEuMjogdGhyb3cgMSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9Cgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Throw statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZXZhbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gZXZhbCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBldmFsKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH07ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of eval has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGV2YWwuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZXZhbC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGV2YWwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChldmFsLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of eval has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGV2YWwubGVuZ3RoOwpldmFsLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZXZhbC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZXZhbC5sZW5ndGg7IGV2YWwubGVuZ3RoID0gSW5maW5pdHk7IGV2YWwubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of eval has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of eval is 1","description":"eval.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZXZhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoXCdldmFsXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2V2YWwnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJldmFsIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gdGhpcykgeyBpZiAocCA9PT0gImV2YWwiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The eval property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBldmFsLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChldmFsLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The eval property has not prototype property","description":"Checking eval.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgZXZhbCgpOwogICRFUlJPUignIzEuMTogbmV3IGV2YWwoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZXZhbCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBldmFsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The eval property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvMTUuMS4yLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlSW50IC0gJ1MnIGlzIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiBpbnB1dFN0cmluZyBkb2VzIG5vdCBjb250YWluIGFueSBzdWNoIGNoYXJhY3RlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gaXNOYU4ocGFyc2VJbnQoIiIpKSAmJiBwYXJzZUludCgiIikgIT09IHBhcnNlSW50KCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"pareseInt - 'S' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/15.1.2.2-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludCh0cnVlKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChmYWxzZSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChmYWxzZSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgtMSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoLTEpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KC0xKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KE5hTikpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChOYU4pKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgtMCkgIT09IDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludCgtMCkpKTsKfSBlbHNlIHsKICBpZiAoMSAvIHBhcnNlSW50KC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoLTApKSk7CiAgfQp9ICAgIAoK","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VJbnQodW5kZWZpbmVkKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShpc05hTihwYXJzZUludChudWxsKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludChudWxsKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUludCh1bmRlZmluZWQpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VJbnQodW5kZWZpbmVkKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlSW50KG51bGwpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM0OiBTdHJpbmcocGFyc2VJbnQobnVsbCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludChuZXcgQm9vbGVhbih0cnVlKSkpICYmIGlzTmFOKHBhcnNlSW50KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgQm9vbGVhbihmYWxzZSkpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IEJvb2xlYW4oZmFsc2UpKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgTnVtYmVyKC0xKSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IE51bWJlcigtMSkpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG5ldyBOdW1iZXIoLTEpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBOdW1iZXIoTmFOKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKE5hTikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiSW5maW5pdHkiKSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiZmFsc2UiKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoImZhbHNlIikpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VJbnQob2JqZWN0KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUludChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmIChwYXJzZUludChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiXHUwMDA5MSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIlxcdTAwMDkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5MSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIlx1MDAwOVx1MDAwOS0xIikgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIlxcdTAwMDlcXHUwMDA5LTEiKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5XHUwMDA5LTEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIJMSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIgkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiCTEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIJCQkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiCQkJMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCTEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIJCQlcdTAwMDkJCQlcdTAwMDktMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCVx1MDAwOQkJCVx1MDAwOS0xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIlxcdTAwMDkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDAwOSIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwoKZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHVzcFUubGVuZ3RoOyBpbmRleCsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgIjEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgdXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArICIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAgICRFUlJPUignIzIuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKGlzTmFOKHBhcnNlSW50KHVzcFVbaW5kZXhdKSkgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgICBlcnJvckNvdW50Kys7CiAgfQogIGNvdW50Kys7Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgeyAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMjAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAyMDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjAxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDIwXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAyMFxcdTAwMjAtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjBcdTAwMjAtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIiAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIiAgICAgICAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiICAgICAgIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgICAgICAgMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiXFx1MDAyMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDIwIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIlx1MDBBMDEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCJcXHUwMEEwMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCJcdTAwQTBcdTAwQTAtMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCJcXHUwMEEwXFx1MDBBMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMFx1MDBBMC0xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUludCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIlxcdTAwQTAiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEMxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQzEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBDXHUwMDBDLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQ1xcdTAwMEMtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMENcdTAwMEMtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBDIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQjEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBCXHUwMDBCLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQlxcdTAwMEItMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEJcdTAwMEItMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBCIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEQxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwRDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBEXHUwMDBELTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwRFxcdTAwMEQtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMERcdTAwMEQtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBEIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEExIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEExIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBBXHUwMDBBLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQVxcdTAwMEEtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEFcdTAwMEEtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBBIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEEiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjgxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyODEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI4XHUyMDI4LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOFxcdTIwMjgtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjhcdTIwMjgtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI4IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyOTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI5XHUyMDI5LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOVxcdTIwMjktMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjlcdTIwMjktMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI5IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIGJvb2xlYW4gcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBmYWxzZSkgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIGZhbHNlKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgZmFsc2UpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgdHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgdHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIHRydWUpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHN0cmluZyBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsICIyIikgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgIjIiKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiMiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgIjAiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgIjAiKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgIjAiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsICIiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgIiIpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiIikpKTsKfQoKCg==","commentary":"Operator use ToNumber","description":"Checking for string primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIG51bGwpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBudWxsKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbnVsbCkpKTsKfQoK","commentary":"Operator use ToNumber","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSBwYXJzZUludCgiMTEiLCBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpID09PSBwYXJzZUludCgiMTEiLCBmYWxzZSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IE51bWJlcihJbmZpbml0eSkpICE9PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBuZXcgTnVtYmVyKEluZmluaXR5KSkgPT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoSW5maW5pdHkpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIjIiKSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiMiIpKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCIyIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiSW5maW5pdHkiKSkgIT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIkluZmluaXR5IikpID09PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzcuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludCgiMTEiLCBvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToNumber","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiByYWRpeCBpcyBOYU4sICswLCAtMCwgK0luZmluaXR5LCAtSW5maW5pdHksIHJldHVybiByYWRpeCA9ICswCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBOYU4pICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBOYU4pID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOYU4pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgKzApICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCArMCkgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsICswKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIC0wKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgLTApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAtMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"If radix is NaN, +0, -0, +Infinity, -Infinity, return radix = +0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBmbG9vcgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgMi4xKSAhPT0gcGFyc2VJbnQoIjExIiwgMikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCAyLjEpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuMSkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMTEiLCAyLjUpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIuNSkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMi41KSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIDIuOSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgMi45KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExIiwgMi4wMDAwMDAwMDAwMDEpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIxMSIsIDIuMDAwMDAwMDAwMDAxKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjAwMDAwMDAwMDAwMSkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMTEiLCAyLjk5OTk5OTk5OTk5OSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgMi45OTk5OTk5OTk5OTkpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuOTk5OTk5OTk5OTk5KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use floor","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBtb2R1bG8KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgNDI5NDk2NzI5NikgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTYpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCA0Mjk0OTY3Mjk2KSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIxMSIsIC0yMTQ3NDgzNjUwKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMTEiLCAyMTQ3NDgzNjUwKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMjE0NzQ4MzY1MCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCAtNDI5NDk2NzI5NCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExIiwgLTQyOTQ5NjcyOTQpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIC00Mjk0OTY3Mjk0KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use modulo","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMAogKi8KCi8vQ0hFQ0sjMAppZiAocGFyc2VJbnQoIjAiLCAwKSAhPT0gcGFyc2VJbnQoIjAiLCAxMCkpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDApID09PSBwYXJzZUludCgiMCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxIiwgMCkgIT09IHBhcnNlSW50KCIxIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAwKSA9PT0gcGFyc2VJbnQoIjAxIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjIiLCAwKSAhPT0gcGFyc2VJbnQoIjIiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDApID09PSBwYXJzZUludCgiMiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIyIiwgMCkpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIzIiwgMCkgIT09IHBhcnNlSW50KCIzIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDApKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCI0IiwgMCkgIT09IHBhcnNlSW50KCI0IiwgMTApKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAwKSA9PT0gcGFyc2VJbnQoNCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI0IiwgMCkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjUiLCAwKSAhPT0gcGFyc2VJbnQoIjUiLCAxMCkpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiNSIsIDApID09PSBwYXJzZUludCgiNSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMCkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCI2IiwgMCkgIT09IHBhcnNlSW50KCI2IiwgMTApKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNiIsIDApKSk7Cn0gIAoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiNyIsIDApICE9PSBwYXJzZUludCgiNyIsIDEwKSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMCkgPT09IHBhcnNlSW50KCI3IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjciLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjgiLCAwKSAhPT0gcGFyc2VJbnQoIjgiLCAxMCkpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiOCIsIDApID09PSBwYXJzZUludCgiOCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMCkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCI5IiwgMCkgIT09IHBhcnNlSW50KCI5IiwgMTApKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOSIsIDApKSk7Cn0gIAoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjEwIiwgMCkgIT09IHBhcnNlSW50KCIxMCIsIDEwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAwKSA9PT0gcGFyc2VJbnQoIjEwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChwYXJzZUludCgiMTEiLCAwKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTE6IHBhcnNlSW50KCIxMSIsIDApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCI5OTk5IiwgMCkgIT09IHBhcnNlSW50KCI5OTk5IiwgMTApKSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCI5OTk5IiwgMCkgPT09IHBhcnNlSW50KCI5OTk5IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjk5OTkiLCAwKSkpOwp9ICAKCg==","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = 0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMCIpICE9PSBwYXJzZUludCgiMCIsIDEwKSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIikgPT09IHBhcnNlSW50KCIwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAiKSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiKSAhPT0gcGFyc2VJbnQoIjEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIpID09PSBwYXJzZUludCgiMDEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMSIpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMiIpICE9PSBwYXJzZUludCgiMiIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIyIikgPT09IHBhcnNlSW50KCIyIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjMiKSAhPT0gcGFyc2VJbnQoIjMiLCAxMCkpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIpID09PSBwYXJzZUludCgiMyIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIzIikpKTsKfSAKCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjQiKSAhPT0gcGFyc2VJbnQoIjQiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIpID09PSBwYXJzZUludCg0IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiNSIpICE9PSBwYXJzZUludCgiNSIsIDEwKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IikgPT09IHBhcnNlSW50KCI1IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjUiKSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjYiKSAhPT0gcGFyc2VJbnQoIjYiLCAxMCkpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIpID09PSBwYXJzZUludCgiNiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI2IikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCI3IikgIT09IHBhcnNlSW50KCI3IiwgMTApKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjciKSA9PT0gcGFyc2VJbnQoIjciLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiOCIpICE9PSBwYXJzZUludCgiOCIsIDEwKSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IikgPT09IHBhcnNlSW50KCI4IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjgiKSkpOwp9ICAKCi8vQ0hFQ0sjOQppZiAocGFyc2VJbnQoIjkiKSAhPT0gcGFyc2VJbnQoIjkiLCAxMCkpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIpID09PSBwYXJzZUludCgiOSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI5IikpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMTAiKSAhPT0gcGFyc2VJbnQoIjEwIiwgMTApKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIpID09PSBwYXJzZUludCgiMTAiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTAiKSkpOwp9ICAKCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMSIpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIikgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIpKSk7Cn0gIAoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIjk5OTkiKSAhPT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjk5OTkiKSA9PT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOTk5OSIpKSk7Cn0gIAoK","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = undefined","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMQogKi8KCi8vQ0hFQ0sjMAppZiAoaXNOYU4ocGFyc2VJbnQoIjAiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDEpKSk7Cn0gIAoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUludCgiMSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMSkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKHBhcnNlSW50KCIyIiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjIiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIjMiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDEpKSk7Cn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKHBhcnNlSW50KCI0IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAxKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihwYXJzZUludCgiNSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMSkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCI2IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4ocGFyc2VJbnQoIjciLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiNyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDEpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChpc05hTihwYXJzZUludCgiOCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMSkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKGlzTmFOKHBhcnNlSW50KCI5IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlSW50KCIxMCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMSkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChpc05hTihwYXJzZUludCgiMTEiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDEpKSk7Cn0gIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMzcKICovCgovL0NIRUNLIzAKaWYgKGlzTmFOKHBhcnNlSW50KCIwIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIjEiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUludCgiMiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAzNykpKTsKfSAgCgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIzIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIzIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDM3KSkpOwp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihwYXJzZUludCgiNCIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAzNykpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIjUiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjUiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiNiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAzNykpKTsKfSAgCgovL0NIRUNLIzcKaWYgKGlzTmFOKHBhcnNlSW50KCI3IiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAoaXNOYU4ocGFyc2VJbnQoIjgiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjgiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChpc05hTihwYXJzZUludCgiOSIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAzNykpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChpc05hTihwYXJzZUludCgiMTAiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMxMQppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDM3KSkpOwp9ICAKCg==","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 37","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QKICovCgovL0NIRUNLIwp2YXIgcG93ID0gMjsKZm9yICh2YXIgaSA9IDE7IGkgPCAzMjsgaSsrKSB7ICAgCiAgaWYgKHBvdyA+IDM2KSB7ICAKICAgIHZhciByZXMgPSB0cnVlOyAgCiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgcG93KSkgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjMS4nICsgaSArICc6IElmIFIgPCAyIG9yIFIgPiAzNiwgdGhlbiByZXR1cm4gTmFOJyk7CiAgICB9CiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgLXBvdykpICE9PSB0cnVlKSB7CiAgICAgICRFUlJPUignIzIuJyArIGkgKyAnOiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTicpOwogICAgfQogIH0KICBwb3cgPSBwb3cgKiAyOyAgICAgICAgICAgICAgICAgICAgICAgIAp9ICAgIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"Complex test","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBpcyBubyBsb25nZXIgYWxsb3dlZCB0byB0cmVhdCBhIGxlYWRpbmcgemVybyBhcyBpbmRpY2F0aW5nCiAqIG9jdGFsLiAgIklmIHJhZGl4IGlzIHVuZGVmaW5lZCBvciAwLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEwIGV4Y2VwdAogKiB3aGVuIHRoZSBudW1iZXIgYmVnaW5zIHdpdGggdGhlIGNoYXJhY3RlciBwYWlycyAweCBvciAwWCwgaW4gd2hpY2gKICogY2FzZSBhIHJhZGl4IG9mIDE2IGlzIGFzc3VtZWQuIgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayBpZiBwYXJzZUludCBzdGlsbCBhY2NlcHRzIG9jdGFsCiAqLwoKaWYgKHBhcnNlSW50KCcwMTAnKSAhPT0gMTApIHsKICAkRVJST1IoInBhcnNlSW50IHNob3VsZCBubyBsb25nZXIgYWNjZXB0IG9jdGFsIik7Cn0K","commentary":"parseInt is no longer allowed to treat a leading zero as indicating\noctal. \"If radix is undefined or 0, it is assumed to be 10 except\nwhen the number begins with the character pairs 0x or 0X, in which\ncase a radix of 16 is assumed.\"","description":"Check if parseInt still accepts octal","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDB4CiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMHgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIweDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMHgxIiwgMCkgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIweDEiLCAwKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxIiwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMHgyIiwgMCkgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIweDIiLCAwKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgyIiwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMHgzIiwgMCkgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIweDMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgzIiwgMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMHg0IiwgMCkgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIweDQiLCAwKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg0IiwgMCkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMHg1IiwgMCkgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDUiLCAwKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg1IiwgMCkpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMHg2IiwgMCkgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIweDYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg2IiwgMCkpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMHg3IiwgMCkgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIweDciLCAwKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg3IiwgMCkpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMHg4IiwgMCkgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDgiLCAwKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg4IiwgMCkpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMHg5IiwgMCkgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg5IiwgMCkpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMHhBIiwgMCkgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIweEEiLCAwKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBIiwgMCkpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMHhCIiwgMCkgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIweEIiLCAwKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhCIiwgMCkpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMHhDIiwgMCkgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIweEMiLCAwKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhDIiwgMCkpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMHhEIiwgMCkgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIweEQiLCAwKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhEIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMHhGIiwgMCkgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIweEYiLCAwKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhGIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIweEFCQ0RFRiIsIDApICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjB4QUJDREVGIiwgMCkgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBQkNERUYiLCAwKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0x","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDBYCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMFgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwWDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMFgxIikgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIwWDEiKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMFgyIikgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDIiKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMFgzIikgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIwWDMiKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMFg0IikgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIwWDQiKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMFg1IikgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIwWDUiKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMFg2IikgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwWDYiKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMFg3IikgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwWDciKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMFg4IikgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIwWDgiKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMFg5IikgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwWDkiKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMFhBIikgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIwWEEiKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMFhCIikgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIwWEIiKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMFhDIikgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIwWEMiKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMFhEIikgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIwWEQiKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMFhGIikgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIwWEYiKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhGIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIwWEFCQ0RFRiIpICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjBYQUJDREVGIikgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBQkNERUYiKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0X","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFIgaW4gWzIsIDM2XQogKi8KCi8vQ0hFQ0sjCmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoIjEwJDEiLCBpKSAhPT0gaSkgewogICAgJEVSUk9SKCcjJyArIGkgKyc6IGkgPSAnICsgaSArICdwYXJzZUludCgiMTAkMSIsIGkpID09PSBpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwJDEiLCBpKSkpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjldCiAqLwoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OSIsIDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjAxMjM0NTY3ODkiLCAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5IiwgMikpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDMpICE9PSA1KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgMykgPT09IDUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAzKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSAhPT0gMjcpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSA9PT0gMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA1KSAhPT0gMTk0KSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNSkgPT09IDE5NC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDUpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA2KSAhPT0gMTg2NSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDYpID09PSAxODY1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpICE9PSAyMjg3NSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpID09PSAyMjg3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA4KSAhPT0gMzQyMzkxKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOCkgPT09IDM0MjM5MS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDgpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA5KSAhPT0gNjA1MzQ0NCkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDkpID09PSA2MDUzNDQ0LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOSkpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgIT09IE51bWJlcigxMjM0NTY3ODkwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgPT09IE51bWJlcigxMjM0NTY3ODkwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDEwKSkpOwp9ICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdC4gUiBpbiBbMiwgMzZdCiAqLwoKLy9DSEVDSyMKZm9yICh2YXIgaSA9IDI7IGkgPD0gMzY7IGkrKykgewogIGlmIChpc05hTihwYXJzZUludCgiJHN0cmluZyIsIGkpKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiBwYXJzZUludCgiJHN0cmluZyIsIGkpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiJHN0cmluZyIsIGkpKSk7CiAgfQp9ICAgIAoK","commentary":"If Z is empty, return NaN","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbm90IGEgcmFkaXgtUiBkaWdpdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIiQweCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIkMHgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQweCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIiQwWCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIkMFgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQwWCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIiQkJCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIkJCQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQkJCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VJbnQoIiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIiAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiICIpKSk7Cn0gICAgICAgICAgCgo=","commentary":"If Z is empty, return NaN","description":"x is not a radix-R digit","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIiI7ICAKICAgIHZhciBudW0gPSAwOwogICAgdmFyIHBvdyA9IDE7CiAgICB2YXIgazAgPSBNYXRoLm1heCgyLCBpIC0gaik7CiAgICBmb3IgKHZhciBrID0gazA7IGsgPD0gaTsgaysrKSB7IAogICAgICBpZiAoayAlIDIgPT09IDApIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQxW2sgLSAyXTsKICAgICAgfSBlbHNlIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQyW2sgLSAyXTsKICAgICAgfQogICAgICBudW0gPSBudW0gKyAoaSArIChrMCAtIGspIC0gMSkgKiBwb3c7CiAgICAgIHBvdyA9IHBvdyAqIGk7ICAgCiAgICB9ICAgCiAgICBpZiAocGFyc2VJbnQoc3RyLCBpKSAhPT0gbnVtKSB7CiAgICAgICRFUlJPUignIycgKyBpICsgJy4nICsgaiArICcgOiAnKTsgICAgICAKICAgIH0KICB9ICAKfSAgCgo=","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiLCAyKSAgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIsIDIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAyKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIDIpICAhPT0gMykgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIpID09PSAzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMTExIiwgMikgICE9PSA3KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExMSIsIDIpID09PSA3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExMTEiLCAyKSAgIT09IDE1KSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExMTEiLCAyKSA9PT0gMTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExMTExIiwgMikgICE9PSAzMSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIxMTExMSIsIDIpID09PSAzMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjExMTExMSIsIDIpICAhPT0gNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiMTExMTExIiwgMikgPT09IDYzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIjExMTExMTEiLCAyKSAgIT09IDEyNykgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIxMTExMTExIiwgMikgPT09IDEyNy4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMTExMTExMTEiLCAyKSAgIT09IDI1NSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIxMTExMTExMSIsIDIpID09PSAyNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSAgIT09IDUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSA9PT0gNTExLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgICE9PSAxMDIzKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgPT09IDEwMjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpICAhPT0gMjA0NykgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTExMTExMTExMTEiLCAyKSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTEiLCAyKSAgIT09IDQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpID09PSA0MDk1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgICE9PSA4MTkxKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgPT09IDgxOTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMSIsIDIpICAhPT0gMTYzODMpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpICAhPT0gMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gNjU1MzUpIHsKICAkRVJST1IoJyMxNjogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTEiLCAyKSA9PT0gNjU1MzUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTMxMDcxKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpID09PSAxMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE4CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAyNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMSIsIDIpID09PSAyNjIxNDMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IDUyNDI4NykgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSA1MjQyODcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTA0ODU3NSkgewogICRFUlJPUignIzIwOiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCg==","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTYKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIweDEiLCAxNikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMHgxIiwgMTYpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MSIsIDE2KSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIwWDEwIiwgMTYpICE9PSAxNikgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDEwIiwgMTYpID09PSAxNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwWDEwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjB4MTAwIiwgMTYpICE9PSAyNTYpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMHgxMDAiLCAxNikgPT09IDI1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIwWDEwMDAiLCAxNikgIT09IDQwOTYpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMFgxMDAwIiwgMTYpID09PSA0MDk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjBYMTAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpICE9PSA2NTUzNikgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDEwMDAwIiwgMTYpID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjBYMTAwMDAwIiwgMTYpICE9PSAxMDQ4NTc2KSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIngxMDAwMDAiLCAxNikgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgieDEwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAiLCAxNikgIT09IDE2Nzc3MjE2KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjB4MTAwMDAwMCIsIDE2KSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAiLCAxNikgIT09IDI2ODQzNTQ1NikgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDEwMDAwMDAwIiwgMTYpID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpICE9PSA2ODcxOTQ3NjczNikgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpID09PSA2ODcxOTQ3NjczNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgIT09IDEwOTk1MTE2Mjc3NzYpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgPT09IDEwOTk1MTE2Mjc3NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikgIT09IDE3NTkyMTg2MDQ0NDE2KSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMCIsIDE2KSA9PT0gMTc1OTIxODYwNDQ0MTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMwppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMjgxNDc0OTc2NzEwNjU2KSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikgPT09IDI4MTQ3NDk3NjcxMDY1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDQ1MDM1OTk2MjczNzA0OTYpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDQ1MDM1OTk2MjczNzA0OTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE1CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDcyMDU3NTk0MDM3OTI3OTM2KSB7CiAgJEVSUk9SKCcjMTU6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAwMCIsIDE2KSA9PT0gNzIwNTc1OTQwMzc5Mjc5MzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNgppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTE1MjkyMTUwNDYwNjg0Njk3NikgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAxMTUyOTIxNTA0NjA2ODQ2OTc2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE3CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTYpIHsKICAkRVJST1IoJyMxNzogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDE4NDQ2NzQ0MDczNzA5NTUxNjE2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpICE9PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNDcyMjM2NjQ4Mjg2OTY0NTIxMzY5NikgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSA0NzIyMzY2NDgyODY5NjQ1MjEzNjk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzIwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNzU1NTc4NjM3MjU5MTQzMjM0MTkxMzYpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDc1NTU3ODYzNzI1OTE0MzIzNDE5MTM2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoK","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 16","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIisiOyAgCiAgICB2YXIgc2lnbiA9IDE7CiAgICBpZiAoaiAlIDIgIT09IDApIHsgIAogICAgICAgIHN0ciA9ICItIjsKICAgICAgICBzaWduPSAtMTsKICAgIH0gCiAgICB2YXIgbnVtID0gMDsKICAgIHZhciBwb3cgPSAxOwogICAgdmFyIGswID0gTWF0aC5tYXgoMiwgaSAtIGopOwogICAgZm9yICh2YXIgayA9IGswOyBrIDw9IGk7IGsrKykgeyAKICAgICAgaWYgKGsgJSAyID09PSAwKSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MVtrIC0gMl07CiAgICAgIH0gZWxzZSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MltrIC0gMl07CiAgICAgIH0KICAgICAgbnVtID0gbnVtICsgKGkgKyAoazAgLSBrKSAtIDEpICogcG93OwogICAgICBwb3cgPSBwb3cgKiBpOyAgIAogICAgfSAgIAogICAgaWYgKHBhcnNlSW50KHN0ciwgaSkgIT09IG51bSAqIHNpZ24pIHsKICAgICAgJEVSUk9SKCcjJyArIGkgKyAnLicgKyBqICsgJyA6ICcpOyAgICAgIAogICAgfQogIH0gIAp9ICAKCg==","commentary":"Return sign * Result(17)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIi0xIiwgMikgICE9PSAtMSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCItMSIsIDIpID09PSAtMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMSIsIDIpICAhPT0gLTMpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiLTExIiwgMikgPT09IC0zLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIi0xMTEiLCAyKSAgIT09IC03KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMTEiLCAyKSA9PT0gLTcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIi0xMTExIiwgMikgICE9PSAtMTUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTExMTEiLCAyKSA9PT0gLTE1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExIiwgMikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiLTExMTExIiwgMikgICE9PSAtMzEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiLTExMTExIiwgMikgPT09IC0zMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTExMTExIiwgMikgICE9PSAtNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiLTExMTExMSIsIDIpID09PSAtNjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIi0xMTExMTExIiwgMikgICE9PSAtMTI3KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIi0xMTExMTExIiwgMikgPT09IC0xMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlSW50KCItMTExMTExMTEiLCAyKSAgIT09IC0yNTUpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiLTExMTExMTExIiwgMikgPT09IC0yNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpICAhPT0gLTUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCItMTExMTExMTExIiwgMikgPT09IC01MTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCItMTExMTExMTExMSIsIDIpICAhPT0gLTEwMjMpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikgPT09IC0xMDIzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxMQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpICAhPT0gLTIwNDcpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpID09PSAtMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpICAhPT0gLTQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMTExMTExMTExMTEiLCAyKSA9PT0gLTQwOTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMSIsIDIpICAhPT0gLTgxOTEpIHsKICAkRVJST1IoJyMxMzogcGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikgPT09IC04MTkxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpICAhPT0gLTE2MzgzKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExIiwgMikgICE9PSAtMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTMyNzY3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC02NTUzNSkgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTY1NTM1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEzMTA3MSkgewogICRFUlJPUignIzE3OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikgPT09IC0xMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC0yNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTI2MjE0My4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAtNTI0Mjg3KSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtNTI0Mjg3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEwNDg1NzUpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9Cgo=","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTAKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCItMSIsIDEwKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiLTEiLCAxMCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMCIsIDEwKSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIi0xMCIsIDEwKSA9PT0gLTEwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMCIsIDEwKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCItMTAwIiwgMTApICE9PSAtMTAwKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMDAiLCAxMCkgPT09IC0xMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCItMTAwMCIsIDEwKSAhPT0gLTEwMDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTEwMDAiLCAxMCkgPT09IC0xMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSAhPT0gLTEwMDAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIi0xMDAwMCIsIDEwKSA9PT0gLTEwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTAwMDAwIiwgMTApICE9PSAtMTAwMDAwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIi0xMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCItMTAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDApIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiLTEwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCItMTAwMDAwMDAwIiwgMTApICE9PSAtMTAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIi0xMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEzCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzE5CmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMjA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoK","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 10","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBtYXkgaW50ZXJwcmV0IG9ubHkgYSBsZWFkaW5nIHBvcnRpb24gb2YgdGhlIHN0cmluZyBhcwogKiBhIG51bWJlciB2YWx1ZTsgaXQgaWdub3JlcyBhbnkgY2hhcmFjdGVycyB0aGF0IGNhbm5vdCBiZSBpbnRlcnByZXRlZCBhcyBwYXJ0CiAqIG9mIHRoZSBub3RhdGlvbiBvZiBhbiBkZWNpbWFsIGxpdGVyYWwsIGFuZCBubyBpbmRpY2F0aW9uIGlzIGdpdmVuIHRoYXQgYW55IHN1Y2gKICogY2hhcmFjdGVycyB3ZXJlIGlnbm9yZWQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3Qgd2l0aG91dCBldmFsCiAqLwoKLy9DSEVDSwp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDw9IDY1NTM1OyBpbmRleCsrKSB7ICAKICBpZiAoKGluZGV4IDwgMHgwMDMwKSB8fCAoaW5kZXggPiAweDAwMzkpICYmIAogICAgICAoaW5kZXggPCAweDAwNDEpIHx8IChpbmRleCA+IDB4MDA1QSkgJiYgCiAgICAgIChpbmRleCA8IDB4MDA2MSkgfHwgKGluZGV4ID4gMHgwMDdBKSkgeyAgICAKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgaWYgKHBhcnNlSW50KCIxWiIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSwgMzYpICE9PSA3MSkgeyAgICAgICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgICAKICAgIH0gICAKICAgIGNvdW50Kys7CiAgfSAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"parseInt may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBwYXJzZUludCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBwYXJzZUludCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseInt has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBwYXJzZUludC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUludC5sZW5ndGg7IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseInt has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IHBhcnNlSW50Lmxlbmd0aDsKcGFyc2VJbnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChwYXJzZUludC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggPSBJbmZpbml0eTsgcGFyc2VJbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of parseInt has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGlzIDIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNC5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VJbnQubGVuZ3RoID09PSAyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChwYXJzZUludC5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of parseInt is 2","description":"parseInt.length === 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlSW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHRoaXMpewogIGlmIChwID09PSAicGFyc2VJbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VJbnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The parseInt property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcGFyc2VJbnQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlSW50LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The parseInt property has not prototype property","description":"Checking parseInt.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BOS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IHBhcnNlSW50KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VJbnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The parseInt property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvMTUuMS4yLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlRmxvYXQgLSAndHJpbW1lZFN0cmluZycgaXMgdGhlIGVtcHR5IHN0cmluZyB3aGVuIGlucHV0U3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gYW55IHN1Y2ggY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBpc05hTihwYXJzZUZsb2F0KCIiKSkgJiYgcGFyc2VGbG9hdCgiIikgIT09IHBhcnNlRmxvYXQoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"pareseFloat - 'trimmedString' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/15.1.2.3-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KHRydWUpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUZsb2F0KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiTmFOIikpKTsKfQoKLy9DSEVDSyMyCmlmIChTdHJpbmcocGFyc2VGbG9hdChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KGZhbHNlKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoZmFsc2UpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KC0xLjEpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KC0xLjEpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0xLjEpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChJbmZpbml0eSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KEluZmluaXR5KSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KC4wMWUrMikgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCguMDFlKzIpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoLjAxZSsyKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0wKSkpOwp9IGVsc2UgewogIGlmICgxIC8gcGFyc2VGbG9hdCgtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgtMCkpKTsKICB9Cn0gICAgCgo=","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdCh1bmRlZmluZWQpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdChudWxsKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobnVsbCkgPT09IE5vdC1hLU51bWJlcjsgcGFyc2VGbG9hdCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIk5hTiIpKSk7Cn0KCgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlRmxvYXQobnVsbCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KG51bGwpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KG5ldyBCb29sZWFuKHRydWUpKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgTnVtYmVyKEluZmluaXR5KSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoSW5maW5pdHkpKSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlcihJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLjAxZSsyKSkgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdChuZXcgTnVtYmVyKC4wMWUrMikpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlciguMDFlKzIpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi0xLjEiKSkgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiLTEuMSIpKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCItMS4xIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSAhPT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiSW5maW5pdHkiKSkgPT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiTmFOIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJOYU4iKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSAhPT0gcGFyc2VGbG9hdCgiLjAxZSsyIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSA9PT0gcGFyc2VGbG9hdCgiLjAxZSsyIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoImZhbHNlIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiZmFsc2UiKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VGbG9hdChvYmplY3QpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUZsb2F0KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHBhcnNlRmxvYXQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUZsb2F0KG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VGbG9hdChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCJcdTAwMDkxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJcXHUwMDA5MS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDA5MS4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIlxcdTAwMDlcXHUwMDA5LTEuMSIpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIJMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkxLjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIgkJCTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIgkJCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkJCTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiXFx1MDAwOSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdXNwVS5sZW5ndGg7IGluZGV4KyspIHsKICB2YXIgcmVzdWx0ID0gdHJ1ZTsgIAogIGlmIChwYXJzZUZsb2F0KHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlRmxvYXQodXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArIHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMi4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAoaXNOYU4ocGFyc2VGbG9hdCh1c3BVW2luZGV4XSkpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzLicgKyAgdXNwU1tpbmRleF0gKyAnICcpOwogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgICAgZXJyb3JDb3VudCsrOwogIH0KICBjb3VudCsrOwp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMjAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMjAxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAyMFxcdTAwMjAtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIiAxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIgMS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiICAgICAgIDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIiAgICAgICAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIgICAgICAgMS4xIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIgICAgICAgXHUwMDIwICAgICAgIFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiICAgICAgIFx1MDAyMCAgICAgICBcdTAwMjAtMS4xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUZsb2F0KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCJcXHUwMDIwIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiXHUwMEEwMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiXFx1MDBBMDEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDBBMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJcXHUwMEEwXFx1MDBBMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiXFx1MDBBMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwQTAiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQzEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEMxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEMxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQ1xcdTAwMEMtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEMiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBDIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEIxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEIxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQlxcdTAwMEItMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBCIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEQxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEQxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwRFxcdTAwMEQtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBEIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEExLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEExLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQVxcdTAwMEEtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBBIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyODEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjgxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjgxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOFxcdTIwMjgtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI4IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjkxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjkxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOVxcdTIwMjktMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI5IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgic29tZSBzdHJpbmciKSByZXR1cm4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUZsb2F0KCJzdHIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJzdHIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgic3RyIikpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUZsb2F0KCJzMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoInMxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoInMxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUZsb2F0KCIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIikpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VGbG9hdCgic3RyIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KCJzdHIiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInN0ciIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJzMSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdCgiczEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInMxIikpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIiIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBTdHJpbmcocGFyc2VGbG9hdCgiIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIiKSkpKTsKfQoKLy9DSEVDSyM3CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiBTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSkpOwp9Cgo=","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"some string\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYmVyIGZvcm1hdCB3aXRoIEV4cG9uZW50SW5kaWNhdG9yIikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJlMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJlMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZS0xIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiZS0xIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoImUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRSsxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiRSsxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkUrMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRTAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCJFMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJFMCIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoImUxIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCJlMSIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiZTEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiZS0xIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzY6IFN0cmluZyhwYXJzZUZsb2F0KCJlLTEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoImUtMSIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNzM6IFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUrMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFMCIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM4OiBTdHJpbmcocGFyc2VGbG9hdCgiRTAiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUwIikpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLS5lLTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCItLmUtMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIi5lMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIuZTEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLmUxIikpKTsKfQoK","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong number format with ExponentIndicator\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYnIgZm9ybWF0IikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLngiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIueCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIueCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiK3giKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIreCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIreCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiaW5maW5pdHkiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCJpbmZpbml0eSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIkEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiQSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIi5zIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCIucyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiLnMiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiK3giKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNjogU3RyaW5nKHBhcnNlRmxvYXQoIit4IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIreCIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3MzogU3RyaW5nKHBhcnNlRmxvYXQoImluZmluaXR5IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzg6IFN0cmluZyhwYXJzZUZsb2F0KCJBIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpKSk7Cn0KCg==","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong numbr format\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNvbWUgd3JvbmcgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMHgiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjB4IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIxMXgiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIxMXgiKSA9PT0gMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxMXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjExczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxMXMxIikgPT09IDExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMTFzMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMTEuczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIxMS5zMSIpID09PSAxMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjExLnMxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIuMHMxIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIuMHMxIikgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIuMHMxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxLnMxIikgIT09IDEpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxLnMxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLnMxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIxLi4xIikgIT09IDEpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIxLi4xIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLi4xIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwLjEuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwLjEuMSIpID09PSAwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwLjEuMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAocGFyc2VGbG9hdCgiMC4gMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VGbG9hdCgiMC4gMSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMC4gMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Some wrong number","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFdpdGggRXhwb25lbnRJbmRpY2F0b3IKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIjFleCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMWV4IikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxZXgiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjFlLXgiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjFlLXgiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlLXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjFlMXgiKSAhPT0gMTApIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxZTF4IikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUxeCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMWUtMXgiKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCgiMWUtMXgiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUtMXgiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAuMWUtMXgiKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"With ExponentIndicator","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFN0ckRlY2ltYWxMaXRlcmFsIG5vdCBjb250YWluIEhleEludGVnZXJMaXRlcmFsCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUZsb2F0KCIweDAiKSAhPT0gMCkgewogICRFUlJPUignIzA6IHBhcnNlRmxvYXQoIjB4MCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgwIikpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweDEiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIjB4MSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIweDIiKSAhPT0gMCkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjB4MiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIweDMiKSAhPT0gMCkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIjB4MyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIweDQiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjB4NCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIweDUiKSAhPT0gMCkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjB4NSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIweDYiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjB4NiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIweDciKSAhPT0gMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjB4NyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIweDgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjB4OCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIweDkiKSAhPT0gMCkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjB4OSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUZsb2F0KCIweEEiKSAhPT0gMCkgewogICRFUlJPUignI0E6IHBhcnNlRmxvYXQoIjB4QSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUZsb2F0KCIweEIiKSAhPT0gMCkgewogICRFUlJPUignI0I6IHBhcnNlRmxvYXQoIjB4QiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUZsb2F0KCIweEMiKSAhPT0gMCkgewogICRFUlJPUignI0M6IHBhcnNlRmxvYXQoIjB4QyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUZsb2F0KCIweEQiKSAhPT0gMCkgewogICRFUlJPUignI0Q6IHBhcnNlRmxvYXQoIjB4RCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUZsb2F0KCIweEUiKSAhPT0gMCkgewogICRFUlJPUignI0U6IHBhcnNlRmxvYXQoIjB4RSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUZsb2F0KCIweEYiKSAhPT0gMCkgewogICRFUlJPUignI0Y6IHBhcnNlRmxvYXQoIjB4RiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhGIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"StrDecimalLiteral not contain HexIntegerLiteral","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJJbmZpbml0eSIrInNvbWUgc3RyaW5nIgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiSW5maW5pdHkxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5MSIpID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJJbmZpbml0eTEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5eCIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJJbmZpbml0eXgiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHl4IikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCJJbmZpbml0eSsxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIkluZmluaXR5KzEiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHkrMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"\"Infinity\"+\"some string\"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgLiBEZWNpbWFsRGlnaXRzX29wdCBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEuc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMS5zdHJpbmciKSA9PT0gLTExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMS5zdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKzExLjFzdHJpbmciKSAhPT0gMTEuMSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisxMS4xc3RyaW5nIikgPT09IDExLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDEuMXN0cmluZyIpICE9PSAxLjEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMS4xc3RyaW5nIikgPT09IDEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSAhPT0gLTEuMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlRmxvYXQoIjAxLmUxc3RyaW5nIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiMDEuZTFzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS5lMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgIT09IDEuMTIyKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgPT09IDEuMTIyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgIT09IDEwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgPT09IDEwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpICE9PSAxMCkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIwMTAuc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIC4gRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIrLjFzdHJpbmciKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiKy4xc3RyaW5nIikgPT09IDAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiLjAxc3RyaW5nIikgIT09IDAuMDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIuMDFzdHJpbmciKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi4wMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKy4yMmUtMXN0cmluZyIpICE9PSAwLjAyMikgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisuMjJlLTFzdHJpbmciKSA9PT0gMC4wMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrLjIyZS0xc3RyaW5nIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgRXhwb25lbnRQYXJ0X29wdAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiLTExc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMXN0cmluZyIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMXN0cmluZyIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIi0xMWUtMXN0cmluZyIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiLTExZS0xc3RyaW5nIikgPT09IC0xLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFlLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIjAxZTFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMWUxc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFlMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiMDAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIwMDFzdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMWUwMDFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxZTAwMXN0cmluZyIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlMDAxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgSW5maW5pdHkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5IikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkluZmluaXR5IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIrSW5maW5pdHkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiK0luZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIitJbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLUluZmluaXR5IikgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIi1JbmZpbml0eSIpID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItSW5maW5pdHkiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking Infinity","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyAuIERlY2ltYWxEaWdpdHNfb3B0IEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIi0xMS4iKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExLiIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTEuIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxLiIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrMTEuMSIpICE9PSAxMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKzExLjEiKSA9PT0gMTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisxMS4xIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIwMS4xIikgIT09IDEuMSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxLjEiKSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiLTExLmUtMSIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiLTExLmUtMSIpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMDEuZTEiKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIwMS5lMSIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLmUxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSAhPT0gMS4xMjIpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSA9PT0gMS4xMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSAhPT0gMTAuMSkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjAxLjAxZTEiKSA9PT0gMTAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlRmxvYXQoIjAwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjAwMS4iKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMS4iKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUZsb2F0KCIwMTAuIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlRmxvYXQoIjAxMC4iKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTAuIikpKTsKfQoK","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgLiBEZWNpbWFsRGlnaXRzIEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIisuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIrLjEiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKy4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIuMDEiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIi4wMSIpID09PSAwLjAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLjAxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrLjIyZS0xIikgIT09IDAuMDIyKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKy4yMmUtMSIpID09PSAwLjAyMi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMjJlLTEiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEiKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExIikgPT09IC0xMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLTExZS0xIikgIT09IC0xLjEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCItMTFlLTEiKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMWUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDFlMSIpICE9PSAxMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxZTEiKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMWUxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIwMDEiKSAhPT0gMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAwMSIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDAxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxZTAwMSIpICE9PSAxMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjFlMDAxIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUwMDEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlRmxvYXQoIjAxMCIpICE9PSAxMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjAxMCIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxMCIpKSk7Cn0KCg==","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUZsb2F0IG1heSBpbnRlcnByZXQgb25seSBhIGxlYWRpbmcgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIGFzCiAqIGEgbnVtYmVyIHZhbHVlOyBpdCBpZ25vcmVzIGFueSBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIGludGVycHJldGVkIGFzIHBhcnQKICogb2YgdGhlIG5vdGF0aW9uIG9mIGFuIGRlY2ltYWwgbGl0ZXJhbCwgYW5kIG5vIGluZGljYXRpb24gaXMgZ2l2ZW4gdGhhdCBhbnkgc3VjaAogKiBjaGFyYWN0ZXJzIHdlcmUgaWdub3JlZC4KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdCB3aXRob3V0IGV2YWwKICovCgovL0NIRUNLCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CmZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPD0gNjU1MzU7IGluZGV4KyspIHsgIAogIGlmICgoaW5kZXggPCAweDAwMzApIHx8IChpbmRleCA+IDB4MDAzOSkpIHsgICAgCiAgICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgIGlmIChwYXJzZUZsb2F0KCIwLjFlMSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgIT09IDEpIHsgICAgICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgICAgCiAgICB9ICAgCiAgICBjb3VudCsrOwogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"parseFloat may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHBhcnNlRmxvYXQpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gcGFyc2VGbG9hdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseFloat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIHBhcnNlRmxvYXQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseFloat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHBhcnNlRmxvYXQubGVuZ3RoOwpwYXJzZUZsb2F0Lmxlbmd0aCA9IEluZmluaXR5OwppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VGbG9hdC5sZW5ndGg7IHBhcnNlRmxvYXQubGVuZ3RoID0gSW5maW5pdHk7IHBhcnNlRmxvYXQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of parseFloat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of parseFloat is 1","description":"parseFloat.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6dGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlRmxvYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiB0aGlzKXsKICBpZiAocCA9PT0gInBhcnNlRmxvYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VGbG9hdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The parseFloat property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwYXJzZUZsb2F0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The parseFloat property has not prototype property","description":"Checking parseFloat.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvUzE1LjEuMi4zX0E3LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgcGFyc2VGbG9hdCgpOwogICRFUlJPUignIzEuMTogbmV3IHBhcnNlRmxvYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VGbG9hdCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBwYXJzZUZsb2F0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The parseFloat property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBwcmltaXRpdmUKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKE5hTikgPT09IHRydWUpKSB7CgkkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihOdW1iZXIuTmFOKSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzI6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5OYU4pKTsgCn0KCi8vIENIRUNLIzMKaWYgKCEoaXNOYU4oTnVtYmVyKHZvaWQgMCkpID09PSB0cnVlKSkgewoJJEVSUk9SKCcjMzogTnVtYmVyKHZvaWQgMCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlcih2b2lkIDApKSk7IAp9CgovLyBDSEVDSyM0CmlmICghKGlzTmFOKHZvaWQgMCkgPT09IHRydWUpKSB7CgkkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTigic3RyaW5nIikgPT09IHRydWUpKSB7CgkkRVJST1IoJyM1OiAic3RyaW5nIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoInN0cmluZyIpKTsgCn0KCi8vIENIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgPT09IHRydWUpIHsKCSRFUlJPUignIzY6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgovLyBDSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpID09PSB0cnVlKSB7CgkkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzg6IE51bWJlci5NQVhfVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzk6IE51bWJlci5NSU5fVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjMTAKaWYgKGlzTmFOKC0wKSA9PT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc05hTih0cnVlKSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzExOiB0cnVlICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc05hTigiMSIpID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6ICIxIiAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBvYmplY3QKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKHt9KSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IHRydWUpKSB7CgkkRVJST1IoJyMyOiBuZXcgU3RyaW5nKCJzdHJpbmciKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygic3RyaW5nIikpKTsgCn0KCi8vIENIRUNLIzMKaWYgKGlzTmFOKG5ldyBTdHJpbmcoIjEiKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNOYU4obmV3IE51bWJlcigxKSkgPT09IHRydWUpIHsKCSRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTihuZXcgTnVtYmVyKE5hTikpID09PSB0cnVlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc05hTihuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzTmFOKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzTmFOKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isNaN has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc05hTi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzTmFOLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc05hTi5sZW5ndGg7IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isNaN has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzTmFOLmxlbmd0aDsKaXNOYU4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc05hTi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggPSBJbmZpbml0eTsgaXNOYU4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNOYU4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isNaN has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNOYU4ubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc05hTi5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc05hTi5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isNaN is 1","description":"isNaN.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzTmFOXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc05hTiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc05hTiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isNaN property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGlzTmFOLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The isNaN property has not prototype property","description":"Checking isNaN.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi40L1MxNS4xLjIuNF9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzTmFOKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNOYU4oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isNaN property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgcHJpbWl0aXZlCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZShOYU4pID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShOdW1iZXIuTmFOKSA9PT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoIShpc0Zpbml0ZShOdW1iZXIodm9pZCAwKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzM6IE51bWJlcih2b2lkIDApID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChOdW1iZXIodm9pZCAwKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoIShpc0Zpbml0ZSh2b2lkIDApID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc0Zpbml0ZSgic3RyaW5nIikgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6ICJzdHJpbmciID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICgic3RyaW5nIikpOyAKfQoKLy8gQ0hFQ0sjNgppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjNwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNGaW5pdGUoTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM5CmlmIChpc0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEwCmlmIChpc0Zpbml0ZSgtMCkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc0Zpbml0ZShmYWxzZSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTE6IGZhbHNlICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc0Zpbml0ZSgiMSIpID09PSBmYWxzZSkgewogICRFUlJPUignIzEyOiAiMSIgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgb2JqZWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZSh7fSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoInN0cmluZyIpID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJzdHJpbmciKSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUobmV3IFN0cmluZygiMSIpKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNGaW5pdGUobmV3IE51bWJlcigxKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM1CmlmICghKGlzRmluaXRlKG5ldyBOdW1iZXIoTmFOKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc0Zpbml0ZShuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzRmluaXRlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzRmluaXRlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isFinite has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzRmluaXRlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNGaW5pdGUubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isFinite has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzRmluaXRlLmxlbmd0aDsKaXNGaW5pdGUubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggPSBJbmZpbml0eTsgaXNGaW5pdGUubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isFinite has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNGaW5pdGUubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc0Zpbml0ZS5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isFinite is 1","description":"isFinite.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzRmluaXRlXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isFinite property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNGaW5pdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGlzRmluaXRlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The isFinite property has not prototype property","description":"Checking isFinit.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi41L1MxNS4xLjIuNV9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzRmluaXRlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNGaW5pdGUoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isFinite property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnZhciByZXN1bHQgPSB0cnVlOwoKLy9DSEVDSyMxCnRyeSB7CiAgZGVjb2RlVVJJKCIlIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBkZWNvZGVVUkkoIiVBIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICBkZWNvZGVVUkkoIiUxIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzQKdHJ5IHsKICBkZWNvZGVVUkkoIiUgIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKSBlcXVhbCAiJSIgYW5kIGsgKyAyID49IHN0cmluZy5sZW5ndGgsIHRocm93IFVSSUVycm9yJyk7Cn0KCgoKCg==","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIxMTElQTAiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIlQTAxMTEiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMCVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEkpOwogICAgdHJ5IHsgICAgCiAgICAgIHZhciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SSk7CiAgICAgIGlmIChkZWNvZGVVUkkoc3RyKSAhPT0gc3RyKSB7ICAgIAogICAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICAgIGVycm9yQ291bnQrKzsKICAgICAgfSAgICAKICAgIH0gY2F0Y2ggKGUpewogICAgICAkRVJST1IoJyMnICsgaGV4ICsgJyAnKTsKICAgICAgZXJyb3JDb3VudCsrOwogICAgfSAKICAgIGNvdW50Kys7CiAgfQp9ICAKCmlmIChlcnJvckNvdW50ID4gMCkgeyAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHdpdGhvdXQgW3VyaVJlc2VydmVkLCAjXSwgcmV0dXJuIEIxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CnZhciB1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwpsOgpmb3IgKHZhciBpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIHZhciBoZXggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgeyAgICAKICAgICAgaWYgKGhleCA9PT0gdXJpUmVzZXJ2ZWRbaW5kZXhDXSkgY29udGludWUgbDsgICAgICAgIAogICAgfSAKICAgIGlmIChoZXggPT09ICIjIikgY29udGludWUgbDsKICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpKSA9PT0gaGV4KSBjb250aW51ZTsKICB9IGNhdGNoIChlKSB7fSAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), without [uriReserved, #], return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yICh2YXIgaW5kZXhCMiA9IDB4ODA7IGluZGV4QjIgPD0gMHhCRjsgaW5kZXhCMisrKSB7CiAgICBjb3VudCsrOwogICAgdmFyIGhleEIyID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjIpOwogICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDFGKSAqIDB4NDAgKyAoaW5kZXhCMiAmIDB4M0YpOyAgCiAgICB0cnkgewogICAgICBpZiAoZGVjb2RlVVJJKCIlIiArIGhleEIxLnN1YnN0cmluZygyKSArICIlIiArIGhleEIyLnN1YnN0cmluZygyKSkgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSBjb250aW51ZTsKICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhFMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOwogICAgaWYgKChpbmRleEIxID09PSAweEVEKSAmJiAoMHhBMCA8PSBpbmRleEIyKSkgY29udGludWU7ICAgICAgICAgCiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgY291bnQrKzsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MEYpICogMHgxMDAwICsgKGluZGV4QjIgJiAweDNGKSAqIDB4NDAgKyAoaW5kZXhCMyAmIDB4M0YpOyAgCiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGRlY29kZVVSSSgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMy5zdWJzdHJpbmcoMikpID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgY29udGludWU7ICAgICAgICAKICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICB9ICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhGMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOyAgICAgICAgICAgIAogICAgaWYgKChpbmRleEIxID09PSAweEY0KSAmJiAoaW5kZXhCMiA+PSAweDkwKSkgY29udGludWU7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICBmb3IgKHZhciBpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IiKSAhPT0gIiUzQiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiIpIGVxdWFsICIlM0IiLCBub3QgIjsiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMkYiKSAhPT0gIiUyRiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyRiIpIGVxdWFsICIlMkYiLCBub3QgIi8iJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM0YiKSAhPT0gIiUzRiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzRiIpIGVxdWFsICIlM0YiLCBub3QgIj8iJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM0EiKSAhPT0gIiUzQSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzQSIpIGVxdWFsICIlM0EiLCBub3QgIjoiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM0QiKSAhPT0gIiUzRCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNEIikgZXF1YWwgIiUzRCIsIG5vdCAiPSInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyQiIpICE9PSAiJTJCIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMkIiKSBlcXVhbCAiJTJCIiwgbm90ICIrIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyQyIpICE9PSAiJTJDIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyQyIpIGVxdWFsICIlMkMiLCBub3QgIiwiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM2IiKSAhPT0gIiUzYiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzYiIpIGVxdWFsICIlM2IiLCBub3QgIjsiIG9yICIlM0IiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMmYiKSAhPT0gIiUyZiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyZiIpIGVxdWFsICIlMmYiLCBub3QgIi8iIG9yICIlMkYiJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM2YiKSAhPT0gIiUzZiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzZiIpIGVxdWFsICIlM2YiLCBub3QgIj8iIG9yICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM2EiKSAhPT0gIiUzYSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzYSIpIGVxdWFsICIlM2EiLCBub3QgIjoiIG9yICIlM0EiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM2QiKSAhPT0gIiUzZCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNkIikgZXF1YWwgIiUzZCIsIG5vdCAiPSIgb3IgIiUzRCInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyYiIpICE9PSAiJTJiIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMmIiKSBlcXVhbCAiJTJiIiwgbm90ICIrIiBvciAiJTJCIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyYyIpICE9PSAiJTJjIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyYyIpIGVxdWFsICIlMmMiLCBub3QgIiwiIG9yICIlMkMiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSAhPT0gIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIGVxdWFsICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIjsvPzpAJj0rJCwjIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIikgIT09ICIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJKCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIiwgbm90ICI7Lz86QCY9KyQsIyIgb3IgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUkkoImh0dHA6JTJmJTJGdW5pcHJvLnJ1IikgIT09ICJodHRwOiUyZiUyRnVuaXByby5ydSIpIHsKICAkRVJST1IoJyMyOiBodHRwOiUyZiUyRnVuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpICE9PSAiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UlM2R3aHktcnUuaHRtbCUyNnNpZCUzRGxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0slMjM0CmlmIChkZWNvZGVVUkkoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignJTIzNDogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogZGVjb2RlVVJJLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZGVjb2RlVVJJLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGRlY29kZVVSSS5sZW5ndGg7IGRlY29kZVVSSS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCgo=","commentary":"The length property of decodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZGVjb2RlVVJJLmxlbmd0aDsKZGVjb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZGVjb2RlVVJJLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkubGVuZ3RoID0gSW5maW5pdHk7IGRlY29kZVVSSS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChkZWNvZGVVUkkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of decodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURI is 1","description":"decodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURI property has not prototype property","description":"Checking decodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSShvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSShvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnJlc3VsdCA9IHRydWU7CgovL0NIRUNLIzEKdHJ5IHsKICBkZWNvZGVVUklDb21wb25lbnQoIiUiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJUEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJTEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJSAiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3InKTsKfQoKCgoK","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExJUEwJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwMTExJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwJUEwMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4SSk7CiAgICB0cnkgeyAgICAKICAgICAgdmFyIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhJKTsKICAgICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsgICAgCiAgICAgICAgJEVSUk9SKCcjJyArIGhleCArICcgJyk7CiAgICAgICAgZXJyb3JDb3VudCsrOwogICAgICB9ICAgIAogICAgfSBjYXRjaCAoZSl7CiAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICBlcnJvckNvdW50Kys7CiAgICB9IAogICAgY291bnQrKzsKICB9Cn0gIAoKaWYgKGVycm9yQ291bnQgPiAwKSB7ICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHJldHVybiBCMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKZm9yIChpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIGhleCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikpID09PSBoZXgpIGNvbnRpbnVlOwogIH0gY2F0Y2ggKGUpIHt9ICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yIChpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGNvdW50Kys7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MUYpICogMHg0MCArIChpbmRleEIyICYgMHgzRik7ICAKICAgIHRyeSB7CiAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOwogICAgfSBjYXRjaCAoZSkge30gICAKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4OwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEUwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7CiAgICBpZiAoKGluZGV4QjEgPT09IDB4RUQpICYmICgweEEwIDw9IGluZGV4QjIpKSBjb250aW51ZTsgICAgICAgICAKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIGNvdW50Kys7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDBGKSAqIDB4MTAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDQwICsgKGluZGV4QjMgJiAweDNGKTsgIAogICAgICB0cnkgewogICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgIAogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEYwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7ICAgICAgICAgICAgCiAgICBpZiAoKGluZGV4QjEgPT09IDB4RjQpICYmIChpbmRleEIyID49IDB4OTApKSBjb250aW51ZTsKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgZm9yIChpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgZXF1YWwgIi8iLCBub3QgIiUyRiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMkIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyQiIpIGVxdWFsICIrIiwgbm90ICIlMkIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyQyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMkMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIiBvciAiJTNiIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgZXF1YWwgIi8iLCBub3QgIiUyRiIgb3IgIiUyZiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiIG9yICIlM2YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIiBvciAiJTNhIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiIG9yICIlM2QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMmIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyYiIpIGVxdWFsICIrIiwgbm90ICIlMkIiIG9yICIlMmIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyYyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMmMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIiBvciAiJTJjIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiLCBub3QgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiIG9yICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyInKTsKfQoK","commentary":"Let reservedURIComponentSet be the empty string","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAnKTsKfQoK","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMmYlMkZ3d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5JTNGcGFnZSUzZHdoeS1ydS5odG1sJTI2c2lkJTNEbGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6JTJmJTJGd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UzZHdoeS1ydS5odG1sJTI2c2lkM0RsaXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMkYlMkZlbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOiUyRiUyRmVuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of decodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of decodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURIComponent is 1","description":"decodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURIComponent property has not prototype property","description":"Checking decodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlSZXNlcnZlZCwgdXJpVW5lc2NhcGVkLCAjXSwgcmV0dXJuIDEgb2N0ZXQgKDAwMDAwMDAwIDB6enp6enp6IC0+IDB6enp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwp1cmlVbmVzY2FwZWQgPSBbIi0iLCAiXyIsICIuIiwgIiEiLCAifiIsICIqIiwgIiciLCAiKCIsICIpIiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCAiMCIsICIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSJdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CgpsIDogCmZvciAoaW5kZXggPSAweDAwMDA7IGluZGV4IDw9IDB4MDA3RjsgaW5kZXgrKykgewogIGNvdW50Kys7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlSZXNlcnZlZC5sZW5ndGg7IGluZGV4QysrKSB7ICAgIAogICAgaWYgKHVyaVJlc2VydmVkW2luZGV4Q10gPT09IHN0cikgY29udGludWUgbDsKICB9CiAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgaWYgKCIjIiA9PT0gc3RyKSBjb250aW51ZSBsOyAKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCkuc3Vic3RyaW5nKDIpKSBjb250aW51ZSBsOyAKICB9IGNhdGNoKGUpIHt9ICAgICAKICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriReserved, uriUnescaped, #], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlSZXNlcnZlZFtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSShzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5jb2RlVVJJKCIjIikgPT09ICIjIgogKi8KCmlmIChlbmNvZGVVUkkoIiMiKSAhPT0gIiMiKSB7CiAgJEVSUk9SKCcjMTogdW5lc2NhcGVkVVJJU2V0IGNvbnRhaW5pbmcgIiMiJyk7Cn0gIAoK","commentary":"unescapedURISet containing \"#\"","description":"encodeURI(\"#\") === \"#\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZW5jb2RlVVJJKCJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgIT09ICJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgewogICRFUlJPUignIzI6IGFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZelonKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkoImFBX2JCLWNDLmREIWVFfmZGKmdHJ2hIKGlJKWpKO2tLL2xMP21NOm5OQG9PJnBQPXFRK3JSJHNTLHRUOXVVOHZWN3dXNnhYNXlZNHpaIikgIT09ICJhQV9iQi1jQy5kRCFlRX5mRipnRydoSChpSSlqSjtrSy9sTD9tTTpuTkBvTyZwUD1xUStyUiRzUyx0VDl1VTh2Vjd3VzZ4WDV5WTR6WiIpIHsKICAkRVJST1IoJyMzOiAnKTsKfQoK","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCIpICYmIChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGVuY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAmJiAoZW5jb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJUExJUQxJTgxJUQxJThCJUQwJUJCJUQwJUJBJUQwJUI4Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzI6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgJiYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8iICsgIiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiLnRvTG93ZXJDYXNlKCkpKSkgewogICRFUlJPUignIzM6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBhYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS9cXG5hYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXHZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICYmIGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwYmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvXFx2YWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmICgoZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAmJiBlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBkYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS9cXHJhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0sjNAppZiAoZW5jb2RlVVJJKCJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgIT09ICJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignIzQ6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTgjRGVzY3JpcHRpb24nKTsKfQoK","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUkkubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSS5sZW5ndGg7IGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSS5sZW5ndGg7CmVuY29kZVVSSS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUkkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURI is 1","description":"encodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURI property has not prototype property","description":"Checking encodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJKG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUkkob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSShvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUkkob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUkkob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSShvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlVbmVzY2FwZWRdLCByZXR1cm4gMSBvY3RldCAoMDAwMDAwMDAgMHp6enp6enogLT4gMHp6enp6enopCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnVyaVVuZXNjYXBlZCA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiIsICIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5Il07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmwgOiAKZm9yIChpbmRleCA9IDB4MDAwMDsgaW5kZXggPD0gMHgwMDdGOyBpbmRleCsrKSB7CiAgY291bnQrKzsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpLnN1YnN0cmluZygyKSkgY29udGludWUgbDsgCiAgfSBjYXRjaChlKSB7fSAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriUnescaped], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyIlM0IiLCAiJTJGIiwgIiUzRiIsICIlM0EiLCAiJTQwIiwgIiUyNiIsICIlM0QiLCAiJTJCIiwgIiUyNCIsICIlMkMiXTsKdXJpUmVzZXJ2ZWRfID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07ICAgICAgICAgICAgICAgICAgCmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgMTA7IGluZGV4QysrKSB7ICAgIAogIHZhciBzdHIgPSB1cmlSZXNlcnZlZF9baW5kZXhDXTsKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHVyaVJlc2VydmVkW2luZGV4Q10pIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcnICsgc3RyKTsKICB9ICAKfQoK","commentary":"unescapedURIComponentSet not containing uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudCgiIyIpID09PSAiJTIzIgogKi8KCmlmIChlbmNvZGVVUklDb21wb25lbnQoIiMiKSAhPT0gIiUyMyIpIHsKICAkRVJST1IoJyMxOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiUyMyInKTsKfSAgCgo=","commentary":"unescapedURIComponentSet not containing \"#\"","description":"encodeURIComponent(\"#\") === \"%23\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGMDEyMzQ1Njc4OSIpIHsKICAkRVJST1IoJyMxOiBodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODknKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSAhPT0gImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSB7CiAgJEVSUk9SKCcjMjogYUFiQmNDZERlRWZGZ0doSGlJakprS2xMbU1uTm9PcFBxUXJSc1N0VHVVdlZ3V3hYeVl6WicpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiOy8/OkAmPSskLCIpICE9PSAiJTNCJTJGJTNGJTNBJTQwJTI2JTNEJTJCJTI0JTJDIikgewogICRFUlJPUignIzM6ICcpOwp9Cgo=","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAmJiAoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCUyMyVEMCVBMSVEMSU4MSVEMSU4QiVEMCVCQiVEMCVCQSVEMCVCOCIpICYmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwIikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiKSAmJiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0IyVEMCU5MiVEMCVCNSVEMSU4MCVEMSU4MSVEMCVCOCVEMCVCOCUyMCVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCVEMCVCMCIudG9Mb3dlckNhc2UoKSkpKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwJyk7Cn0KCg==","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBBYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXG5hYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwYWFib3V0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly91bmlwcm8ucnUvXFxuYWJvdXQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1x2YWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMEJhYm91dCIpICYmIGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBiYWJvdXQiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydS9cXHZhYm91dCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwQ2Fib3V0IikgJiYgZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBEYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXHJhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwZGFib3V0IikgewogICRFUlJPUignIzQ6IGh0dHA6Ly91bmlwcm8ucnUvXFxyYWJvdXQnKTsKfQoK","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHAlM0ElMkYlMkZ3d3cuZ29vZ2xlLnJ1JTJGc3VwcG9ydCUyRmpvYnMlMkZiaW4lMkZzdGF0aWMucHklM0ZwYWdlJTNEd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weT9wYWdlPXdoeS1ydS5odG1sJnNpZD1saXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cCUzQSUyRiUyRmVuLndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGVVRGLTglMjNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURIComponent is 1","description":"encodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURIComponent property has not prototype property","description":"Checking encodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImEqKiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSoqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgIT09IHRydWUpKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a**\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiKythIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIrK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIisrYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiKythIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"++a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiP2EiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIj9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCI/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiP2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"?a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiPz9hIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCI/P2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiPz9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"??a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxfXsxLH0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MX17MSx9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxfXsxLH0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLDJ9ezF9IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ4ezEsMn17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInh7MSwyfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLDJ9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,2}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLH17MX0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MSx9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezEsfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLH17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHswLDF9ezEsfSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{0,1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioqIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKioqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a***\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImErKyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSsrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysrIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKysrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a+++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhPz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a???\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiYT8/Pz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoImE/Pz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a????\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"*a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqKmEiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIioqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiKiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"**a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIrYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIithIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIrYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"+a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0EnIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlsvdy1jXSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when 'A' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0InIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlthLS93XSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when 'B' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdBJyBncmVhdGVyIHRoYW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdCJyAoMTUuMTAuMi4xNSBDaGFyYWN0ZXJSYW5nZSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCJeW3otYV0kIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Pattern - SyntaxError was thrown when one character in CharSet 'A' greater than one character in CharSet 'B' (15.10.2.15 CharacterRange step 6)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gY29tcGlsZSBhIHBhdHRlcm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cCA9IG5ldyBSZWdFeHAoIlxcIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Pattern - SyntaxError was thrown when compile a pattern","path":"TestCases/ch15/15.10/15.10.2/15.10.2.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGVybSAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiBtYXggaXMgZmluaXRlIGFuZCBsZXNzIHRoYW4gbWluICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiMHsyLDF9Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Term - SyntaxError was thrown when max is finite and less than min (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5-3-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvUzE1LjEwLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlZSBidWcgaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMwODcKICovCgovLyBSRVgvSmF2YXNjcmlwdCAxLjAgCi8vIFJvYmVydCBELiBDYW1lcm9uICJSRVg6IFhNTCBTaGFsbG93IFBhcnNpbmcgd2l0aCBSZWd1bGFyIEV4cHJlc3Npb25zIiwKLy8gVGVjaG5pY2FsIFJlcG9ydCBUUiAxOTk4LTE3LCBTY2hvb2wgb2YgQ29tcHV0aW5nIFNjaWVuY2UsIFNpbW9uIEZyYXNlciAKLy8gVW5pdmVyc2l0eSwgTm92ZW1iZXIsIDE5OTguCi8vIENvcHlyaWdodCAoYykgMTk5OCwgUm9iZXJ0IEQuIENhbWVyb24uIAovLyBUaGUgZm9sbG93aW5nIGNvZGUgbWF5IGJlIGZyZWVseSB1c2VkIGFuZCBkaXN0cmlidXRlZCBwcm92aWRlZCB0aGF0Ci8vIHRoaXMgY29weXJpZ2h0IGFuZCBjaXRhdGlvbiBub3RpY2UgcmVtYWlucyBpbnRhY3QgYW5kIHRoYXQgbW9kaWZpY2F0aW9ucwovLyBvciBhZGRpdGlvbnMgYXJlIGNsZWFybHkgaWRlbnRpZmllZC4KClRleHRTRSA9ICJbXjxdKyI7ClVudGlsSHlwaGVuID0gIlteLV0qLSI7ClVudGlsMkh5cGhlbnMgPSBVbnRpbEh5cGhlbiArICIoW14tXSIgKyBVbnRpbEh5cGhlbiArICIpKi0iOwpDb21tZW50Q0UgPSBVbnRpbDJIeXBoZW5zICsgIj4/IjsKVW50aWxSU0JzID0gIlteXV0qXShbXl1dK10pKl0rIjsKQ0RBVEFfQ0UgPSBVbnRpbFJTQnMgKyAiKFteXT5dIiArIFVudGlsUlNCcyArICIpKj4iOwpTID0gIlsgXFxuXFx0XFxyXSsiOwpOYW1lU3RydCA9ICJbQS1aYS16XzpdfFteXFx4MDAtXFx4N0ZdIjsKTmFtZUNoYXIgPSAiW0EtWmEtejAtOV86Li1dfFteXFx4MDAtXFx4N0ZdIjsKTmFtZSA9ICIoIiArIE5hbWVTdHJ0ICsgIikoIiArIE5hbWVDaGFyICsgIikqIjsKUXVvdGVTRSA9ICciW14iXScgKyAiKiIgKyAnIicgKyAifCdbXiddKiciOwpEVF9JZGVudFNFID0gUyArIE5hbWUgKyAiKCIgKyBTICsgIigiICsgTmFtZSArICJ8IiArIFF1b3RlU0UgKyAiKSkqIjsKTWFya3VwRGVjbENFID0gIihbXl1cIic+PF0rfCIgKyBRdW90ZVNFICsgIikqPiI7ClMxID0gIltcXG5cXHJcXHQgXSI7ClVudGlsUU1zID0gIlteP10qXFw/KyI7ClBJX1RhaWwgPSAiXFw/PnwiICsgUzEgKyBVbnRpbFFNcyArICIoW14+P10iICsgVW50aWxRTXMgKyAiKSo+IjsKRFRfSXRlbVNFID0gIjwoISgtLSIgKyBVbnRpbDJIeXBoZW5zICsgIj58W14tXSIgKyBNYXJrdXBEZWNsQ0UgKyAiKXxcXD8iICsgTmFtZSArICIoIiArIFBJX1RhaWwgKyAiKSl8JSIgKyBOYW1lICsgIjt8IiArIFM7CkRvY1R5cGVDRSA9IERUX0lkZW50U0UgKyAiKCIgKyBTICsgIik/KFxcWygiICsgRFRfSXRlbVNFICsgIikqXSgiICsgUyArICIpPyk/Pj8iOwpEZWNsQ0UgPSAiLS0oIiArIENvbW1lbnRDRSArICIpP3xcXFtDREFUQVxcWygiICsgQ0RBVEFfQ0UgKyAiKT98RE9DVFlQRSgiICsgRG9jVHlwZUNFICsgIik/IjsKUElfQ0UgPSBOYW1lICsgIigiICsgUElfVGFpbCArICIpPyI7CkVuZFRhZ0NFID0gTmFtZSArICIoIiArIFMgKyAiKT8+PyI7CkF0dFZhbFNFID0gJyJbXjwiXScgKyAiKiIgKyAnIicgKyAifCdbXjwnXSonIjsKRWxlbVRhZ0NFID0gTmFtZSArICIoIiArIFMgKyBOYW1lICsgIigiICsgUyArICIpPz0oIiArIFMgKyAiKT8oIiArIEF0dFZhbFNFICsgIikpKigiICsgUyArICIpPy8/Pj8iOwpNYXJrdXBTUEUgPSAiPCghKCIgKyBEZWNsQ0UgKyAiKT98XFw/KCIgKyBQSV9DRSArICIpP3wvKCIgKyBFbmRUYWdDRSArICIpP3woIiArIEVsZW1UYWdDRSArICIpPykiOwpYTUxfU1BFID0gVGV4dFNFICsgInwiICsgTWFya3VwU1BFOwoKLy8vCi8vLy8KLy8vLy8KCl9fcGF0dGVybnMgPSBbVGV4dFNFLFVudGlsSHlwaGVuLFVudGlsMkh5cGhlbnMsQ29tbWVudENFLFVudGlsUlNCcyxDREFUQV9DRSxTLE5hbWVTdHJ0LCBOYW1lQ2hhciwgCk5hbWUsIFF1b3RlU0UsIERUX0lkZW50U0UsIE1hcmt1cERlY2xDRSwgUzEsVW50aWxRTXMsIFBJX1RhaWwsIERUX0l0ZW1TRSwgRG9jVHlwZUNFLCBEZWNsQ0UsIApQSV9DRSwgRW5kVGFnQ0UsIEF0dFZhbFNFLCBFbGVtVGFnQ0UsIE1hcmt1cFNQRSwgWE1MX1NQRV07CgpfX2h0bWw9IiIrCic8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJcbicgKwonICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnL1hNTC9YTGluay8wLjkiPlxuJyArCicgIDxoZWFkPjx0aXRsZT5UaHJlZSBOYW1lc3BhY2VzPC90aXRsZT48L2hlYWQ+XG4nICsKJyAgPGJvZHk+XG4nICsKJyAgICA8aDEgYWxpZ249ImNlbnRlciI+QW4gRWxsaXBzZSBhbmQgYSBSZWN0YW5nbGU8L2gxPlxuJyArCicgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL1NWRy0xOTk5MTIwMy5kdGQiXG4nICsKJyAgICAgICAgIHdpZHRoPSIxMmNtIiBoZWlnaHQ9IjEwY20iPlxuJyArCicgICAgICA8ZWxsaXBzZSByeD0iMTEwIiByeT0iMTMwIiAvPlxuJyArCicgICAgICA8cmVjdCB4PSI0Y20iIHk9IjFjbSIgd2lkdGg9IjNjbSIgaGVpZ2h0PSI2Y20iIC8+XG4nICsKJyAgICA8L3N2Zz5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0iZWxsaXBzZXMuaHRtbCI+XG4nICsKJyAgICAgIE1vcmUgYWJvdXQgZWxsaXBzZXNcbicgKwonICAgIDwvcD5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0icmVjdGFuZ2xlcy5odG1sIj5cbicgKwonICAgICAgTW9yZSBhYm91dCByZWN0YW5nbGVzXG4nICsKJyAgICA8L3A+XG4nICsKJyAgICA8aHIvPlxuJyArCicgICAgPHA+TGFzdCBNb2RpZmllZCBGZWJydWFyeSAxMywgMjAwMDwvcD5cbicgKwonICA8L2JvZHk+XG4nICsKJzwvaHRtbD4nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogICAgZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX3BhdHRlcm5zLmxlbmd0aDsgaW5kZXgrKykgewogICAgCV9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybnNbaW5kZXhdKTsKICAgIAlfX3JlLnRlc3QoX19odG1sKTsKICAgIH0KfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjJytpbmRleCsiOiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9uOiAiK19fcGF0dGVybnNbaW5kZXhdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"XML Shallow Parsing with Regular Expressions","description":"See bug http://bugzilla.mozilla.org/show_bug.cgi?id=103087","path":"TestCases/ch15/15.10/15.10.2/S15.10.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDA5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdCBpbiBSZWdFeHAgYW5kIFx1MDAwOSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHQvLmV4ZWMoIlx1MDAwOSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwOSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHQvLmV4ZWMoIlxcdTAwMDkiKTsgYXJyWzBdID09PSAiXFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x0XHQvLmV4ZWMoImFcdTAwMDlcdTAwMDliIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDA5XHUwMDA5IikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdFxcdC8uZXhlYygiYVxcdTAwMDlcXHUwMDA5YiIpOyBhcnJbMF0gPT09ICJcXHUwMDA5XFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: t evaluates by returning\nthe character \\u0009","description":"Use \\t in RegExp and \\u0009 in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogbiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBBCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcbiBpbiBSZWdFeHAgYW5kIFx1MDAwQSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXG4vLmV4ZWMoIlx1MDAwQSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXG4vLmV4ZWMoIlxcdTAwMEEiKTsgYXJyWzBdID09PSAiXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xuXG4vLmV4ZWMoImFcdTAwMEFcdTAwMEFiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcblxcbi8uZXhlYygiYVxcdTAwMEFcXHUwMDBBYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBBXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: n evaluates by returning\nthe character \\u000A","description":"Use \\n in RegExp and \\u000A in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBCCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdiBpbiBSZWdFeHAgYW5kIFx1MDAwQiBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHYvLmV4ZWMoIlx1MDAwQiIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQiIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHYvLmV4ZWMoIlxcdTAwMEIiKTsgYXJyWzBdID09PSAiXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x2XHYvLmV4ZWMoImFcdTAwMEJcdTAwMEJiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBCXHUwMDBCIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdlxcdi8uZXhlYygiYVxcdTAwMEJcXHUwMDBCYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBCXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: v evaluates by returning\nthe character \\u000B","description":"Use \\v in RegExp and \\u000B in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogZiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBDCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcZiBpbiBSZWdFeHAgYW5kIFx1MDAwQyBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXGYvLmV4ZWMoIlx1MDAwQyIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQyIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXGYvLmV4ZWMoIlxcdTAwMEMiKTsgYXJyWzBdID09PSAiXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xmXGYvLmV4ZWMoImFcdTAwMENcdTAwMENiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBDXHUwMDBDIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcZlxcZi8uZXhlYygiYVxcdTAwMENcXHUwMDBDYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBDXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: f evaluates by returning\nthe character \\u000C","description":"Use \\f in RegExp and \\u000C in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogciBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBECiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcciBpbiBSZWdFeHAgYW5kIFx1MDAwRCBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHIvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHIvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xyXHIvLmV4ZWMoImFcdTAwMERcdTAwMERiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBEXHUwMDBEIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcclxcci8uZXhlYygiYVxcdTAwMERcXHUwMDBEYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBEXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: r evaluates by returning\nthe character \\u000D","description":"Use \\r in RegExp and \\u000D in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogQSAtIFoKICovCgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBBIC0gWicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogYSAtIHoKICovCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBhIC0geicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogUlVTU0lBTiBBTFBIQUJFVCBpcyBpbmNvcnJlY3QKICovCgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhICUgMzIpOwogIGFyciA9IChuZXcgUmVnRXhwKCJcXGMiICsgU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpKS5leGVjKHN0cik7ICAKICBpZiAoYXJyICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQgaXMgaW5jb3JyZWN0Jyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSAlIDMyKTsKICBhcnIgPSAobmV3IFJlZ0V4cCgiXFxjIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSkuZXhlYyhzdHIpOyAgCiAgaWYgKGFyciAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpcyBpbmNvcnJlY3QnKTsKfSAgCgo=","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: RUSSIAN ALPHABET is incorrect","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGluY2x1ZGUgZXF1YWwgdW5pY29kZSBzeW1ib2xzCiAqLwoKLy9DSEVDSyMwCnZhciBhcnIgPSAvXHgwMC8uZXhlYygiXHUwMDAwIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMCIpKSB7CiAgJEVSUk9SKCcjMDogdmFyIGFyciA9IC9cXHgwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x4MDEvLmV4ZWMoIlx1MDAwMSIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFx4MDEvLmV4ZWMoXFx1MDAwMSk7IGFyclswXSA9PT0gIlxcdTAwMDEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9ceDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xceDBBLy5leGVjKFxcdTAwMEEpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHhGRi8uZXhlYygiXHUwMEZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDBGRiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHhGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCg==","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Tested string include equal unicode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQgYW5kIGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQKICovCgovL0NIRUNLIzQxLTVBCmhleCA9IFsiXFx4NDEiLCAiXFx4NDIiLCAiXFx4NDMiLCAiXFx4NDQiLCAiXFx4NDUiLCAiXFx4NDYiLCAiXFx4NDciLCAiXFx4NDgiLCAiXFx4NDkiLCAiXFx4NEEiLCAiXFx4NEIiLCAiXFx4NEMiLCAiXFx4NEQiLCAiXFx4NEUiLCAiXFx4NEYiLCAiXFx4NTAiLCAiXFx4NTEiLCAiXFx4NTIiLCAiXFx4NTMiLCAiXFx4NTQiLCAiXFx4NTUiLCAiXFx4NTYiLCAiXFx4NTciLCAiXFx4NTgiLCAiXFx4NTkiLCAiXFx4NUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx4NjEiLCAiXFx4NjIiLCAiXFx4NjMiLCAiXFx4NjQiLCAiXFx4NjUiLCAiXFx4NjYiLCAiXFx4NjciLCAiXFx4NjgiLCAiXFx4NjkiLCAiXFx4NkEiLCAiXFx4NkIiLCAiXFx4NkMiLCAiXFx4NkQiLCAiXFx4NkUiLCAiXFx4NkYiLCAiXFx4NzAiLCAiXFx4NzEiLCAiXFx4NzIiLCAiXFx4NzMiLCAiXFx4NzQiLCAiXFx4NzUiLCAiXFx4NzYiLCAiXFx4NzciLCAiXFx4NzgiLCAiXFx4NzkiLCAiXFx4N0EiXTsKY2hhcmFjdGVyID0gWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Checking ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGFuZCB0ZXN0ZWQgc3RyaW5nIGluY2x1ZGUgdW5jb2RlIHN5bWJvbHMKICovCgovL0NIRUNLIzAKdmFyIGFyciA9IC9cdTAwMDAvLmV4ZWMoIlx1MDAwMCIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDAiKSkgewogICRFUlJPUignIzA6IHZhciBhcnIgPSAvXFx1MDAwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x1MDAwMS8uZXhlYygiXHUwMDAxIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHUwMDAxLy5leGVjKFxcdTAwMDEpOyBhcnJbMF0gPT09ICJcXHUwMDAxIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHUwMDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdTAwMEEvLmV4ZWMoXFx1MDAwQSk7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzMKdmFyIGFyciA9IC9cdTAwRkYvLmV4ZWMoIlx1MDBGRiIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwRkYiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFx1MDBGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1x1MEZGRi8uZXhlYygiXHUwRkZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MEZGRiIpKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFyciA9IC9cXHUwRkZGLy5leGVjKFxcdTBGRkYpOyBhcnJbMF0gPT09ICJcXHUwRkZGIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyM1CnZhciBhcnIgPSAvXHVGRkZGLy5leGVjKCJcdUZGRkYiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHVGRkZGIikpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyID0gL1xcdUZGRkYvLmV4ZWMoXFx1RkZGRik7IGFyclswXSA9PT0gIlxcdUZGRkYiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9Cgo=","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"RegExp and tested string include uncode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCBhbmQgZW5nbGlzaCBzbWFsbCBhbHBoYWJldAogKi8KCi8vQ0hFQ0sjNDEtNUEKaGV4ID0gWyJcXHUwMDQxIiwgIlxcdTAwNDIiLCAiXFx1MDA0MyIsICJcXHUwMDQ0IiwgIlxcdTAwNDUiLCAiXFx1MDA0NiIsICJcXHUwMDQ3IiwgIlxcdTAwNDgiLCAiXFx1MDA0OSIsICJcXHUwMDRBIiwgIlxcdTAwNEIiLCAiXFx1MDA0QyIsICJcXHUwMDREIiwgIlxcdTAwNEUiLCAiXFx1MDA0RiIsICJcXHUwMDUwIiwgIlxcdTAwNTEiLCAiXFx1MDA1MiIsICJcXHUwMDUzIiwgIlxcdTAwNTQiLCAiXFx1MDA1NSIsICJcXHUwMDU2IiwgIlxcdTAwNTciLCAiXFx1MDA1OCIsICJcXHUwMDU5IiwgIlxcdTAwNUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx1MDA2MSIsICJcXHUwMDYyIiwgIlxcdTAwNjMiLCAiXFx1MDA2NCIsICJcXHUwMDY1IiwgIlxcdTAwNjYiLCAiXFx1MDA2NyIsICJcXHUwMDY4IiwgIlxcdTAwNjkiLCAiXFx1MDA2QSIsICJcXHUwMDZCIiwgIlxcdTAwNkMiLCAiXFx1MDA2RCIsICJcXHUwMDZFIiwgIlxcdTAwNkYiLCAiXFx1MDA3MCIsICJcXHUwMDcxIiwgIlxcdTAwNzIiLCAiXFx1MDA3MyIsICJcXHUwMDc0IiwgIlxcdTAwNzUiLCAiXFx1MDA3NiIsICJcXHUwMDc3IiwgIlxcdTAwNzgiLCAiXFx1MDA3OSIsICJcXHUwMDdBIl07CmNoYXJhY3RlciA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBoZXgubGVuZ3RoOyBpbmRleCsrKSB7CiAgYXJyID0gKG5ldyBSZWdFeHAoaGV4W2luZGV4XSkpLmV4ZWMoY2hhcmFjdGVyW2luZGV4XSk7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBjaGFyYWN0ZXJbaW5kZXhdKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCBhbmQgcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpbiB1bmljb2RlIG5vdGF0aW9uCiAqLwoKLy9DSEVDSyMwNDEwLTA0MkYsIDA0MDEgCmhleCA9IFsiXFx1MDQxMCIsICJcXHUwNDExIiwgIlxcdTA0MTIiLCAiXFx1MDQxMyIsICJcXHUwNDE0IiwgIlxcdTA0MTUiLCAiXFx1MDQxNiIsICJcXHUwNDE3IiwgIlxcdTA0MTgiLCAiXFx1MDQxOSIsICJcXHUwNDFBIiwgIlxcdTA0MUIiLCAiXFx1MDQxQyIsICJcXHUwNDFEIiwgIlxcdTA0MUUiLCAiXFx1MDQxRiIsICJcXHUwNDIwIiwgIlxcdTA0MjEiLCAiXFx1MDQyMiIsICJcXHUwNDIzIiwgIlxcdTA0MjQiLCAiXFx1MDQyNSIsICJcXHUwNDI2IiwgIlxcdTA0MjciLCAiXFx1MDQyOCIsICJcXHUwNDI5IiwgIlxcdTA0MkEiLCAiXFx1MDQyQiIsICJcXHUwNDJDIiwgIlxcdTA0MkQiLCAiXFx1MDQyRSIsICJcXHUwNDJGIiwgIlxcdTA0MDEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MTAiLCAiXHUwNDExIiwgIlx1MDQxMiIsICJcdTA0MTMiLCAiXHUwNDE0IiwgIlx1MDQxNSIsICJcdTA0MTYiLCAiXHUwNDE3IiwgIlx1MDQxOCIsICJcdTA0MTkiLCAiXHUwNDFBIiwgIlx1MDQxQiIsICJcdTA0MUMiLCAiXHUwNDFEIiwgIlx1MDQxRSIsICJcdTA0MUYiLCAiXHUwNDIwIiwgIlx1MDQyMSIsICJcdTA0MjIiLCAiXHUwNDIzIiwgIlx1MDQyNCIsICJcdTA0MjUiLCAiXHUwNDI2IiwgIlx1MDQyNyIsICJcdTA0MjgiLCAiXHUwNDI5IiwgIlx1MDQyQSIsICJcdTA0MkIiLCAiXHUwNDJDIiwgIlx1MDQyRCIsICJcdTA0MkUiLCAiXHUwNDJGIiwgIlx1MDQwMSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9ICAKCi8vQ0hFQ0sjMDQzMC0wNDRGLCAwNDUxCmhleCA9IFsiXFx1MDQzMCIsICJcXHUwNDMxIiwgIlxcdTA0MzIiLCAiXFx1MDQzMyIsICJcXHUwNDM0IiwgIlxcdTA0MzUiLCAiXFx1MDQzNiIsICJcXHUwNDM3IiwgIlxcdTA0MzgiLCAiXFx1MDQzOSIsICJcXHUwNDNBIiwgIlxcdTA0M0IiLCAiXFx1MDQzQyIsICJcXHUwNDNEIiwgIlxcdTA0M0UiLCAiXFx1MDQzRiIsICJcXHUwNDQwIiwgIlxcdTA0NDEiLCAiXFx1MDQ0MiIsICJcXHUwNDQzIiwgIlxcdTA0NDQiLCAiXFx1MDQ0NSIsICJcXHUwNDQ2IiwgIlxcdTA0NDciLCAiXFx1MDQ0OCIsICJcXHUwNDQ5IiwgIlxcdTA0NEEiLCAiXFx1MDQ0QiIsICJcXHUwNDRDIiwgIlxcdTA0NEQiLCAiXFx1MDQ0RSIsICJcXHUwNDRGIiwgIlxcdTA0NTEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MzAiLCAiXHUwNDMxIiwgIlx1MDQzMiIsICJcdTA0MzMiLCAiXHUwNDM0IiwgIlx1MDQzNSIsICJcdTA0MzYiLCAiXHUwNDM3IiwgIlx1MDQzOCIsICJcdTA0MzkiLCAiXHUwNDNBIiwgIlx1MDQzQiIsICJcdTA0M0MiLCAiXHUwNDNEIiwgIlx1MDQzRSIsICJcdTA0M0YiLCAiXHUwNDQwIiwgIlx1MDQ0MSIsICJcdTA0NDIiLCAiXHUwNDQzIiwgIlx1MDQ0NCIsICJcdTA0NDUiLCAiXHUwNDQ2IiwgIlx1MDQ0NyIsICJcdTA0NDgiLCAiXHUwNDQ5IiwgIlx1MDQ0QSIsICJcdTA0NEIiLCAiXHUwNDRDIiwgIlx1MDQ0RCIsICJcdTA0NEUiLCAiXHUwNDRGIiwgIlx1MDQ1MSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSWRlbnRpdHlFc2NhcGVTZXF1ZW5jZSA6OiBTb3VyY2VDaGFyYWN0ZXIgYnV0IG5vdCBJZGVudGlmaWVyUGFydAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICJ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2lkZW50ID0gIn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwp2YXIgayA9IC0xOwpkbyB7CiAgIGsrKzsKICAgYXJyID0gbmV3IFJlZ0V4cCgiXFwiICsgbm9uX2lkZW50W2tdLCAiZyIpLmV4ZWMobm9uX2lkZW50KTsgICAKfSB3aGlsZSAoKGFyciAhPT0gbnVsbCkgJiYgKGFyclswXSA9PT0gbm9uX2lkZW50W2tdKSkKCmlmIChub25faWRlbnQubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzE6IElkZW50aXR5RXNjYXBlU2VxdWVuY2UgOjogU291cmNlQ2hhcmFjdGVyIGJ1dCBub3QgSWRlbnRpZmllclBhcnQnKTsKfSAKCg==","commentary":"CharacterEscape :: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart","description":"Tested string is \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsRXNjYXBlIDo6IDAuIElmIGkgaXMgemVybywgcmV0dXJuIHRoZSBFc2NhcGVWYWx1ZSBjb25zaXN0aW5nIG9mIGEgPE5VTD4gY2hhcmFjdGVyIChVbmljb2RldmFsdWUwMDAwKQogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1wwLy5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKFxcdTAwMDApOyBhcnJbMF0gPT09ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalEscape :: 0. If i is zero, return the EscapeValue consisting of a character (Unicodevalue0000)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAoLyhBKVxcMS8uZXhlYygiQUEiKSk7IGFyclswXSA9PT0gIkFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzFdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9ICgvKEEpXFwxLy5leGVjKCJBQSIpKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0gICAgCgo=","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9ICgvXFwxKEEpLy5leGVjKCJBQSIpKTsgYXJyWzBdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAoL1xcMShBKS8uZXhlYygiQUEiKSk7IGFyclsxXSA9PT0gIkEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclsxXSkpOwp9ICAgIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxKEIpXDIvLmV4ZWMoIkFBQkIiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQkIiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvKEEpXFwxKEIpXFwyLy5leGVjKCJBQUJCIik7IGFyclswXSA9PT0gIkFBQkIiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMV0gIT09ICJBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gLyhBKVxcMShCKVxcMi8uZXhlYygiQUFCQiIpOyBhcnJbMV0gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzJdICE9PSAiQiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC8oQSlcXDEoQilcXDIvLmV4ZWMoIkFBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpKEIpXDIvLmV4ZWMoIkFCQiIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUJCIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMShBKShCKVxcMi8uZXhlYygiQUJCIik7IGFyclswXSA9PT0gIkFCQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsyXSAhPT0gIkIiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxXDJcM1w0XDVcNlw3XDhcOVwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMVxcMlxcM1xcNFxcNVxcNlxcN1xcOFxcOVxcMTAvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxXFwyXFwzXFw0XFw1XFw2XFw3XFw4XFw5XFwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxMFw5XDhcN1w2XDVcNFwzXDJcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMTBcXDlcXDhcXDdcXDZcXDVcXDRcXDNcXDJcXDEvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxMFxcOVxcOFxcN1xcNlxcNVxcNFxcM1xcMlxcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gV2hpdGVTcGFjZQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiXHUxNDAwXHUxNDAxXHUxNDAyXHUxNDAzXHUxNDA0XHUxNDA1XHUxNDA2XHUxNDA3XHUxNDA4XHUxNDA5XHUxNDBBXHUxNDBCXHUxNDBDXHUxNDBEXHUxNDBFXHUxNDBGXHUxNDEwXHUxNDExXHUxNDEyXHUxNDEzXHUxNDE0XHUxNDE1XHUxNDE2XHUxNDE3XHUxNDE4XHUxNDE5XHUxNDFBXHUxNDFCXHUxNDFDXHUxNDFEXHUxNDFFXHUxNDFGXHUxNDIwXHUxNDIxXHUxNDIyXHUxNDIzXHUxNDI0XHUxNDI1XHUxNDI2XHUxNDI3XHUxNDI4XHUxNDI5XHUxNDJBXHUxNDJCXHUxNDJDXHUxNDJEXHUxNDJFXHUxNDJGXHUxNDMwXHUxNDMxXHUxNDMyXHUxNDMzXHUxNDM0XHUxNDM1XHUxNDM2XHUxNDM3XHUxNDM4XHUxNDM5XHUxNDNBXHUxNDNCXHUxNDNDXHUxNDNEXHUxNDNFXHUxNDNGXHUxNDQwXHUxNDQxXHUxNDQyXHUxNDQzXHUxNDQ0XHUxNDQ1XHUxNDQ2XHUxNDQ3XHUxNDQ4XHUxNDQ5XHUxNDRBXHUxNDRCXHUxNDRDXHUxNDREXHUxNDRFXHUxNDRGXHUxNDUwXHUxNDUxXHUxNDUyXHUxNDUzXHUxNDU0XHUxNDU1XHUxNDU2XHUxNDU3XHUxNDU4XHUxNDU5XHUxNDVBXHUxNDVCXHUxNDVDXHUxNDVEXHUxNDVFXHUxNDVGXHUxNDYwXHUxNDYxXHUxNDYyXHUxNDYzXHUxNDY0XHUxNDY1XHUxNDY2XHUxNDY3XHUxNDY4XHUxNDY5XHUxNDZBXHUxNDZCXHUxNDZDXHUxNDZEXHUxNDZFXHUxNDZGXHUxNDcwXHUxNDcxXHUxNDcyXHUxNDczXHUxNDc0XHUxNDc1XHUxNDc2XHUxNDc3XHUxNDc4XHUxNDc5XHUxNDdBXHUxNDdCXHUxNDdDXHUxNDdEXHUxNDdFXHUxNDdGXHUxNDgwXHUxNDgxXHUxNDgyXHUxNDgzXHUxNDg0XHUxNDg1XHUxNDg2XHUxNDg3XHUxNDg4XHUxNDg5XHUxNDhBXHUxNDhCXHUxNDhDXHUxNDhEXHUxNDhFXHUxNDhGXHUxNDkwXHUxNDkxXHUxNDkyXHUxNDkzXHUxNDk0XHUxNDk1XHUxNDk2XHUxNDk3XHUxNDk4XHUxNDk5XHUxNDlBXHUxNDlCXHUxNDlDXHUxNDlEXHUxNDlFXHUxNDlGXHUxNEEwXHUxNEExXHUxNEEyXHUxNEEzXHUxNEE0XHUxNEE1XHUxNEE2XHUxNEE3XHUxNEE4XHUxNEE5XHUxNEFBXHUxNEFCXHUxNEFDXHUxNEFEXHUxNEFFXHUxNEFGXHUxNEIwXHUxNEIxXHUxNEIyXHUxNEIzXHUxNEI0XHUxNEI1XHUxNEI2XHUxNEI3XHUxNEI4XHUxNEI5XHUxNEJBXHUxNEJCXHUxNEJDXHUxNEJEXHUxNEJFXHUxNEJGXHUxNEMwXHUxNEMxXHUxNEMyXHUxNEMzXHUxNEM0XHUxNEM1XHUxNEM2XHUxNEM3XHUxNEM4XHUxNEM5XHUxNENBXHUxNENCXHUxNENDXHUxNENEXHUxNENFXHUxNENGXHUxNEQwXHUxNEQxXHUxNEQyXHUxNEQzXHUxNEQ0XHUxNEQ1XHUxNEQ2XHUxNEQ3XHUxNEQ4XHUxNEQ5XHUxNERBXHUxNERCXHUxNERDXHUxNEREXHUxNERFXHUxNERGXHUxNEUwXHUxNEUxXHUxNEUyXHUxNEUzXHUxNEU0XHUxNEU1XHUxNEU2XHUxNEU3XHUxNEU4XHUxNEU5XHUxNEVBXHUxNEVCXHUxNEVDXHUxNEVEXHUxNEVFXHUxNEVGXHUxNEYwXHUxNEYxXHUxNEYyXHUxNEYzXHUxNEY0XHUxNEY1XHUxNEY2XHUxNEY3XHUxNEY4XHUxNEY5XHUxNEZBXHUxNEZCXHUxNEZDXHUxNEZEXHUxNEZFXHUxNEZGXHUxNTAwXHUxNTAxXHUxNTAyXHUxNTAzXHUxNTA0XHUxNTA1XHUxNTA2XHUxNTA3XHUxNTA4XHUxNTA5XHUxNTBBXHUxNTBCXHUxNTBDXHUxNTBEXHUxNTBFXHUxNTBGXHUxNTEwXHUxNTExXHUxNTEyXHUxNTEzXHUxNTE0XHUxNTE1XHUxNTE2XHUxNTE3XHUxNTE4XHUxNTE5XHUxNTFBXHUxNTFCXHUxNTFDXHUxNTFEXHUxNTFFXHUxNTFGXHUxNTIwXHUxNTIxXHUxNTIyXHUxNTIzXHUxNTI0XHUxNTI1XHUxNTI2XHUxNTI3XHUxNTI4XHUxNTI5XHUxNTJBXHUxNTJCXHUxNTJDXHUxNTJEXHUxNTJFXHUxNTJGXHUxNTMwXHUxNTMxXHUxNTMyXHUxNTMzXHUxNTM0XHUxNTM1XHUxNTM2XHUxNTM3XHUxNTM4XHUxNTM5XHUxNTNBXHUxNTNCXHUxNTNDXHUxNTNEXHUxNTNFXHUxNTNGXHUxNTQwXHUxNTQxXHUxNTQyXHUxNTQzXHUxNTQ0XHUxNTQ1XHUxNTQ2XHUxNTQ3XHUxNTQ4XHUxNTQ5XHUxNTRBXHUxNTRCXHUxNTRDXHUxNTREXHUxNTRFXHUxNTRGXHUxNTUwXHUxNTUxXHUxNTUyXHUxNTUzXHUxNTU0XHUxNTU1XHUxNTU2XHUxNTU3XHUxNTU4XHUxNTU5XHUxNTVBXHUxNTVCXHUxNTVDXHUxNTVEXHUxNTVFXHUxNTVGXHUxNTYwXHUxNTYxXHUxNTYyXHUxNTYzXHUxNTY0XHUxNTY1XHUxNTY2XHUxNTY3XHUxNTY4XHUxNTY5XHUxNTZBXHUxNTZCXHUxNTZDXHUxNTZEXHUxNTZFXHUxNTZGXHUxNTcwXHUxNTcxXHUxNTcyXHUxNTczXHUxNTc0XHUxNTc1XHUxNTc2XHUxNTc3XHUxNTc4XHUxNTc5XHUxNTdBXHUxNTdCXHUxNTdDXHUxNTdEXHUxNTdFXHUxNTdGXHUxNTgwXHUxNTgxXHUxNTgyXHUxNTgzXHUxNTg0XHUxNTg1XHUxNTg2XHUxNTg3XHUxNTg4XHUxNTg5XHUxNThBXHUxNThCXHUxNThDXHUxNThEXHUxNThFXHUxNThGXHUxNTkwXHUxNTkxXHUxNTkyXHUxNTkzXHUxNTk0XHUxNTk1XHUxNTk2XHUxNTk3XHUxNTk4XHUxNTk5XHUxNTlBXHUxNTlCXHUxNTlDXHUxNTlEXHUxNTlFXHUxNTlGXHUxNUEwXHUxNUExXHUxNUEyXHUxNUEzXHUxNUE0XHUxNUE1XHUxNUE2XHUxNUE3XHUxNUE4XHUxNUE5XHUxNUFBXHUxNUFCXHUxNUFDXHUxNUFEXHUxNUFFXHUxNUFGXHUxNUIwXHUxNUIxXHUxNUIyXHUxNUIzXHUxNUI0XHUxNUI1XHUxNUI2XHUxNUI3XHUxNUI4XHUxNUI5XHUxNUJBXHUxNUJCXHUxNUJDXHUxNUJEXHUxNUJFXHUxNUJGXHUxNUMwXHUxNUMxXHUxNUMyXHUxNUMzXHUxNUM0XHUxNUM1XHUxNUM2XHUxNUM3XHUxNUM4XHUxNUM5XHUxNUNBXHUxNUNCXHUxNUNDXHUxNUNEXHUxNUNFXHUxNUNGXHUxNUQwXHUxNUQxXHUxNUQyXHUxNUQzXHUxNUQ0XHUxNUQ1XHUxNUQ2XHUxNUQ3XHUxNUQ4XHUxNUQ5XHUxNURBXHUxNURCXHUxNURDXHUxNUREXHUxNURFXHUxNURGXHUxNUUwXHUxNUUxXHUxNUUyXHUxNUUzXHUxNUU0XHUxNUU1XHUxNUU2XHUxNUU3XHUxNUU4XHUxNUU5XHUxNUVBXHUxNUVCXHUxNUVDXHUxNUVEXHUxNUVFXHUxNUVGXHUxNUYwXHUxNUYxXHUxNUYyXHUxNUYzXHUxNUY0XHUxNUY1XHUxNUY2XHUxNUY3XHUxNUY4XHUxNUY5XHUxNUZBXHUxNUZCXHUxNUZDXHUxNUZEXHUxNUZFXHUxNUZGXHUxNjAwXHUxNjAxXHUxNjAyXHUxNjAzXHUxNjA0XHUxNjA1XHUxNjA2XHUxNjA3XHUxNjA4XHUxNjA5XHUxNjBBXHUxNjBCXHUxNjBDXHUxNjBEXHUxNjBFXHUxNjBGXHUxNjEwXHUxNjExXHUxNjEyXHUxNjEzXHUxNjE0XHUxNjE1XHUxNjE2XHUxNjE3XHUxNjE4XHUxNjE5XHUxNjFBXHUxNjFCXHUxNjFDXHUxNjFEXHUxNjFFXHUxNjFGXHUxNjIwXHUxNjIxXHUxNjIyXHUxNjIzXHUxNjI0XHUxNjI1XHUxNjI2XHUxNjI3XHUxNjI4XHUxNjI5XHUxNjJBXHUxNjJCXHUxNjJDXHUxNjJEXHUxNjJFXHUxNjJGXHUxNjMwXHUxNjMxXHUxNjMyXHUxNjMzXHUxNjM0XHUxNjM1XHUxNjM2XHUxNjM3XHUxNjM4XHUxNjM5XHUxNjNBXHUxNjNCXHUxNjNDXHUxNjNEXHUxNjNFXHUxNjNGXHUxNjQwXHUxNjQxXHUxNjQyXHUxNjQzXHUxNjQ0XHUxNjQ1XHUxNjQ2XHUxNjQ3XHUxNjQ4XHUxNjQ5XHUxNjRBXHUxNjRCXHUxNjRDXHUxNjREXHUxNjRFXHUxNjRGXHUxNjUwXHUxNjUxXHUxNjUyXHUxNjUzXHUxNjU0XHUxNjU1XHUxNjU2XHUxNjU3XHUxNjU4XHUxNjU5XHUxNjVBXHUxNjVCXHUxNjVDXHUxNjVEXHUxNjVFXHUxNjVGXHUxNjYwXHUxNjYxXHUxNjYyXHUxNjYzXHUxNjY0XHUxNjY1XHUxNjY2XHUxNjY3XHUxNjY4XHUxNjY5XHUxNjZBXHUxNjZCXHUxNjZDXHUxNjZEXHUxNjZFXHUxNjZGXHUxNjcwXHUxNjcxXHUxNjcyXHUxNjczXHUxNjc0XHUxNjc1XHUxNjc2XHUxNjc3XHUxNjc4XHUxNjc5XHUxNjdBXHUxNjdCXHUxNjdDXHUxNjdEXHUxNjdFXHUxNjdGXHUxNjgxXHUxNjgyXHUxNjgzXHUxNjg0XHUxNjg1XHUxNjg2XHUxNjg3XHUxNjg4XHUxNjg5XHUxNjhBXHUxNjhCXHUxNjhDXHUxNjhEXHUxNjhFXHUxNjhGXHUxNjkwXHUxNjkxXHUxNjkyXHUxNjkzXHUxNjk0XHUxNjk1XHUxNjk2XHUxNjk3XHUxNjk4XHUxNjk5XHUxNjlBXHUxNjlCXHUxNjlDXHUxNjlEXHUxNjlFXHUxNjlGXHUxNkEwXHUxNkExXHUxNkEyXHUxNkEzXHUxNkE0XHUxNkE1XHUxNkE2XHUxNkE3XHUxNkE4XHUxNkE5XHUxNkFBXHUxNkFCXHUxNkFDXHUxNkFEXHUxNkFFXHUxNkFGXHUxNkIwXHUxNkIxXHUxNkIyXHUxNkIzXHUxNkI0XHUxNkI1XHUxNkI2XHUxNkI3XHUxNkI4XHUxNkI5XHUxNkJBXHUxNkJCXHUxNkJDXHUxNkJEXHUxNkJFXHUxNkJGXHUxNkMwXHUxNkMxXHUxNkMyXHUxNkMzXHUxNkM0XHUxNkM1XHUxNkM2XHUxNkM3XHUxNkM4XHUxNkM5XHUxNkNBXHUxNkNCXHUxNkNDXHUxNkNEXHUxNkNFXHUxNkNGXHUxNkQwXHUxNkQxXHUxNkQyXHUxNkQzXHUxNkQ0XHUxNkQ1XHUxNkQ2XHUxNkQ3XHUxNkQ4XHUxNkQ5XHUxNkRBXHUxNkRCXHUxNkRDXHUxNkREXHUxNkRFXHUxNkRGXHUxNkUwXHUxNkUxXHUxNkUyXHUxNkUzXHUxNkU0XHUxNkU1XHUxNkU2XHUxNkU3XHUxNkU4XHUxNkU5XHUxNkVBXHUxNkVCXHUxNkVDXHUxNkVEXHUxNkVFXHUxNkVGXHUxNkYwXHUxNkYxXHUxNkYyXHUxNkYzXHUxNkY0XHUxNkY1XHUxNkY2XHUxNkY3XHUxNkY4XHUxNkY5XHUxNkZBXHUxNkZCXHUxNkZDXHUxNkZEXHUxNkZFXHUxNkZGXHUxNzAwXHUxNzAxXHUxNzAyXHUxNzAzXHUxNzA0XHUxNzA1XHUxNzA2XHUxNzA3XHUxNzA4XHUxNzA5XHUxNzBBXHUxNzBCXHUxNzBDXHUxNzBEXHUxNzBFXHUxNzBGXHUxNzEwXHUxNzExXHUxNzEyXHUxNzEzXHUxNzE0XHUxNzE1XHUxNzE2XHUxNzE3XHUxNzE4XHUxNzE5XHUxNzFBXHUxNzFCXHUxNzFDXHUxNzFEXHUxNzFFXHUxNzFGXHUxNzIwXHUxNzIxXHUxNzIyXHUxNzIzXHUxNzI0XHUxNzI1XHUxNzI2XHUxNzI3XHUxNzI4XHUxNzI5XHUxNzJBXHUxNzJCXHUxNzJDXHUxNzJEXHUxNzJFXHUxNzJGXHUxNzMwXHUxNzMxXHUxNzMyXHUxNzMzXHUxNzM0XHUxNzM1XHUxNzM2XHUxNzM3XHUxNzM4XHUxNzM5XHUxNzNBXHUxNzNCXHUxNzNDXHUxNzNEXHUxNzNFXHUxNzNGXHUxNzQwXHUxNzQxXHUxNzQyXHUxNzQzXHUxNzQ0XHUxNzQ1XHUxNzQ2XHUxNzQ3XHUxNzQ4XHUxNzQ5XHUxNzRBXHUxNzRCXHUxNzRDXHUxNzREXHUxNzRFXHUxNzRGXHUxNzUwXHUxNzUxXHUxNzUyXHUxNzUzXHUxNzU0XHUxNzU1XHUxNzU2XHUxNzU3XHUxNzU4XHUxNzU5XHUxNzVBXHUxNzVCXHUxNzVDXHUxNzVEXHUxNzVFXHUxNzVGXHUxNzYwXHUxNzYxXHUxNzYyXHUxNzYzXHUxNzY0XHUxNzY1XHUxNzY2XHUxNzY3XHUxNzY4XHUxNzY5XHUxNzZBXHUxNzZCXHUxNzZDXHUxNzZEXHUxNzZFXHUxNzZGXHUxNzcwXHUxNzcxXHUxNzcyXHUxNzczXHUxNzc0XHUxNzc1XHUxNzc2XHUxNzc3XHUxNzc4XHUxNzc5XHUxNzdBXHUxNzdCXHUxNzdDXHUxNzdEXHUxNzdFXHUxNzdGXHUxNzgwXHUxNzgxXHUxNzgyXHUxNzgzXHUxNzg0XHUxNzg1XHUxNzg2XHUxNzg3XHUxNzg4XHUxNzg5XHUxNzhBXHUxNzhCXHUxNzhDXHUxNzhEXHUxNzhFXHUxNzhGXHUxNzkwXHUxNzkxXHUxNzkyXHUxNzkzXHUxNzk0XHUxNzk1XHUxNzk2XHUxNzk3XHUxNzk4XHUxNzk5XHUxNzlBXHUxNzlCXHUxNzlDXHUxNzlEXHUxNzlFXHUxNzlGXHUxN0EwXHUxN0ExXHUxN0EyXHUxN0EzXHUxN0E0XHUxN0E1XHUxN0E2XHUxN0E3XHUxN0E4XHUxN0E5XHUxN0FBXHUxN0FCXHUxN0FDXHUxN0FEXHUxN0FFXHUxN0FGXHUxN0IwXHUxN0IxXHUxN0IyXHUxN0IzXHUxN0I0XHUxN0I1XHUxN0I2XHUxN0I3XHUxN0I4XHUxN0I5XHUxN0JBXHUxN0JCXHUxN0JDXHUxN0JEXHUxN0JFXHUxN0JGXHUxN0MwXHUxN0MxXHUxN0MyXHUxN0MzXHUxN0M0XHUxN0M1XHUxN0M2XHUxN0M3XHUxN0M4XHUxN0M5XHUxN0NBXHUxN0NCXHUxN0NDXHUxN0NEXHUxN0NFXHUxN0NGXHUxN0QwXHUxN0QxXHUxN0QyXHUxN0QzXHUxN0Q0XHUxN0Q1XHUxN0Q2XHUxN0Q3XHUxN0Q4XHUxN0Q5XHUxN0RBXHUxN0RCXHUxN0RDXHUxN0REXHUxN0RFXHUxN0RGXHUxN0UwXHUxN0UxXHUxN0UyXHUxN0UzXHUxN0U0XHUxN0U1XHUxN0U2XHUxN0U3XHUxN0U4XHUxN0U5XHUxN0VBXHUxN0VCXHUxN0VDXHUxN0VEXHUxN0VFXHUxN0VGXHUxN0YwXHUxN0YxXHUxN0YyXHUxN0YzXHUxN0Y0XHUxN0Y1XHUxN0Y2XHUxN0Y3XHUxN0Y4XHUxN0Y5XHUxN0ZBXHUxN0ZCXHUxN0ZDXHUxN0ZEXHUxN0ZFXHUxN0ZGIjsKaWYgKGk1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICJcdTE4MDBcdTE4MDFcdTE4MDJcdTE4MDNcdTE4MDRcdTE4MDVcdTE4MDZcdTE4MDdcdTE4MDhcdTE4MDlcdTE4MEFcdTE4MEJcdTE4MENcdTE4MERcdTE4MEZcdTE4MTBcdTE4MTFcdTE4MTJcdTE4MTNcdTE4MTRcdTE4MTVcdTE4MTZcdTE4MTdcdTE4MThcdTE4MTlcdTE4MUFcdTE4MUJcdTE4MUNcdTE4MURcdTE4MUVcdTE4MUZcdTE4MjBcdTE4MjFcdTE4MjJcdTE4MjNcdTE4MjRcdTE4MjVcdTE4MjZcdTE4MjdcdTE4MjhcdTE4MjlcdTE4MkFcdTE4MkJcdTE4MkNcdTE4MkRcdTE4MkVcdTE4MkZcdTE4MzBcdTE4MzFcdTE4MzJcdTE4MzNcdTE4MzRcdTE4MzVcdTE4MzZcdTE4MzdcdTE4MzhcdTE4MzlcdTE4M0FcdTE4M0JcdTE4M0NcdTE4M0RcdTE4M0VcdTE4M0ZcdTE4NDBcdTE4NDFcdTE4NDJcdTE4NDNcdTE4NDRcdTE4NDVcdTE4NDZcdTE4NDdcdTE4NDhcdTE4NDlcdTE4NEFcdTE4NEJcdTE4NENcdTE4NERcdTE4NEVcdTE4NEZcdTE4NTBcdTE4NTFcdTE4NTJcdTE4NTNcdTE4NTRcdTE4NTVcdTE4NTZcdTE4NTdcdTE4NThcdTE4NTlcdTE4NUFcdTE4NUJcdTE4NUNcdTE4NURcdTE4NUVcdTE4NUZcdTE4NjBcdTE4NjFcdTE4NjJcdTE4NjNcdTE4NjRcdTE4NjVcdTE4NjZcdTE4NjdcdTE4NjhcdTE4NjlcdTE4NkFcdTE4NkJcdTE4NkNcdTE4NkRcdTE4NkVcdTE4NkZcdTE4NzBcdTE4NzFcdTE4NzJcdTE4NzNcdTE4NzRcdTE4NzVcdTE4NzZcdTE4NzdcdTE4NzhcdTE4NzlcdTE4N0FcdTE4N0JcdTE4N0NcdTE4N0RcdTE4N0VcdTE4N0ZcdTE4ODBcdTE4ODFcdTE4ODJcdTE4ODNcdTE4ODRcdTE4ODVcdTE4ODZcdTE4ODdcdTE4ODhcdTE4ODlcdTE4OEFcdTE4OEJcdTE4OENcdTE4OERcdTE4OEVcdTE4OEZcdTE4OTBcdTE4OTFcdTE4OTJcdTE4OTNcdTE4OTRcdTE4OTVcdTE4OTZcdTE4OTdcdTE4OThcdTE4OTlcdTE4OUFcdTE4OUJcdTE4OUNcdTE4OURcdTE4OUVcdTE4OUZcdTE4QTBcdTE4QTFcdTE4QTJcdTE4QTNcdTE4QTRcdTE4QTVcdTE4QTZcdTE4QTdcdTE4QThcdTE4QTlcdTE4QUFcdTE4QUJcdTE4QUNcdTE4QURcdTE4QUVcdTE4QUZcdTE4QjBcdTE4QjFcdTE4QjJcdTE4QjNcdTE4QjRcdTE4QjVcdTE4QjZcdTE4QjdcdTE4QjhcdTE4QjlcdTE4QkFcdTE4QkJcdTE4QkNcdTE4QkRcdTE4QkVcdTE4QkZcdTE4QzBcdTE4QzFcdTE4QzJcdTE4QzNcdTE4QzRcdTE4QzVcdTE4QzZcdTE4QzdcdTE4QzhcdTE4QzlcdTE4Q0FcdTE4Q0JcdTE4Q0NcdTE4Q0RcdTE4Q0VcdTE4Q0ZcdTE4RDBcdTE4RDFcdTE4RDJcdTE4RDNcdTE4RDRcdTE4RDVcdTE4RDZcdTE4RDdcdTE4RDhcdTE4RDlcdTE4REFcdTE4REJcdTE4RENcdTE4RERcdTE4REVcdTE4REZcdTE4RTBcdTE4RTFcdTE4RTJcdTE4RTNcdTE4RTRcdTE4RTVcdTE4RTZcdTE4RTdcdTE4RThcdTE4RTlcdTE4RUFcdTE4RUJcdTE4RUNcdTE4RURcdTE4RUVcdTE4RUZcdTE4RjBcdTE4RjFcdTE4RjJcdTE4RjNcdTE4RjRcdTE4RjVcdTE4RjZcdTE4RjdcdTE4RjhcdTE4RjlcdTE4RkFcdTE4RkJcdTE4RkNcdTE4RkRcdTE4RkVcdTE4RkZcdTE5MDBcdTE5MDFcdTE5MDJcdTE5MDNcdTE5MDRcdTE5MDVcdTE5MDZcdTE5MDdcdTE5MDhcdTE5MDlcdTE5MEFcdTE5MEJcdTE5MENcdTE5MERcdTE5MEVcdTE5MEZcdTE5MTBcdTE5MTFcdTE5MTJcdTE5MTNcdTE5MTRcdTE5MTVcdTE5MTZcdTE5MTdcdTE5MThcdTE5MTlcdTE5MUFcdTE5MUJcdTE5MUNcdTE5MURcdTE5MUVcdTE5MUZcdTE5MjBcdTE5MjFcdTE5MjJcdTE5MjNcdTE5MjRcdTE5MjVcdTE5MjZcdTE5MjdcdTE5MjhcdTE5MjlcdTE5MkFcdTE5MkJcdTE5MkNcdTE5MkRcdTE5MkVcdTE5MkZcdTE5MzBcdTE5MzFcdTE5MzJcdTE5MzNcdTE5MzRcdTE5MzVcdTE5MzZcdTE5MzdcdTE5MzhcdTE5MzlcdTE5M0FcdTE5M0JcdTE5M0NcdTE5M0RcdTE5M0VcdTE5M0ZcdTE5NDBcdTE5NDFcdTE5NDJcdTE5NDNcdTE5NDRcdTE5NDVcdTE5NDZcdTE5NDdcdTE5NDhcdTE5NDlcdTE5NEFcdTE5NEJcdTE5NENcdTE5NERcdTE5NEVcdTE5NEZcdTE5NTBcdTE5NTFcdTE5NTJcdTE5NTNcdTE5NTRcdTE5NTVcdTE5NTZcdTE5NTdcdTE5NThcdTE5NTlcdTE5NUFcdTE5NUJcdTE5NUNcdTE5NURcdTE5NUVcdTE5NUZcdTE5NjBcdTE5NjFcdTE5NjJcdTE5NjNcdTE5NjRcdTE5NjVcdTE5NjZcdTE5NjdcdTE5NjhcdTE5NjlcdTE5NkFcdTE5NkJcdTE5NkNcdTE5NkRcdTE5NkVcdTE5NkZcdTE5NzBcdTE5NzFcdTE5NzJcdTE5NzNcdTE5NzRcdTE5NzVcdTE5NzZcdTE5NzdcdTE5NzhcdTE5NzlcdTE5N0FcdTE5N0JcdTE5N0NcdTE5N0RcdTE5N0VcdTE5N0ZcdTE5ODBcdTE5ODFcdTE5ODJcdTE5ODNcdTE5ODRcdTE5ODVcdTE5ODZcdTE5ODdcdTE5ODhcdTE5ODlcdTE5OEFcdTE5OEJcdTE5OENcdTE5OERcdTE5OEVcdTE5OEZcdTE5OTBcdTE5OTFcdTE5OTJcdTE5OTNcdTE5OTRcdTE5OTVcdTE5OTZcdTE5OTdcdTE5OThcdTE5OTlcdTE5OUFcdTE5OUJcdTE5OUNcdTE5OURcdTE5OUVcdTE5OUZcdTE5QTBcdTE5QTFcdTE5QTJcdTE5QTNcdTE5QTRcdTE5QTVcdTE5QTZcdTE5QTdcdTE5QThcdTE5QTlcdTE5QUFcdTE5QUJcdTE5QUNcdTE5QURcdTE5QUVcdTE5QUZcdTE5QjBcdTE5QjFcdTE5QjJcdTE5QjNcdTE5QjRcdTE5QjVcdTE5QjZcdTE5QjdcdTE5QjhcdTE5QjlcdTE5QkFcdTE5QkJcdTE5QkNcdTE5QkRcdTE5QkVcdTE5QkZcdTE5QzBcdTE5QzFcdTE5QzJcdTE5QzNcdTE5QzRcdTE5QzVcdTE5QzZcdTE5QzdcdTE5QzhcdTE5QzlcdTE5Q0FcdTE5Q0JcdTE5Q0NcdTE5Q0RcdTE5Q0VcdTE5Q0ZcdTE5RDBcdTE5RDFcdTE5RDJcdTE5RDNcdTE5RDRcdTE5RDVcdTE5RDZcdTE5RDdcdTE5RDhcdTE5RDlcdTE5REFcdTE5REJcdTE5RENcdTE5RERcdTE5REVcdTE5REZcdTE5RTBcdTE5RTFcdTE5RTJcdTE5RTNcdTE5RTRcdTE5RTVcdTE5RTZcdTE5RTdcdTE5RThcdTE5RTlcdTE5RUFcdTE5RUJcdTE5RUNcdTE5RURcdTE5RUVcdTE5RUZcdTE5RjBcdTE5RjFcdTE5RjJcdTE5RjNcdTE5RjRcdTE5RjVcdTE5RjZcdTE5RjdcdTE5RjhcdTE5RjlcdTE5RkFcdTE5RkJcdTE5RkNcdTE5RkRcdTE5RkVcdTE5RkZcdTFBMDBcdTFBMDFcdTFBMDJcdTFBMDNcdTFBMDRcdTFBMDVcdTFBMDZcdTFBMDdcdTFBMDhcdTFBMDlcdTFBMEFcdTFBMEJcdTFBMENcdTFBMERcdTFBMEVcdTFBMEZcdTFBMTBcdTFBMTFcdTFBMTJcdTFBMTNcdTFBMTRcdTFBMTVcdTFBMTZcdTFBMTdcdTFBMThcdTFBMTlcdTFBMUFcdTFBMUJcdTFBMUNcdTFBMURcdTFBMUVcdTFBMUZcdTFBMjBcdTFBMjFcdTFBMjJcdTFBMjNcdTFBMjRcdTFBMjVcdTFBMjZcdTFBMjdcdTFBMjhcdTFBMjlcdTFBMkFcdTFBMkJcdTFBMkNcdTFBMkRcdTFBMkVcdTFBMkZcdTFBMzBcdTFBMzFcdTFBMzJcdTFBMzNcdTFBMzRcdTFBMzVcdTFBMzZcdTFBMzdcdTFBMzhcdTFBMzlcdTFBM0FcdTFBM0JcdTFBM0NcdTFBM0RcdTFBM0VcdTFBM0ZcdTFBNDBcdTFBNDFcdTFBNDJcdTFBNDNcdTFBNDRcdTFBNDVcdTFBNDZcdTFBNDdcdTFBNDhcdTFBNDlcdTFBNEFcdTFBNEJcdTFBNENcdTFBNERcdTFBNEVcdTFBNEZcdTFBNTBcdTFBNTFcdTFBNTJcdTFBNTNcdTFBNTRcdTFBNTVcdTFBNTZcdTFBNTdcdTFBNThcdTFBNTlcdTFBNUFcdTFBNUJcdTFBNUNcdTFBNURcdTFBNUVcdTFBNUZcdTFBNjBcdTFBNjFcdTFBNjJcdTFBNjNcdTFBNjRcdTFBNjVcdTFBNjZcdTFBNjdcdTFBNjhcdTFBNjlcdTFBNkFcdTFBNkJcdTFBNkNcdTFBNkRcdTFBNkVcdTFBNkZcdTFBNzBcdTFBNzFcdTFBNzJcdTFBNzNcdTFBNzRcdTFBNzVcdTFBNzZcdTFBNzdcdTFBNzhcdTFBNzlcdTFBN0FcdTFBN0JcdTFBN0NcdTFBN0RcdTFBN0VcdTFBN0ZcdTFBODBcdTFBODFcdTFBODJcdTFBODNcdTFBODRcdTFBODVcdTFBODZcdTFBODdcdTFBODhcdTFBODlcdTFBOEFcdTFBOEJcdTFBOENcdTFBOERcdTFBOEVcdTFBOEZcdTFBOTBcdTFBOTFcdTFBOTJcdTFBOTNcdTFBOTRcdTFBOTVcdTFBOTZcdTFBOTdcdTFBOThcdTFBOTlcdTFBOUFcdTFBOUJcdTFBOUNcdTFBOURcdTFBOUVcdTFBOUZcdTFBQTBcdTFBQTFcdTFBQTJcdTFBQTNcdTFBQTRcdTFBQTVcdTFBQTZcdTFBQTdcdTFBQThcdTFBQTlcdTFBQUFcdTFBQUJcdTFBQUNcdTFBQURcdTFBQUVcdTFBQUZcdTFBQjBcdTFBQjFcdTFBQjJcdTFBQjNcdTFBQjRcdTFBQjVcdTFBQjZcdTFBQjdcdTFBQjhcdTFBQjlcdTFBQkFcdTFBQkJcdTFBQkNcdTFBQkRcdTFBQkVcdTFBQkZcdTFBQzBcdTFBQzFcdTFBQzJcdTFBQzNcdTFBQzRcdTFBQzVcdTFBQzZcdTFBQzdcdTFBQzhcdTFBQzlcdTFBQ0FcdTFBQ0JcdTFBQ0NcdTFBQ0RcdTFBQ0VcdTFBQ0ZcdTFBRDBcdTFBRDFcdTFBRDJcdTFBRDNcdTFBRDRcdTFBRDVcdTFBRDZcdTFBRDdcdTFBRDhcdTFBRDlcdTFBREFcdTFBREJcdTFBRENcdTFBRERcdTFBREVcdTFBREZcdTFBRTBcdTFBRTFcdTFBRTJcdTFBRTNcdTFBRTRcdTFBRTVcdTFBRTZcdTFBRTdcdTFBRThcdTFBRTlcdTFBRUFcdTFBRUJcdTFBRUNcdTFBRURcdTFBRUVcdTFBRUZcdTFBRjBcdTFBRjFcdTFBRjJcdTFBRjNcdTFBRjRcdTFBRjVcdTFBRjZcdTFBRjdcdTFBRjhcdTFBRjlcdTFBRkFcdTFBRkJcdTFBRkNcdTFBRkRcdTFBRkVcdTFBRkZcdTFCMDBcdTFCMDFcdTFCMDJcdTFCMDNcdTFCMDRcdTFCMDVcdTFCMDZcdTFCMDdcdTFCMDhcdTFCMDlcdTFCMEFcdTFCMEJcdTFCMENcdTFCMERcdTFCMEVcdTFCMEZcdTFCMTBcdTFCMTFcdTFCMTJcdTFCMTNcdTFCMTRcdTFCMTVcdTFCMTZcdTFCMTdcdTFCMThcdTFCMTlcdTFCMUFcdTFCMUJcdTFCMUNcdTFCMURcdTFCMUVcdTFCMUZcdTFCMjBcdTFCMjFcdTFCMjJcdTFCMjNcdTFCMjRcdTFCMjVcdTFCMjZcdTFCMjdcdTFCMjhcdTFCMjlcdTFCMkFcdTFCMkJcdTFCMkNcdTFCMkRcdTFCMkVcdTFCMkZcdTFCMzBcdTFCMzFcdTFCMzJcdTFCMzNcdTFCMzRcdTFCMzVcdTFCMzZcdTFCMzdcdTFCMzhcdTFCMzlcdTFCM0FcdTFCM0JcdTFCM0NcdTFCM0RcdTFCM0VcdTFCM0ZcdTFCNDBcdTFCNDFcdTFCNDJcdTFCNDNcdTFCNDRcdTFCNDVcdTFCNDZcdTFCNDdcdTFCNDhcdTFCNDlcdTFCNEFcdTFCNEJcdTFCNENcdTFCNERcdTFCNEVcdTFCNEZcdTFCNTBcdTFCNTFcdTFCNTJcdTFCNTNcdTFCNTRcdTFCNTVcdTFCNTZcdTFCNTdcdTFCNThcdTFCNTlcdTFCNUFcdTFCNUJcdTFCNUNcdTFCNURcdTFCNUVcdTFCNUZcdTFCNjBcdTFCNjFcdTFCNjJcdTFCNjNcdTFCNjRcdTFCNjVcdTFCNjZcdTFCNjdcdTFCNjhcdTFCNjlcdTFCNkFcdTFCNkJcdTFCNkNcdTFCNkRcdTFCNkVcdTFCNkZcdTFCNzBcdTFCNzFcdTFCNzJcdTFCNzNcdTFCNzRcdTFCNzVcdTFCNzZcdTFCNzdcdTFCNzhcdTFCNzlcdTFCN0FcdTFCN0JcdTFCN0NcdTFCN0RcdTFCN0VcdTFCN0ZcdTFCODBcdTFCODFcdTFCODJcdTFCODNcdTFCODRcdTFCODVcdTFCODZcdTFCODdcdTFCODhcdTFCODlcdTFCOEFcdTFCOEJcdTFCOENcdTFCOERcdTFCOEVcdTFCOEZcdTFCOTBcdTFCOTFcdTFCOTJcdTFCOTNcdTFCOTRcdTFCOTVcdTFCOTZcdTFCOTdcdTFCOThcdTFCOTlcdTFCOUFcdTFCOUJcdTFCOUNcdTFCOURcdTFCOUVcdTFCOUZcdTFCQTBcdTFCQTFcdTFCQTJcdTFCQTNcdTFCQTRcdTFCQTVcdTFCQTZcdTFCQTdcdTFCQThcdTFCQTlcdTFCQUFcdTFCQUJcdTFCQUNcdTFCQURcdTFCQUVcdTFCQUZcdTFCQjBcdTFCQjFcdTFCQjJcdTFCQjNcdTFCQjRcdTFCQjVcdTFCQjZcdTFCQjdcdTFCQjhcdTFCQjlcdTFCQkFcdTFCQkJcdTFCQkNcdTFCQkRcdTFCQkVcdTFCQkZcdTFCQzBcdTFCQzFcdTFCQzJcdTFCQzNcdTFCQzRcdTFCQzVcdTFCQzZcdTFCQzdcdTFCQzhcdTFCQzlcdTFCQ0FcdTFCQ0JcdTFCQ0NcdTFCQ0RcdTFCQ0VcdTFCQ0ZcdTFCRDBcdTFCRDFcdTFCRDJcdTFCRDNcdTFCRDRcdTFCRDVcdTFCRDZcdTFCRDdcdTFCRDhcdTFCRDlcdTFCREFcdTFCREJcdTFCRENcdTFCRERcdTFCREVcdTFCREZcdTFCRTBcdTFCRTFcdTFCRTJcdTFCRTNcdTFCRTRcdTFCRTVcdTFCRTZcdTFCRTdcdTFCRThcdTFCRTlcdTFCRUFcdTFCRUJcdTFCRUNcdTFCRURcdTFCRUVcdTFCRUZcdTFCRjBcdTFCRjFcdTFCRjJcdTFCRjNcdTFCRjRcdTFCRjVcdTFCRjZcdTFCRjdcdTFCRjhcdTFCRjlcdTFCRkFcdTFCRkJcdTFCRkNcdTFCRkRcdTFCRkVcdTFCRkYiOwppZiAoaTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiXHUyMDBCXHUyMDBDXHUyMDBEXHUyMDBFXHUyMDBGXHUyMDEwXHUyMDExXHUyMDEyXHUyMDEzXHUyMDE0XHUyMDE1XHUyMDE2XHUyMDE3XHUyMDE4XHUyMDE5XHUyMDFBXHUyMDFCXHUyMDFDXHUyMDFEXHUyMDFFXHUyMDFGXHUyMDIwXHUyMDIxXHUyMDIyXHUyMDIzXHUyMDI0XHUyMDI1XHUyMDI2XHUyMDI3XHUyMDJBXHUyMDJCXHUyMDJDXHUyMDJEXHUyMDJFXHUyMDMwXHUyMDMxXHUyMDMyXHUyMDMzXHUyMDM0XHUyMDM1XHUyMDM2XHUyMDM3XHUyMDM4XHUyMDM5XHUyMDNBXHUyMDNCXHUyMDNDXHUyMDNEXHUyMDNFXHUyMDNGXHUyMDQwXHUyMDQxXHUyMDQyXHUyMDQzXHUyMDQ0XHUyMDQ1XHUyMDQ2XHUyMDQ3XHUyMDQ4XHUyMDQ5XHUyMDRBXHUyMDRCXHUyMDRDXHUyMDREXHUyMDRFXHUyMDRGXHUyMDUwXHUyMDUxXHUyMDUyXHUyMDUzXHUyMDU0XHUyMDU1XHUyMDU2XHUyMDU3XHUyMDU4XHUyMDU5XHUyMDVBXHUyMDVCXHUyMDVDXHUyMDVEXHUyMDVFXHUyMDYwXHUyMDYxXHUyMDYyXHUyMDYzXHUyMDY0XHUyMDY1XHUyMDY2XHUyMDY3XHUyMDY4XHUyMDY5XHUyMDZBXHUyMDZCXHUyMDZDXHUyMDZEXHUyMDZFXHUyMDZGXHUyMDcwXHUyMDcxXHUyMDcyXHUyMDczXHUyMDc0XHUyMDc1XHUyMDc2XHUyMDc3XHUyMDc4XHUyMDc5XHUyMDdBXHUyMDdCXHUyMDdDXHUyMDdEXHUyMDdFXHUyMDdGXHUyMDgwXHUyMDgxXHUyMDgyXHUyMDgzXHUyMDg0XHUyMDg1XHUyMDg2XHUyMDg3XHUyMDg4XHUyMDg5XHUyMDhBXHUyMDhCXHUyMDhDXHUyMDhEXHUyMDhFXHUyMDhGXHUyMDkwXHUyMDkxXHUyMDkyXHUyMDkzXHUyMDk0XHUyMDk1XHUyMDk2XHUyMDk3XHUyMDk4XHUyMDk5XHUyMDlBXHUyMDlCXHUyMDlDXHUyMDlEXHUyMDlFXHUyMDlGXHUyMEEwXHUyMEExXHUyMEEyXHUyMEEzXHUyMEE0XHUyMEE1XHUyMEE2XHUyMEE3XHUyMEE4XHUyMEE5XHUyMEFBXHUyMEFCXHUyMEFDXHUyMEFEXHUyMEFFXHUyMEFGXHUyMEIwXHUyMEIxXHUyMEIyXHUyMEIzXHUyMEI0XHUyMEI1XHUyMEI2XHUyMEI3XHUyMEI4XHUyMEI5XHUyMEJBXHUyMEJCXHUyMEJDXHUyMEJEXHUyMEJFXHUyMEJGXHUyMEMwXHUyMEMxXHUyMEMyXHUyMEMzXHUyMEM0XHUyMEM1XHUyMEM2XHUyMEM3XHUyMEM4XHUyMEM5XHUyMENBXHUyMENCXHUyMENDXHUyMENEXHUyMENFXHUyMENGXHUyMEQwXHUyMEQxXHUyMEQyXHUyMEQzXHUyMEQ0XHUyMEQ1XHUyMEQ2XHUyMEQ3XHUyMEQ4XHUyMEQ5XHUyMERBXHUyMERCXHUyMERDXHUyMEREXHUyMERFXHUyMERGXHUyMEUwXHUyMEUxXHUyMEUyXHUyMEUzXHUyMEU0XHUyMEU1XHUyMEU2XHUyMEU3XHUyMEU4XHUyMEU5XHUyMEVBXHUyMEVCXHUyMEVDXHUyMEVEXHUyMEVFXHUyMEVGXHUyMEYwXHUyMEYxXHUyMEYyXHUyMEYzXHUyMEY0XHUyMEY1XHUyMEY2XHUyMEY3XHUyMEY4XHUyMEY5XHUyMEZBXHUyMEZCXHUyMEZDXHUyMEZEXHUyMEZFXHUyMEZGXHUyMTAwXHUyMTAxXHUyMTAyXHUyMTAzXHUyMTA0XHUyMTA1XHUyMTA2XHUyMTA3XHUyMTA4XHUyMTA5XHUyMTBBXHUyMTBCXHUyMTBDXHUyMTBEXHUyMTBFXHUyMTBGXHUyMTEwXHUyMTExXHUyMTEyXHUyMTEzXHUyMTE0XHUyMTE1XHUyMTE2XHUyMTE3XHUyMTE4XHUyMTE5XHUyMTFBXHUyMTFCXHUyMTFDXHUyMTFEXHUyMTFFXHUyMTFGXHUyMTIwXHUyMTIxXHUyMTIyXHUyMTIzXHUyMTI0XHUyMTI1XHUyMTI2XHUyMTI3XHUyMTI4XHUyMTI5XHUyMTJBXHUyMTJCXHUyMTJDXHUyMTJEXHUyMTJFXHUyMTJGXHUyMTMwXHUyMTMxXHUyMTMyXHUyMTMzXHUyMTM0XHUyMTM1XHUyMTM2XHUyMTM3XHUyMTM4XHUyMTM5XHUyMTNBXHUyMTNCXHUyMTNDXHUyMTNEXHUyMTNFXHUyMTNGXHUyMTQwXHUyMTQxXHUyMTQyXHUyMTQzXHUyMTQ0XHUyMTQ1XHUyMTQ2XHUyMTQ3XHUyMTQ4XHUyMTQ5XHUyMTRBXHUyMTRCXHUyMTRDXHUyMTREXHUyMTRFXHUyMTRGXHUyMTUwXHUyMTUxXHUyMTUyXHUyMTUzXHUyMTU0XHUyMTU1XHUyMTU2XHUyMTU3XHUyMTU4XHUyMTU5XHUyMTVBXHUyMTVCXHUyMTVDXHUyMTVEXHUyMTVFXHUyMTVGXHUyMTYwXHUyMTYxXHUyMTYyXHUyMTYzXHUyMTY0XHUyMTY1XHUyMTY2XHUyMTY3XHUyMTY4XHUyMTY5XHUyMTZBXHUyMTZCXHUyMTZDXHUyMTZEXHUyMTZFXHUyMTZGXHUyMTcwXHUyMTcxXHUyMTcyXHUyMTczXHUyMTc0XHUyMTc1XHUyMTc2XHUyMTc3XHUyMTc4XHUyMTc5XHUyMTdBXHUyMTdCXHUyMTdDXHUyMTdEXHUyMTdFXHUyMTdGXHUyMTgwXHUyMTgxXHUyMTgyXHUyMTgzXHUyMTg0XHUyMTg1XHUyMTg2XHUyMTg3XHUyMTg4XHUyMTg5XHUyMThBXHUyMThCXHUyMThDXHUyMThEXHUyMThFXHUyMThGXHUyMTkwXHUyMTkxXHUyMTkyXHUyMTkzXHUyMTk0XHUyMTk1XHUyMTk2XHUyMTk3XHUyMTk4XHUyMTk5XHUyMTlBXHUyMTlCXHUyMTlDXHUyMTlEXHUyMTlFXHUyMTlGXHUyMUEwXHUyMUExXHUyMUEyXHUyMUEzXHUyMUE0XHUyMUE1XHUyMUE2XHUyMUE3XHUyMUE4XHUyMUE5XHUyMUFBXHUyMUFCXHUyMUFDXHUyMUFEXHUyMUFFXHUyMUFGXHUyMUIwXHUyMUIxXHUyMUIyXHUyMUIzXHUyMUI0XHUyMUI1XHUyMUI2XHUyMUI3XHUyMUI4XHUyMUI5XHUyMUJBXHUyMUJCXHUyMUJDXHUyMUJEXHUyMUJFXHUyMUJGXHUyMUMwXHUyMUMxXHUyMUMyXHUyMUMzXHUyMUM0XHUyMUM1XHUyMUM2XHUyMUM3XHUyMUM4XHUyMUM5XHUyMUNBXHUyMUNCXHUyMUNDXHUyMUNEXHUyMUNFXHUyMUNGXHUyMUQwXHUyMUQxXHUyMUQyXHUyMUQzXHUyMUQ0XHUyMUQ1XHUyMUQ2XHUyMUQ3XHUyMUQ4XHUyMUQ5XHUyMURBXHUyMURCXHUyMURDXHUyMUREXHUyMURFXHUyMURGXHUyMUUwXHUyMUUxXHUyMUUyXHUyMUUzXHUyMUU0XHUyMUU1XHUyMUU2XHUyMUU3XHUyMUU4XHUyMUU5XHUyMUVBXHUyMUVCXHUyMUVDXHUyMUVEXHUyMUVFXHUyMUVGXHUyMUYwXHUyMUYxXHUyMUYyXHUyMUYzXHUyMUY0XHUyMUY1XHUyMUY2XHUyMUY3XHUyMUY4XHUyMUY5XHUyMUZBXHUyMUZCXHUyMUZDXHUyMUZEXHUyMUZFXHUyMUZGXHUyMjAwXHUyMjAxXHUyMjAyXHUyMjAzXHUyMjA0XHUyMjA1XHUyMjA2XHUyMjA3XHUyMjA4XHUyMjA5XHUyMjBBXHUyMjBCXHUyMjBDXHUyMjBEXHUyMjBFXHUyMjBGXHUyMjEwXHUyMjExXHUyMjEyXHUyMjEzXHUyMjE0XHUyMjE1XHUyMjE2XHUyMjE3XHUyMjE4XHUyMjE5XHUyMjFBXHUyMjFCXHUyMjFDXHUyMjFEXHUyMjFFXHUyMjFGXHUyMjIwXHUyMjIxXHUyMjIyXHUyMjIzXHUyMjI0XHUyMjI1XHUyMjI2XHUyMjI3XHUyMjI4XHUyMjI5XHUyMjJBXHUyMjJCXHUyMjJDXHUyMjJEXHUyMjJFXHUyMjJGXHUyMjMwXHUyMjMxXHUyMjMyXHUyMjMzXHUyMjM0XHUyMjM1XHUyMjM2XHUyMjM3XHUyMjM4XHUyMjM5XHUyMjNBXHUyMjNCXHUyMjNDXHUyMjNEXHUyMjNFXHUyMjNGXHUyMjQwXHUyMjQxXHUyMjQyXHUyMjQzXHUyMjQ0XHUyMjQ1XHUyMjQ2XHUyMjQ3XHUyMjQ4XHUyMjQ5XHUyMjRBXHUyMjRCXHUyMjRDXHUyMjREXHUyMjRFXHUyMjRGXHUyMjUwXHUyMjUxXHUyMjUyXHUyMjUzXHUyMjU0XHUyMjU1XHUyMjU2XHUyMjU3XHUyMjU4XHUyMjU5XHUyMjVBXHUyMjVCXHUyMjVDXHUyMjVEXHUyMjVFXHUyMjVGXHUyMjYwXHUyMjYxXHUyMjYyXHUyMjYzXHUyMjY0XHUyMjY1XHUyMjY2XHUyMjY3XHUyMjY4XHUyMjY5XHUyMjZBXHUyMjZCXHUyMjZDXHUyMjZEXHUyMjZFXHUyMjZGXHUyMjcwXHUyMjcxXHUyMjcyXHUyMjczXHUyMjc0XHUyMjc1XHUyMjc2XHUyMjc3XHUyMjc4XHUyMjc5XHUyMjdBXHUyMjdCXHUyMjdDXHUyMjdEXHUyMjdFXHUyMjdGXHUyMjgwXHUyMjgxXHUyMjgyXHUyMjgzXHUyMjg0XHUyMjg1XHUyMjg2XHUyMjg3XHUyMjg4XHUyMjg5XHUyMjhBXHUyMjhCXHUyMjhDXHUyMjhEXHUyMjhFXHUyMjhGXHUyMjkwXHUyMjkxXHUyMjkyXHUyMjkzXHUyMjk0XHUyMjk1XHUyMjk2XHUyMjk3XHUyMjk4XHUyMjk5XHUyMjlBXHUyMjlCXHUyMjlDXHUyMjlEXHUyMjlFXHUyMjlGXHUyMkEwXHUyMkExXHUyMkEyXHUyMkEzXHUyMkE0XHUyMkE1XHUyMkE2XHUyMkE3XHUyMkE4XHUyMkE5XHUyMkFBXHUyMkFCXHUyMkFDXHUyMkFEXHUyMkFFXHUyMkFGXHUyMkIwXHUyMkIxXHUyMkIyXHUyMkIzXHUyMkI0XHUyMkI1XHUyMkI2XHUyMkI3XHUyMkI4XHUyMkI5XHUyMkJBXHUyMkJCXHUyMkJDXHUyMkJEXHUyMkJFXHUyMkJGXHUyMkMwXHUyMkMxXHUyMkMyXHUyMkMzXHUyMkM0XHUyMkM1XHUyMkM2XHUyMkM3XHUyMkM4XHUyMkM5XHUyMkNBXHUyMkNCXHUyMkNDXHUyMkNEXHUyMkNFXHUyMkNGXHUyMkQwXHUyMkQxXHUyMkQyXHUyMkQzXHUyMkQ0XHUyMkQ1XHUyMkQ2XHUyMkQ3XHUyMkQ4XHUyMkQ5XHUyMkRBXHUyMkRCXHUyMkRDXHUyMkREXHUyMkRFXHUyMkRGXHUyMkUwXHUyMkUxXHUyMkUyXHUyMkUzXHUyMkU0XHUyMkU1XHUyMkU2XHUyMkU3XHUyMkU4XHUyMkU5XHUyMkVBXHUyMkVCXHUyMkVDXHUyMkVEXHUyMkVFXHUyMkVGXHUyMkYwXHUyMkYxXHUyMkYyXHUyMkYzXHUyMkY0XHUyMkY1XHUyMkY2XHUyMkY3XHUyMkY4XHUyMkY5XHUyMkZBXHUyMkZCXHUyMkZDXHUyMkZEXHUyMkZFXHUyMkZGXHUyMzAwXHUyMzAxXHUyMzAyXHUyMzAzXHUyMzA0XHUyMzA1XHUyMzA2XHUyMzA3XHUyMzA4XHUyMzA5XHUyMzBBXHUyMzBCXHUyMzBDXHUyMzBEXHUyMzBFXHUyMzBGXHUyMzEwXHUyMzExXHUyMzEyXHUyMzEzXHUyMzE0XHUyMzE1XHUyMzE2XHUyMzE3XHUyMzE4XHUyMzE5XHUyMzFBXHUyMzFCXHUyMzFDXHUyMzFEXHUyMzFFXHUyMzFGXHUyMzIwXHUyMzIxXHUyMzIyXHUyMzIzXHUyMzI0XHUyMzI1XHUyMzI2XHUyMzI3XHUyMzI4XHUyMzI5XHUyMzJBXHUyMzJCXHUyMzJDXHUyMzJEXHUyMzJFXHUyMzJGXHUyMzMwXHUyMzMxXHUyMzMyXHUyMzMzXHUyMzM0XHUyMzM1XHUyMzM2XHUyMzM3XHUyMzM4XHUyMzM5XHUyMzNBXHUyMzNCXHUyMzNDXHUyMzNEXHUyMzNFXHUyMzNGXHUyMzQwXHUyMzQxXHUyMzQyXHUyMzQzXHUyMzQ0XHUyMzQ1XHUyMzQ2XHUyMzQ3XHUyMzQ4XHUyMzQ5XHUyMzRBXHUyMzRCXHUyMzRDXHUyMzREXHUyMzRFXHUyMzRGXHUyMzUwXHUyMzUxXHUyMzUyXHUyMzUzXHUyMzU0XHUyMzU1XHUyMzU2XHUyMzU3XHUyMzU4XHUyMzU5XHUyMzVBXHUyMzVCXHUyMzVDXHUyMzVEXHUyMzVFXHUyMzVGXHUyMzYwXHUyMzYxXHUyMzYyXHUyMzYzXHUyMzY0XHUyMzY1XHUyMzY2XHUyMzY3XHUyMzY4XHUyMzY5XHUyMzZBXHUyMzZCXHUyMzZDXHUyMzZEXHUyMzZFXHUyMzZGXHUyMzcwXHUyMzcxXHUyMzcyXHUyMzczXHUyMzc0XHUyMzc1XHUyMzc2XHUyMzc3XHUyMzc4XHUyMzc5XHUyMzdBXHUyMzdCXHUyMzdDXHUyMzdEXHUyMzdFXHUyMzdGXHUyMzgwXHUyMzgxXHUyMzgyXHUyMzgzXHUyMzg0XHUyMzg1XHUyMzg2XHUyMzg3XHUyMzg4XHUyMzg5XHUyMzhBXHUyMzhCXHUyMzhDXHUyMzhEXHUyMzhFXHUyMzhGXHUyMzkwXHUyMzkxXHUyMzkyXHUyMzkzXHUyMzk0XHUyMzk1XHUyMzk2XHUyMzk3XHUyMzk4XHUyMzk5XHUyMzlBXHUyMzlCXHUyMzlDXHUyMzlEXHUyMzlFXHUyMzlGXHUyM0EwXHUyM0ExXHUyM0EyXHUyM0EzXHUyM0E0XHUyM0E1XHUyM0E2XHUyM0E3XHUyM0E4XHUyM0E5XHUyM0FBXHUyM0FCXHUyM0FDXHUyM0FEXHUyM0FFXHUyM0FGXHUyM0IwXHUyM0IxXHUyM0IyXHUyM0IzXHUyM0I0XHUyM0I1XHUyM0I2XHUyM0I3XHUyM0I4XHUyM0I5XHUyM0JBXHUyM0JCXHUyM0JDXHUyM0JEXHUyM0JFXHUyM0JGXHUyM0MwXHUyM0MxXHUyM0MyXHUyM0MzXHUyM0M0XHUyM0M1XHUyM0M2XHUyM0M3XHUyM0M4XHUyM0M5XHUyM0NBXHUyM0NCXHUyM0NDXHUyM0NEXHUyM0NFXHUyM0NGXHUyM0QwXHUyM0QxXHUyM0QyXHUyM0QzXHUyM0Q0XHUyM0Q1XHUyM0Q2XHUyM0Q3XHUyM0Q4XHUyM0Q5XHUyM0RBXHUyM0RCXHUyM0RDXHUyM0REXHUyM0RFXHUyM0RGXHUyM0UwXHUyM0UxXHUyM0UyXHUyM0UzXHUyM0U0XHUyM0U1XHUyM0U2XHUyM0U3XHUyM0U4XHUyM0U5XHUyM0VBXHUyM0VCXHUyM0VDXHUyM0VEXHUyM0VFXHUyM0VGXHUyM0YwXHUyM0YxXHUyM0YyXHUyM0YzXHUyM0Y0XHUyM0Y1XHUyM0Y2XHUyM0Y3XHUyM0Y4XHUyM0Y5XHUyM0ZBXHUyM0ZCXHUyM0ZDXHUyM0ZEXHUyM0ZFXHUyM0ZGIjsKaWYgKGk4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDFcdTMwMDJcdTMwMDNcdTMwMDRcdTMwMDVcdTMwMDZcdTMwMDdcdTMwMDhcdTMwMDlcdTMwMEFcdTMwMEJcdTMwMENcdTMwMERcdTMwMEVcdTMwMEZcdTMwMTBcdTMwMTFcdTMwMTJcdTMwMTNcdTMwMTRcdTMwMTVcdTMwMTZcdTMwMTdcdTMwMThcdTMwMTlcdTMwMUFcdTMwMUJcdTMwMUNcdTMwMURcdTMwMUVcdTMwMUZcdTMwMjBcdTMwMjFcdTMwMjJcdTMwMjNcdTMwMjRcdTMwMjVcdTMwMjZcdTMwMjdcdTMwMjhcdTMwMjlcdTMwMkFcdTMwMkJcdTMwMkNcdTMwMkRcdTMwMkVcdTMwMkZcdTMwMzBcdTMwMzFcdTMwMzJcdTMwMzNcdTMwMzRcdTMwMzVcdTMwMzZcdTMwMzdcdTMwMzhcdTMwMzlcdTMwM0FcdTMwM0JcdTMwM0NcdTMwM0RcdTMwM0VcdTMwM0ZcdTMwNDBcdTMwNDFcdTMwNDJcdTMwNDNcdTMwNDRcdTMwNDVcdTMwNDZcdTMwNDdcdTMwNDhcdTMwNDlcdTMwNEFcdTMwNEJcdTMwNENcdTMwNERcdTMwNEVcdTMwNEZcdTMwNTBcdTMwNTFcdTMwNTJcdTMwNTNcdTMwNTRcdTMwNTVcdTMwNTZcdTMwNTdcdTMwNThcdTMwNTlcdTMwNUFcdTMwNUJcdTMwNUNcdTMwNURcdTMwNUVcdTMwNUZcdTMwNjBcdTMwNjFcdTMwNjJcdTMwNjNcdTMwNjRcdTMwNjVcdTMwNjZcdTMwNjdcdTMwNjhcdTMwNjlcdTMwNkFcdTMwNkJcdTMwNkNcdTMwNkRcdTMwNkVcdTMwNkZcdTMwNzBcdTMwNzFcdTMwNzJcdTMwNzNcdTMwNzRcdTMwNzVcdTMwNzZcdTMwNzdcdTMwNzhcdTMwNzlcdTMwN0FcdTMwN0JcdTMwN0NcdTMwN0RcdTMwN0VcdTMwN0ZcdTMwODBcdTMwODFcdTMwODJcdTMwODNcdTMwODRcdTMwODVcdTMwODZcdTMwODdcdTMwODhcdTMwODlcdTMwOEFcdTMwOEJcdTMwOENcdTMwOERcdTMwOEVcdTMwOEZcdTMwOTBcdTMwOTFcdTMwOTJcdTMwOTNcdTMwOTRcdTMwOTVcdTMwOTZcdTMwOTdcdTMwOThcdTMwOTlcdTMwOUFcdTMwOUJcdTMwOUNcdTMwOURcdTMwOUVcdTMwOUZcdTMwQTBcdTMwQTFcdTMwQTJcdTMwQTNcdTMwQTRcdTMwQTVcdTMwQTZcdTMwQTdcdTMwQThcdTMwQTlcdTMwQUFcdTMwQUJcdTMwQUNcdTMwQURcdTMwQUVcdTMwQUZcdTMwQjBcdTMwQjFcdTMwQjJcdTMwQjNcdTMwQjRcdTMwQjVcdTMwQjZcdTMwQjdcdTMwQjhcdTMwQjlcdTMwQkFcdTMwQkJcdTMwQkNcdTMwQkRcdTMwQkVcdTMwQkZcdTMwQzBcdTMwQzFcdTMwQzJcdTMwQzNcdTMwQzRcdTMwQzVcdTMwQzZcdTMwQzdcdTMwQzhcdTMwQzlcdTMwQ0FcdTMwQ0JcdTMwQ0NcdTMwQ0RcdTMwQ0VcdTMwQ0ZcdTMwRDBcdTMwRDFcdTMwRDJcdTMwRDNcdTMwRDRcdTMwRDVcdTMwRDZcdTMwRDdcdTMwRDhcdTMwRDlcdTMwREFcdTMwREJcdTMwRENcdTMwRERcdTMwREVcdTMwREZcdTMwRTBcdTMwRTFcdTMwRTJcdTMwRTNcdTMwRTRcdTMwRTVcdTMwRTZcdTMwRTdcdTMwRThcdTMwRTlcdTMwRUFcdTMwRUJcdTMwRUNcdTMwRURcdTMwRUVcdTMwRUZcdTMwRjBcdTMwRjFcdTMwRjJcdTMwRjNcdTMwRjRcdTMwRjVcdTMwRjZcdTMwRjdcdTMwRjhcdTMwRjlcdTMwRkFcdTMwRkJcdTMwRkNcdTMwRkRcdTMwRkVcdTMwRkZcdTMxMDBcdTMxMDFcdTMxMDJcdTMxMDNcdTMxMDRcdTMxMDVcdTMxMDZcdTMxMDdcdTMxMDhcdTMxMDlcdTMxMEFcdTMxMEJcdTMxMENcdTMxMERcdTMxMEVcdTMxMEZcdTMxMTBcdTMxMTFcdTMxMTJcdTMxMTNcdTMxMTRcdTMxMTVcdTMxMTZcdTMxMTdcdTMxMThcdTMxMTlcdTMxMUFcdTMxMUJcdTMxMUNcdTMxMURcdTMxMUVcdTMxMUZcdTMxMjBcdTMxMjFcdTMxMjJcdTMxMjNcdTMxMjRcdTMxMjVcdTMxMjZcdTMxMjdcdTMxMjhcdTMxMjlcdTMxMkFcdTMxMkJcdTMxMkNcdTMxMkRcdTMxMkVcdTMxMkZcdTMxMzBcdTMxMzFcdTMxMzJcdTMxMzNcdTMxMzRcdTMxMzVcdTMxMzZcdTMxMzdcdTMxMzhcdTMxMzlcdTMxM0FcdTMxM0JcdTMxM0NcdTMxM0RcdTMxM0VcdTMxM0ZcdTMxNDBcdTMxNDFcdTMxNDJcdTMxNDNcdTMxNDRcdTMxNDVcdTMxNDZcdTMxNDdcdTMxNDhcdTMxNDlcdTMxNEFcdTMxNEJcdTMxNENcdTMxNERcdTMxNEVcdTMxNEZcdTMxNTBcdTMxNTFcdTMxNTJcdTMxNTNcdTMxNTRcdTMxNTVcdTMxNTZcdTMxNTdcdTMxNThcdTMxNTlcdTMxNUFcdTMxNUJcdTMxNUNcdTMxNURcdTMxNUVcdTMxNUZcdTMxNjBcdTMxNjFcdTMxNjJcdTMxNjNcdTMxNjRcdTMxNjVcdTMxNjZcdTMxNjdcdTMxNjhcdTMxNjlcdTMxNkFcdTMxNkJcdTMxNkNcdTMxNkRcdTMxNkVcdTMxNkZcdTMxNzBcdTMxNzFcdTMxNzJcdTMxNzNcdTMxNzRcdTMxNzVcdTMxNzZcdTMxNzdcdTMxNzhcdTMxNzlcdTMxN0FcdTMxN0JcdTMxN0NcdTMxN0RcdTMxN0VcdTMxN0ZcdTMxODBcdTMxODFcdTMxODJcdTMxODNcdTMxODRcdTMxODVcdTMxODZcdTMxODdcdTMxODhcdTMxODlcdTMxOEFcdTMxOEJcdTMxOENcdTMxOERcdTMxOEVcdTMxOEZcdTMxOTBcdTMxOTFcdTMxOTJcdTMxOTNcdTMxOTRcdTMxOTVcdTMxOTZcdTMxOTdcdTMxOThcdTMxOTlcdTMxOUFcdTMxOUJcdTMxOUNcdTMxOURcdTMxOUVcdTMxOUZcdTMxQTBcdTMxQTFcdTMxQTJcdTMxQTNcdTMxQTRcdTMxQTVcdTMxQTZcdTMxQTdcdTMxQThcdTMxQTlcdTMxQUFcdTMxQUJcdTMxQUNcdTMxQURcdTMxQUVcdTMxQUZcdTMxQjBcdTMxQjFcdTMxQjJcdTMxQjNcdTMxQjRcdTMxQjVcdTMxQjZcdTMxQjdcdTMxQjhcdTMxQjlcdTMxQkFcdTMxQkJcdTMxQkNcdTMxQkRcdTMxQkVcdTMxQkZcdTMxQzBcdTMxQzFcdTMxQzJcdTMxQzNcdTMxQzRcdTMxQzVcdTMxQzZcdTMxQzdcdTMxQzhcdTMxQzlcdTMxQ0FcdTMxQ0JcdTMxQ0NcdTMxQ0RcdTMxQ0VcdTMxQ0ZcdTMxRDBcdTMxRDFcdTMxRDJcdTMxRDNcdTMxRDRcdTMxRDVcdTMxRDZcdTMxRDdcdTMxRDhcdTMxRDlcdTMxREFcdTMxREJcdTMxRENcdTMxRERcdTMxREVcdTMxREZcdTMxRTBcdTMxRTFcdTMxRTJcdTMxRTNcdTMxRTRcdTMxRTVcdTMxRTZcdTMxRTdcdTMxRThcdTMxRTlcdTMxRUFcdTMxRUJcdTMxRUNcdTMxRURcdTMxRUVcdTMxRUZcdTMxRjBcdTMxRjFcdTMxRjJcdTMxRjNcdTMxRjRcdTMxRjVcdTMxRjZcdTMxRjdcdTMxRjhcdTMxRjlcdTMxRkFcdTMxRkJcdTMxRkNcdTMxRkRcdTMxRkVcdTMxRkZcdTMyMDBcdTMyMDFcdTMyMDJcdTMyMDNcdTMyMDRcdTMyMDVcdTMyMDZcdTMyMDdcdTMyMDhcdTMyMDlcdTMyMEFcdTMyMEJcdTMyMENcdTMyMERcdTMyMEVcdTMyMEZcdTMyMTBcdTMyMTFcdTMyMTJcdTMyMTNcdTMyMTRcdTMyMTVcdTMyMTZcdTMyMTdcdTMyMThcdTMyMTlcdTMyMUFcdTMyMUJcdTMyMUNcdTMyMURcdTMyMUVcdTMyMUZcdTMyMjBcdTMyMjFcdTMyMjJcdTMyMjNcdTMyMjRcdTMyMjVcdTMyMjZcdTMyMjdcdTMyMjhcdTMyMjlcdTMyMkFcdTMyMkJcdTMyMkNcdTMyMkRcdTMyMkVcdTMyMkZcdTMyMzBcdTMyMzFcdTMyMzJcdTMyMzNcdTMyMzRcdTMyMzVcdTMyMzZcdTMyMzdcdTMyMzhcdTMyMzlcdTMyM0FcdTMyM0JcdTMyM0NcdTMyM0RcdTMyM0VcdTMyM0ZcdTMyNDBcdTMyNDFcdTMyNDJcdTMyNDNcdTMyNDRcdTMyNDVcdTMyNDZcdTMyNDdcdTMyNDhcdTMyNDlcdTMyNEFcdTMyNEJcdTMyNENcdTMyNERcdTMyNEVcdTMyNEZcdTMyNTBcdTMyNTFcdTMyNTJcdTMyNTNcdTMyNTRcdTMyNTVcdTMyNTZcdTMyNTdcdTMyNThcdTMyNTlcdTMyNUFcdTMyNUJcdTMyNUNcdTMyNURcdTMyNUVcdTMyNUZcdTMyNjBcdTMyNjFcdTMyNjJcdTMyNjNcdTMyNjRcdTMyNjVcdTMyNjZcdTMyNjdcdTMyNjhcdTMyNjlcdTMyNkFcdTMyNkJcdTMyNkNcdTMyNkRcdTMyNkVcdTMyNkZcdTMyNzBcdTMyNzFcdTMyNzJcdTMyNzNcdTMyNzRcdTMyNzVcdTMyNzZcdTMyNzdcdTMyNzhcdTMyNzlcdTMyN0FcdTMyN0JcdTMyN0NcdTMyN0RcdTMyN0VcdTMyN0ZcdTMyODBcdTMyODFcdTMyODJcdTMyODNcdTMyODRcdTMyODVcdTMyODZcdTMyODdcdTMyODhcdTMyODlcdTMyOEFcdTMyOEJcdTMyOENcdTMyOERcdTMyOEVcdTMyOEZcdTMyOTBcdTMyOTFcdTMyOTJcdTMyOTNcdTMyOTRcdTMyOTVcdTMyOTZcdTMyOTdcdTMyOThcdTMyOTlcdTMyOUFcdTMyOUJcdTMyOUNcdTMyOURcdTMyOUVcdTMyOUZcdTMyQTBcdTMyQTFcdTMyQTJcdTMyQTNcdTMyQTRcdTMyQTVcdTMyQTZcdTMyQTdcdTMyQThcdTMyQTlcdTMyQUFcdTMyQUJcdTMyQUNcdTMyQURcdTMyQUVcdTMyQUZcdTMyQjBcdTMyQjFcdTMyQjJcdTMyQjNcdTMyQjRcdTMyQjVcdTMyQjZcdTMyQjdcdTMyQjhcdTMyQjlcdTMyQkFcdTMyQkJcdTMyQkNcdTMyQkRcdTMyQkVcdTMyQkZcdTMyQzBcdTMyQzFcdTMyQzJcdTMyQzNcdTMyQzRcdTMyQzVcdTMyQzZcdTMyQzdcdTMyQzhcdTMyQzlcdTMyQ0FcdTMyQ0JcdTMyQ0NcdTMyQ0RcdTMyQ0VcdTMyQ0ZcdTMyRDBcdTMyRDFcdTMyRDJcdTMyRDNcdTMyRDRcdTMyRDVcdTMyRDZcdTMyRDdcdTMyRDhcdTMyRDlcdTMyREFcdTMyREJcdTMyRENcdTMyRERcdTMyREVcdTMyREZcdTMyRTBcdTMyRTFcdTMyRTJcdTMyRTNcdTMyRTRcdTMyRTVcdTMyRTZcdTMyRTdcdTMyRThcdTMyRTlcdTMyRUFcdTMyRUJcdTMyRUNcdTMyRURcdTMyRUVcdTMyRUZcdTMyRjBcdTMyRjFcdTMyRjJcdTMyRjNcdTMyRjRcdTMyRjVcdTMyRjZcdTMyRjdcdTMyRjhcdTMyRjlcdTMyRkFcdTMyRkJcdTMyRkNcdTMyRkRcdTMyRkVcdTMyRkZcdTMzMDBcdTMzMDFcdTMzMDJcdTMzMDNcdTMzMDRcdTMzMDVcdTMzMDZcdTMzMDdcdTMzMDhcdTMzMDlcdTMzMEFcdTMzMEJcdTMzMENcdTMzMERcdTMzMEVcdTMzMEZcdTMzMTBcdTMzMTFcdTMzMTJcdTMzMTNcdTMzMTRcdTMzMTVcdTMzMTZcdTMzMTdcdTMzMThcdTMzMTlcdTMzMUFcdTMzMUJcdTMzMUNcdTMzMURcdTMzMUVcdTMzMUZcdTMzMjBcdTMzMjFcdTMzMjJcdTMzMjNcdTMzMjRcdTMzMjVcdTMzMjZcdTMzMjdcdTMzMjhcdTMzMjlcdTMzMkFcdTMzMkJcdTMzMkNcdTMzMkRcdTMzMkVcdTMzMkZcdTMzMzBcdTMzMzFcdTMzMzJcdTMzMzNcdTMzMzRcdTMzMzVcdTMzMzZcdTMzMzdcdTMzMzhcdTMzMzlcdTMzM0FcdTMzM0JcdTMzM0NcdTMzM0RcdTMzM0VcdTMzM0ZcdTMzNDBcdTMzNDFcdTMzNDJcdTMzNDNcdTMzNDRcdTMzNDVcdTMzNDZcdTMzNDdcdTMzNDhcdTMzNDlcdTMzNEFcdTMzNEJcdTMzNENcdTMzNERcdTMzNEVcdTMzNEZcdTMzNTBcdTMzNTFcdTMzNTJcdTMzNTNcdTMzNTRcdTMzNTVcdTMzNTZcdTMzNTdcdTMzNThcdTMzNTlcdTMzNUFcdTMzNUJcdTMzNUNcdTMzNURcdTMzNUVcdTMzNUZcdTMzNjBcdTMzNjFcdTMzNjJcdTMzNjNcdTMzNjRcdTMzNjVcdTMzNjZcdTMzNjdcdTMzNjhcdTMzNjlcdTMzNkFcdTMzNkJcdTMzNkNcdTMzNkRcdTMzNkVcdTMzNkZcdTMzNzBcdTMzNzFcdTMzNzJcdTMzNzNcdTMzNzRcdTMzNzVcdTMzNzZcdTMzNzdcdTMzNzhcdTMzNzlcdTMzN0FcdTMzN0JcdTMzN0NcdTMzN0RcdTMzN0VcdTMzN0ZcdTMzODBcdTMzODFcdTMzODJcdTMzODNcdTMzODRcdTMzODVcdTMzODZcdTMzODdcdTMzODhcdTMzODlcdTMzOEFcdTMzOEJcdTMzOENcdTMzOERcdTMzOEVcdTMzOEZcdTMzOTBcdTMzOTFcdTMzOTJcdTMzOTNcdTMzOTRcdTMzOTVcdTMzOTZcdTMzOTdcdTMzOThcdTMzOTlcdTMzOUFcdTMzOUJcdTMzOUNcdTMzOURcdTMzOUVcdTMzOUZcdTMzQTBcdTMzQTFcdTMzQTJcdTMzQTNcdTMzQTRcdTMzQTVcdTMzQTZcdTMzQTdcdTMzQThcdTMzQTlcdTMzQUFcdTMzQUJcdTMzQUNcdTMzQURcdTMzQUVcdTMzQUZcdTMzQjBcdTMzQjFcdTMzQjJcdTMzQjNcdTMzQjRcdTMzQjVcdTMzQjZcdTMzQjdcdTMzQjhcdTMzQjlcdTMzQkFcdTMzQkJcdTMzQkNcdTMzQkRcdTMzQkVcdTMzQkZcdTMzQzBcdTMzQzFcdTMzQzJcdTMzQzNcdTMzQzRcdTMzQzVcdTMzQzZcdTMzQzdcdTMzQzhcdTMzQzlcdTMzQ0FcdTMzQ0JcdTMzQ0NcdTMzQ0RcdTMzQ0VcdTMzQ0ZcdTMzRDBcdTMzRDFcdTMzRDJcdTMzRDNcdTMzRDRcdTMzRDVcdTMzRDZcdTMzRDdcdTMzRDhcdTMzRDlcdTMzREFcdTMzREJcdTMzRENcdTMzRERcdTMzREVcdTMzREZcdTMzRTBcdTMzRTFcdTMzRTJcdTMzRTNcdTMzRTRcdTMzRTVcdTMzRTZcdTMzRTdcdTMzRThcdTMzRTlcdTMzRUFcdTMzRUJcdTMzRUNcdTMzRURcdTMzRUVcdTMzRUZcdTMzRjBcdTMzRjFcdTMzRjJcdTMzRjNcdTMzRjRcdTMzRjVcdTMzRjZcdTMzRjdcdTMzRjhcdTMzRjlcdTMzRkFcdTMzRkJcdTMzRkNcdTMzRkRcdTMzRkVcdTMzRkYiOwppZiAoaTEyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSBpMTM7CmlmIChpMTMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9IGkxNDsKaWYgKGkxNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTQpIHsKICAkRVJST1IoIiMxNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDM4MDAgYW5kIDNiZmYiKTsKfQoKdmFyIGkxNSA9ICIiOwpmb3IgKHZhciBqID0gMTUzNjA7IGogPCAxNjM4NDsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSBpMTY7CmlmIChpMTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDQ0MDAgYW5kIDQ3ZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gMTg0MzI7IGogPCAxOTQ1NjsgaisrKQogIGkxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4ID0gaTE4OwppZiAoaTE4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSBpMTk7CmlmIChpMTkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDUwMDAgYW5kIDUzZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gMjE1MDQ7IGogPCAyMjUyODsgaisrKQogIGkyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxID0gaTIxOwppZiAoaTIxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSBpMjI7CmlmIChpMjIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDVjMDAgYW5kIDVmZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gMjQ1NzY7IGogPCAyNTYwMDsgaisrKQogIGkyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0ID0gaTI0OwppZiAoaTI0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSBpMjU7CmlmIChpMjUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDY4MDAgYW5kIDZiZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gMjc2NDg7IGogPCAyODY3MjsgaisrKQogIGkyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI3ID0gaTI3OwppZiAoaTI3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSBpMjg7CmlmIChpMjgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDc0MDAgYW5kIDc3ZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjA7IGogPCAzMTc0NDsgaisrKQogIGkzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMwID0gaTMwOwppZiAoaTMwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSBpMzE7CmlmIChpMzEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDgwMDAgYW5kIDgzZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gMzM3OTI7IGogPCAzNDgxNjsgaisrKQogIGkzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMzID0gaTMzOwppZiAoaTMzLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSBpMzQ7CmlmIChpMzQucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDhjMDAgYW5kIDhmZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gMzY4NjQ7IGogPCAzNzg4ODsgaisrKQogIGkzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM2ID0gaTM2OwppZiAoaTM2LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSBpMzc7CmlmIChpMzcucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDk4MDAgYW5kIDliZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gMzk5MzY7IGogPCA0MDk2MDsgaisrKQogIGkzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM5ID0gaTM5OwppZiAoaTM5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSBpNDA7CmlmIChpNDAucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9IGk0MTsKaWYgKGk0MS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDEpIHsKICAkRVJST1IoIiM0MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGE0MDAgYW5kIGE3ZmYiKTsKfQoKdmFyIGk0MiA9ICIiOwpmb3IgKHZhciBqID0gNDMwMDg7IGogPCA0NDAzMjsgaisrKQogIGk0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQyID0gaTQyOwppZiAoaTQyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSBpNDM7CmlmIChpNDMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9IGk0NDsKaWYgKGk0NC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDQpIHsKICAkRVJST1IoIiM0NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGIwMDAgYW5kIGIzZmYiKTsKfQoKdmFyIGk0NSA9ICIiOwpmb3IgKHZhciBqID0gNDYwODA7IGogPCA0NzEwNDsgaisrKQogIGk0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ1ID0gaTQ1OwppZiAoaTQ1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSBpNDY7CmlmIChpNDYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9IGk0NzsKaWYgKGk0Ny5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDcpIHsKICAkRVJST1IoIiM0NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGJjMDAgYW5kIGJmZmYiKTsKfQoKdmFyIGk0OCA9ICIiOwpmb3IgKHZhciBqID0gNDkxNTI7IGogPCA1MDE3NjsgaisrKQogIGk0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ4ID0gaTQ4OwppZiAoaTQ4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSBpNDk7CmlmIChpNDkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9IGk1MDsKaWYgKGk1MC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTApIHsKICAkRVJST1IoIiM1MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGM4MDAgYW5kIGNiZmYiKTsKfQoKdmFyIGk1MSA9ICIiOwpmb3IgKHZhciBqID0gNTIyMjQ7IGogPCA1MzI0ODsgaisrKQogIGk1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUxID0gaTUxOwppZiAoaTUxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSBpNTI7CmlmIChpNTIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9IGk1MzsKaWYgKGk1My5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTMpIHsKICAkRVJST1IoIiM1MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGQ0MDAgYW5kIGQ3ZmYiKTsKfQoKdmFyIGk1NCA9ICIiOwpmb3IgKHZhciBqID0gNTUyOTY7IGogPCA1NjMyMDsgaisrKQogIGk1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU0ID0gaTU0OwppZiAoaTU0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSBpNTU7CmlmIChpNTUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9IGk1NjsKaWYgKGk1Ni5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTYpIHsKICAkRVJST1IoIiM1NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGUwMDAgYW5kIGUzZmYiKTsKfQoKdmFyIGk1NyA9ICIiOwpmb3IgKHZhciBqID0gNTgzNjg7IGogPCA1OTM5MjsgaisrKQogIGk1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU3ID0gaTU3OwppZiAoaTU3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSBpNTg7CmlmIChpNTgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9IGk1OTsKaWYgKGk1OS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTkpIHsKICAkRVJST1IoIiM1OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGVjMDAgYW5kIGVmZmYiKTsKfQoKdmFyIGk2MCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDA7IGogPCA2MjQ2NDsgaisrKQogIGk2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYwID0gaTYwOwppZiAoaTYwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSBpNjE7CmlmIChpNjEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9IGk2MjsKaWYgKGk2Mi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNjIpIHsKICAkRVJST1IoIiM2MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGY4MDAgYW5kIGZiZmYiKTsKfQoKdmFyIGk2MyA9ICIiOwpmb3IgKHZhciBqID0gNjQ1MTI7IGogPCA2NTUzNjsgaisrKSB7CiAgaWYgKGo9PT02NTI3OSkgeyBjb250aW51ZTt9IC8vSWdub3JlIEJPTQogIGk2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp9CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9ccy9nLCAiIikgIT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gTGluZVRlcm1pbmF0b3IKICovCgovL0NIRUNLIzEKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUwMDBBIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MDAwQSIpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MjAyOCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MjAyOCIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTIwMjgiKTsgYXJyWzBdID09PSAiXFx1MjAyOCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgovL0NIRUNLIzQKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUyMDI5Iik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUyMDI5IikpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MjAyOSIpOyBhcnJbMF0gPT09ICJcXHUyMDI5Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRU5HTElTSCBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUlVTU0lBTiBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCcpOwp9Cgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpcyAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIicKICovCgovL0NIRUNLIzEKdmFyIG5vbl9zID0gIjAxMjM0NTY3ODlfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwppZiAoL1xzLy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tcycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKdmFyIHJlZ2V4cF9zID0gL1xzL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9zLmV4ZWMobm9uX1MpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl9TLmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMyOiBub24tUycpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGl0ZVNwYWNlCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMTAyNDsgaisrKQogIGkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMCA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTAiOwppZiAoaTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzApIHsKICAkRVJST1IoIiMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMCBhbmQgM2ZmIik7Cn0KCnZhciBpMSA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDsgaiA8IDIwNDg7IGorKykKICBpMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEgPSAiIjsKaWYgKGkxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xKSB7CiAgJEVSUk9SKCIjMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMCBhbmQgN2ZmIik7Cn0KCnZhciBpMiA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODsgaiA8IDMwNzI7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSAiIjsKaWYgKGkyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDgwMCBhbmQgYmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjsgaiA8IDQwOTY7IGorKykKICBpMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMgPSAiIjsKaWYgKGkzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zKSB7CiAgJEVSUk9SKCIjMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGMwMCBhbmQgZmZmIik7Cn0KCnZhciBpNCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDUxMjA7IGorKykKICBpNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQgPSAiIjsKaWYgKGk0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80KSB7CiAgJEVSUk9SKCIjNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSA1MTIwOyBqIDwgNjE0NDsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9ICJcdTE2ODAiOwppZiAoaTUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMTQwMCBhbmQgMTdmZiIpOwp9Cgp2YXIgaTYgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQ7IGogPCA3MTY4OyBqKyspCiAgaTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82ID0gIlx1MTgwRSI7CmlmIChpNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNikgewogICRFUlJPUigiIzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAxODAwIGFuZCAxYmZmIik7Cn0KCnZhciBpNyA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDgxOTI7IGorKykKICBpNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcgPSAiIjsKaWYgKGk3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG83KSB7CiAgJEVSUk9SKCIjNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSA4MTkyOyBqIDwgOTIxNjsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9ICJcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUYiOwppZiAoaTgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjAwMCBhbmQgMjNmZiIpOwp9Cgp2YXIgaTkgPSAiIjsKZm9yICh2YXIgaiA9IDkyMTY7IGogPCAxMDI0MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9ICIiOwppZiAoaTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjQwMCBhbmQgMjdmZiIpOwp9Cgp2YXIgaTEwID0gIiI7CmZvciAodmFyIGogPSAxMDI0MDsgaiA8IDExMjY0OyBqKyspCiAgaTEwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTAgPSAiIjsKaWYgKGkxMC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDJiZmYiKTsKfQoKdmFyIGkxMSA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMjI4ODsgaisrKQogIGkxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExID0gIiI7CmlmIChpMTEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDAiOwppZiAoaTEyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSAiIjsKaWYgKGkxMy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGkxNCA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNTM2MDsgaisrKQogIGkxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0ID0gIiI7CmlmIChpMTQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9ICIiOwppZiAoaTE1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSAiIjsKaWYgKGkxNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxODQzMjsgaisrKQogIGkxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3ID0gIiI7CmlmIChpMTcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9ICIiOwppZiAoaTE4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSAiIjsKaWYgKGkxOS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMTUwNDsgaisrKQogIGkyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwID0gIiI7CmlmIChpMjAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9ICIiOwppZiAoaTIxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSAiIjsKaWYgKGkyMi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDViZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyNDU3NjsgaisrKQogIGkyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzID0gIiI7CmlmIChpMjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9ICIiOwppZiAoaTI0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSAiIjsKaWYgKGkyNS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDY0MDAgYW5kIDY3ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gMjY2MjQ7IGogPCAyNzY0ODsgaisrKQogIGkyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI2ID0gIiI7CmlmIChpMjYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9ICIiOwppZiAoaTI3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSAiIjsKaWYgKGkyOC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDcwMDAgYW5kIDczZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gMjk2OTY7IGogPCAzMDcyMDsgaisrKQogIGkyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI5ID0gIiI7CmlmIChpMjkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9ICIiOwppZiAoaTMwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSAiIjsKaWYgKGkzMS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDdjMDAgYW5kIDdmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gMzI3Njg7IGogPCAzMzc5MjsgaisrKQogIGkzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMyID0gIiI7CmlmIChpMzIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9ICIiOwppZiAoaTMzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSAiIjsKaWYgKGkzNC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDg4MDAgYW5kIDhiZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gMzU4NDA7IGogPCAzNjg2NDsgaisrKQogIGkzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM1ID0gIiI7CmlmIChpMzUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9ICIiOwppZiAoaTM2LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSAiIjsKaWYgKGkzNy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDk0MDAgYW5kIDk3ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gMzg5MTI7IGogPCAzOTkzNjsgaisrKQogIGkzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM4ID0gIiI7CmlmIChpMzgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9ICIiOwppZiAoaTM5LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSAiIjsKaWYgKGk0MC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGEwMDAgYW5kIGEzZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gNDE5ODQ7IGogPCA0MzAwODsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gIiI7CmlmIChpNDEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9ICIiOwppZiAoaTQyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSAiIjsKaWYgKGk0My5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGFjMDAgYW5kIGFmZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gNDUwNTY7IGogPCA0NjA4MDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gIiI7CmlmIChpNDQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9ICIiOwppZiAoaTQ1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSAiIjsKaWYgKGk0Ni5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGI4MDAgYW5kIGJiZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gNDgxMjg7IGogPCA0OTE1MjsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gIiI7CmlmIChpNDcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9ICIiOwppZiAoaTQ4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSAiIjsKaWYgKGk0OS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGM0MDAgYW5kIGM3ZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDA7IGogPCA1MjIyNDsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gIiI7CmlmIChpNTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9ICIiOwppZiAoaTUxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSAiIjsKaWYgKGk1Mi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGQwMDAgYW5kIGQzZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gNTQyNzI7IGogPCA1NTI5NjsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gIiI7CmlmIChpNTMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9ICIiOwppZiAoaTU0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSAiIjsKaWYgKGk1NS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGRjMDAgYW5kIGRmZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gNTczNDQ7IGogPCA1ODM2ODsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gIiI7CmlmIChpNTYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9ICIiOwppZiAoaTU3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSAiIjsKaWYgKGk1OC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGU4MDAgYW5kIGViZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gNjA0MTY7IGogPCA2MTQ0MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gIiI7CmlmIChpNTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9ICIiOwppZiAoaTYwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSAiIjsKaWYgKGk2MS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGY0MDAgYW5kIGY3ZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gNjM0ODg7IGogPCA2NDUxMjsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gIiI7CmlmIChpNjIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykgewogIGlmIChqPT09NjUyNzkpIHsgY29udGludWU7fSAvL0lnbm9yZSBCT00KICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKfQp2YXIgbzYzID0gIiI7CmlmIChpNjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9cUy9nLCAiIikgPT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBMaW5lVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTAwMEEiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUwMDBBIik7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUwMDBEIik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MDAwRCIpOyBhcnJbMF0gPT09ICJcXHUwMDBEIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUyMDI4Iik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MjAyOCIpOyBhcnJbMF0gPT09ICJcXHUyMDI4Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTIwMjkiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUyMDI5Iik7IGFyclswXSA9PT0gIlxcdTIwMjkiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGFscGhhID0gMHgwMDQxOyBhbHBoYSA8PSAweDAwNUE7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfUy5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGIAp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICIwMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVp+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3MgPSAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIic7CnZhciByZWdleHBfUyA9IC9cUy9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfUy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fcy5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLXMnKTsKfSAgCgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKaWYgKC9cUy8uZXhlYyhub25fUykgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLVMnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEEgLSBaCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMjU2OyBqKyspCiAgaTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8wID0gIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRlx1MDAyMFx1MDAyMVx1MDAyMlx1MDAyM1x1MDAyNFx1MDAyNVx1MDAyNlx1MDAyN1x1MDAyOFx1MDAyOVx1MDAyQVx1MDAyQlx1MDAyQ1x1MDAyRFx1MDAyRVx1MDAyRlx1MDAzQVx1MDAzQlx1MDAzQ1x1MDAzRFx1MDAzRVx1MDAzRlx1MDA0MFx1MDA1Qlx1MDA1Q1x1MDA1RFx1MDA1RVx1MDA2MFx1MDA3Qlx1MDA3Q1x1MDA3RFx1MDA3RVx1MDA3Rlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDBEMFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDBERVx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDBGMFx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDBGRVx1MDBGRiI7CmlmIChpMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMCkgewogICRFUlJPUigiIzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAwIGFuZCBmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDI1NjsgaiA8IDUxMjsgaisrKQogIGkxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMSA9IGkxOwppZiAoaTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzEpIHsKICAkRVJST1IoIiMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMTAwIGFuZCAxZmYiKTsKfQoKdmFyIGkyID0gIiI7CmZvciAodmFyIGogPSA1MTI7IGogPCA3Njg7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSBpMjsKaWYgKGkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMCBhbmQgMmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gNzY4OyBqIDwgMTAyNDsgaisrKQogIGkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMyA9IGkzOwppZiAoaTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzMpIHsKICAkRVJST1IoIiMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwIGFuZCAzZmYiKTsKfQoKdmFyIGk0ID0gIiI7CmZvciAodmFyIGogPSAxMDI0OyBqIDwgMTI4MDsgaisrKQogIGk0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNCA9IGk0OwppZiAoaTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQpIHsKICAkRVJST1IoIiM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwIGFuZCA0ZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSAxMjgwOyBqIDwgMTUzNjsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9IGk1OwppZiAoaTUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwIGFuZCA1ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSAxNTM2OyBqIDwgMTc5MjsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwIGFuZCA2ZmYiKTsKfQoKdmFyIGk3ID0gIiI7CmZvciAodmFyIGogPSAxNzkyOyBqIDwgMjA0ODsgaisrKQogIGk3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNyA9IGk3OwppZiAoaTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcpIHsKICAkRVJST1IoIiM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwIGFuZCA3ZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSAyMDQ4OyBqIDwgMjMwNDsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9IGk4OwppZiAoaTgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwIGFuZCA4ZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSAyMzA0OyBqIDwgMjU2MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9IGk5OwppZiAoaTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwIGFuZCA5ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDsgaiA8IDI4MTY7IGorKykKICBpMTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMCA9IGkxMDsKaWYgKGkxMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGEwMCBhbmQgYWZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDI4MTY7IGogPCAzMDcyOyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAzMDcyOyBqIDwgMzMyODsgaisrKQogIGkxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyID0gaTEyOwppZiAoaTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwIGFuZCBjZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMzMyODsgaiA8IDM1ODQ7IGorKykKICBpMTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMyA9IGkxMzsKaWYgKGkxMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGQwMCBhbmQgZGZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQ7IGogPCAzODQwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAgYW5kIGVmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAzODQwOyBqIDwgNDA5NjsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwIGFuZCBmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDQzNTI7IGorKykKICBpMTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNiA9IGkxNjsKaWYgKGkxNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEwZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gNDM1MjsgaiA8IDQ2MDg7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDExMDAgYW5kIDExZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gNDYwODsgaiA8IDQ4NjQ7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEyMDAgYW5kIDEyZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gNDg2NDsgaiA8IDUxMjA7IGorKykKICBpMTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOSA9IGkxOTsKaWYgKGkxOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEzMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDUzNzY7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE0ZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gNTM3NjsgaiA8IDU2MzI7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE1MDAgYW5kIDE1ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjsgaiA8IDU4ODg7IGorKykKICBpMjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMiA9IGkyMjsKaWYgKGkyMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE2MDAgYW5kIDE2ZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gNTg4ODsgaiA8IDYxNDQ7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE3MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDsgaiA8IDY0MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE4MDAgYW5kIDE4ZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gNjQwMDsgaiA8IDY2NTY7IGorKykKICBpMjUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNSA9IGkyNTsKaWYgKGkyNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE5MDAgYW5kIDE5ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gNjY1NjsgaiA8IDY5MTI7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFhMDAgYW5kIDFhZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gNjkxMjsgaiA8IDcxNjg7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFiMDAgYW5kIDFiZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDc0MjQ7IGorKykKICBpMjggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOCA9IGkyODsKaWYgKGkyOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFjZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gNzQyNDsgaiA8IDc2ODA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFkMDAgYW5kIDFkZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gNzY4MDsgaiA8IDc5MzY7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFlMDAgYW5kIDFlZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gNzkzNjsgaiA8IDgxOTI7IGorKykKICBpMzEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMSA9IGkzMTsKaWYgKGkzMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFmMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDg0NDg7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIwZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gODQ0ODsgaiA8IDg3MDQ7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIxMDAgYW5kIDIxZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gODcwNDsgaiA8IDg5NjA7IGorKykKICBpMzQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNCA9IGkzNDsKaWYgKGkzNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIyMDAgYW5kIDIyZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gODk2MDsgaiA8IDkyMTY7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIzMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gOTIxNjsgaiA8IDk0NzI7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI0ZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gOTQ3MjsgaiA8IDk3Mjg7IGorKykKICBpMzcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNyA9IGkzNzsKaWYgKGkzNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI1MDAgYW5kIDI1ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gOTcyODsgaiA8IDk5ODQ7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI2MDAgYW5kIDI2ZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gOTk4NDsgaiA8IDEwMjQwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSBpMzk7CmlmIChpMzkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzM5KSB7CiAgJEVSUk9SKCIjMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyNzAwIGFuZCAyN2ZmIik7Cn0KCnZhciBpNDAgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQwOyBqIDwgMTA0OTY7IGorKykKICBpNDAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MCA9IGk0MDsKaWYgKGk0MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDI4ZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gMTA0OTY7IGogPCAxMDc1MjsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gaTQxOwppZiAoaTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMjkwMCBhbmQgMjlmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSAxMDc1MjsgaiA8IDExMDA4OyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSBpNDI7CmlmIChpNDIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQyKSB7CiAgJEVSUk9SKCIjNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyYTAwIGFuZCAyYWZmIik7Cn0KCnZhciBpNDMgPSAiIjsKZm9yICh2YXIgaiA9IDExMDA4OyBqIDwgMTEyNjQ7IGorKykKICBpNDMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MyA9IGk0MzsKaWYgKGk0My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJiMDAgYW5kIDJiZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMTUyMDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gaTQ0OwppZiAoaTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSAxMTUyMDsgaiA8IDExNzc2OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSBpNDU7CmlmIChpNDUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ1KSB7CiAgJEVSUk9SKCIjNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyZDAwIGFuZCAyZGZmIik7Cn0KCnZhciBpNDYgPSAiIjsKZm9yICh2YXIgaiA9IDExNzc2OyBqIDwgMTIwMzI7IGorKykKICBpNDYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NiA9IGk0NjsKaWYgKGk0Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJlMDAgYW5kIDJlZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gMTIwMzI7IGogPCAxMjI4ODsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gaTQ3OwppZiAoaTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmYwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEyNTQ0OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSBpNDg7CmlmIChpNDgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ4KSB7CiAgJEVSUk9SKCIjNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMDAwIGFuZCAzMGZmIik7Cn0KCnZhciBpNDkgPSAiIjsKZm9yICh2YXIgaiA9IDEyNTQ0OyBqIDwgMTI4MDA7IGorKykKICBpNDkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OSA9IGk0OTsKaWYgKGk0OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDMxMDAgYW5kIDMxZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gMTI4MDA7IGogPCAxMzA1NjsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gaTUwOwppZiAoaTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzIwMCBhbmQgMzJmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSAxMzA1NjsgaiA8IDEzMzEyOyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSBpNTE7CmlmIChpNTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUxKSB7CiAgJEVSUk9SKCIjNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMzAwIGFuZCAzM2ZmIik7Cn0KCnZhciBpNTIgPSAiIjsKZm9yICh2YXIgaiA9IDEzMzEyOyBqIDwgMTM1Njg7IGorKykKICBpNTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MiA9IGk1MjsKaWYgKGk1Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM0ZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gMTM1Njg7IGogPCAxMzgyNDsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gaTUzOwppZiAoaTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzUwMCBhbmQgMzVmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSAxMzgyNDsgaiA8IDE0MDgwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSBpNTQ7CmlmIChpNTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU0KSB7CiAgJEVSUk9SKCIjNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzNjAwIGFuZCAzNmZmIik7Cn0KCnZhciBpNTUgPSAiIjsKZm9yICh2YXIgaiA9IDE0MDgwOyBqIDwgMTQzMzY7IGorKykKICBpNTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NSA9IGk1NTsKaWYgKGk1NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM3MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNDU5MjsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gaTU2OwppZiAoaTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgMzhmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSAxNDU5MjsgaiA8IDE0ODQ4OyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSBpNTc7CmlmIChpNTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU3KSB7CiAgJEVSUk9SKCIjNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzOTAwIGFuZCAzOWZmIik7Cn0KCnZhciBpNTggPSAiIjsKZm9yICh2YXIgaiA9IDE0ODQ4OyBqIDwgMTUxMDQ7IGorKykKICBpNTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OCA9IGk1ODsKaWYgKGk1OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNhMDAgYW5kIDNhZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gMTUxMDQ7IGogPCAxNTM2MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gaTU5OwppZiAoaTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2IwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE1NjE2OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSBpNjA7CmlmIChpNjAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYwKSB7CiAgJEVSUk9SKCIjNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzYzAwIGFuZCAzY2ZmIik7Cn0KCnZhciBpNjEgPSAiIjsKZm9yICh2YXIgaiA9IDE1NjE2OyBqIDwgMTU4NzI7IGorKykKICBpNjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MSA9IGk2MTsKaWYgKGk2MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNkMDAgYW5kIDNkZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gMTU4NzI7IGogPCAxNjEyODsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gaTYyOwppZiAoaTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2UwMCBhbmQgM2VmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSAxNjEyODsgaiA8IDE2Mzg0OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzZjAwIGFuZCAzZmZmIik7Cn0KCnZhciBpNjQgPSAiIjsKZm9yICh2YXIgaiA9IDE2Mzg0OyBqIDwgMTY2NDA7IGorKykKICBpNjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NCA9IGk2NDsKaWYgKGk2NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjQpIHsKICAkRVJST1IoIiM2NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQwZmYiKTsKfQoKdmFyIGk2NSA9ICIiOwpmb3IgKHZhciBqID0gMTY2NDA7IGogPCAxNjg5NjsgaisrKQogIGk2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY1ID0gaTY1OwppZiAoaTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82NSkgewogICRFUlJPUigiIzY1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDEwMCBhbmQgNDFmZiIpOwp9Cgp2YXIgaTY2ID0gIiI7CmZvciAodmFyIGogPSAxNjg5NjsgaiA8IDE3MTUyOyBqKyspCiAgaTY2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjYgPSBpNjY7CmlmIChpNjYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY2KSB7CiAgJEVSUk9SKCIjNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0MjAwIGFuZCA0MmZmIik7Cn0KCnZhciBpNjcgPSAiIjsKZm9yICh2YXIgaiA9IDE3MTUyOyBqIDwgMTc0MDg7IGorKykKICBpNjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NyA9IGk2NzsKaWYgKGk2Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjcpIHsKICAkRVJST1IoIiM2NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQzMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGk2OCA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxNzY2NDsgaisrKQogIGk2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY4ID0gaTY4OwppZiAoaTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82OCkgewogICRFUlJPUigiIzY4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDRmZiIpOwp9Cgp2YXIgaTY5ID0gIiI7CmZvciAodmFyIGogPSAxNzY2NDsgaiA8IDE3OTIwOyBqKyspCiAgaTY5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjkgPSBpNjk7CmlmIChpNjkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY5KSB7CiAgJEVSUk9SKCIjNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0NTAwIGFuZCA0NWZmIik7Cn0KCnZhciBpNzAgPSAiIjsKZm9yICh2YXIgaiA9IDE3OTIwOyBqIDwgMTgxNzY7IGorKykKICBpNzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MCA9IGk3MDsKaWYgKGk3MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzApIHsKICAkRVJST1IoIiM3MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ2MDAgYW5kIDQ2ZmYiKTsKfQoKdmFyIGk3MSA9ICIiOwpmb3IgKHZhciBqID0gMTgxNzY7IGogPCAxODQzMjsgaisrKQogIGk3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcxID0gaTcxOwppZiAoaTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83MSkgewogICRFUlJPUigiIzcxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDcwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTcyID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE4Njg4OyBqKyspCiAgaTcyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzIgPSBpNzI7CmlmIChpNzIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcyKSB7CiAgJEVSUk9SKCIjNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ODAwIGFuZCA0OGZmIik7Cn0KCnZhciBpNzMgPSAiIjsKZm9yICh2YXIgaiA9IDE4Njg4OyBqIDwgMTg5NDQ7IGorKykKICBpNzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MyA9IGk3MzsKaWYgKGk3My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzMpIHsKICAkRVJST1IoIiM3MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ5MDAgYW5kIDQ5ZmYiKTsKfQoKdmFyIGk3NCA9ICIiOwpmb3IgKHZhciBqID0gMTg5NDQ7IGogPCAxOTIwMDsgaisrKQogIGk3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc0ID0gaTc0OwppZiAoaTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NCkgewogICRFUlJPUigiIzc0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGEwMCBhbmQgNGFmZiIpOwp9Cgp2YXIgaTc1ID0gIiI7CmZvciAodmFyIGogPSAxOTIwMDsgaiA8IDE5NDU2OyBqKyspCiAgaTc1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzUgPSBpNzU7CmlmIChpNzUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc1KSB7CiAgJEVSUk9SKCIjNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0YjAwIGFuZCA0YmZmIik7Cn0KCnZhciBpNzYgPSAiIjsKZm9yICh2YXIgaiA9IDE5NDU2OyBqIDwgMTk3MTI7IGorKykKICBpNzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83NiA9IGk3NjsKaWYgKGk3Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzYpIHsKICAkRVJST1IoIiM3NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRjZmYiKTsKfQoKdmFyIGk3NyA9ICIiOwpmb3IgKHZhciBqID0gMTk3MTI7IGogPCAxOTk2ODsgaisrKQogIGk3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc3ID0gaTc3OwppZiAoaTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NykgewogICRFUlJPUigiIzc3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGQwMCBhbmQgNGRmZiIpOwp9Cgp2YXIgaTc4ID0gIiI7CmZvciAodmFyIGogPSAxOTk2ODsgaiA8IDIwMjI0OyBqKyspCiAgaTc4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzggPSBpNzg7CmlmIChpNzgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc4KSB7CiAgJEVSUk9SKCIjNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ZTAwIGFuZCA0ZWZmIik7Cn0KCnZhciBpNzkgPSAiIjsKZm9yICh2YXIgaiA9IDIwMjI0OyBqIDwgMjA0ODA7IGorKykKICBpNzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83OSA9IGk3OTsKaWYgKGk3OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzkpIHsKICAkRVJST1IoIiM3OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRmMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGk4MCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMDczNjsgaisrKQogIGk4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgwID0gaTgwOwppZiAoaTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MCkgewogICRFUlJPUigiIzgwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTBmZiIpOwp9Cgp2YXIgaTgxID0gIiI7CmZvciAodmFyIGogPSAyMDczNjsgaiA8IDIwOTkyOyBqKyspCiAgaTgxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODEgPSBpODE7CmlmIChpODEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgxKSB7CiAgJEVSUk9SKCIjODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1MTAwIGFuZCA1MWZmIik7Cn0KCnZhciBpODIgPSAiIjsKZm9yICh2YXIgaiA9IDIwOTkyOyBqIDwgMjEyNDg7IGorKykKICBpODIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84MiA9IGk4MjsKaWYgKGk4Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODIpIHsKICAkRVJST1IoIiM4MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDUyMDAgYW5kIDUyZmYiKTsKfQoKdmFyIGk4MyA9ICIiOwpmb3IgKHZhciBqID0gMjEyNDg7IGogPCAyMTUwNDsgaisrKQogIGk4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgzID0gaTgzOwppZiAoaTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MykgewogICRFUlJPUigiIzgzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTMwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTg0ID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIxNzYwOyBqKyspCiAgaTg0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODQgPSBpODQ7CmlmIChpODQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg0KSB7CiAgJEVSUk9SKCIjODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NDAwIGFuZCA1NGZmIik7Cn0KCnZhciBpODUgPSAiIjsKZm9yICh2YXIgaiA9IDIxNzYwOyBqIDwgMjIwMTY7IGorKykKICBpODUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84NSA9IGk4NTsKaWYgKGk4NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODUpIHsKICAkRVJST1IoIiM4NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU1MDAgYW5kIDU1ZmYiKTsKfQoKdmFyIGk4NiA9ICIiOwpmb3IgKHZhciBqID0gMjIwMTY7IGogPCAyMjI3MjsgaisrKQogIGk4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg2ID0gaTg2OwppZiAoaTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84NikgewogICRFUlJPUigiIzg2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTYwMCBhbmQgNTZmZiIpOwp9Cgp2YXIgaTg3ID0gIiI7CmZvciAodmFyIGogPSAyMjI3MjsgaiA8IDIyNTI4OyBqKyspCiAgaTg3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODcgPSBpODc7CmlmIChpODcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg3KSB7CiAgJEVSUk9SKCIjODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NzAwIGFuZCA1N2ZmIik7Cn0KCnZhciBpODggPSAiIjsKZm9yICh2YXIgaiA9IDIyNTI4OyBqIDwgMjI3ODQ7IGorKykKICBpODggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84OCA9IGk4ODsKaWYgKGk4OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODgpIHsKICAkRVJST1IoIiM4ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDU4ZmYiKTsKfQoKdmFyIGk4OSA9ICIiOwpmb3IgKHZhciBqID0gMjI3ODQ7IGogPCAyMzA0MDsgaisrKQogIGk4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg5ID0gaTg5OwppZiAoaTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84OSkgewogICRFUlJPUigiIzg5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTkwMCBhbmQgNTlmZiIpOwp9Cgp2YXIgaTkwID0gIiI7CmZvciAodmFyIGogPSAyMzA0MDsgaiA8IDIzMjk2OyBqKyspCiAgaTkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTAgPSBpOTA7CmlmIChpOTAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkwKSB7CiAgJEVSUk9SKCIjOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1YTAwIGFuZCA1YWZmIik7Cn0KCnZhciBpOTEgPSAiIjsKZm9yICh2YXIgaiA9IDIzMjk2OyBqIDwgMjM1NTI7IGorKykKICBpOTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85MSA9IGk5MTsKaWYgKGk5MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTEpIHsKICAkRVJST1IoIiM5MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDViMDAgYW5kIDViZmYiKTsKfQoKdmFyIGk5MiA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyMzgwODsgaisrKQogIGk5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkyID0gaTkyOwppZiAoaTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85MikgewogICRFUlJPUigiIzkyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWNmZiIpOwp9Cgp2YXIgaTkzID0gIiI7CmZvciAodmFyIGogPSAyMzgwODsgaiA8IDI0MDY0OyBqKyspCiAgaTkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTMgPSBpOTM7CmlmIChpOTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkzKSB7CiAgJEVSUk9SKCIjOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1ZDAwIGFuZCA1ZGZmIik7Cn0KCnZhciBpOTQgPSAiIjsKZm9yICh2YXIgaiA9IDI0MDY0OyBqIDwgMjQzMjA7IGorKykKICBpOTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NCA9IGk5NDsKaWYgKGk5NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTQpIHsKICAkRVJST1IoIiM5NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDVlMDAgYW5kIDVlZmYiKTsKfQoKdmFyIGk5NSA9ICIiOwpmb3IgKHZhciBqID0gMjQzMjA7IGogPCAyNDU3NjsgaisrKQogIGk5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk1ID0gaTk1OwppZiAoaTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85NSkgewogICRFUlJPUigiIzk1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWYwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTk2ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI0ODMyOyBqKyspCiAgaTk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTYgPSBpOTY7CmlmIChpOTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk2KSB7CiAgJEVSUk9SKCIjOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MDAwIGFuZCA2MGZmIik7Cn0KCnZhciBpOTcgPSAiIjsKZm9yICh2YXIgaiA9IDI0ODMyOyBqIDwgMjUwODg7IGorKykKICBpOTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NyA9IGk5NzsKaWYgKGk5Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTcpIHsKICAkRVJST1IoIiM5NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDYxMDAgYW5kIDYxZmYiKTsKfQoKdmFyIGk5OCA9ICIiOwpmb3IgKHZhciBqID0gMjUwODg7IGogPCAyNTM0NDsgaisrKQogIGk5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk4ID0gaTk4OwppZiAoaTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85OCkgewogICRFUlJPUigiIzk4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjIwMCBhbmQgNjJmZiIpOwp9Cgp2YXIgaTk5ID0gIiI7CmZvciAodmFyIGogPSAyNTM0NDsgaiA8IDI1NjAwOyBqKyspCiAgaTk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTkgPSBpOTk7CmlmIChpOTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk5KSB7CiAgJEVSUk9SKCIjOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MzAwIGFuZCA2M2ZmIik7Cn0KCnZhciBpMTAwID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI1ODU2OyBqKyspCiAgaTEwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMCA9IGkxMDA7CmlmIChpMTAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDApIHsKICAkRVJST1IoIiMxMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2NGZmIik7Cn0KCnZhciBpMTAxID0gIiI7CmZvciAodmFyIGogPSAyNTg1NjsgaiA8IDI2MTEyOyBqKyspCiAgaTEwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMSA9IGkxMDE7CmlmIChpMTAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDEpIHsKICAkRVJST1IoIiMxMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NTAwIGFuZCA2NWZmIik7Cn0KCnZhciBpMTAyID0gIiI7CmZvciAodmFyIGogPSAyNjExMjsgaiA8IDI2MzY4OyBqKyspCiAgaTEwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMiA9IGkxMDI7CmlmIChpMTAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDIpIHsKICAkRVJST1IoIiMxMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NjAwIGFuZCA2NmZmIik7Cn0KCnZhciBpMTAzID0gIiI7CmZvciAodmFyIGogPSAyNjM2ODsgaiA8IDI2NjI0OyBqKyspCiAgaTEwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMyA9IGkxMDM7CmlmIChpMTAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDMpIHsKICAkRVJST1IoIiMxMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NzAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMTA0ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI2ODgwOyBqKyspCiAgaTEwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNCA9IGkxMDQ7CmlmIChpMTA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDQpIHsKICAkRVJST1IoIiMxMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2OGZmIik7Cn0KCnZhciBpMTA1ID0gIiI7CmZvciAodmFyIGogPSAyNjg4MDsgaiA8IDI3MTM2OyBqKyspCiAgaTEwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNSA9IGkxMDU7CmlmIChpMTA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDUpIHsKICAkRVJST1IoIiMxMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2OTAwIGFuZCA2OWZmIik7Cn0KCnZhciBpMTA2ID0gIiI7CmZvciAodmFyIGogPSAyNzEzNjsgaiA8IDI3MzkyOyBqKyspCiAgaTEwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNiA9IGkxMDY7CmlmIChpMTA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDYpIHsKICAkRVJST1IoIiMxMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YTAwIGFuZCA2YWZmIik7Cn0KCnZhciBpMTA3ID0gIiI7CmZvciAodmFyIGogPSAyNzM5MjsgaiA8IDI3NjQ4OyBqKyspCiAgaTEwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNyA9IGkxMDc7CmlmIChpMTA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDcpIHsKICAkRVJST1IoIiMxMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YjAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMTA4ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI3OTA0OyBqKyspCiAgaTEwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOCA9IGkxMDg7CmlmIChpMTA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDgpIHsKICAkRVJST1IoIiMxMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YzAwIGFuZCA2Y2ZmIik7Cn0KCnZhciBpMTA5ID0gIiI7CmZvciAodmFyIGogPSAyNzkwNDsgaiA8IDI4MTYwOyBqKyspCiAgaTEwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOSA9IGkxMDk7CmlmIChpMTA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDkpIHsKICAkRVJST1IoIiMxMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZDAwIGFuZCA2ZGZmIik7Cn0KCnZhciBpMTEwID0gIiI7CmZvciAodmFyIGogPSAyODE2MDsgaiA8IDI4NDE2OyBqKyspCiAgaTExMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMCA9IGkxMTA7CmlmIChpMTEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTApIHsKICAkRVJST1IoIiMxMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZTAwIGFuZCA2ZWZmIik7Cn0KCnZhciBpMTExID0gIiI7CmZvciAodmFyIGogPSAyODQxNjsgaiA8IDI4NjcyOyBqKyspCiAgaTExMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMSA9IGkxMTE7CmlmIChpMTExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTEpIHsKICAkRVJST1IoIiMxMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZjAwIGFuZCA2ZmZmIik7Cn0KCnZhciBpMTEyID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI4OTI4OyBqKyspCiAgaTExMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMiA9IGkxMTI7CmlmIChpMTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTIpIHsKICAkRVJST1IoIiMxMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3MGZmIik7Cn0KCnZhciBpMTEzID0gIiI7CmZvciAodmFyIGogPSAyODkyODsgaiA8IDI5MTg0OyBqKyspCiAgaTExMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMyA9IGkxMTM7CmlmIChpMTEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTMpIHsKICAkRVJST1IoIiMxMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MTAwIGFuZCA3MWZmIik7Cn0KCnZhciBpMTE0ID0gIiI7CmZvciAodmFyIGogPSAyOTE4NDsgaiA8IDI5NDQwOyBqKyspCiAgaTExNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNCA9IGkxMTQ7CmlmIChpMTE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTQpIHsKICAkRVJST1IoIiMxMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MjAwIGFuZCA3MmZmIik7Cn0KCnZhciBpMTE1ID0gIiI7CmZvciAodmFyIGogPSAyOTQ0MDsgaiA8IDI5Njk2OyBqKyspCiAgaTExNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNSA9IGkxMTU7CmlmIChpMTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTUpIHsKICAkRVJST1IoIiMxMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MzAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMTE2ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDI5OTUyOyBqKyspCiAgaTExNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNiA9IGkxMTY7CmlmIChpMTE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTYpIHsKICAkRVJST1IoIiMxMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3NGZmIik7Cn0KCnZhciBpMTE3ID0gIiI7CmZvciAodmFyIGogPSAyOTk1MjsgaiA8IDMwMjA4OyBqKyspCiAgaTExNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNyA9IGkxMTc7CmlmIChpMTE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTcpIHsKICAkRVJST1IoIiMxMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NTAwIGFuZCA3NWZmIik7Cn0KCnZhciBpMTE4ID0gIiI7CmZvciAodmFyIGogPSAzMDIwODsgaiA8IDMwNDY0OyBqKyspCiAgaTExOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOCA9IGkxMTg7CmlmIChpMTE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTgpIHsKICAkRVJST1IoIiMxMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NjAwIGFuZCA3NmZmIik7Cn0KCnZhciBpMTE5ID0gIiI7CmZvciAodmFyIGogPSAzMDQ2NDsgaiA8IDMwNzIwOyBqKyspCiAgaTExOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOSA9IGkxMTk7CmlmIChpMTE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTkpIHsKICAkRVJST1IoIiMxMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NzAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMTIwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMwOTc2OyBqKyspCiAgaTEyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMCA9IGkxMjA7CmlmIChpMTIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjApIHsKICAkRVJST1IoIiMxMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ODAwIGFuZCA3OGZmIik7Cn0KCnZhciBpMTIxID0gIiI7CmZvciAodmFyIGogPSAzMDk3NjsgaiA8IDMxMjMyOyBqKyspCiAgaTEyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMSA9IGkxMjE7CmlmIChpMTIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjEpIHsKICAkRVJST1IoIiMxMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3OTAwIGFuZCA3OWZmIik7Cn0KCnZhciBpMTIyID0gIiI7CmZvciAodmFyIGogPSAzMTIzMjsgaiA8IDMxNDg4OyBqKyspCiAgaTEyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMiA9IGkxMjI7CmlmIChpMTIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjIpIHsKICAkRVJST1IoIiMxMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YTAwIGFuZCA3YWZmIik7Cn0KCnZhciBpMTIzID0gIiI7CmZvciAodmFyIGogPSAzMTQ4ODsgaiA8IDMxNzQ0OyBqKyspCiAgaTEyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMyA9IGkxMjM7CmlmIChpMTIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjMpIHsKICAkRVJST1IoIiMxMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YjAwIGFuZCA3YmZmIik7Cn0KCnZhciBpMTI0ID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyMDAwOyBqKyspCiAgaTEyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNCA9IGkxMjQ7CmlmIChpMTI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjQpIHsKICAkRVJST1IoIiMxMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3Y2ZmIik7Cn0KCnZhciBpMTI1ID0gIiI7CmZvciAodmFyIGogPSAzMjAwMDsgaiA8IDMyMjU2OyBqKyspCiAgaTEyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNSA9IGkxMjU7CmlmIChpMTI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjUpIHsKICAkRVJST1IoIiMxMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZDAwIGFuZCA3ZGZmIik7Cn0KCnZhciBpMTI2ID0gIiI7CmZvciAodmFyIGogPSAzMjI1NjsgaiA8IDMyNTEyOyBqKyspCiAgaTEyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNiA9IGkxMjY7CmlmIChpMTI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjYpIHsKICAkRVJST1IoIiMxMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZTAwIGFuZCA3ZWZmIik7Cn0KCnZhciBpMTI3ID0gIiI7CmZvciAodmFyIGogPSAzMjUxMjsgaiA8IDMyNzY4OyBqKyspCiAgaTEyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNyA9IGkxMjc7CmlmIChpMTI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjcpIHsKICAkRVJST1IoIiMxMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZjAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMTI4ID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzMDI0OyBqKyspCiAgaTEyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOCA9IGkxMjg7CmlmIChpMTI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjgpIHsKICAkRVJST1IoIiMxMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4MGZmIik7Cn0KCnZhciBpMTI5ID0gIiI7CmZvciAodmFyIGogPSAzMzAyNDsgaiA8IDMzMjgwOyBqKyspCiAgaTEyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOSA9IGkxMjk7CmlmIChpMTI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjkpIHsKICAkRVJST1IoIiMxMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MTAwIGFuZCA4MWZmIik7Cn0KCnZhciBpMTMwID0gIiI7CmZvciAodmFyIGogPSAzMzI4MDsgaiA8IDMzNTM2OyBqKyspCiAgaTEzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMCA9IGkxMzA7CmlmIChpMTMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzApIHsKICAkRVJST1IoIiMxMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MjAwIGFuZCA4MmZmIik7Cn0KCnZhciBpMTMxID0gIiI7CmZvciAodmFyIGogPSAzMzUzNjsgaiA8IDMzNzkyOyBqKyspCiAgaTEzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMSA9IGkxMzE7CmlmIChpMTMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzEpIHsKICAkRVJST1IoIiMxMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MzAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMTMyID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0MDQ4OyBqKyspCiAgaTEzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMiA9IGkxMzI7CmlmIChpMTMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzIpIHsKICAkRVJST1IoIiMxMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NDAwIGFuZCA4NGZmIik7Cn0KCnZhciBpMTMzID0gIiI7CmZvciAodmFyIGogPSAzNDA0ODsgaiA8IDM0MzA0OyBqKyspCiAgaTEzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMyA9IGkxMzM7CmlmIChpMTMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzMpIHsKICAkRVJST1IoIiMxMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NTAwIGFuZCA4NWZmIik7Cn0KCnZhciBpMTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDMwNDsgaiA8IDM0NTYwOyBqKyspCiAgaTEzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNCA9IGkxMzQ7CmlmIChpMTM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzQpIHsKICAkRVJST1IoIiMxMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NjAwIGFuZCA4NmZmIik7Cn0KCnZhciBpMTM1ID0gIiI7CmZvciAodmFyIGogPSAzNDU2MDsgaiA8IDM0ODE2OyBqKyspCiAgaTEzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNSA9IGkxMzU7CmlmIChpMTM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzUpIHsKICAkRVJST1IoIiMxMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NzAwIGFuZCA4N2ZmIik7Cn0KCnZhciBpMTM2ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1MDcyOyBqKyspCiAgaTEzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNiA9IGkxMzY7CmlmIChpMTM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzYpIHsKICAkRVJST1IoIiMxMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4OGZmIik7Cn0KCnZhciBpMTM3ID0gIiI7CmZvciAodmFyIGogPSAzNTA3MjsgaiA8IDM1MzI4OyBqKyspCiAgaTEzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNyA9IGkxMzc7CmlmIChpMTM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzcpIHsKICAkRVJST1IoIiMxMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4OTAwIGFuZCA4OWZmIik7Cn0KCnZhciBpMTM4ID0gIiI7CmZvciAodmFyIGogPSAzNTMyODsgaiA8IDM1NTg0OyBqKyspCiAgaTEzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOCA9IGkxMzg7CmlmIChpMTM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzgpIHsKICAkRVJST1IoIiMxMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YTAwIGFuZCA4YWZmIik7Cn0KCnZhciBpMTM5ID0gIiI7CmZvciAodmFyIGogPSAzNTU4NDsgaiA8IDM1ODQwOyBqKyspCiAgaTEzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOSA9IGkxMzk7CmlmIChpMTM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzkpIHsKICAkRVJST1IoIiMxMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YjAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMTQwID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2MDk2OyBqKyspCiAgaTE0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MCA9IGkxNDA7CmlmIChpMTQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDApIHsKICAkRVJST1IoIiMxNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4Y2ZmIik7Cn0KCnZhciBpMTQxID0gIiI7CmZvciAodmFyIGogPSAzNjA5NjsgaiA8IDM2MzUyOyBqKyspCiAgaTE0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MSA9IGkxNDE7CmlmIChpMTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDEpIHsKICAkRVJST1IoIiMxNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZDAwIGFuZCA4ZGZmIik7Cn0KCnZhciBpMTQyID0gIiI7CmZvciAodmFyIGogPSAzNjM1MjsgaiA8IDM2NjA4OyBqKyspCiAgaTE0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MiA9IGkxNDI7CmlmIChpMTQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDIpIHsKICAkRVJST1IoIiMxNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZTAwIGFuZCA4ZWZmIik7Cn0KCnZhciBpMTQzID0gIiI7CmZvciAodmFyIGogPSAzNjYwODsgaiA8IDM2ODY0OyBqKyspCiAgaTE0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MyA9IGkxNDM7CmlmIChpMTQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDMpIHsKICAkRVJST1IoIiMxNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZjAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMTQ0ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3MTIwOyBqKyspCiAgaTE0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NCA9IGkxNDQ7CmlmIChpMTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDQpIHsKICAkRVJST1IoIiMxNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MDAwIGFuZCA5MGZmIik7Cn0KCnZhciBpMTQ1ID0gIiI7CmZvciAodmFyIGogPSAzNzEyMDsgaiA8IDM3Mzc2OyBqKyspCiAgaTE0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NSA9IGkxNDU7CmlmIChpMTQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDUpIHsKICAkRVJST1IoIiMxNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MTAwIGFuZCA5MWZmIik7Cn0KCnZhciBpMTQ2ID0gIiI7CmZvciAodmFyIGogPSAzNzM3NjsgaiA8IDM3NjMyOyBqKyspCiAgaTE0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NiA9IGkxNDY7CmlmIChpMTQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDYpIHsKICAkRVJST1IoIiMxNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MjAwIGFuZCA5MmZmIik7Cn0KCnZhciBpMTQ3ID0gIiI7CmZvciAodmFyIGogPSAzNzYzMjsgaiA8IDM3ODg4OyBqKyspCiAgaTE0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NyA9IGkxNDc7CmlmIChpMTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDcpIHsKICAkRVJST1IoIiMxNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MzAwIGFuZCA5M2ZmIik7Cn0KCnZhciBpMTQ4ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4MTQ0OyBqKyspCiAgaTE0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OCA9IGkxNDg7CmlmIChpMTQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDgpIHsKICAkRVJST1IoIiMxNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5NGZmIik7Cn0KCnZhciBpMTQ5ID0gIiI7CmZvciAodmFyIGogPSAzODE0NDsgaiA8IDM4NDAwOyBqKyspCiAgaTE0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OSA9IGkxNDk7CmlmIChpMTQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDkpIHsKICAkRVJST1IoIiMxNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NTAwIGFuZCA5NWZmIik7Cn0KCnZhciBpMTUwID0gIiI7CmZvciAodmFyIGogPSAzODQwMDsgaiA8IDM4NjU2OyBqKyspCiAgaTE1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MCA9IGkxNTA7CmlmIChpMTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTApIHsKICAkRVJST1IoIiMxNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NjAwIGFuZCA5NmZmIik7Cn0KCnZhciBpMTUxID0gIiI7CmZvciAodmFyIGogPSAzODY1NjsgaiA8IDM4OTEyOyBqKyspCiAgaTE1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MSA9IGkxNTE7CmlmIChpMTUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTEpIHsKICAkRVJST1IoIiMxNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NzAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMTUyID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5MTY4OyBqKyspCiAgaTE1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MiA9IGkxNTI7CmlmIChpMTUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTIpIHsKICAkRVJST1IoIiMxNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5OGZmIik7Cn0KCnZhciBpMTUzID0gIiI7CmZvciAodmFyIGogPSAzOTE2ODsgaiA8IDM5NDI0OyBqKyspCiAgaTE1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MyA9IGkxNTM7CmlmIChpMTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTMpIHsKICAkRVJST1IoIiMxNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5OTAwIGFuZCA5OWZmIik7Cn0KCnZhciBpMTU0ID0gIiI7CmZvciAodmFyIGogPSAzOTQyNDsgaiA8IDM5NjgwOyBqKyspCiAgaTE1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NCA9IGkxNTQ7CmlmIChpMTU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTQpIHsKICAkRVJST1IoIiMxNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YTAwIGFuZCA5YWZmIik7Cn0KCnZhciBpMTU1ID0gIiI7CmZvciAodmFyIGogPSAzOTY4MDsgaiA8IDM5OTM2OyBqKyspCiAgaTE1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NSA9IGkxNTU7CmlmIChpMTU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTUpIHsKICAkRVJST1IoIiMxNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YjAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMTU2ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwMTkyOyBqKyspCiAgaTE1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NiA9IGkxNTY7CmlmIChpMTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTYpIHsKICAkRVJST1IoIiMxNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YzAwIGFuZCA5Y2ZmIik7Cn0KCnZhciBpMTU3ID0gIiI7CmZvciAodmFyIGogPSA0MDE5MjsgaiA8IDQwNDQ4OyBqKyspCiAgaTE1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NyA9IGkxNTc7CmlmIChpMTU3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTcpIHsKICAkRVJST1IoIiMxNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZDAwIGFuZCA5ZGZmIik7Cn0KCnZhciBpMTU4ID0gIiI7CmZvciAodmFyIGogPSA0MDQ0ODsgaiA8IDQwNzA0OyBqKyspCiAgaTE1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OCA9IGkxNTg7CmlmIChpMTU4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTgpIHsKICAkRVJST1IoIiMxNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZTAwIGFuZCA5ZWZmIik7Cn0KCnZhciBpMTU5ID0gIiI7CmZvciAodmFyIGogPSA0MDcwNDsgaiA8IDQwOTYwOyBqKyspCiAgaTE1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OSA9IGkxNTk7CmlmIChpMTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTkpIHsKICAkRVJST1IoIiMxNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZjAwIGFuZCA5ZmZmIik7Cn0KCnZhciBpMTYwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxMjE2OyBqKyspCiAgaTE2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MCA9IGkxNjA7CmlmIChpMTYwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjApIHsKICAkRVJST1IoIiMxNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhMGZmIik7Cn0KCnZhciBpMTYxID0gIiI7CmZvciAodmFyIGogPSA0MTIxNjsgaiA8IDQxNDcyOyBqKyspCiAgaTE2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MSA9IGkxNjE7CmlmIChpMTYxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjEpIHsKICAkRVJST1IoIiMxNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMTAwIGFuZCBhMWZmIik7Cn0KCnZhciBpMTYyID0gIiI7CmZvciAodmFyIGogPSA0MTQ3MjsgaiA8IDQxNzI4OyBqKyspCiAgaTE2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MiA9IGkxNjI7CmlmIChpMTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjIpIHsKICAkRVJST1IoIiMxNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMjAwIGFuZCBhMmZmIik7Cn0KCnZhciBpMTYzID0gIiI7CmZvciAodmFyIGogPSA0MTcyODsgaiA8IDQxOTg0OyBqKyspCiAgaTE2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MyA9IGkxNjM7CmlmIChpMTYzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjMpIHsKICAkRVJST1IoIiMxNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMzAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpMTY0ID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQyMjQwOyBqKyspCiAgaTE2NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NCA9IGkxNjQ7CmlmIChpMTY0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjQpIHsKICAkRVJST1IoIiMxNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhNGZmIik7Cn0KCnZhciBpMTY1ID0gIiI7CmZvciAodmFyIGogPSA0MjI0MDsgaiA8IDQyNDk2OyBqKyspCiAgaTE2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NSA9IGkxNjU7CmlmIChpMTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjUpIHsKICAkRVJST1IoIiMxNjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNTAwIGFuZCBhNWZmIik7Cn0KCnZhciBpMTY2ID0gIiI7CmZvciAodmFyIGogPSA0MjQ5NjsgaiA8IDQyNzUyOyBqKyspCiAgaTE2NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NiA9IGkxNjY7CmlmIChpMTY2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjYpIHsKICAkRVJST1IoIiMxNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNjAwIGFuZCBhNmZmIik7Cn0KCnZhciBpMTY3ID0gIiI7CmZvciAodmFyIGogPSA0Mjc1MjsgaiA8IDQzMDA4OyBqKyspCiAgaTE2NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NyA9IGkxNjc7CmlmIChpMTY3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjcpIHsKICAkRVJST1IoIiMxNjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNzAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpMTY4ID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQzMjY0OyBqKyspCiAgaTE2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OCA9IGkxNjg7CmlmIChpMTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjgpIHsKICAkRVJST1IoIiMxNjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhODAwIGFuZCBhOGZmIik7Cn0KCnZhciBpMTY5ID0gIiI7CmZvciAodmFyIGogPSA0MzI2NDsgaiA8IDQzNTIwOyBqKyspCiAgaTE2OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OSA9IGkxNjk7CmlmIChpMTY5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjkpIHsKICAkRVJST1IoIiMxNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhOTAwIGFuZCBhOWZmIik7Cn0KCnZhciBpMTcwID0gIiI7CmZvciAodmFyIGogPSA0MzUyMDsgaiA8IDQzNzc2OyBqKyspCiAgaTE3MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MCA9IGkxNzA7CmlmIChpMTcwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzApIHsKICAkRVJST1IoIiMxNzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYTAwIGFuZCBhYWZmIik7Cn0KCnZhciBpMTcxID0gIiI7CmZvciAodmFyIGogPSA0Mzc3NjsgaiA8IDQ0MDMyOyBqKyspCiAgaTE3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MSA9IGkxNzE7CmlmIChpMTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzEpIHsKICAkRVJST1IoIiMxNzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYjAwIGFuZCBhYmZmIik7Cn0KCnZhciBpMTcyID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ0Mjg4OyBqKyspCiAgaTE3MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MiA9IGkxNzI7CmlmIChpMTcyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzIpIHsKICAkRVJST1IoIiMxNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhY2ZmIik7Cn0KCnZhciBpMTczID0gIiI7CmZvciAodmFyIGogPSA0NDI4ODsgaiA8IDQ0NTQ0OyBqKyspCiAgaTE3MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MyA9IGkxNzM7CmlmIChpMTczLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzMpIHsKICAkRVJST1IoIiMxNzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZDAwIGFuZCBhZGZmIik7Cn0KCnZhciBpMTc0ID0gIiI7CmZvciAodmFyIGogPSA0NDU0NDsgaiA8IDQ0ODAwOyBqKyspCiAgaTE3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NCA9IGkxNzQ7CmlmIChpMTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzQpIHsKICAkRVJST1IoIiMxNzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZTAwIGFuZCBhZWZmIik7Cn0KCnZhciBpMTc1ID0gIiI7CmZvciAodmFyIGogPSA0NDgwMDsgaiA8IDQ1MDU2OyBqKyspCiAgaTE3NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NSA9IGkxNzU7CmlmIChpMTc1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzUpIHsKICAkRVJST1IoIiMxNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZjAwIGFuZCBhZmZmIik7Cn0KCnZhciBpMTc2ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ1MzEyOyBqKyspCiAgaTE3NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NiA9IGkxNzY7CmlmIChpMTc2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzYpIHsKICAkRVJST1IoIiMxNzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiMGZmIik7Cn0KCnZhciBpMTc3ID0gIiI7CmZvciAodmFyIGogPSA0NTMxMjsgaiA8IDQ1NTY4OyBqKyspCiAgaTE3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NyA9IGkxNzc7CmlmIChpMTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzcpIHsKICAkRVJST1IoIiMxNzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMTAwIGFuZCBiMWZmIik7Cn0KCnZhciBpMTc4ID0gIiI7CmZvciAodmFyIGogPSA0NTU2ODsgaiA8IDQ1ODI0OyBqKyspCiAgaTE3OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OCA9IGkxNzg7CmlmIChpMTc4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzgpIHsKICAkRVJST1IoIiMxNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMjAwIGFuZCBiMmZmIik7Cn0KCnZhciBpMTc5ID0gIiI7CmZvciAodmFyIGogPSA0NTgyNDsgaiA8IDQ2MDgwOyBqKyspCiAgaTE3OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OSA9IGkxNzk7CmlmIChpMTc5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzkpIHsKICAkRVJST1IoIiMxNzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMzAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpMTgwID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ2MzM2OyBqKyspCiAgaTE4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MCA9IGkxODA7CmlmIChpMTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODApIHsKICAkRVJST1IoIiMxODA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNDAwIGFuZCBiNGZmIik7Cn0KCnZhciBpMTgxID0gIiI7CmZvciAodmFyIGogPSA0NjMzNjsgaiA8IDQ2NTkyOyBqKyspCiAgaTE4MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MSA9IGkxODE7CmlmIChpMTgxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODEpIHsKICAkRVJST1IoIiMxODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNTAwIGFuZCBiNWZmIik7Cn0KCnZhciBpMTgyID0gIiI7CmZvciAodmFyIGogPSA0NjU5MjsgaiA8IDQ2ODQ4OyBqKyspCiAgaTE4MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MiA9IGkxODI7CmlmIChpMTgyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODIpIHsKICAkRVJST1IoIiMxODI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNjAwIGFuZCBiNmZmIik7Cn0KCnZhciBpMTgzID0gIiI7CmZvciAodmFyIGogPSA0Njg0ODsgaiA8IDQ3MTA0OyBqKyspCiAgaTE4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MyA9IGkxODM7CmlmIChpMTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODMpIHsKICAkRVJST1IoIiMxODM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNzAwIGFuZCBiN2ZmIik7Cn0KCnZhciBpMTg0ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ3MzYwOyBqKyspCiAgaTE4NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NCA9IGkxODQ7CmlmIChpMTg0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODQpIHsKICAkRVJST1IoIiMxODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiOGZmIik7Cn0KCnZhciBpMTg1ID0gIiI7CmZvciAodmFyIGogPSA0NzM2MDsgaiA8IDQ3NjE2OyBqKyspCiAgaTE4NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NSA9IGkxODU7CmlmIChpMTg1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODUpIHsKICAkRVJST1IoIiMxODU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiOTAwIGFuZCBiOWZmIik7Cn0KCnZhciBpMTg2ID0gIiI7CmZvciAodmFyIGogPSA0NzYxNjsgaiA8IDQ3ODcyOyBqKyspCiAgaTE4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NiA9IGkxODY7CmlmIChpMTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODYpIHsKICAkRVJST1IoIiMxODY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYTAwIGFuZCBiYWZmIik7Cn0KCnZhciBpMTg3ID0gIiI7CmZvciAodmFyIGogPSA0Nzg3MjsgaiA8IDQ4MTI4OyBqKyspCiAgaTE4NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NyA9IGkxODc7CmlmIChpMTg3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODcpIHsKICAkRVJST1IoIiMxODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYjAwIGFuZCBiYmZmIik7Cn0KCnZhciBpMTg4ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ4Mzg0OyBqKyspCiAgaTE4OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OCA9IGkxODg7CmlmIChpMTg4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODgpIHsKICAkRVJST1IoIiMxODg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiY2ZmIik7Cn0KCnZhciBpMTg5ID0gIiI7CmZvciAodmFyIGogPSA0ODM4NDsgaiA8IDQ4NjQwOyBqKyspCiAgaTE4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OSA9IGkxODk7CmlmIChpMTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODkpIHsKICAkRVJST1IoIiMxODk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZDAwIGFuZCBiZGZmIik7Cn0KCnZhciBpMTkwID0gIiI7CmZvciAodmFyIGogPSA0ODY0MDsgaiA8IDQ4ODk2OyBqKyspCiAgaTE5MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MCA9IGkxOTA7CmlmIChpMTkwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTApIHsKICAkRVJST1IoIiMxOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZTAwIGFuZCBiZWZmIik7Cn0KCnZhciBpMTkxID0gIiI7CmZvciAodmFyIGogPSA0ODg5NjsgaiA8IDQ5MTUyOyBqKyspCiAgaTE5MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MSA9IGkxOTE7CmlmIChpMTkxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTEpIHsKICAkRVJST1IoIiMxOTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZjAwIGFuZCBiZmZmIik7Cn0KCnZhciBpMTkyID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDQ5NDA4OyBqKyspCiAgaTE5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MiA9IGkxOTI7CmlmIChpMTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTIpIHsKICAkRVJST1IoIiMxOTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAwIGFuZCBjMGZmIik7Cn0KCnZhciBpMTkzID0gIiI7CmZvciAodmFyIGogPSA0OTQwODsgaiA8IDQ5NjY0OyBqKyspCiAgaTE5MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MyA9IGkxOTM7CmlmIChpMTkzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTMpIHsKICAkRVJST1IoIiMxOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMTAwIGFuZCBjMWZmIik7Cn0KCnZhciBpMTk0ID0gIiI7CmZvciAodmFyIGogPSA0OTY2NDsgaiA8IDQ5OTIwOyBqKyspCiAgaTE5NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NCA9IGkxOTQ7CmlmIChpMTk0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTQpIHsKICAkRVJST1IoIiMxOTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMjAwIGFuZCBjMmZmIik7Cn0KCnZhciBpMTk1ID0gIiI7CmZvciAodmFyIGogPSA0OTkyMDsgaiA8IDUwMTc2OyBqKyspCiAgaTE5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NSA9IGkxOTU7CmlmIChpMTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTUpIHsKICAkRVJST1IoIiMxOTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMzAwIGFuZCBjM2ZmIik7Cn0KCnZhciBpMTk2ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUwNDMyOyBqKyspCiAgaTE5NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NiA9IGkxOTY7CmlmIChpMTk2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTYpIHsKICAkRVJST1IoIiMxOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjNGZmIik7Cn0KCnZhciBpMTk3ID0gIiI7CmZvciAodmFyIGogPSA1MDQzMjsgaiA8IDUwNjg4OyBqKyspCiAgaTE5NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NyA9IGkxOTc7CmlmIChpMTk3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTcpIHsKICAkRVJST1IoIiMxOTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNTAwIGFuZCBjNWZmIik7Cn0KCnZhciBpMTk4ID0gIiI7CmZvciAodmFyIGogPSA1MDY4ODsgaiA8IDUwOTQ0OyBqKyspCiAgaTE5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OCA9IGkxOTg7CmlmIChpMTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTgpIHsKICAkRVJST1IoIiMxOTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNjAwIGFuZCBjNmZmIik7Cn0KCnZhciBpMTk5ID0gIiI7CmZvciAodmFyIGogPSA1MDk0NDsgaiA8IDUxMjAwOyBqKyspCiAgaTE5OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OSA9IGkxOTk7CmlmIChpMTk5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTkpIHsKICAkRVJST1IoIiMxOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNzAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpMjAwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUxNDU2OyBqKyspCiAgaTIwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMCA9IGkyMDA7CmlmIChpMjAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDApIHsKICAkRVJST1IoIiMyMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjOGZmIik7Cn0KCnZhciBpMjAxID0gIiI7CmZvciAodmFyIGogPSA1MTQ1NjsgaiA8IDUxNzEyOyBqKyspCiAgaTIwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMSA9IGkyMDE7CmlmIChpMjAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDEpIHsKICAkRVJST1IoIiMyMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjOTAwIGFuZCBjOWZmIik7Cn0KCnZhciBpMjAyID0gIiI7CmZvciAodmFyIGogPSA1MTcxMjsgaiA8IDUxOTY4OyBqKyspCiAgaTIwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMiA9IGkyMDI7CmlmIChpMjAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDIpIHsKICAkRVJST1IoIiMyMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYTAwIGFuZCBjYWZmIik7Cn0KCnZhciBpMjAzID0gIiI7CmZvciAodmFyIGogPSA1MTk2ODsgaiA8IDUyMjI0OyBqKyspCiAgaTIwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMyA9IGkyMDM7CmlmIChpMjAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDMpIHsKICAkRVJST1IoIiMyMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYjAwIGFuZCBjYmZmIik7Cn0KCnZhciBpMjA0ID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUyNDgwOyBqKyspCiAgaTIwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNCA9IGkyMDQ7CmlmIChpMjA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDQpIHsKICAkRVJST1IoIiMyMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYzAwIGFuZCBjY2ZmIik7Cn0KCnZhciBpMjA1ID0gIiI7CmZvciAodmFyIGogPSA1MjQ4MDsgaiA8IDUyNzM2OyBqKyspCiAgaTIwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNSA9IGkyMDU7CmlmIChpMjA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDUpIHsKICAkRVJST1IoIiMyMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZDAwIGFuZCBjZGZmIik7Cn0KCnZhciBpMjA2ID0gIiI7CmZvciAodmFyIGogPSA1MjczNjsgaiA8IDUyOTkyOyBqKyspCiAgaTIwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNiA9IGkyMDY7CmlmIChpMjA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDYpIHsKICAkRVJST1IoIiMyMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZTAwIGFuZCBjZWZmIik7Cn0KCnZhciBpMjA3ID0gIiI7CmZvciAodmFyIGogPSA1Mjk5MjsgaiA8IDUzMjQ4OyBqKyspCiAgaTIwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNyA9IGkyMDc7CmlmIChpMjA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDcpIHsKICAkRVJST1IoIiMyMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZjAwIGFuZCBjZmZmIik7Cn0KCnZhciBpMjA4ID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDUzNTA0OyBqKyspCiAgaTIwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOCA9IGkyMDg7CmlmIChpMjA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDgpIHsKICAkRVJST1IoIiMyMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkMGZmIik7Cn0KCnZhciBpMjA5ID0gIiI7CmZvciAodmFyIGogPSA1MzUwNDsgaiA8IDUzNzYwOyBqKyspCiAgaTIwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOSA9IGkyMDk7CmlmIChpMjA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDkpIHsKICAkRVJST1IoIiMyMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMTAwIGFuZCBkMWZmIik7Cn0KCnZhciBpMjEwID0gIiI7CmZvciAodmFyIGogPSA1Mzc2MDsgaiA8IDU0MDE2OyBqKyspCiAgaTIxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMCA9IGkyMTA7CmlmIChpMjEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTApIHsKICAkRVJST1IoIiMyMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMjAwIGFuZCBkMmZmIik7Cn0KCnZhciBpMjExID0gIiI7CmZvciAodmFyIGogPSA1NDAxNjsgaiA8IDU0MjcyOyBqKyspCiAgaTIxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMSA9IGkyMTE7CmlmIChpMjExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTEpIHsKICAkRVJST1IoIiMyMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMzAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpMjEyID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU0NTI4OyBqKyspCiAgaTIxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMiA9IGkyMTI7CmlmIChpMjEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTIpIHsKICAkRVJST1IoIiMyMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkNGZmIik7Cn0KCnZhciBpMjEzID0gIiI7CmZvciAodmFyIGogPSA1NDUyODsgaiA8IDU0Nzg0OyBqKyspCiAgaTIxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMyA9IGkyMTM7CmlmIChpMjEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTMpIHsKICAkRVJST1IoIiMyMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNTAwIGFuZCBkNWZmIik7Cn0KCnZhciBpMjE0ID0gIiI7CmZvciAodmFyIGogPSA1NDc4NDsgaiA8IDU1MDQwOyBqKyspCiAgaTIxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNCA9IGkyMTQ7CmlmIChpMjE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTQpIHsKICAkRVJST1IoIiMyMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNjAwIGFuZCBkNmZmIik7Cn0KCnZhciBpMjE1ID0gIiI7CmZvciAodmFyIGogPSA1NTA0MDsgaiA8IDU1Mjk2OyBqKyspCiAgaTIxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNSA9IGkyMTU7CmlmIChpMjE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTUpIHsKICAkRVJST1IoIiMyMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNzAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpMjE2ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU1NTUyOyBqKyspCiAgaTIxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNiA9IGkyMTY7CmlmIChpMjE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTYpIHsKICAkRVJST1IoIiMyMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkODAwIGFuZCBkOGZmIik7Cn0KCnZhciBpMjE3ID0gIiI7CmZvciAodmFyIGogPSA1NTU1MjsgaiA8IDU1ODA4OyBqKyspCiAgaTIxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNyA9IGkyMTc7CmlmIChpMjE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTcpIHsKICAkRVJST1IoIiMyMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkOTAwIGFuZCBkOWZmIik7Cn0KCnZhciBpMjE4ID0gIiI7CmZvciAodmFyIGogPSA1NTgwODsgaiA8IDU2MDY0OyBqKyspCiAgaTIxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOCA9IGkyMTg7CmlmIChpMjE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTgpIHsKICAkRVJST1IoIiMyMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYTAwIGFuZCBkYWZmIik7Cn0KCnZhciBpMjE5ID0gIiI7CmZvciAodmFyIGogPSA1NjA2NDsgaiA8IDU2MzIwOyBqKyspCiAgaTIxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOSA9IGkyMTk7CmlmIChpMjE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTkpIHsKICAkRVJST1IoIiMyMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYjAwIGFuZCBkYmZmIik7Cn0KCnZhciBpMjIwID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU2NTc2OyBqKyspCiAgaTIyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMCA9IGkyMjA7CmlmIChpMjIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjApIHsKICAkRVJST1IoIiMyMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkY2ZmIik7Cn0KCnZhciBpMjIxID0gIiI7CmZvciAodmFyIGogPSA1NjU3NjsgaiA8IDU2ODMyOyBqKyspCiAgaTIyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMSA9IGkyMjE7CmlmIChpMjIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjEpIHsKICAkRVJST1IoIiMyMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZDAwIGFuZCBkZGZmIik7Cn0KCnZhciBpMjIyID0gIiI7CmZvciAodmFyIGogPSA1NjgzMjsgaiA8IDU3MDg4OyBqKyspCiAgaTIyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMiA9IGkyMjI7CmlmIChpMjIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjIpIHsKICAkRVJST1IoIiMyMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZTAwIGFuZCBkZWZmIik7Cn0KCnZhciBpMjIzID0gIiI7CmZvciAodmFyIGogPSA1NzA4ODsgaiA8IDU3MzQ0OyBqKyspCiAgaTIyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMyA9IGkyMjM7CmlmIChpMjIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjMpIHsKICAkRVJST1IoIiMyMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZjAwIGFuZCBkZmZmIik7Cn0KCnZhciBpMjI0ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU3NjAwOyBqKyspCiAgaTIyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNCA9IGkyMjQ7CmlmIChpMjI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjQpIHsKICAkRVJST1IoIiMyMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlMGZmIik7Cn0KCnZhciBpMjI1ID0gIiI7CmZvciAodmFyIGogPSA1NzYwMDsgaiA8IDU3ODU2OyBqKyspCiAgaTIyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNSA9IGkyMjU7CmlmIChpMjI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjUpIHsKICAkRVJST1IoIiMyMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMTAwIGFuZCBlMWZmIik7Cn0KCnZhciBpMjI2ID0gIiI7CmZvciAodmFyIGogPSA1Nzg1NjsgaiA8IDU4MTEyOyBqKyspCiAgaTIyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNiA9IGkyMjY7CmlmIChpMjI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjYpIHsKICAkRVJST1IoIiMyMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMjAwIGFuZCBlMmZmIik7Cn0KCnZhciBpMjI3ID0gIiI7CmZvciAodmFyIGogPSA1ODExMjsgaiA8IDU4MzY4OyBqKyspCiAgaTIyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNyA9IGkyMjc7CmlmIChpMjI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjcpIHsKICAkRVJST1IoIiMyMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMzAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpMjI4ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU4NjI0OyBqKyspCiAgaTIyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOCA9IGkyMjg7CmlmIChpMjI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjgpIHsKICAkRVJST1IoIiMyMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNDAwIGFuZCBlNGZmIik7Cn0KCnZhciBpMjI5ID0gIiI7CmZvciAodmFyIGogPSA1ODYyNDsgaiA8IDU4ODgwOyBqKyspCiAgaTIyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOSA9IGkyMjk7CmlmIChpMjI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjkpIHsKICAkRVJST1IoIiMyMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNTAwIGFuZCBlNWZmIik7Cn0KCnZhciBpMjMwID0gIiI7CmZvciAodmFyIGogPSA1ODg4MDsgaiA8IDU5MTM2OyBqKyspCiAgaTIzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMCA9IGkyMzA7CmlmIChpMjMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzApIHsKICAkRVJST1IoIiMyMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNjAwIGFuZCBlNmZmIik7Cn0KCnZhciBpMjMxID0gIiI7CmZvciAodmFyIGogPSA1OTEzNjsgaiA8IDU5MzkyOyBqKyspCiAgaTIzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMSA9IGkyMzE7CmlmIChpMjMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzEpIHsKICAkRVJST1IoIiMyMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNzAwIGFuZCBlN2ZmIik7Cn0KCnZhciBpMjMyID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDU5NjQ4OyBqKyspCiAgaTIzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMiA9IGkyMzI7CmlmIChpMjMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzIpIHsKICAkRVJST1IoIiMyMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlOGZmIik7Cn0KCnZhciBpMjMzID0gIiI7CmZvciAodmFyIGogPSA1OTY0ODsgaiA8IDU5OTA0OyBqKyspCiAgaTIzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMyA9IGkyMzM7CmlmIChpMjMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzMpIHsKICAkRVJST1IoIiMyMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlOTAwIGFuZCBlOWZmIik7Cn0KCnZhciBpMjM0ID0gIiI7CmZvciAodmFyIGogPSA1OTkwNDsgaiA8IDYwMTYwOyBqKyspCiAgaTIzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNCA9IGkyMzQ7CmlmIChpMjM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzQpIHsKICAkRVJST1IoIiMyMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYTAwIGFuZCBlYWZmIik7Cn0KCnZhciBpMjM1ID0gIiI7CmZvciAodmFyIGogPSA2MDE2MDsgaiA8IDYwNDE2OyBqKyspCiAgaTIzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNSA9IGkyMzU7CmlmIChpMjM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzUpIHsKICAkRVJST1IoIiMyMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYjAwIGFuZCBlYmZmIik7Cn0KCnZhciBpMjM2ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYwNjcyOyBqKyspCiAgaTIzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNiA9IGkyMzY7CmlmIChpMjM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzYpIHsKICAkRVJST1IoIiMyMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlY2ZmIik7Cn0KCnZhciBpMjM3ID0gIiI7CmZvciAodmFyIGogPSA2MDY3MjsgaiA8IDYwOTI4OyBqKyspCiAgaTIzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNyA9IGkyMzc7CmlmIChpMjM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzcpIHsKICAkRVJST1IoIiMyMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZDAwIGFuZCBlZGZmIik7Cn0KCnZhciBpMjM4ID0gIiI7CmZvciAodmFyIGogPSA2MDkyODsgaiA8IDYxMTg0OyBqKyspCiAgaTIzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOCA9IGkyMzg7CmlmIChpMjM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzgpIHsKICAkRVJST1IoIiMyMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZTAwIGFuZCBlZWZmIik7Cn0KCnZhciBpMjM5ID0gIiI7CmZvciAodmFyIGogPSA2MTE4NDsgaiA8IDYxNDQwOyBqKyspCiAgaTIzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOSA9IGkyMzk7CmlmIChpMjM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzkpIHsKICAkRVJST1IoIiMyMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZjAwIGFuZCBlZmZmIik7Cn0KCnZhciBpMjQwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYxNjk2OyBqKyspCiAgaTI0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MCA9IGkyNDA7CmlmIChpMjQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDApIHsKICAkRVJST1IoIiMyNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMDAwIGFuZCBmMGZmIik7Cn0KCnZhciBpMjQxID0gIiI7CmZvciAodmFyIGogPSA2MTY5NjsgaiA8IDYxOTUyOyBqKyspCiAgaTI0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MSA9IGkyNDE7CmlmIChpMjQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDEpIHsKICAkRVJST1IoIiMyNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMTAwIGFuZCBmMWZmIik7Cn0KCnZhciBpMjQyID0gIiI7CmZvciAodmFyIGogPSA2MTk1MjsgaiA8IDYyMjA4OyBqKyspCiAgaTI0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MiA9IGkyNDI7CmlmIChpMjQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDIpIHsKICAkRVJST1IoIiMyNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMjAwIGFuZCBmMmZmIik7Cn0KCnZhciBpMjQzID0gIiI7CmZvciAodmFyIGogPSA2MjIwODsgaiA8IDYyNDY0OyBqKyspCiAgaTI0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MyA9IGkyNDM7CmlmIChpMjQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDMpIHsKICAkRVJST1IoIiMyNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMzAwIGFuZCBmM2ZmIik7Cn0KCnZhciBpMjQ0ID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYyNzIwOyBqKyspCiAgaTI0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NCA9IGkyNDQ7CmlmIChpMjQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDQpIHsKICAkRVJST1IoIiMyNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmNGZmIik7Cn0KCnZhciBpMjQ1ID0gIiI7CmZvciAodmFyIGogPSA2MjcyMDsgaiA8IDYyOTc2OyBqKyspCiAgaTI0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NSA9IGkyNDU7CmlmIChpMjQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDUpIHsKICAkRVJST1IoIiMyNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNTAwIGFuZCBmNWZmIik7Cn0KCnZhciBpMjQ2ID0gIiI7CmZvciAodmFyIGogPSA2Mjk3NjsgaiA8IDYzMjMyOyBqKyspCiAgaTI0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NiA9IGkyNDY7CmlmIChpMjQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDYpIHsKICAkRVJST1IoIiMyNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNjAwIGFuZCBmNmZmIik7Cn0KCnZhciBpMjQ3ID0gIiI7CmZvciAodmFyIGogPSA2MzIzMjsgaiA8IDYzNDg4OyBqKyspCiAgaTI0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NyA9IGkyNDc7CmlmIChpMjQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDcpIHsKICAkRVJST1IoIiMyNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNzAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpMjQ4ID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDYzNzQ0OyBqKyspCiAgaTI0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OCA9IGkyNDg7CmlmIChpMjQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDgpIHsKICAkRVJST1IoIiMyNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmOGZmIik7Cn0KCnZhciBpMjQ5ID0gIiI7CmZvciAodmFyIGogPSA2Mzc0NDsgaiA8IDY0MDAwOyBqKyspCiAgaTI0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OSA9IGkyNDk7CmlmIChpMjQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDkpIHsKICAkRVJST1IoIiMyNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmOTAwIGFuZCBmOWZmIik7Cn0KCnZhciBpMjUwID0gIiI7CmZvciAodmFyIGogPSA2NDAwMDsgaiA8IDY0MjU2OyBqKyspCiAgaTI1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MCA9IGkyNTA7CmlmIChpMjUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTApIHsKICAkRVJST1IoIiMyNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYTAwIGFuZCBmYWZmIik7Cn0KCnZhciBpMjUxID0gIiI7CmZvciAodmFyIGogPSA2NDI1NjsgaiA8IDY0NTEyOyBqKyspCiAgaTI1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MSA9IGkyNTE7CmlmIChpMjUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTEpIHsKICAkRVJST1IoIiMyNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYjAwIGFuZCBmYmZmIik7Cn0KCnZhciBpMjUyID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY0NzY4OyBqKyspCiAgaTI1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MiA9IGkyNTI7CmlmIChpMjUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTIpIHsKICAkRVJST1IoIiMyNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmY2ZmIik7Cn0KCnZhciBpMjUzID0gIiI7CmZvciAodmFyIGogPSA2NDc2ODsgaiA8IDY1MDI0OyBqKyspCiAgaTI1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MyA9IGkyNTM7CmlmIChpMjUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTMpIHsKICAkRVJST1IoIiMyNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZDAwIGFuZCBmZGZmIik7Cn0KCnZhciBpMjU0ID0gIiI7CmZvciAodmFyIGogPSA2NTAyNDsgaiA8IDY1MjgwOyBqKyspCiAgaTI1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NCA9IGkyNTQ7CmlmIChpMjU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTQpIHsKICAkRVJST1IoIiMyNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZTAwIGFuZCBmZWZmIik7Cn0KCnZhciBpMjU1ID0gIiI7CmZvciAodmFyIGogPSA2NTI4MDsgaiA8IDY1NTM2OyBqKyspCiAgaTI1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NSA9IGkyNTU7CmlmIChpMjU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTUpIHsKICAkRVJST1IoIiMyNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZjAwIGFuZCBmZmZmIik7Cn0KCg==","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIGEgLSB6CiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDA2MS0wMDdBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA2MTsgYWxwaGEgPD0gMHgwMDdBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIDAgLSA5LCBfCiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDAzMC0wMDM5CnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDAzMDsgYWxwaGEgPD0gMHgwMDM5OyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGCnZhciBhcnIgPSByZWdleHBfdy5leGVjKCJfIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDA1RiIpKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKaWYgKHJlZ2V4cF93LmV4ZWMoIiAiKSAhPT0gbnVsbCkgewogICRFUlJPUignIzM6ICAnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"0 - 9, _","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgcmVnZXhwX3cgPSAvXHcvOwoKLy9DSEVDSyMwNDEwLTA0MkYKdmFyIHJlc3VsdCA9IHRydWU7ICAKZm9yIChhbHBoYSA9IDB4MDQxMDsgYWxwaGEgPD0gMHgwNDJGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF93LmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQnKTsKfQoKLy9DSEVDSyMwNDMwLTA0NEYKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwNDMwOyBhbHBoYSA8PSAweDA0NEY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3cuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIG5vbi13CiAqLwoKLy9DSEVDSyMxCnZhciBub25fdyA9ICJcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1x3Ly5leGVjKG5vbl93KSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwp2YXIgcmVnZXhwX3cgPSAvXHcvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX3cuZXhlYyhub25fVykgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX1cubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1XJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBIC0gWgogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVGXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBIjsKaWYgKGkwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBhIC0gegogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwMzAtMDAzOQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwMzA7IGFscGhhIDw9IDB4MDAzOTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGIAppZiAocmVnZXhwX1cuZXhlYygiXyIpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKdmFyIGFyciA9IHJlZ2V4cF9XLmV4ZWMoIiAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDIwIikpIHsKICAkRVJST1IoJyMyOiAgJyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9XID0gL1xXLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tdwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3cgPSAiXGZcblxyXHRcdn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8gIiArICciJzsKdmFyIHJlZ2V4cF9XID0gL1xXL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9XLmV4ZWMobm9uX3cpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl93Lmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwppZiAoL1xXLy5leGVjKG5vbl9XKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMyOiBub24tVycpOwp9Cgo=","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIwXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSBpNTsKaWYgKGk1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSBpODsKaWYgKGk4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9IGkxMjsKaWYgKGkxMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gaTEzOwppZiAoaTEzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMykgewogICRFUlJPUigiIzEzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMzQwMCBhbmQgMzdmZiIpOwp9Cgp2YXIgaTE0ID0gIiI7CmZvciAodmFyIGogPSAxNDMzNjsgaiA8IDE1MzYwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9IGkxNTsKaWYgKGkxNS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gaTE2OwppZiAoaTE2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xNikgewogICRFUlJPUigiIzE2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwMCBhbmQgNDNmZiIpOwp9Cgp2YXIgaTE3ID0gIiI7CmZvciAodmFyIGogPSAxNzQwODsgaiA8IDE4NDMyOyBqKyspCiAgaTE3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTcgPSBpMTc7CmlmIChpMTcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gaTE5OwppZiAoaTE5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xOSkgewogICRFUlJPUigiIzE5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNGMwMCBhbmQgNGZmZiIpOwp9Cgp2YXIgaTIwID0gIiI7CmZvciAodmFyIGogPSAyMDQ4MDsgaiA8IDIxNTA0OyBqKyspCiAgaTIwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjAgPSBpMjA7CmlmIChpMjAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gaTIyOwppZiAoaTIyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yMikgewogICRFUlJPUigiIzIyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNTgwMCBhbmQgNWJmZiIpOwp9Cgp2YXIgaTIzID0gIiI7CmZvciAodmFyIGogPSAyMzU1MjsgaiA8IDI0NTc2OyBqKyspCiAgaTIzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjMgPSBpMjM7CmlmIChpMjMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gaTI1OwppZiAoaTI1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yNSkgewogICRFUlJPUigiIzI1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNjQwMCBhbmQgNjdmZiIpOwp9Cgp2YXIgaTI2ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI3NjQ4OyBqKyspCiAgaTI2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjYgPSBpMjY7CmlmIChpMjYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gaTI4OwppZiAoaTI4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yOCkgewogICRFUlJPUigiIzI4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwMCBhbmQgNzNmZiIpOwp9Cgp2YXIgaTI5ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDMwNzIwOyBqKyspCiAgaTI5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjkgPSBpMjk7CmlmIChpMjkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gaTMxOwppZiAoaTMxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zMSkgewogICRFUlJPUigiIzMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgN2MwMCBhbmQgN2ZmZiIpOwp9Cgp2YXIgaTMyID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzNzkyOyBqKyspCiAgaTMyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzIgPSBpMzI7CmlmIChpMzIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gaTM0OwppZiAoaTM0LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNCkgewogICRFUlJPUigiIzM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgODgwMCBhbmQgOGJmZiIpOwp9Cgp2YXIgaTM1ID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2ODY0OyBqKyspCiAgaTM1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzUgPSBpMzU7CmlmIChpMzUucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gaTM3OwppZiAoaTM3LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNykgewogICRFUlJPUigiIzM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgOTQwMCBhbmQgOTdmZiIpOwp9Cgp2YXIgaTM4ID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5OTM2OyBqKyspCiAgaTM4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzggPSBpMzg7CmlmIChpMzgucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9IGkzOTsKaWYgKGkzOS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gaTQwOwppZiAoaTQwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MCkgewogICRFUlJPUigiIzQwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYTAwMCBhbmQgYTNmZiIpOwp9Cgp2YXIgaTQxID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQzMDA4OyBqKyspCiAgaTQxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDEgPSBpNDE7CmlmIChpNDEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9IGk0MjsKaWYgKGk0Mi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gaTQzOwppZiAoaTQzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MykgewogICRFUlJPUigiIzQzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYWMwMCBhbmQgYWZmZiIpOwp9Cgp2YXIgaTQ0ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ2MDgwOyBqKyspCiAgaTQ0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDQgPSBpNDQ7CmlmIChpNDQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9IGk0NTsKaWYgKGk0NS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gaTQ2OwppZiAoaTQ2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80NikgewogICRFUlJPUigiIzQ2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYjgwMCBhbmQgYmJmZiIpOwp9Cgp2YXIgaTQ3ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ5MTUyOyBqKyspCiAgaTQ3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDcgPSBpNDc7CmlmIChpNDcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9IGk0ODsKaWYgKGk0OC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gaTQ5OwppZiAoaTQ5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80OSkgewogICRFUlJPUigiIzQ5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYzQwMCBhbmQgYzdmZiIpOwp9Cgp2YXIgaTUwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUyMjI0OyBqKyspCiAgaTUwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTAgPSBpNTA7CmlmIChpNTAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9IGk1MTsKaWYgKGk1MS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gaTUyOwppZiAoaTUyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81MikgewogICRFUlJPUigiIzUyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZDAwMCBhbmQgZDNmZiIpOwp9Cgp2YXIgaTUzID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU1Mjk2OyBqKyspCiAgaTUzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTMgPSBpNTM7CmlmIChpNTMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9IGk1NDsKaWYgKGk1NC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gaTU1OwppZiAoaTU1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81NSkgewogICRFUlJPUigiIzU1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZGMwMCBhbmQgZGZmZiIpOwp9Cgp2YXIgaTU2ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU4MzY4OyBqKyspCiAgaTU2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTYgPSBpNTY7CmlmIChpNTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9IGk1NzsKaWYgKGk1Ny5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gaTU4OwppZiAoaTU4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81OCkgewogICRFUlJPUigiIzU4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZTgwMCBhbmQgZWJmZiIpOwp9Cgp2YXIgaTU5ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYxNDQwOyBqKyspCiAgaTU5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTkgPSBpNTk7CmlmIChpNTkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9IGk2MDsKaWYgKGk2MC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gaTYxOwppZiAoaTYxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG82MSkgewogICRFUlJPUigiIzYxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZjQwMCBhbmQgZjdmZiIpOwp9Cgp2YXIgaTYyID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDY0NTEyOyBqKyspCiAgaTYyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjIgPSBpNjI7CmlmIChpNjIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykKICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MyA9IGk2MzsKaWYgKGk2My5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogUlVTU0lBTiBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBydXNzaWFuIHNtYWxsIGFscGhhYmV0Jyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tZAogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2QgPSAiX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1xkLy5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tZCcpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9EID0gJzAxMjM0NTY3ODknOwp2YXIgcmVnZXhwX2QgPSAvXGQvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX2QuZXhlYyhub25fRCkgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX0QubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1EJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"non-d","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5IjsKaWYgKGkwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX0QuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfRC5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKLy9DSEVDSyMxCnZhciBub25fZCA9ICJfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlxmXG5cclx0XHZ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/ICIgKyAnIic7CnZhciByZWdleHBfRCA9IC9cRC9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfRC5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fZC5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLWQnKTsKfQoKLy9DSEVDSyMyCnZhciBub25fZCA9ICcwMTIzNDU2Nzg5JzsKaWYgKC9cRC8uZXhlYyhub25fZCkgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLWQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW11hLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW11hLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKIGlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW11hLy50ZXN0KCJcXDBhXFwwYSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]a/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIik7CgpfX2V4cGVjdGVkID0gWyJhYmMzMjQyMzQiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXG5cblxhYmMzMjQyMzRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-c\\d]+/.exec(\"\\n\\n\\abc324234\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FiWy5dP2MvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiWy5dP2MvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[.]?c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYl1jLy5leGVjKCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtiXWMvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[b]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7CgpfX2V4cGVjdGVkID0gWyJkZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE1OwpfX2V4cGVjdGVkLmlucHV0ID0gImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XVteMS05XVthLXpdLy5leGVjKCJhMWIgIGIyYyAgYzNkICBkZWYgIGY0ZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel1bXjEtOV1bYS16XS8uZXhlYygiYTFiICBiMmMgIGMzZCAgZGVmICBmNGciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-z][^1-9][a-z]/.exec(\"a1b b2c c3d def f4g\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1sqJiRdezN9Ly5leGVjKCIxMjMqJiRhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvWyomJF17M30vLmV4ZWMoIjEyMyomJGFiYyIpOwoKX19leHBlY3RlZCA9IFsiKiYkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyMyomJGFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[*&$]{3}/.exec(\"123*&$abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXG5dW15cZF0vLmV4ZWMoImxpbmUxXG5saW5lMiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdW1xuXVteXGRdLy5leGVjKCJsaW5lMVxubGluZTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjFcbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcbmxpbmUyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\n][^\\d]/.exec(\"line1\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIik7CgpfX2V4cGVjdGVkID0gWyIxXG5cblxuXG5cbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcblxuXG5cblxubGluZTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcMTItXFwxNF17MSx9W15cXGRdLy5leGVjKCJsaW5lMVxcblxcblxcblxcblxcbmxpbmUyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXFxkXVtcXDEyLVxcMTRdezEsfVteXFxkXS8uZXhlYygibGluZTFcXG5cXG5cXG5cXG5cXG5saW5lMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\12-\\14]{1,}[^\\d]/.exec(\"line1\\n\\n\\n\\n\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tdLy5leGVjKCJhW2JcbltdXHRjXWQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW10vLmV4ZWMoImFbYlxuW11cdGNdZCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CgkkRVJST1IoJyMxOiAvW10vLmV4ZWMoImFbYlxcbltdXFx0Y11kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]/.exec(\"a[b\\n[]\\tc]d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVtdLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtdLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hW10vLnRlc3QoIlxcMGFcXDBhIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[]/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJxWXF5ICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxzKykvLmV4ZWMoInFZcXkgIik7CgpfX2V4cGVjdGVkID0gWyJxeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJxWXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygicVlxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInFZcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"qYqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKTsKCl9fZXhwZWN0ZWQgPSBbInF5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gInRxYXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYXF5ICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqaqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFcdCAgcXkgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XHMrKS8uZXhlYygidHFhXHQgIHF5ICIpOwoKX19leHBlY3RlZCA9IFsicWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidHFhXHQgIHF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhXFx0ICBxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYVxcdCAgcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqa\\t qy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYltlcmNzdF1kZS8uZXhlYygiYWJjZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[ercst]de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FiW2Vyc3RdZGUvLnRlc3QoImFiY2RlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[erst]de/.test(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsKCl9fZXhwZWN0ZWQgPSBbImRlZmdoIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tkLWhdKy8uZXhlYygiYWJjZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[d-h]+/.exec(\"abcdefghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWzEyMzQ1NjddLnsyfS8uZXhlYygiYWJjNmRlZmdoaWprbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7CgpfX2V4cGVjdGVkID0gWyI2ZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjNmRlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[1234567].{2}/.exec(\"abc6defghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dYS9tLmV4ZWMoImFcbmFiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxuYWJhIik7CgpfX2V4cGVjdGVkID0gWyJcbmEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYVxuYWJhIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxcbmFiYSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15dYS9tLmV4ZWMoImFcXG5hYmEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]a/m.exec(\"a\\naba\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteXS8uZXhlYygiICAgYVx0XG4iKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteXS8uZXhlYygiICAgYVx0XG4iKTsKCl9fZXhwZWN0ZWQgPSBbImFcdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMzsKX19leHBlY3RlZC5pbnB1dCA9ICIgICBhXHRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^]/.exec(\" a\\t\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYi16XVxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW15iLXpdXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7CgpfX2V4cGVjdGVkID0gWyJhWSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWIgYW4gYXogYVkgbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVteYi16XVxccysvLmV4ZWMoImFiIGFuIGF6IGFZIG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXmItel1cXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b-z]\\s+/.exec(\"ab an az aY n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15cYl0rL2cuZXhlYygiZWFzeVxidG9cdTAwMDhyaWRlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXGJdKy9nLmV4ZWMoImVhc3lcYnRvXHUwMDA4cmlkZSIpOwoKX19leHBlY3RlZCA9IFsiZWFzeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJlYXN5XGJ0b1x1MDAwOHJpZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcYl0rL2cuZXhlYygiZWFzeVxcYnRvXFx1MDAwOHJpZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxiXSsvZy5leGVjKCJlYXN5XFxidG9cXHUwMDA4cmlkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^\\b]+/g.exec(\"easy\\bto\\u0008ride\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteMS05XWMvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW14xLTldYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^1-9]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYl1jLy50ZXN0KCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteYl1jLy50ZXN0KCJhYmMiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FbXmJdYy8udGVzdCgiYWJjIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b]c/.test(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiJSYqQCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXmEtel17NH0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^a-z]{4}/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXl0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy5bXGJdLi8uZXhlYygiYWJjXGJkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLltcYl0uLy5leGVjKCJhYmNcYmRlZiIpOwoKX19leHBlY3RlZCA9IFsiY1xiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYmRlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy5bXFxiXS4vLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLltcXGJdLi8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /.[\\b]./.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJjXGJcYlxiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYlxiXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jW1xcYl17M31kLy5leGVjKCJhYmNcXGJcXGJcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NbXFxiXXszfWQvLmV4ZWMoImFiY1xcYlxcYlxcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /c[\\b]{3}d/.exec(\"abc\\b\\b\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXlxbXGJcXV0rLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tiLWFjLWVdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLWFjLWVdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1hYy1lXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItYWMtZV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-ac-e]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXDEwYi1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFwxMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDEwYi1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcMTBiLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\10b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxiZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXEJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXEJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxCZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcQmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHRkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHRkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx0ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdGQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\td-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXG5kLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXG5kLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxuZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcbmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\nd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx2ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\vd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxmZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcZmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\fd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxyZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xccmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\rd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGMwMDAxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFxjMDAwMWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGMwMDAxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYzAwMDFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\c0001d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHgwMDYxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx4MDA2MWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHgwMDYxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xceDAwNjFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\x0061d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1thLWRjLWJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1thLWRjLWJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYS1kYy1iXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2EtZGMtYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[a-dc-b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHUwMDYxZC1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx1MDA2MWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHUwMDYxZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdTAwNjFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\u0061d-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGFkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxhZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\ad-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYy1lYi1hXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYy1lYi1hXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2MtZWItYV0iKS5leGVjKCJhIikpKTsKfSBjYXRjaCAoZSkgewogIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKICAgICRFUlJPUignIzEuMjogL1tjLWViLWFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[c-eb-a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXGRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXGRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxkXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcZF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\d]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXERdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXERdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxEXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcRF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\D]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxzXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcc10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\s]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxTXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcU10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\S]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFx3XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcd10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\w]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxXXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcV10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\W]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDBdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXDBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFwwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\0]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcZGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcZGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGRiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxkYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDEwXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYi1HXFwxMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltiLUdcXDEwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMTBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\10]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxiXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXEJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXEJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxCXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcQl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\B]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx0XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\t]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXG5dLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXG5dLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxuXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcbl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\n]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx2XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\v]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxmXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcZl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\f]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxyXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xccl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\r]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGMwMDAxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFxjMDAwMV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXGMwMDAxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYzAwMDFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\c0001]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHgwMDYxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx4MDA2MV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHgwMDYxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xceDAwNjFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\x0061]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcRGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcRGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXERiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxEYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHUwMDYxXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx1MDA2MV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHUwMDYxXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdTAwNjFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\u0061]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGFdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxhXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcc2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcc2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxzYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcU2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcU2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxTYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcd2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcd2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFx3Yi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcV2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcV2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxXYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcMGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDBiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFwwYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\0b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXxhYi8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hfGFiLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /a|ab/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS2VGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiZUYiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUVLZUZDRGFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKeFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsKCl9fZXhwZWN0ZWQgPSBbIjExMTExIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIjExMTExMTExMTExMTExMTEiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /11111|111/.exec(\"1111111111111111\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3h5enwuLi4vLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h5enwuLi4vLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /xyz|.../.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKS4ufGFiYy8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKC4pLi58YWJjLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(.)..|abc/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLis6IGdyKGF8ZSl5Ly5leGVjKCJjb2xvcjogZ3JleSIpOwoKX19leHBlY3RlZCA9IFsiY29sb3I6IGdyZXkiLCJlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImNvbG9yOiBncmV5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /.+: gr(a|e)y/.exec(\"color: grey\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsKCl9fZXhwZWN0ZWQgPSBbIkJvYiIsdW5kZWZpbmVkLCJCb2IiLCB1bmRlZmluZWQsIHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhpIEJvYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFJvYil8KEJvYil8KFJvYmVydCl8KEJvYmJ5KS8uZXhlYygiSGkgQm9iIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(Rob)|(Bob)|(Robert)|(Bobby)/.exec(\"Hi Bob\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLygpfC8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oKXwvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKCl8Ly5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /()|/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3woKS8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvfCgpLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /|()/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oKGEpfChhYikpKChjKXwoYmMpKS8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCAiYSIsICJhIiwgdW5kZWZpbmVkLCAiYmMiLCB1bmRlZmluZWQsICJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /((a)|(ab))((c)|(bc))/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCBvZiBjb3Vyc2UgcmVwZWF0IDEyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOwoKX19leHBlY3RlZCA9IFsiY291ciJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIG9mIGNvdXJzZSByZXBlYXQgMTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjIzNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHszfXxbYS16XXs0fS8uZXhlYygiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgMjM0IEFORCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and 234 AND of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLnRlc3QoIjIsIDEyIGFuZCAyMyBBTkQgMC4wMC4xIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.test(\"2, 12 and 23 AND 0.00.1\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNEIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gIkFFS0ZDRCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FifGNkfGVmL2kuZXhlYygiQUVLRkNEIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvLnRlc3QoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/.test(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEIik7CgpfX2V4cGVjdGVkID0gWyJDRCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiQ0RhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0RhYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMoImFiY2RlZmdoaSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoImFiY2RlZmdoaSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}?/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhYXxhYWJhYWN8YmF8YnxjKSogLy5leGVjKCJhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoImFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(aa|aabaac|ba|b|c)* /.exec(\"aabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh6KSgoYSspPyhiKyk/KGMpKSogLy5leGVjKCJ6YWFjYmJiY2FjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsKCl9fZXhwZWN0ZWQgPSBbInphYWNiYmJjYWMiLCAieiIsICJhYyIsICJhIiwgdW5kZWZpbmVkLCAiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(z)((a+)?(b+)?(c))* /.exec(\"zaacbbbcac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhKiliXDErLy5leGVjKCJiYWFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFhYyIpOwoKX19leHBlY3RlZCA9IFsiYiIsICIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYmFhYWFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEqKWJcXDErLy5leGVjKCJiYWFhYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(a*)b\\1+/.exec(\"baaaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3MkLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvcyQvLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZSQvLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9lJC8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e$/.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcyQvbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKTsKCl9fZXhwZWN0ZWQgPSBbInMiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^e]$/mg.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZXMkL21nLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxcdTAwNjVzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsXHUwMDY1cyIpOwoKX19leHBlY3RlZCA9IFsiZXMiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlcyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxcXHUwMDY1cyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZXMkL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibFxcdTAwNjVzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /es$/mg.exec(\"pairs\\nmakes\\tdoubl\\u0065s\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15tLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXm0vLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL15cZCsvbS5leGVjKCJhYmNcbjEyM3h5eiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXGQrL20uZXhlYygiYWJjXG4xMjN4eXoiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcbjEyM3h5eiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcZCsvbS5leGVjKCJhYmNcXG4xMjN4eXoiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXGQrL20uZXhlYygiYWJjXFxuMTIzeHl6Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\d+/m.exec(\"abc\\n123xyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJtIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA2OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXm0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS8uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpOwoKX19leHBlY3RlZCA9IFsicGEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXnBbYS16XS8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ecFthLXpdLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ecFtiLXpdL20uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIik7CgpfX2V4cGVjdGVkID0gWyJwZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKTsKCl9fZXhwZWN0ZWQgPSBbIm0iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eW15wXS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^[^p]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXmFiLy5leGVjKCJhYmNkZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7CgpfX2V4cGVjdGVkID0gWyJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^ab/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL14uLl5lLy50ZXN0KCJhYlxcbmNkZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^..^e/.test(\"ab\\ncde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnh4eC8udGVzdCgieXl5eXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXnh4eC8udGVzdCgieXl5eXkiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL154eHgvLnRlc3QoInl5eXl5IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^xxx/.test(\"yyyyy\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXlxeKy8uZXhlYygiXl5eeCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXF4rLy5leGVjKCJeXl54Iik7CgpfX2V4cGVjdGVkID0gWyJeXl4iXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXl5eeCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcXisvLmV4ZWMoIl5eXngiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXF4rLy5leGVjKCJeXl54Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\^+/.exec(\"^^^x\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicC8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYnAvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbInAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYnAvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicC8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bp/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYnJvYm90XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyb2JvdFxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJyb2JvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\brobot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYlx3ezV9XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJcd3s1fVxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJwaWxvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJcXHd7NX1cXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxiXFx3ezV9XFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\b\\w{5}\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYm9wLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xib3AvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbIm9wIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxOTsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bop/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9vcFxiLy50ZXN0KCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL29wXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL29wXFxiLy50ZXN0KCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /op\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjg7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VcXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljXFx1MDA2NSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e\\b/.exec(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxiZS8udGVzdCgicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\be/.test(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL290XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvb3RcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /ot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xib3QvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJvdC8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxib3QvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bot/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xic28vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJzby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsic28iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bso/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3NvXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvc29cYi8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvc29cXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /so\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvLmV4ZWMoInBpbE90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15vXXRcYi8uZXhlYygicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsiT3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJldCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15vXXRcXGIvaS5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teb110XFxiL2kuZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/i.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicm8vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsicm8iXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bro/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3JcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9yXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL3JcXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /r\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCZXZpbFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQmV2aWxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImV2aWwiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bevil\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tmLXpdZVxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bZi16XWVcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIik7CgpfX2V4cGVjdGVkID0gWyJyZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[f-z]e\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCb1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQm9cQi9pLmV4ZWMoImRldmlscyBhcmlzZVx0Zk9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiTyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmT3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCb1xcQi9pLmV4ZWMoImRldmlscyBhcmlzZVxcdGZPclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXEJvXFxCL2kuZXhlYygiZGV2aWxzIGFyaXNlXFx0Zk9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bo\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHdcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXFteel17NH1cQi8udGVzdCgiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcW156XXs0fVxCLy50ZXN0KCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxCXFxbXnpdezR9XFxCLy50ZXN0KCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\[^z]{4}\\B/.test(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHd7NH1cQi8uZXhlYygiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd3s0fVxCLy5leGVjKCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKX19leHBlY3RlZCA9IFsib3J6eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXHd7NH1cXEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZpbHMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd3s0fVxcQi8uZXhlYygiZGV2aWwgYXJpc2VcXHRmb3J6enhcXG5ldmlscyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w{4}\\B/.exec(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsKCl9fZXhwZWN0ZWQgPSBbInJvYm90Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gInJvYm90IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eXl5eXl5ecm9ib3QkJCQkLy5leGVjKCJyb2JvdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /^^^^^^^robot$$$$/.exec(\"robot\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXEJcQlxCXEJcQlxCYm90XGJcYlxiXGJcYlxiXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQlxCXEJcQlxCXEJib3RcYlxiXGJcYlxiXGJcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7CgpfX2V4cGVjdGVkID0gWyJib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicm9ib3Qgd2FsbC1lIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXEJcXEJcXEJcXEJcXEJib3RcXGJcXGJcXGJcXGJcXGJcXGJcXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFxCXFxCXFxCXFxCXFxCYm90XFxiXFxiXFxiXFxiXFxiXFxiXFxiLy5leGVjKCJyb2JvdCB3YWxsLWUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec(\"robot wall-e\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIHRoZSBlbmQgYmVjYXVzZSBvZiBkb2xsYXIgYXNzZXJ0aW9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIkhlbGxvIFdvcmxkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvIFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPyQvLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till the end because of dollar assertion","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJIZWxsbyBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14uKj8vLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"Execute /^.*?/.exec(\"Hello World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIG1hdGNoZXMgZW5kIG9yIGNvbG9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOwoKX19leHBlY3RlZCA9IFsiSGVsbG86IiwgIjoiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSGVsbG86IFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXi4qPyg6fCQpLy5leGVjKCJIZWxsbzogV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till matches end or colon","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qKDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7CgpfX2V4cGVjdGVkID0gWyJIZWxsbzogV29ybGQiLCAiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvOiBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"Execute /^.*(:|$)/.exec(\"Hello: World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7CgpfX2V4cGVjdGVkID0gWyI0MiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIGFuc3dlciBpcyA0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBhbnN3ZXIgaXMgNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the answer is 42\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7CgpfX2V4cGVjdGVkID0gWyJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ieHswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /bx{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsKCl9fZXhwZWN0ZWQgPSBbIndlaXJ3ZXJkZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ3ZWlyd2VyZGYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /.{0,93}/.exec(\"weirwerdf\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcZHsyLDR9Ly50ZXN0KCJ0aGUgNyBtb3ZpZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.test(\"the 7 movie\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDIwMDAwIExlYWd1ZXMgVW5kZXIgdGhlIFNlYSBib29rIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOwoKX19leHBlY3RlZCA9IFsiMjAwMCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0aGUgMjAwMDAgTGVhZ3VlcyBVbmRlciB0aGUgU2VhIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 20000 Leagues Under the Sea book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsKCl9fZXhwZWN0ZWQgPSBbIjQ1MSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgRmFocmVuaGVpdCA0NTEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the Fahrenheit 451 book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsKCl9fZXhwZWN0ZWQgPSBbIjE5ODQiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIDE5ODQgbm92ZWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgMTk4NCBub3ZlbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 1984 novel\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCIwYTBcdTAwMzFcdTAwMzFiIik7CgpfX2V4cGVjdGVkID0gWyIwMTEiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMGEwMTFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u0031b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxMjJiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoIjBhMFx1MDAzMVx1MDAzMTIyYiIpOwoKX19leHBlY3RlZCA9IFsiMDExMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICIwYTAxMTIyYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMTIyYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFcXHUwMDMxMjJiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u003122b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iezIsM31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{2,3}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns0Miw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns0Miw5M31jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7NDIsOTN9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{42,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VcdUZGRkZMXHVGRkREYm94MTI3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3ezN9XGQ/Ly5leGVjKCJDRVx1RkZGRkxcdUZGRERib3gxMjciKTsKCl9fZXhwZWN0ZWQgPSBbImJveDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQ0VcdUZGRkZMXHVGRkREYm94MTI3IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRVxcdUZGRkZMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VcXHVGRkZGTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CE\\uFFFFL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpOwoKX19leHBlY3RlZCA9IFsiQ0VMIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkNFTExcdUZGRERib3gxMjciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFTExcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRUxMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CELL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezJ9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7Mn1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{2}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezh9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7OH0vLnRlc3QoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvYns4fS8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{8}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy5leGVjKCJsYW5ndWFnZSAgamF2YVxuIik7CgpfX2V4cGVjdGVkID0gWyIgIGphdmFcbiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gODsKX19leHBlY3RlZC5pbnB1dCA9ICJsYW5ndWFnZSAgamF2YVxuIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"language java\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28rLy50ZXN0KCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28rLy50ZXN0KCJhYmNkZWZnIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9vKy8udGVzdCgiYWJjZGVmZyIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /o+/.test(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QrLy5leGVjKCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7CgpfX2V4cGVjdGVkID0gWyJiYmJiYmJiIiwiYmJiYmIiLCJiIiwiYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmJiYmJiYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYispKGIrKShiKykvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b+)(b+)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGIrKShiKikvLmV4ZWMoImFiYmJiYmJiYyIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmJiYiIsImJiYmJiYmIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b*)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYipiKy8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /b*b+/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKTsKCl9fZXhwZWN0ZWQgPSBbIlx0IGphdmEgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIlx0IGphdmEgb2JqZWN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHMramF2YVxccysvLmV4ZWMoIlxcdCBqYXZhIG9iamVjdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxzK2phdmFcXHMrLy5leGVjKCJcXHQgamF2YSBvYmplY3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"\\t java object\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiXHQgamF2YXggcGFja2FnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy50ZXN0KCJcdCBqYXZheCBwYWNrYWdlIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9cXHMramF2YVxccysvLnRlc3QoIlxcdCBqYXZheCBwYWNrYWdlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"\\t javax package\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xccytqYXZhXFxzKy8udGVzdCgiamF2YVxcblxcbm9iamVjdCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"java\\n\\nobject\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOwoKX19leHBlY3RlZCA9IFsieDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDEwOwpfX2V4cGVjdGVkLmlucHV0ID0gInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJfX2FiYzEyMy4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygiX19hYmMxMjMuMCIpOwoKX19leHBlY3RlZCA9IFsiYWJjMTIzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gIl9fYWJjMTIzLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsKCl9fZXhwZWN0ZWQgPSBbIngyIiwiMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJfX2FiYzEyMy4wIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiZGRkZGQiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGRkZGRlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGRkZGRlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdddddefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJyk7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnImJlYXN0Ii1uaWNrbmFtZSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('\"beast\"-nickname') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QqIC8uZXhlYygnYWJjZGRkZGVmZycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9kKi8uZXhlYygnYWJjZGRkZGVmZycpOwoKX19leHBlY3RlZCA9IFsiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FiY2RkZGRlZmcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /d* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkKiAvLmV4ZWMoJ2FiY2RkZGRlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKCdhYmNkZGRkZWZnJyk7CgpfX2V4cGVjdGVkID0gWyJjZGRkZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZGRkZWZnJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKFwnYWJjZGRkZGVmZ1wnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cd* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2N4KmQvLmV4ZWMoJ2FiY2RlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYygnYWJjZGVmZycpOwoKX19leHBlY3RlZCA9IFsiY2QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmZyc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2N4KmQvLmV4ZWMoXCdhYmNkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYyhcJ2FiY2RlZmdcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cx*d/.exec('abcdefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KikoeCspLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4IiwieCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x*)(x+)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkKikoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpOwoKX19leHBlY3RlZCA9IFsiMTIzNDU2Nzg5MCIsIjEyMzQ1Njc4OSIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKShcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopXGQoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXGQqKVxkKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1Njc4OTAiLCIxMjM0NTY3OCIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopXFxkKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKVxcZChcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)\\d(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KykoeCopLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4eCIsIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x+)(x*)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3gqeSskLy5leGVjKCd4eHh4eHh5eXl5eXknKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoJ3h4eHh4eHl5eXl5eScpOwoKX19leHBlY3RlZCA9IFsieHh4eHh4eXl5eXl5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ3h4eHh4eHl5eXl5eSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3gqeSskLy5leGVjKFwneHh4eHh4eXl5eXl5XCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoXCd4eHh4eHh5eXl5eXlcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /x*y+$/.exec('xxxxxxyyyyyy') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF0qW1xzXSpiYy4vLmV4ZWMoJ2FiY2RlZicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdKltcc10qYmMuLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZWYnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\\d]*[\\s]*bc./.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2JjLi5bXGRdKltcc10qIC8uZXhlYygnYWJjZGVmJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2JjLi5bXGRdKltcc10qLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iYy4uW1xcZF0qW1xcc10qLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYmMuLltcXGRdKltcXHNdKi8uZXhlYyhcJ2FiY2RlZlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /bc..[\\d]*[\\s]* /.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBzYWlkOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygnYWxpY2Ugc2FpZDogImRvblwndCInKTsKCl9fZXhwZWN0ZWQgPSBbImFsaWNlIHNhaWQ6ICJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBzYWlkOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBzYWlkOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2Ugc2FpZDogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice said: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4qIC8uZXhlYygnYTFiMmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLy4qLy5leGVjKCdhMWIyYzMnKTsKCl9fZXhwZWN0ZWQgPSBbImExYjJjMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhMWIyYzMnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uKi8uZXhlYyhcJ2ExYjJjM1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4qLy5leGVjKFwnYTFiMmMzXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /.* /.exec('a1b2c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJyk7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9beHl6XSoxLy50ZXN0KFwnYTAuYjIuYzNcJykgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[xyz]*1/.test('a0.b2.c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7CgpfX2V4cGVjdGVkID0gWyJiZWZvcmVcJ2lcJ3N0YXJ0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImJlZm9yZVwnaVwnc3RhcnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygiYmVmb3JlXCdpXCdzdGFydCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec(\"before\\'i\\'start\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJhbGljZSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgXCJzd2VlcFwiOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFwic3dlZXBcXCI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXCJzd2VlcFxcIjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\\"sweep\\\": \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcdTAwMjJzd2VlcFx1MDAyMjogImRvblwndCInKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpOwoKX19leHBlY3RlZCA9IFsiYWxpY2UgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlICJzd2VlcCI6ICJkb25cJ3QiJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgXHUwMDIyc3dlZXBcdTAwMjI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJcInN3ZWVwXCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgInN3ZWVwIjogImRvblwndCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnJyk7CgpfX2V4cGVjdGVkID0gWyJcJ2RvblwnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJ1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out: \\'don\\'t\\'') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLnRlc3QoJ2FsaWNlIGNyaWVzIG91dDogZG9uXCd0JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy50ZXN0KCdhbGljZSBjcmllcyBvdXQ6IGRvblwndCcpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvWyJcJ11bXiJcJ10qWyJcJ10vLnRlc3QoXCdhbGljZSBjcmllcyBvdXQ6IGRvblwndFwnKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.test('alice cries out: don\\'t') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDpcIlwiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy5leGVjKCdhbGljZSBjcmllcyBvdXQ6XCJcIicpOwoKX19leHBlY3RlZCA9IFsnXCJcIiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMTY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgY3JpZXMgb3V0OlwiXCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out:\\\"\\\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFzY3JpcHQiLCAic2NyaXB0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSA3OwpfX2V4cGVjdGVkLmlucHV0ID0gInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmFzY3JpcHQgaXMgZXh0ZW5zaW9uIG9mIGVjbWEgc2NyaXB0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: javascript is extension of ecma script\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYj9jP2Q/eD95P3ovLmV4ZWMoIjEyM2F6Nzg5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsKCl9fZXhwZWN0ZWQgPSBbImF6Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyM2F6Nzg5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /ab?c?d?x?y?z/.exec(\"123az789\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cPz9cPz9cPz9cPz9cPz8vLmV4ZWMoIj8/Pz8/IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1w/P1w/P1w/P1w/P1w/Py8uZXhlYygiPz8/Pz8iKTsKCl9fZXhwZWN0ZWQgPSBbIj8/Pz8/Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIj8/Pz8/IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFw/P1xcPz9cXD8/XFw/P1xcPz8vLmV4ZWMoIj8/Pz8/Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXD8/XFw/P1xcPz9cXD8/XFw/Py8uZXhlYygiPz8/Pz8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\??\\??\\??\\??\\??/.exec(\"?????\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOwoKX19leHBlY3RlZCA9IFsidGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0ZXN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLj8uPy4/Lj8uPy4/Lj8vLmV4ZWMoInRlc3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /.?.?.?.?.?.?.?/.exec(\"test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7CgpfX2V4cGVjdGVkID0gWyJqYXZhIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YSBhbmQgamF2YXNjcmlwdCBhcmUgdmFzdGx5IGRpZmZlcmVudCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: java and javascript are vastly different\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLnRlc3QoInN0YXRlOiBib3RoIEphdmEgYW5kIEphdmFTY3JpcHQgdXNlZCBpbiB3ZWIgZGV2ZWxvcG1lbnQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.test(\"state: both Java and JavaScript used in web development\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkP2UvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NkP2UvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cd?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkeD9lLy5leGVjKCJhYmNkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2R4P2UvLmV4ZWMoImFiY2RlZiIpOwoKX19leHBlY3RlZCA9IFsiY2RlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cdx?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7CgpfX2V4cGVjdGVkID0gWyJwcXJzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwcXJzdHV2dyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbz9wcXJzdC8uZXhlYygicHFyc3R1dnciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /o?pqrst/.exec(\"pqrstuvw\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/eT96Py8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD95P3o/Ly5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?y?z?/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD9heT9iej9jLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?ay?bz?c/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYj9iP2I/Yi8uZXhlYygiYWJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b?b?b?b/.exec(\"abbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYWJiYmJjY2NkZGVlZWVmZmZmZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7Mix9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{2,}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7OCx9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{8,}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7MSx9Ly5leGVjKCJ3cWU0NTY2NDZkc2ZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOwoKX19leHBlY3RlZCA9IFsiNDU2NjQ2Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIndxZTQ1NjY0NmRzZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /\\d{1,}/.exec(\"wqe456646dsff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfS8uZXhlYygiMTIzMTIzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oMTIzKXsxLH0vLmV4ZWMoIjEyMzEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}/.exec(\"123123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9eFwxLy5leGVjKCIxMjMxMjN4MTIzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcMS8uZXhlYygiMTIzMTIzeDEyMyIpOwoKX19leHBlY3RlZCA9IFsiMTIzMTIzeDEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjN4MTIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDFcXC8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9eFxcMS8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}x\\1/.exec(\"123123x123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsKCl9fZXhwZWN0ZWQgPSBbInh4eHh4eHgiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieHh4eHh4eCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h7MSwyfXh7MSx9Ly5leGVjKCJ4eHh4eHh4Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /x{1,2}x{1,}/.exec(\"xxxxxxx\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOwoKX19leHBlY3RlZCA9IFsiIiwgImFhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSkvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKWEqYlwxLy5leGVjKCJiYWFhYmFjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXDEvLmV4ZWMoImJhYWFiYWMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYSIsICJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImJhYWFiYWMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXFwxLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPz0oYSspKWEqYlxcMS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))a*b\\1/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YXNjcmlwdCIsICJzY3JpcHQiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"just Javascript: the way af jedi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmEiLCB1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygidGFzdGUgb2YgamF2YTogdGhlIGNvb2tib29rICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"taste of java: the cookbook \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLnRlc3QoInJoaW5vIGlzIEphdmFTY3JpcHQgZW5naW5lIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.test(\"rhino is JavaScript engine\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKj8pYSg/IShhKyliXDJjKVwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcMmMpXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOwoKX19leHBlY3RlZCA9IFsiYmFhYWJhYWMiLCAiYmEiLCB1bmRlZmluZWQsICJhYmFhYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguKj8pYSg/IShhKyliXFwyYylcXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcXDJjKVxcMiguKikvLmV4ZWMoImJhYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec(\"baaabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"bc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YUJlYW5zIiwgIkJlYW5zIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA5OwpfX2V4cGVjdGVkLmlucHV0ID0gInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"using of JavaBeans technology\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgidXNpbmcgb2YgSmF2YSBsYW5ndWFnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"using of Java language\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgiaSdtIGEgSmF2YVNjcmlwdGVyICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoImknbSBhIEphdmFTY3JpcHRlciAiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoImlcJ20gYSBKYXZhU2NyaXB0ZXIgIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"i'm a JavaScripter \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOwoKX19leHBlY3RlZCA9IFsiSmF2YVNjciIsICJTY3IiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSmF2YVNjciBvb3BzIGlwdCAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoIkphdmFTY3Igb29wcyBpcHQgIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"JavaScr oops ipt \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWguaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoLmluZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy4nLCAnLiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC5pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWguaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoLmluZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah.info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWgvaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoL2luZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy8nLCAnLyddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC9pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWgvaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoL2luZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah/info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8udGVzdCgiYWguY29tIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.test(\"ah.com\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/IWF8Yil8Yy8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxzaXNccyhmdW5cdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFTY3JpcHQgaXMgZnVubnkiLCJqYXZhU2NyaXB0IiwiU2NyaXB0IiwiZnVubnkiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Learning javaScript is funny, really\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1NjEyMzQ1NiIsIjEyMyIsIjQ1NiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjM0NTYxMjM0NTYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFxkezN9KShcXGR7M30pXFwxXFwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGR7M30pKFxcZHszfSlcXDFcXDIvLmV4ZWMoIjEyMzQ1NjEyMzQ1NiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(\\d{3})(\\d{3})\\1\\2/.exec(\"123456123456\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjZGVmZyIsImRlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hKC4uKC4uKS4uKS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(..(..)..)/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSkvLmV4ZWMoInhhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWYiLCJhYmMiLCJiYyIsImMiLCJkZWYiLCJlZiIsImYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieGFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))/.exec(\"xabcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpXDJcNS8uZXhlYygieGFiY2RlZmJjZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVwyXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmYmNlZiIsImFiYyIsImJjIiwiYyIsImRlZiIsImVmIiwiZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJ4YWJjZGVmYmNlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVxcMlxcNS8uZXhlYygieGFiY2RlZmJjZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSlcXDJcXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))\\2\\5/.exec(\"xabcdefbcefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2QiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguPyliXFwxY1xcMWRcXDEvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoLj8pYlxcMWNcXDFkXFwxLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(.?)b\\1c\\1d\\1/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKCc7Cl9fY2xvc2VQYXJlbiA9ICcpJzsKX19wYXR0ZXJuID0gJyc7CiBudW1QYXJlbnMgPSAyMDA7CiAgCmZvciAodmFyIGk9MDsgaTxudW1QYXJlbnM7IGkrKykKICAgIF9fcGF0dGVybiArPSBfX29wZW5QYXJlbjsKICAgIApfX3BhdHRlcm4gKz0gX19zdHJPcmlnaW5hbDsKCmZvciAoaT0wOyBpPG51bVBhcmVuczsgaSsrKSAKICAgIF9fcGF0dGVybiArPSBfX2Nsb3NlUGFyZW47CiAgICAKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7CgpfX2V4cGVjdGVkID0gW107CmZvciAodmFyIGk9MDsgaTw9bnVtUGFyZW5zOyBpKyspCiAgICBfX2V4cGVjdGVkLnB1c2goX19zdHJPcmlnaW5hbCk7Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKD86JzsKX19jbG9zZVBhcmVuID0gJyknOwpfX3BhdHRlcm4gPSAnJzsKIG51bVBhcmVucyA9IDIwMDsKICAKZm9yICh2YXIgaT0wOyBpPG51bVBhcmVuczsgaSsrKQogICAgX19wYXR0ZXJuICs9IF9fb3BlblBhcmVuOwogICAgCl9fcGF0dGVybiArPSBfX3N0ck9yaWdpbmFsOwoKZm9yIChpPTA7IGk8bnVtUGFyZW5zOyBpKyspIAogICAgX19wYXR0ZXJuICs9IF9fY2xvc2VQYXJlbjsKICAgIApfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsKCl9fZXhwZWN0ZWQgPSBbX19zdHJPcmlnaW5hbF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0OTcKICovCgpfX2JvZHk9IiI7Cl9fYm9keSArPSAnPGJvZHkgb25YWFg9ImFsZXJ0KGV2ZW50LnR5cGUpOyI+XG4nOwpfX2JvZHkgKz0gJzxwPktpYm9sb2d5IGZvciBhbGw8XC9wPlxuJzsKX19ib2R5ICs9ICc8cD5BbGwgZm9yIEtpYm9sb2d5PFwvcD5cbic7Cl9fYm9keSArPSAnPFwvYm9keT4nOwoKX19odG1sPSIiOwpfX2h0bWwgKz0gJzxodG1sPlxuJzsKX19odG1sICs9IF9fYm9keTsKX19odG1sICs9ICdcbjxcL2h0bWw+JzsKCl9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXG4/KSo/KTxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOwoKX19leHBlY3RlZCA9IFtfX2JvZHksICdcbjxwPktpYm9sb2d5IGZvciBhbGw8L3A+XG48cD5BbGwgZm9yIEtpYm9sb2d5PC9wPlxuJywgJzxwPkFsbCBmb3IgS2lib2xvZ3k8L3A+XG4nXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX2h0bWw7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzxib2R5Lio+KCguKlxcbj8pKj8pPFxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXFxuPykqPyk8XFwvYm9keT4vaS5leGVjKF9faHRtbCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169497","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyAgaHR0cDpidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NTM0CiAqLwoKX19yZXBsYWNlZCA9ICJUbyBzaWduIHVwIGNsaWNrIHxoZXJlfGh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtfCIucmVwbGFjZSgvKFx8KShbXHdceDgxLVx4ZmYgXSopKFx8KShbXC9hLXpdW1x3OlwvXC5dKlwuW2Etel17Myw0fSkoXHwpL2lnLCAnPGEgaHJlZj0iJDQiPiQyPC9hPicpOwoKX19leHBlY3RlZCA9ICdUbyBzaWduIHVwIGNsaWNrIDxhIGhyZWY9Imh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtIj5oZXJlPC9hPic7CgovL0NIRUNLIzEKaWYgKF9fcmVwbGFjZWQgIT09IF9fZXhwZWN0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmVwbGFjZWQgPSAiVG8gc2lnbiB1cCBjbGljayB8aGVyZXxodHRwczp3d3cueHh4eC5vcmcvc3Vic2NyaWJlLmh0bXwiLnJlcGxhY2UoLyhcXHwpKFtcXHdcXHg4MS1cXHhmZiBdKikoXFx8KShbXFwvYS16XVtcXHc6XFwvXFwuXSpcXC5bYS16XXszLDR9KShcXHwpL2lnLCBcJzxhIGhyZWY9IiQ0Ij4kMjwvYT5cJyk7IF9fcmVwbGFjZWQgPT09ICcgKyBfX2V4cGVjdGVkICsgJy4gQWN0dWFsOiAnICsgX19yZXBsYWNlZCk7Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169534","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIsIkNvdXJzZV9DcmVhdG9yIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbXFxTXSsoWyBcXHRdK1tcXFNdKykqKVsgXFx0XSo9WyBcXHRdKltcXFNdKy8uZXhlYygiQ291cnNlX0NyZWF0b3IgPSBUZXN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oW1xcU10rKFsgXFx0XStbXFxTXSspKilbIFxcdF0qPVsgXFx0XSpbXFxTXSsvLmV4ZWMoIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec(\"Course_Creator = Test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXHNpc1xzKGZ1blx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7CgpfX2V4cGVjdGVkID0gWyJKYXZhIGlzIGZ1biIsIkphdmEiLHVuZGVmaW5lZCwiZnVuIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNjsKX19leHBlY3RlZC5pbnB1dCA9ICJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Developing with Java is fun, try it\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBQSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUFBIik7CgpfX2V4cGVjdGVkID0gWyJBQUEiLCJBIiwiQUEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUFBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AAA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOwoKX19leHBlY3RlZCA9IFsiQUEiLCJBIiwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBQSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsKCl9fZXhwZWN0ZWQgPSBbIkEiLHVuZGVmaW5lZCwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"A\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7CgpfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQUFhYUFBYWFhZjtscmxyenMiXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFhYUFBYWFhZjtscmxyenMiOwoKX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsKCl9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbIkFhYUFBYWFhZjtscmxyenMiLHVuZGVmaW5lZCwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpP2EvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvKGEpP2EvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?a/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXwoYikvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvYXwoYikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a|(b)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpPyhhKS8uZXhlYygiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiYSI7CgpfX2V4ZWN1dGVkID0gLyhhKT8oYSkvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYScsIHVuZGVmaW5lZCwgJ2EnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?(a)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhIjsKCl9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWydhJywgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLnRlc3QoIkRldmVsb3Bpbmcgd2l0aCBKYXZhU2NyaXB0IGlzIGRhbmdlcm91cywgZG8gbm90IHRyeSBpdCB3aXRob3V0IGFzc2lzdGFuY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.test(\"Developing with JavaScript is dangerous, do not try it without assistance\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYiI7CgpfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYWInLCAiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhYiI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYWIiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYmMiOwoKX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ2FiYycsICJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmMiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSpbYS16XVwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ3d3dy5uZXRzY2FwZS5jb20nLCAnbmV0c2NhcGUuJywgJ25ldHNjYXAnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnd3d3Lm5ldHNjYXBlLmNvbScsICduZXRzY2FwZS4nLCAnbmV0c2NhcCcsICdlJ107Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKihbYS16XSlcXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqKFthLXpdKVxcLikrW2Etel17Mix9JC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWJjKS8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhYmMpLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyIsImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(abc)/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjIiwiZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYShiYylkKGVmKWcvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoYmMpZChlZilnLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(bc)d(ef)g/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnszfSkoLns0fSkvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZmciLCJhYmMiLCJkZWZnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{3})(.{4})/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpYmNkXDEvLmV4ZWMoImFhYmNkYWFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhKWJjZFwxLy5leGVjKCJhYWJjZGFhYmNkIik7CgpfX2V4cGVjdGVkID0gWyJhYWJjZGFhIiwiYWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFiY2RhYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa)bcd\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpOwoKX19leHBlY3RlZCA9IFsiYWFiY2RhYSIsImFhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmNkYWFiY2QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhhYSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnsyfSkuK1wxLy5leGVjKCJhYWJjZGFhYmNkIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezJ9KS4rXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFhYmNkYWEiLCJhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWJjZGFhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oLnsyfSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC57Mn0pLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{2}).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYi5kZS8uZXhlYygiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlIjsKX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGUiOyBfX2V4ZWN1dGVkID0gL2FiLmRlLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZSI7IF9fZXhlY3V0ZWQgPSAvYWIuZGUvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /ab.de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygibGluZSAxXG5saW5lIDIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJsaW5lIDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAibGluZSAxXG5saW5lIDIiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"line 1\\nline 2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKmEuKiAvLmV4ZWMoInRoaXMgaXMgYSB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7Cl9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsidGhpcyBpcyBhIHRlc3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSB0ZXN0IjsgX19leGVjdXRlZCA9IC8uKmEuKi8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAidGhpcyBpcyBhIHRlc3QiOyBfX2V4ZWN1dGVkID0gLy4qYS4qLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.*a.* /.exec(\"this is a test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygidGhpcyBpcyBhIComXiUkIyB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgKiZeJSQjIHRlc3QiOwpfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbInRoaXMgaXMgYSAqJl4lJCMgdGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"this is a *&^%$# test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiLi4uLiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiLi4uLiI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiLi4uLiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIuLi4uIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiLi4uLiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"....\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"abcdefghijklmnopqrstuvwxyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"`1234567890-=~!@#$%^&*()_+\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygifFxcW3tdfTs6XCJcJyw8Pi4/LyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsifFxcW3tdfTs6XCJcJyw8Pi4/LyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ8XFxbe119OzpcIlwnLDw+Lj8vIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters , , , or \nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"|\\\\[{]};:\\\"\\',<>.?/\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvaWcuZXhlYygiQUJDIGRlZiBnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsKX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQUJDIGRlZiBnaGkiOyBfX2V4ZWN1dGVkID0gL1thLXpdKy9pZy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/ig.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvLmV4ZWMoIkFCQyBkZWYgZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7Cl9fZXhlY3V0ZWQgPSAvW2Etel0rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbImRlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwxXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDFcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCl9fZXhwZWN0ZWQgPSBbInRoZSB0aGUiLCAidGhlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNDsKX19leHBlY3RlZC5pbnB1dCA9ICJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxiKFxcdyspIFxcMVxcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYihcXHcrKSBcXDFcXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\1\\b/.exec(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ4MDF4MDEiLCAieDAxIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x01u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ1MDBGRnUwMEZGIiwgInUwMEZGIiwgIkZGIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxMjsKX19leHBlY3RlZC5pbnB1dCA9ICJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDA1dTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x05u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwyXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDJcYi8udGVzdCgiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcYihcXHcrKSBcXDJcXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\2\\b/.test(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYSopYlwxKy8uZXhlYygiYmFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFjIik7CgpfX2V4cGVjdGVkID0gWyJiIiwgIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /(a*)b\\1+/.exec(\"baaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAveC9pIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUikKICovCgpfX3JlID0gL3gvaTsKX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC94L2k7IF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /x/i and instance is RegExp(R)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwgZnVuY3Rpb24oKXt9KCkpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgZnVuY3Rpb24oKXt9KCkpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCBmdW5jdGlvbigpe30oKSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp and instance is RegExp(R, function(){}())","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgpOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB2b2lkIDApCiAqLwoKX19yZSA9IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHZvaWQgMCk7Cl9fcmUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5pbmRpY2F0b3IgIT09IDEpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBSZWdFeHAoKTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB2b2lkIDApOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, void 0)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAvXGIvbSBhbmQgaW5zdGFuY2UgaXMgUmVnRXhwKFIsIHVuZGVmaW5lZCkKICovCgpfX3JlID0gL1xiL207Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgdW5kZWZpbmVkKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9cXGIvbTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB1bmRlZmluZWQpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /\\b/m and instance is RegExp(R, undefined)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgIjEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBSZWdFeHAobmV3IFJlZ0V4cCgiXFxkIiksICIxIikpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKFJlZ0V4cChuZXcgUmVnRXhwKCJcZCIpLCAiMSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IFJlZ0V4cChuZXcgUmVnRXhwKCJcXGQiKSwgIjEiKSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using \"1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgZGFmaW5lZCB2YXJpYWJsZSAieCA9IDEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCnZhciB4ID0gMTsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoUmVnRXhwKC9bYS1iXT8vLCB4KSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfSAKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using dafined variable \"x = 1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAiZCsiIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwiaSIpCiAqLwoKX19yZSA9ICJkKyI7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgImkiKTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gImQrIjsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCAiaSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5zb3VyY2UgIT09IF9fcmUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAiZCsiOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsICJpIik7IF9faW5zdGFuY2Uuc291cmNlID09PSBfX3JlLiBBY3R1YWw6ICcrIChfX2luc3RhbmNlLnNvdXJjZSkpOwp9CgoK","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is \"d+\" and instance is RegExp(R,\"i\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0gYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCJnbSIpCiAqLwoKX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbYS1jXSoiO319LCAiZ20iKTsgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gUmVnRXhwLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2Uuc291cmNlICE9PSAiW2EtY10qIikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOyBfX2luc3RhbmNlLnNvdXJjZSA9PT0gIlthLWNdKiIuIEFjdHVhbDogJysgKF9faW5zdGFuY2Uuc291cmNlKSk7Cn0KCgo=","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is {toString:function(){return \"[a-c]*\";}} and instance is RegExp(R,\"gm\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgVHlwZUVycm9yIGluc3RlYWQgb2YgUmVnRXhwRXJyb3Igd2hlbiBwYXR0ZXJuIGlzIGFuIG9iamVjdCB3aG9zZSBbW0NsYXNzXV0gcHJvcGVydHkgaXMgJ1JlZ0V4cCcgYW5kIGZsYWdzIGlzIG5vdCB1bmRlZmluZWQgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHBPYmogPSBuZXcgUmVnRXhwKHJlZ09iaiwgdHJ1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp - the thrown error is TypeError instead of RegExpError when pattern is an object whose [[Class]] property is 'RegExp' and flags is not undefined","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuIHRoZSBjaGFyYWN0ZXJzIG9mICdQJyBkbyBub3QgaGF2ZSB0aGUgc3ludGFjdGljIGZvcm0gUGF0dGVybg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwT2JqID0gbmV3IFJlZ0V4cCgnXFwnKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when the characters of 'P' do not have the syntactic form Pattern","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuICdGJyBjb250YWlucyBhbnkgY2hhcmFjdGVyIG90aGVyIHRoYW4gJ2cnLCAnaScsIG9yICdtJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdhJyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when 'F' contains any character other than 'g', 'i', or 'm'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gZmxhZ3MgaXMgJ2dpbScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdnaW0nKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the SyntaxError is not thrown when flags is 'gim'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC8uL2kgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4pCiAqLwoKX19wYXR0ZXJuID0gLy4vaTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgCgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSBfX3BhdHRlcm4uc291cmNlKSB7CiAgJEVSUk9SKCcjMTogX19wYXR0ZXJuID0gLy4vaTsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLmdsb2JhbCA9PT0gX19wYXR0ZXJuLmdsb2JhbC4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX3BhdHRlcm4uaWdub3JlQ2FzZSkgewogICRFUlJPUignIzQ6IF9fcGF0dGVybiA9IC8uL2k7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /./i and RegExp is new RegExp(pattern)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9cdC9tIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHgpLCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCl9fcGF0dGVybiA9IC9cdC9tOwpfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUubXVsdGlsaW5lID09PSBfX3BhdHRlcm4ubXVsdGlsaW5lLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gX19wYXR0ZXJuLmdsb2JhbCkgewogICRFUlJPUignIzM6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /\\t/m and RegExp is new RegExp(pattern,x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9bYS1iXS9nIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHZvaWQgMCkKICovCgpfX3BhdHRlcm4gPSAvW2EtYl0vZzsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9bYS1iXS9nOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IF9fcGF0dGVybi5tdWx0aWxpbmUuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBfX3BhdHRlcm4uZ2xvYmFsKSB7CiAgJEVSUk9SKCcjMzogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvW2EtYl0vZzsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /[a-b]/g and RegExp is new RegExp(pattern,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBSZWdFeHAgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4sdW5kZWZpbmVkKQogKi8KCl9fcGF0dGVybiA9IG5ldyBSZWdFeHA7Cl9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is new RegExp and RegExp is new RegExp(pattern,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIFJlZ0V4cCgiMT8iLCJtaWciKSBhbmQgUmVnRXhwIGlzIG5ldyBSZWdFeHAocGF0dGVybiwoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcGF0dGVybiA9IFJlZ0V4cCgiMT8iLCJtaWciKTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is RegExp(\"1?\",\"mig\") and RegExp is new RegExp(pattern,(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCAiaSIpIiwgd2hlcmUgdGhlIHBhdHRlcm4gaXMgIi9cdTAwNDIvaSIsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoL1xcdTAwNDIvaSwgImkiKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKC9cdTAwNDIvaSwgImkiKSkpOyAKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvXFx1MDA0Mi9pLCAiaSIpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, \"i\")\", where the pattern is \"/\\u0042/i\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCB7fSkiLCB3aGVyZSB0aGUgcGF0dGVybiBpcyAiLzE/MS9taWciLCBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoLzE/MS9taWcsIHt9KSkpOyAKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, {})\", where the pattern is \"/1?1/mig\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh4KTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCnZhciB4OwoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh1bmRlZmluZWQpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp((function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLnNvdXJjZSA9PT0gIm51bGwiLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoKCg==","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkLHVuZGVmaW5lZCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoK","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHVuZGVmaW5lZCBwcm9wZXJ0aWVzIG9mIG9iamVjdCBhcyBmbGFncyBvZiBSZWdFeHAKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7fS5wLCB7fS5xKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt9LnAsIHt9LnEpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"Use undefined properties of object as flags of RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAobnVsbCx2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09ICJudWxsIikgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSAibnVsbCIuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(null,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAoIiIsKGZ1bmN0aW9uKCl7fSkoKSkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9Cgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(\"\",(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJpaSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh1bmRlZmluZWQsImlpIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHVuZGVmaW5lZCwiaWkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAodW5kZWZpbmVkLCJpaSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"ii\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJtaWdnIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKG51bGwsIm1pZ2ciKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAobnVsbCwibWlnZyIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cChudWxsLCJtaWdnIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"migg\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIHRyeSB0byB1c2UgZXZhbCgiXCJtaWdnXCIiKSBhcyBGCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIiIsZXZhbCgiXFwibWlnclxcIiIpKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiIsZXZhbCgiXCJtaWdyXCIiKSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIiLGV2YWwoIlxcIm1pZ3JcXCIiKSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking by using eval, try to use eval(\"\\\"migg\\\"\") as F","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ6IiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhfGIiLCJ6IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"z\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJudWxsIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIuIixudWxsKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIi4iLG51bGwpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiLiIsbnVsbCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"null\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nIDEuMCBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJeIiwxLjApIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiXiIsMS4wKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIl4iLDEuMCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using 1.0 as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ0cnVlIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ8Iix0cnVlKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInwiLHRydWUpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgifCIsdHJ1ZSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"true\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"{toString:function(){}}\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwpfX3JlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19yZS50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJSZWdFeHAiKyJdIikgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3JlLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIrIlJlZ0V4cCIrIl0iLiBBY3R1YWw6ICcgKyAoX19yZS50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Class]] property of the newly constructed object is set to \"RegExp\"","description":"Checking [[Class]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIFtbUHJvdG90eXBlXV0gb2YgUkVnRXhwIGFuZCBjaGVjayB0aGlzIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cDsKUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX3JlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgX19yZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX3JlLmluZGljYXRvcikpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Add new property to [[Prototype]] of REgExp and check this property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19yZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCk7IFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Checking [[Prototype]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJhfGIiIGFuZCBmbGFncyBpcyAiaSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOwoKLy9DSEVDSyMxCmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoImF8YiIsImkiKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"a|b\" and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyB0cnVlIGFuZCBmbGFncyBpcyAibSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7CgovL0NIRUNLIzEKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is true and flags is \"m\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgcGF0dGVybiBpcyBNYXRoIGFuZCBmbGFncyBpcyBldmFsKCJcImdcIiIpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcImdcIiIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcXCJnXFwiIikpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKE1hdGgsZXZhbCgiXFwiZ1xcIiIpKTsgX19yZS5nbG9iYWwgPT09IHRydWUuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Checking by using eval, pattern is Math and flags is eval(\"\\\"g\\\"\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiXHUwMDQyIiBhbmQgZmxhZ3MgaXMge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiXFx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJcXHUwMDQyIiwge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"\\u0042\" and flags is {toString:void 0, valueOf:function(){throw \"invalof\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiMSIgYW5kIGZsYWdzIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIiApIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIjEiLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"1\" and flags is {toString:function(){throw \"intostr\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSBhbmQgZmxhZ3MgaXMgImlnIgogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSwiaWciKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is function(){return \"a|b|[]\";}() and flags is \"ig\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iO319IGFuZCBmbGFncyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gIm0iO30pKCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjt9fSwgKGZ1bmN0aW9uKCl7cmV0dXJuICJtIjt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3JlLnNvdXJjZSA9PT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzU6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){return \"[0-9]\";}} and flags is (function(){return \"m\";})()","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iO319IGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIm1pZyI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjt9fSwge3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJtaWciO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IHRydWUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLm11bHRpbGluZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmdsb2JhbCA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJbei16XSI7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0,valueOf:function(){return \"[z-z]\";}} and flags is {toString:void 0,valueOf:function(){return \"mig\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBPYmplY3QoImFiY3sxfSIpIGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is new Object(\"abc{1}\") and flags is {toString:function(){return \"\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJpIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJpIikgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fSB9IGFuZCBmbGFncyBpcyAiaSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0, valueOf:function(){throw \"invalof\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJlcnJvciIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319LCAiZXJyb3IiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"error\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIDEgYW5kIGZsYWdzIGlzIG5ldyBPYmplY3QoImdpIikKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is 1 and flags is new Object(\"gi\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICI/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiPz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCI/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"??\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbey16XSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiW3stel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlt7LXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbey16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[{-z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbYS0tel0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIlthLS16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2EtLXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbYS0tel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[a--z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC41L1MxNS4xMC41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp has property prototype","description":"Checking RegExp.prototype property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpID09PSBmYWxzZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7CmZvciAocCBpbiBSZWdFeHApewoJaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gUmVnRXhwKXsgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZTsgUmVnRXhwLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMxOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlOwoKUmVnRXhwLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlOyBSZWdFeHAucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFJlZ0V4cC5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZSkpOwp9CgoK","commentary":"The RegExp.prototype property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLmxlbmd0aCBwcm9wZXJ0eQogKi8KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5sZW5ndGggIT09IDIpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChSZWdFeHAubGVuZ3RoKSk7Cn0KCgo=","commentary":"RegExp constructor has length property whose value is 2","description":"Checking RegExp.length property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cCkKICovCgogLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(RegExp)","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCB0aGVuIGNoZWNrIHRoaXMgcHJvcGVydHkgb2YgUmVnRXhwCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgogLy9DSEVDSyMxCmlmIChSZWdFeHAuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgUmVnRXhwLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Add new property to Function.prototype and then check this property of RegExp","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZSBpcyBpdHNlbGYgYSBSZWdFeHANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWdFeHAucHJvdG90eXBlKTsNCiAgcmV0dXJuIHMgPT09ICdbb2JqZWN0IFJlZ0V4cF0nOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype is itself a RegExp","path":"TestCases/ch15/15.10/15.10.6/15.10.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIFJlZ0V4cAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKSk7Cn0KCgo=","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare RegExp.prototype.constructor with RegExp","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCwgd2hlcmUgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yOwoKX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IF9faW5zdGFuY2UuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQoKCg==","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare instance.constructor !== RegExp, where instance is new RegExp.prototype.constructor","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cC5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoUmVnRXhwLnByb3RvdHlwZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHAucHJvdG90eXBlKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Checking Object.prototype.isPrototypeOf(RegExp.prototype)","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBPYmplY3QucHJvdG90eXBlIGFuZCBjaGVjayBpdCBvZiBSZWdFeHAucHJvdG90eXBlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOyBSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yKSk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Add new property to Object.prototype and check it of RegExp.prototype","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvMTUuMTAuNi4yLTktZS0xLmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZS5leGVjIC0gdGhlIHJlbW92ZWQgc3RlcCA5LmUgd29uJ3QgYWZmZWN0ZWQgY3VycmVudCBhbGdvcml0aG0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gIkhlbGxvIFdvcmxkISI7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCJXb3JsZCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHJlc3VsdCA9IHJlZ09iai5leGVjKHN0cikudG9TdHJpbmcoKSA9PT0gIldvcmxkIjsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.exec - the removed step 9.e won't affected current algorithm","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgpKTsKfQoK","commentary":"The RegExp.prototype.exec.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBleGVjIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the exec method is 1","description":"Checking RegExp.prototype.exec.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZWdFeHAgZXhlYygpIGFjdHMgbGlrZSByZWdFeHAuZXhlYygndW5kZWZpbmVkJykgKHN0ZXAgMikKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS5leGVjCiAqLwoKKC9mb28vKS50ZXN0KCd4Zm9veCcpOwp2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKCcoLnxccnxcbikqJywnJykuZXhlYygpWzBdOwppZiAobWF0Y2ggPT09ICd4Zm9veCcpIHsKICAkRkFJTCgnIzE6IHJlZ0V4cC5leGVjKCkgbGVha3MgbWF0Y2ggZ2xvYmFsbHknKTsKfQppZiAobWF0Y2ggIT09ICd1bmRlZmluZWQnKSB7CiAgJEZBSUwoJyMyOiByZWdFeHAuZXhlYygpIG11c3QgY29lcmNlIGFic2VudCBmaXJzdCBhcmcgdG8gInVuZGVmaW5lZCInKTsKfQoK","commentary":"regExp exec() acts like regExp.exec('undefined') (step 2)","description":"Checking RegExp.prototype.exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzICIxMjMiIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSIxMjMiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygiMTIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is \"123\" and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyAxLjAxIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOwoKX19leHBlY3RlZCA9IFsiMSJdOwpfX2V4cGVjdGVkLmluZGV4PTA7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygxLjAxKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoMS4wMSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is 1.01 and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKSBhbmQgUmVnRXhwIGlzIC8yfDEyLwogKi8KCl9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7CgpfX2V4cGVjdGVkID0gWyIxMiJdOwpfX2V4cGVjdGVkLmluZGV4PTM7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEyIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLzJ8MTIvLmV4ZWMobmV3IE51bWJlcigxLjAxMikpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Number(1.012) and RegExp is /2|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fSBhbmQgUmVnRXhwIGlzIC9cLjE0LwogKi8KCl9fZXhlY3V0ZWQgPSAvXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsKCl9fZXhwZWN0ZWQgPSBbIi4xNCJdOwpfX2V4cGVjdGVkLmluZGV4PTE7Cl9fZXhwZWN0ZWQuaW5wdXQ9U3RyaW5nKE1hdGguUEkpOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9cXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFwuMTQvLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguUEl9fSk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return Math.PI;}} and RegExp is /\\.14/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB0cnVlIGFuZCBSZWdFeHAgaXMgL3RbYS1ifHEtc10vCiAqLwoKX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOwoKX19leHBlY3RlZCA9IFsidHIiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ0cnVlIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3RbYS1ifHEtc10vLmV4ZWModHJ1ZSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is true and RegExp is /t[a-b|q-s]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgQm9vbGVhbiBhbmQgUmVnRXhwIGlzIC9BTHxzZS8KICovCgpfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsKCl9fZXhwZWN0ZWQgPSBbInNlIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MzsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvQUx8c2UvLmV4ZWMobmV3IEJvb2xlYW4pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Boolean and RegExp is /AL|se/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fX0gYW5kIFJlZ0V4cCBpcyAvTFMvaQogKi8KCl9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsKCl9fZXhwZWN0ZWQgPSBbImxzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MjsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0xTL2kuZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9fSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return false;}} and RegExp is /LS/i","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvdW5kZWZpbmVkLyBhbmQgY2FsbCBleGVjKCkgd2l0aG91dCBhcmd1bWVudHMKICovCgpfX3JlID0gL3VuZGVmaW5lZC8uZXhlYygpWzBdOwppZiAoX19yZSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IC91bmRlZmluZWQvLmV4ZWMoKVswXSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChfX3JlKSk7Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"RegExp is /undefined/ and call exec() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBudWxsIGFuZCBSZWdFeHAgaXMgL2xsfGwvCiAqLwoKX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOwoKX19leHBlY3RlZCA9IFsibGwiXTsKX19leHBlY3RlZC5pbmRleD0yOwpfX2V4cGVjdGVkLmlucHV0PSJudWxsIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2xsfGwvLmV4ZWMobnVsbCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is null and RegExp is /ll|l/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB1bmRlZmluZWQgYW5kIFJlZ0V4cCBpcyAvbmR8bmUvCiAqLwoKX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOwoKX19leHBlY3RlZCA9IFsibmQiXTsKX19leHBlY3RlZC5pbmRleD0xOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvbmR8bmUvLmV4ZWModW5kZWZpbmVkKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL25kfG5lLy5leGVjKHVuZGVmaW5lZCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined and RegExp is /nd|ne/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB2b2lkIDAgYW5kIFJlZ0V4cCBpcyAvZXsxfS8KICovCgpfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleD0zOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZXsxfS8uZXhlYyh2b2lkIDApOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is void 0 and RegExp is /e{1}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBTdHJpbmcoIjEyMyIpIGFuZCBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLwogKi8KCndpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7CiAgICBfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7Cn0KCl9fZXhwZWN0ZWQgPSBbIjEyMyIsICIxIiwgIjEiLCB1bmRlZmluZWQsICIyMyIsIHVuZGVmaW5lZCwgIjIzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iMTIzIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiB3aXRoKC8oKDEpfCgxMikpKCgzKXwoMjMpKS8pe19fZXhlY3V0ZWQgPSBleGVjKG5ldyBTdHJpbmcoIjEyMyIpKTt9IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogd2l0aCgvKCgxKXwoMTIpKSgoMyl8KDIzKSkvKXtfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7fSBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new String(\"123\") and RegExp is /((1)|(12))((3)|(23))/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB4IGFuZCBSZWdFeHAgaXMgL1thLWZdZC8sIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7CgpfX2V4cGVjdGVkID0gWyJlZCJdOwpfX2V4cGVjdGVkLmluZGV4PTc7Cl9fZXhwZWN0ZWQuaW5wdXQ9InVuZGVmaW5lZCI7CgovL0NIRUNLIzAKaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2EtZl1kLy5leGVjKHgpOyB2YXIgeDsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is x and RegExp is /[a-f]d/, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBmdW5jdGlvbigpe30oKSBhbmQgUmVnRXhwIGlzIC9bYS16XW4vCiAqLwoKX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOwoKX19leHBlY3RlZCA9IFsidW4iXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel1uLy5leGVjKGZ1bmN0aW9uKCl7fSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1thLXpdbi8uZXhlYyhmdW5jdGlvbigpe30oKSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is function(){}() and RegExp is /[a-z]n/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBPYmplY3QoImFiY2RlZmdoaSIpIGFuZCBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJhYmNkZWZnaGkiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Object(\"abcdefghi\") and RegExp is /a[a-z]{2,4}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIjt9fSBhbmQgUmVnRXhwIGlzIC9hW2Etel17Miw0fT8vCiAqLwoKX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2RlZmdoaSJ9fSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return \"abcdefghi\";}} and RegExp is /a[a-z]{2,4}?/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319IGFuZCBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWFiYWFjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}} and RegExp is /(aa|aabaac|ba|b|c)* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpIGFuZCBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7CgpfX2V4cGVjdGVkID0gWyJ6YWFjYmJiY2FjIiwgInoiLCAiYWMiLCAiYSIsIHVuZGVmaW5lZCwgImMiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is (function(){return \"zaacbbbcac\"})() and RegExp is /(z)((a+)?(b+)?(c))* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSBhbmQgUmVnRXhwIGlzIC9bYS16XS8KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19KSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b3N0ciIpIHsKCQkkRVJST1IoJyMxLjI6IC9bYS16XS8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciJ9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){throw \"intostr\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0gYW5kIFJlZ0V4cCBpcyAvW2Etel0vCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJpbnZhbG9mIikgewogICAgJEVSUk9SKCcjMS4yOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:void 0, valueOf:function(){throw \"invalof\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgUmVnRXhwIGlzIC8xfDEyLwogKi8KCnZhciBfX3N0cmluZzsKCi8vQ0hFQ0sjMQpfX3JlID0gLzF8MTIvOwppZiAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkgewoJJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nOyAvMXwxMi8uZXhlYyhfX3N0cmluZykgPT09IG51bGw7IGZ1bmN0aW9uIF9fc3RyaW5nKCl7fS4gQWN0dWFsOiAnICsgKF9fcmUpKTsKfQoKZnVuY3Rpb24gX19zdHJpbmcoKXt9OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined variable and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiT2JqZWN0IgogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3Q7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The internal [[Class]] property is \"Object\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IGV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiknKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9Jyk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9LiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgpmdW5jdGlvbiBfX2luc3RhbmNlKCl7fTsKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIlthLWJdIik7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICAgIAl9CiAgIH0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxLjApOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2VbImV4ZWMiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZVsiZXhlYyJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlWyJleGVjIl0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gIi4iOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gMS4wOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKD86YWJ8Y2QpXGQ/L2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgImFiICBjZDIgIGFiMzQgIGNkIgogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbImFiIiwgImNkMiIsICJhYjMiLCAiY2QiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAgIF9fbWF0Y2hlZC5wdXNoKF9fZXhlY3V0ZWRbMF0pOwogICAgfSBlbHNlIHsKICAgICAgYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpXFxkPy9nLmV4ZWMoImFiICBjZDIgIGFiMzQgIGNkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09ICcgKyAoX19leHBlY3RlZC5sZW5ndGgpICsgJy5BY3R1YWw6ICcgKyAoX19tYXRjaGVkLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhwZWN0ZWRbaW5kZXhdICE9PSBfX21hdGNoZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPzphYnxjZClcXGQ/L2cuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(?:ab|cd)\\d?/g and tested string is \"ab cd2 ab34 cd\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXWV2ZXJtb3JlL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgdmVyeSBsb25nIHN0cmluZwogKi8KCl9fdGhlX19yYXZlbiA9ICIJT25jZSB1cG9uIGEgbWlkbmlnaHQgZHJlYXJ5LCB3aGlsZSBJIHBvbmRlcmVkIHdlYWsgYW5kIHdlYXJ5LCIgKwogICAgICAgICJPdmVyIG1hbnkgYSBxdWFpbnQgYW5kIGN1cmlvdXMgdm9sdW1lIG9mIGZvcmdvdHRlbiBsb3JlLCIgKwogICAgICAgICJXaGlsZSBJIG5vZGRlZCwgbmVhcmx5IG5hcHBpbmcsIHN1ZGRlbmx5IHRoZXJlIGNhbWUgYSB0YXBwaW5nLCIgKwogICAgICAgICJBcyBvZiBzb21lIG9uZSBnZW50bHkgcmFwcGluZywgcmFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IuIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciwnIEkgbXV0dGVyZWQsIGB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIk9ubHkgdGhpcywgYW5kIG5vdGhpbmcgbW9yZS4nIiArCiAgICAgICAgIkFoLCBkaXN0aW5jdGx5IEkgcmVtZW1iZXIgaXQgd2FzIGluIHRoZSBibGVhayBEZWNlbWJlciwiICsKICAgICAgICAiQW5kIGVhY2ggc2VwYXJhdGUgZHlpbmcgZW1iZXIgd3JvdWdodCBpdHMgZ2hvc3QgdXBvbiB0aGUgZmxvb3IuIiArCiAgICAgICAgIkVhZ2VybHkgSSB3aXNoZWQgdGhlIG1vcnJvdzsgLSB2YWlubHkgSSBoYWQgc291Z2h0IHRvIGJvcnJvdyIgKwogICAgICAgICJGcm9tIG15IGJvb2tzIHN1cmNlYXNlIG9mIHNvcnJvdyAtIHNvcnJvdyBmb3IgdGhlIGxvc3QgTGVub3JlIC0iICsKICAgICAgICAiRm9yIHRoZSByYXJlIGFuZCByYWRpYW50IG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiTmFtZWxlc3MgaGVyZSBmb3IgZXZlcm1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgc2lsa2VuIHNhZCB1bmNlcnRhaW4gcnVzdGxpbmcgb2YgZWFjaCBwdXJwbGUgY3VydGFpbiIgKwogICAgICAgICJUaHJpbGxlZCBtZSAtIGZpbGxlZCBtZSB3aXRoIGZhbnRhc3RpYyB0ZXJyb3JzIG5ldmVyIGZlbHQgYmVmb3JlOyIgKwogICAgICAgICJTbyB0aGF0IG5vdywgdG8gc3RpbGwgdGhlIGJlYXRpbmcgb2YgbXkgaGVhcnQsIEkgc3Rvb2QgcmVwZWF0aW5nIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlNvbWUgbGF0ZSB2aXNpdG9yIGVudHJlYXRpbmcgZW50cmFuY2UgYXQgbXkgY2hhbWJlciBkb29yOyAtIiArCiAgICAgICAgIlRoaXMgaXQgaXMsIGFuZCBub3RoaW5nIG1vcmUsJyIgKwogICAgICAgICJQcmVzZW50bHkgbXkgc291bCBncmV3IHN0cm9uZ2VyOyBoZXNpdGF0aW5nIHRoZW4gbm8gbG9uZ2VyLCIgKwogICAgICAgICJgU2lyLCcgc2FpZCBJLCBgb3IgTWFkYW0sIHRydWx5IHlvdXIgZm9yZ2l2ZW5lc3MgSSBpbXBsb3JlOyIgKwogICAgICAgICJCdXQgdGhlIGZhY3QgaXMgSSB3YXMgbmFwcGluZywgYW5kIHNvIGdlbnRseSB5b3UgY2FtZSByYXBwaW5nLCIgKwogICAgICAgICJBbmQgc28gZmFpbnRseSB5b3UgY2FtZSB0YXBwaW5nLCB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiVGhhdCBJIHNjYXJjZSB3YXMgc3VyZSBJIGhlYXJkIHlvdScgLSBoZXJlIEkgb3BlbmVkIHdpZGUgdGhlIGRvb3I7IC0iICsKICAgICAgICAiRGFya25lc3MgdGhlcmUsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkRlZXAgaW50byB0aGF0IGRhcmtuZXNzIHBlZXJpbmcsIGxvbmcgSSBzdG9vZCB0aGVyZSB3b25kZXJpbmcsIGZlYXJpbmcsIiArCiAgICAgICAgIkRvdWJ0aW5nLCBkcmVhbWluZyBkcmVhbXMgbm8gbW9ydGFsIGV2ZXIgZGFyZWQgdG8gZHJlYW0gYmVmb3JlIiArCiAgICAgICAgIkJ1dCB0aGUgc2lsZW5jZSB3YXMgdW5icm9rZW4sIGFuZCB0aGUgZGFya25lc3MgZ2F2ZSBubyB0b2tlbiwiICsKICAgICAgICAiQW5kIHRoZSBvbmx5IHdvcmQgdGhlcmUgc3Bva2VuIHdhcyB0aGUgd2hpc3BlcmVkIHdvcmQsIGBMZW5vcmUhJyIgKwogICAgICAgICJUaGlzIEkgd2hpc3BlcmVkLCBhbmQgYW4gZWNobyBtdXJtdXJlZCBiYWNrIHRoZSB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiTWVyZWx5IHRoaXMgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiQmFjayBpbnRvIHRoZSBjaGFtYmVyIHR1cm5pbmcsIGFsbCBteSBzb3VsIHdpdGhpbiBtZSBidXJuaW5nLCIgKwogICAgICAgICJTb29uIGFnYWluIEkgaGVhcmQgYSB0YXBwaW5nIHNvbWV3aGF0IGxvdWRlciB0aGFuIGJlZm9yZS4iICsKICAgICAgICAiYFN1cmVseSwnIHNhaWQgSSwgYHN1cmVseSB0aGF0IGlzIHNvbWV0aGluZyBhdCBteSB3aW5kb3cgbGF0dGljZTsiICsKICAgICAgICAiTGV0IG1lIHNlZSB0aGVuLCB3aGF0IHRoZXJlYXQgaXMsIGFuZCB0aGlzIG15c3RlcnkgZXhwbG9yZSAtIiArCiAgICAgICAgIkxldCBteSBoZWFydCBiZSBzdGlsbCBhIG1vbWVudCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmU7IC0iICsKICAgICAgICAiJ1RpcyB0aGUgd2luZCBhbmQgbm90aGluZyBtb3JlISciICsKICAgICAgICAiXG4iICsKICAgICAgICAiT3BlbiBoZXJlIEkgZmx1bmcgdGhlIHNodXR0ZXIsIHdoZW4sIHdpdGggbWFueSBhIGZsaXJ0IGFuZCBmbHV0dGVyLCIgKwogICAgICAgICJJbiB0aGVyZSBzdGVwcGVkIGEgc3RhdGVseSByYXZlbiBvZiB0aGUgc2FpbnRseSBkYXlzIG9mIHlvcmUuIiArCiAgICAgICAgIk5vdCB0aGUgbGVhc3Qgb2JlaXNhbmNlIG1hZGUgaGU7IG5vdCBhIG1pbnV0ZSBzdG9wcGVkIG9yIHN0YXllZCBoZTsiICsKICAgICAgICAiQnV0LCB3aXRoIG1pZW4gb2YgbG9yZCBvciBsYWR5LCBwZXJjaGVkIGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQgdXBvbiBhIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yIC0iICsKICAgICAgICAiUGVyY2hlZCwgYW5kIHNhdCwgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiB0aGlzIGVib255IGJpcmQgYmVndWlsaW5nIG15IHNhZCBmYW5jeSBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIkJ5IHRoZSBncmF2ZSBhbmQgc3Rlcm4gZGVjb3J1bSBvZiB0aGUgY291bnRlbmFuY2UgaXQgd29yZSwiICsKICAgICAgICAiYFRob3VnaCB0aHkgY3Jlc3QgYmUgc2hvcm4gYW5kIHNoYXZlbiwgdGhvdSwnIEkgc2FpZCwgYGFydCBzdXJlIG5vIGNyYXZlbi4iICsKICAgICAgICAiR2hhc3RseSBncmltIGFuZCBhbmNpZW50IHJhdmVuIHdhbmRlcmluZyBmcm9tIHRoZSBuaWdodGx5IHNob3JlIC0iICsKICAgICAgICAiVGVsbCBtZSB3aGF0IHRoeSBsb3JkbHkgbmFtZSBpcyBvbiB0aGUgTmlnaHQncyBQbHV0b25pYW4gc2hvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICItbiIgKwogICAgICAgICJNdWNoIEkgbWFydmVsbGVkIHRoaXMgdW5nYWlubHkgZm93bCB0byBoZWFyIGRpc2NvdXJzZSBzbyBwbGFpbmx5LCIgKwogICAgICAgICJUaG91Z2ggaXRzIGFuc3dlciBsaXR0bGUgbWVhbmluZyAtIGxpdHRsZSByZWxldmFuY3kgYm9yZTsiICsKICAgICAgICAiRm9yIHdlIGNhbm5vdCBoZWxwIGFncmVlaW5nIHRoYXQgbm8gbGl2aW5nIGh1bWFuIGJlaW5nIiArCiAgICAgICAgIkV2ZXIgeWV0IHdhcyBibGVzc2VkIHdpdGggc2VlaW5nIGJpcmQgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIkJpcmQgb3IgYmVhc3QgYWJvdmUgdGhlIHNjdWxwdHVyZWQgYnVzdCBhYm92ZSBoaXMgY2hhbWJlciBkb29yLCIgKwogICAgICAgICJXaXRoIHN1Y2ggbmFtZSBhcyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiwgc2l0dGluZyBsb25lbHkgb24gdGhlIHBsYWNpZCBidXN0LCBzcG9rZSBvbmx5LCIgKwogICAgICAgICJUaGF0IG9uZSB3b3JkLCBhcyBpZiBoaXMgc291bCBpbiB0aGF0IG9uZSB3b3JkIGhlIGRpZCBvdXRwb3VyLiIgKwogICAgICAgICJOb3RoaW5nIGZ1cnRoZXIgdGhlbiBoZSB1dHRlcmVkIC0gbm90IGEgZmVhdGhlciB0aGVuIGhlIGZsdXR0ZXJlZCAtIiArCiAgICAgICAgIlRpbGwgSSBzY2FyY2VseSBtb3JlIHRoYW4gbXV0dGVyZWQgYE90aGVyIGZyaWVuZHMgaGF2ZSBmbG93biBiZWZvcmUgLSIgKwogICAgICAgICJPbiB0aGUgbW9ycm93IGhlIHdpbGwgbGVhdmUgbWUsIGFzIG15IGhvcGVzIGhhdmUgZmxvd24gYmVmb3JlLiciICsKICAgICAgICAiVGhlbiB0aGUgYmlyZCBzYWlkLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiU3RhcnRsZWQgYXQgdGhlIHN0aWxsbmVzcyBicm9rZW4gYnkgcmVwbHkgc28gYXB0bHkgc3Bva2VuLCIgKwogICAgICAgICJgRG91YnRsZXNzLCcgc2FpZCBJLCBgd2hhdCBpdCB1dHRlcnMgaXMgaXRzIG9ubHkgc3RvY2sgYW5kIHN0b3JlLCIgKwogICAgICAgICJDYXVnaHQgZnJvbSBzb21lIHVuaGFwcHkgbWFzdGVyIHdob20gdW5tZXJjaWZ1bCBkaXNhc3RlciIgKwogICAgICAgICJGb2xsb3dlZCBmYXN0IGFuZCBmb2xsb3dlZCBmYXN0ZXIgdGlsbCBoaXMgc29uZ3Mgb25lIGJ1cmRlbiBib3JlIC0iICsKICAgICAgICAiVGlsbCB0aGUgZGlyZ2VzIG9mIGhpcyBob3BlIHRoYXQgbWVsYW5jaG9seSBidXJkZW4gYm9yZSIgKwogICAgICAgICJPZiBcIk5ldmVyLW5ldmVybW9yZS5cIiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiBzdGlsbCBiZWd1aWxpbmcgYWxsIG15IHNhZCBzb3VsIGludG8gc21pbGluZywiICsKICAgICAgICAiU3RyYWlnaHQgSSB3aGVlbGVkIGEgY3VzaGlvbmVkIHNlYXQgaW4gZnJvbnQgb2YgYmlyZCBhbmQgYnVzdCBhbmQgZG9vcjsiICsKICAgICAgICAiVGhlbiwgdXBvbiB0aGUgdmVsdmV0IHNpbmtpbmcsIEkgYmV0b29rIG15c2VsZiB0byBsaW5raW5nIiArCiAgICAgICAgIkZhbmN5IHVudG8gZmFuY3ksIHRoaW5raW5nIHdoYXQgdGhpcyBvbWlub3VzIGJpcmQgb2YgeW9yZSAtIiArCiAgICAgICAgIldoYXQgdGhpcyBncmltLCB1bmdhaW5seSwgZ2hhc3RseSwgZ2F1bnQsIGFuZCBvbWlub3VzIGJpcmQgb2YgeW9yZSIgKwogICAgICAgICJNZWFudCBpbiBjcm9ha2luZyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhpcyBJIHNhdCBlbmdhZ2VkIGluIGd1ZXNzaW5nLCBidXQgbm8gc3lsbGFibGUgZXhwcmVzc2luZyIgKwogICAgICAgICJUbyB0aGUgZm93bCB3aG9zZSBmaWVyeSBleWVzIG5vdyBidXJuZWQgaW50byBteSBib3NvbSdzIGNvcmU7IiArCiAgICAgICAgIlRoaXMgYW5kIG1vcmUgSSBzYXQgZGl2aW5pbmcsIHdpdGggbXkgaGVhZCBhdCBlYXNlIHJlY2xpbmluZyIgKwogICAgICAgICJPbiB0aGUgY3VzaGlvbidzIHZlbHZldCBsaW5pbmcgdGhhdCB0aGUgbGFtcC1saWdodCBnbG9hdGVkIG8nZXIsIiArCiAgICAgICAgIkJ1dCB3aG9zZSB2ZWx2ZXQgdmlvbGV0IGxpbmluZyB3aXRoIHRoZSBsYW1wLWxpZ2h0IGdsb2F0aW5nIG8nZXIsIiArCiAgICAgICAgIlNoZSBzaGFsbCBwcmVzcywgYWgsIG5ldmVybW9yZSEiICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiwgbWV0aG91Z2h0LCB0aGUgYWlyIGdyZXcgZGVuc2VyLCBwZXJmdW1lZCBmcm9tIGFuIHVuc2VlbiBjZW5zZXIiICsKICAgICAgICAiU3d1bmcgYnkgU2VyYXBoaW0gd2hvc2UgZm9vdC1mYWxscyB0aW5rbGVkIG9uIHRoZSB0dWZ0ZWQgZmxvb3IuIiArCiAgICAgICAgImBXcmV0Y2gsJyBJIGNyaWVkLCBgdGh5IEdvZCBoYXRoIGxlbnQgdGhlZSAtIGJ5IHRoZXNlIGFuZ2VscyBoZSBoYXMgc2VudCB0aGVlIiArCiAgICAgICAgIlJlc3BpdGUgLSByZXNwaXRlIGFuZCBuZXBlbnRoZSBmcm9tIHRoeSBtZW1vcmllcyBvZiBMZW5vcmUhIiArCiAgICAgICAgIlF1YWZmLCBvaCBxdWFmZiB0aGlzIGtpbmQgbmVwZW50aGUsIGFuZCBmb3JnZXQgdGhpcyBsb3N0IExlbm9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISAtIiArCiAgICAgICAgIldoZXRoZXIgdGVtcHRlciBzZW50LCBvciB3aGV0aGVyIHRlbXBlc3QgdG9zc2VkIHRoZWUgaGVyZSBhc2hvcmUsIiArCiAgICAgICAgIkRlc29sYXRlIHlldCBhbGwgdW5kYXVudGVkLCBvbiB0aGlzIGRlc2VydCBsYW5kIGVuY2hhbnRlZCAtIiArCiAgICAgICAgIk9uIHRoaXMgaG9tZSBieSBob3Jyb3IgaGF1bnRlZCAtIHRlbGwgbWUgdHJ1bHksIEkgaW1wbG9yZSAtIiArCiAgICAgICAgIklzIHRoZXJlIC0gaXMgdGhlcmUgYmFsbSBpbiBHaWxlYWQ/IC0gdGVsbCBtZSAtIHRlbGwgbWUsIEkgaW1wbG9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISIgKwogICAgICAgICJCeSB0aGF0IEhlYXZlbiB0aGF0IGJlbmRzIGFib3ZlIHVzIC0gYnkgdGhhdCBHb2Qgd2UgYm90aCBhZG9yZSAtIiArCiAgICAgICAgIlRlbGwgdGhpcyBzb3VsIHdpdGggc29ycm93IGxhZGVuIGlmLCB3aXRoaW4gdGhlIGRpc3RhbnQgQWlkZW5uLCIgKwogICAgICAgICJJdCBzaGFsbCBjbGFzcCBhIHNhaW50ZWQgbWFpZGVuIHdob20gdGhlIGFuZ2VscyBuYW1lZCBMZW5vcmUgLSIgKwogICAgICAgICJDbGFzcCBhIHJhcmUgYW5kIHJhZGlhbnQgbWFpZGVuLCB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlPyciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiYEJlIHRoYXQgd29yZCBvdXIgc2lnbiBvZiBwYXJ0aW5nLCBiaXJkIG9yIGZpZW5kIScgSSBzaHJpZWtlZCB1cHN0YXJ0aW5nIC0iICsKICAgICAgICAiYEdldCB0aGVlIGJhY2sgaW50byB0aGUgdGVtcGVzdCBhbmQgdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISIgKwogICAgICAgICJMZWF2ZSBubyBibGFjayBwbHVtZSBhcyBhIHRva2VuIG9mIHRoYXQgbGllIHRoeSBzb3VsIGhhdGggc3Bva2VuISIgKwogICAgICAgICJMZWF2ZSBteSBsb25lbGluZXNzIHVuYnJva2VuISAtIHF1aXQgdGhlIGJ1c3QgYWJvdmUgbXkgZG9vciEiICsKICAgICAgICAiVGFrZSB0aHkgYmVhayBmcm9tIG91dCBteSBoZWFydCwgYW5kIHRha2UgdGh5IGZvcm0gZnJvbSBvZmYgbXkgZG9vciEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgcmF2ZW4sIG5ldmVyIGZsaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nIiArCiAgICAgICAgIk9uIHRoZSBwYWxsaWQgYnVzdCBvZiBQYWxsYXMganVzdCBhYm92ZSBteSBjaGFtYmVyIGRvb3I7IiArCiAgICAgICAgIkFuZCBoaXMgZXllcyBoYXZlIGFsbCB0aGUgc2VlbWluZyBvZiBhIGRlbW9uJ3MgdGhhdCBpcyBkcmVhbWluZywiICsKICAgICAgICAiQW5kIHRoZSBsYW1wLWxpZ2h0IG8nZXIgaGltIHN0cmVhbWluZyB0aHJvd3MgaGlzIHNoYWRvdyBvbiB0aGUgZmxvb3I7IiArCiAgICAgICAgIkFuZCBteSBzb3VsIGZyb20gb3V0IHRoYXQgc2hhZG93IHRoYXQgbGllcyBmbG9hdGluZyBvbiB0aGUgZmxvb3IiICsKICAgICAgICAiU2hhbGwgYmUgbGlmdGVkIC0gbmV2ZXJtb3JlISIKCk5FVkVSTU9SRT0xMTsgICAgICAgCiAgICAgICAKX19yZSA9IC9bTm5dZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1tObl1ldmVybW9yZS9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fdGhlX19yYXZlbiknK19fbWF0Y2hlZCk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXT9ldmVybW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpORVZFUk1PUkVfQU5EX0VWRVJNT1JFPTEyOyAgICAgICAKICAgICAgIApfX3JlID0gL1tObl0/ZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFX0FORF9FVkVSTU9SRSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9bTm5dP2V2ZXJtb3JlL2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKScrX19tYXRjaGVkKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]?evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpBTExfVEhFX0hPUEVMRVNTX01PUkU9MTg7ICAgICAgIAogICAgICAgCl9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nOwpfX21hdGNoZWQ9MDsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQrKzsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSgxKTsKCi8vQ0hFQ0sjMQppZiAoX19tYXRjaGVkICE9PSBBTExfVEhFX0hPUEVMRVNTX01PUkUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xcc3sxLH0pKW1vcmUvZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pJytfX21hdGNoZWQpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /([Nn]?ever|([Nn]othing\\s{1,}))more/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgIjEyMyA0NTYgNzg5IgogKi8KCl9fcmUgPSAvXGQrL2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyIsIjQ1NiIsIjc4OSJdOwoKZG97CiAgICBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCIxMjMgNDU2IDc4OSIpOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQucHVzaChfX2V4ZWN1dGVkWzBdKTsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZCsvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy9nLmV4ZWMoIjEyMyA0NTYgNzg5Iik7IF9fbWF0Y2hlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19tYXRjaGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFxkKykvZyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC8oXGQrKS9nOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCI0NTYiLCI3ODkiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUodHJ1ZSk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKykvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCspL2cuZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(\\d+)/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC9cZCsvOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoX19tYXRjaGVkLmxlbmd0aDwxMCk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGQrLy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy8uZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/ and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAxMiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gMTI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gMTI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IDEyOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = 12 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxMjt9fTsgX19yZS5sYXN0SW5kZXggPSBfX29iajsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){return 12;}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCi8vQ0hFQ0sjNQp0cnkgewogICRGQUlMKCcjNS4xOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKSB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b2ludCIpIHsKCQkkRVJST1IoJyM1LjI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpICB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){throw \"intoint\";}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fTsKCl9fcmUubGFzdEluZGV4ID0gX19vYmo7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {toString:function(){return 12;},valueOf:function(){return {};}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB1bmRlZmluZWQgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB1bmRlZmluZWQ7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = undefined and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB2b2lkIDAgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB2b2lkIDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = void 0 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBudWxsIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSBudWxsOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = null and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB4IGFuZCBhZ2FpbiBjYWxsIGV4ZWMsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0geDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzYKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHg7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyB2YXIgeDsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB4OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = x and again call exec, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBmYWxzZSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gZmFsc2U7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gZmFsc2U7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBmYWxzZTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = false and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBNYXRoLk5hTiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IE1hdGguTmFOOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyByZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = Math.NaN and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiMTIiIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSAiMTIiOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJhYjQiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"12\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiZWxldmVuIiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9ICJlbGV2ZW4iOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAiZWxldmVuIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nO19fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"eleven\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIiksIGFuZCB0aGVuIEZpcnN0IGNhbGwgLyg/OmFifGNkKVxkPy9nLmV4ZWMoImFhY2QyMiIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"First call /(?:ab|cd)\\d?/g.exec(\"aac1dz2233a1bz12nm444ab42\"), and then First call /(?:ab|cd)\\d?/g.exec(\"aacd22\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIDEwMCBhbmQgY2FsbCAvKD86YWJ8Y2QpXGQ/L2cuZXhlYygiYWFjZDIyICIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19yZS5sYXN0SW5kZXg9MTAwOwpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9MTAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to 100 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIC0xIGFuZCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWNkMjIgIikKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwpfX3JlLmxhc3RJbmRleD0tMTsKX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgpfX3JlLmxhc3RJbmRleD0tMTAwOwpfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0tMTsgX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOyBfX3JlLmxhc3RJbmRleD0tMTAwOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4PS0xOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4PS0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to -1 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlKSk7Cn0KCg==","commentary":"RegExp.prototype.exec has not prototype property","description":"Checking RegExp.prototype.exec.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.exec can't be used as constructor","description":"Checking if creating the RegExp.prototype.exec object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS5leGVjLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLmV4ZWMpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.exec.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewogICRGQUlMKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOyBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.exec.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.test.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the test method is 1","description":"Checking RegExp.prototype.test.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzICIxMjMiCiAqLwoKdmFyIF9fc3RyaW5nID0gIjEyMyI7Cl9fcmUgPSAvMXwxMi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gIjEyMyI7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is \"123\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8xfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAxLjAxCiAqLwoKdmFyIF9fc3RyaW5nID0gMS4wMTsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSAxLjAxO19fcmUgPSAvMXwxMi87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is 1.01","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8yfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOwpfX3JlID0gLzJ8MTIvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOyBfX3JlID0gLzJ8MTIvOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /2|12/ and tested string is new Number(1.012)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9cLjE0LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OwpfX3JlID0gL1wuMTQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OyBfX3JlID0gL1xcLjE0LzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /\\.14/ and tested string is {toString:function(){return Math.PI;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC90W2EtYnxxLXNdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB0cnVlCiAqLwoKdmFyIF9fc3RyaW5nID0gdHJ1ZTsKX19yZSA9IC90W2EtYnxxLXNdLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSB0cnVlO19fcmUgPSAvdFthLWJ8cS1zXS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /t[a-b|q-s]/ and tested string is true","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9BTHxzZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgbmV3IEJvb2xlYW4KICovCgp2YXIgX19zdHJpbmcgPSBuZXcgQm9vbGVhbjsKX19yZSA9IC9BTHxzZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gbmV3IEJvb2xlYW47X19yZSA9IC9BTHxzZS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /AL|se/ and tested string is new Boolean","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9MUy9pIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsKX19yZSA9IC9MUy9pOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsgX19yZSA9IC9MUy9pOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /LS/i and tested string is {toString:function(){return false;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC91bmRlZmluZWQvIGFuZCBjYWxsIHRlc3QoKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCl9fcmUgPSAvdW5kZWZpbmVkLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KCkgIT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IF9fcmUgPSAvdW5kZWZpbmVkLzsgX19yZS50ZXN0KCkgPT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /undefined/ and call test() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9sbHxsLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBudWxsCiAqLwoKX19yZSA9IC9sbHxsLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KG51bGwpICE9PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9sbHxsLzsgX19yZS50ZXN0KG51bGwpID09PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /ll|l/ and tested string is null","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9uZHxuZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9uZHxuZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCh1bmRlZmluZWQpICE9PSAoX19yZS5leGVjKHVuZGVmaW5lZCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL25kfG5lLzsgX19yZS50ZXN0KHVuZGVmaW5lZCkgPT09IChfX3JlLmV4ZWModW5kZWZpbmVkKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /nd|ne/ and tested string is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9lezF9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB2b2lkIDAKICovCgpfX3JlID0gL2V7MX0vOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3Qodm9pZCAwKSAhPT0gKF9fcmUuZXhlYyh2b2lkIDApICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9lezF9LzsgX19yZS50ZXN0KHZvaWQgMCkgPT09IChfX3JlLmV4ZWModm9pZCAwKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /e{1}/ and tested string is void 0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgU3RyaW5nKCIxMjMiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIjEyMyIpOwpfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIxMjMiKTsgX19yZSA9IC8oKDEpfCgxMikpKCgzKXwoMjMpKS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /((1)|(12))((3)|(23))/ and tested string is new String(\"123\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS1mXWQvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9bYS1mXWQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoeCkgIT09IChfX3JlLmV4ZWMoeCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL1thLWZdZC87IF9fcmUudGVzdCh4KSA9PT0gKF9fcmUuZXhlYyh4KSAhPT0gbnVsbCk7IHZhciB4OycpOwp9Cgp2YXIgeDsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-f]d/ and tested string is x, where x is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS16XW4vIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgZnVuY3Rpb24oKXt9KCkKICovCgpfX3JlID0gL1thLXpdbi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChmdW5jdGlvbigpe30oKSkgIT09IChfX3JlLmV4ZWMoZnVuY3Rpb24oKXt9KCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9bYS16XW4vOyBfX3JlLnRlc3QoZnVuY3Rpb24oKXt9KCkpID09PSAoX19yZS5leGVjKGZ1bmN0aW9uKCl7fSgpKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]n/ and tested string is x, where x is function(){}()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBPYmplY3QoImFiY2RlZmdoaSIpOwpfX3JlID0gL2FbYS16XXsyLDR9LzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKTsgX19yZSA9IC9hW2Etel17Miw0fS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}/ and tested string is new Object(\"abcdefghi\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9Py8gYW5kIHRlc3RlZCBzdHJpbmcgaXMge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319CiAqLwoKdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OwpfX3JlID0gL2FbYS16XXsyLDR9Py87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OyBfX3JlID0gL2FbYS16XXsyLDR9Py87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}?/ and tested string is {toString:function(){return \"abcdefghi\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OwpfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OyBfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(aa|aabaac|ba|b|c)* / and tested string is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKQogKi8KCl9fcmUgPSAvKHopKChhKyk/KGIrKT8oYykpKi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCgoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IChfX3JlLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC8oeikoKGErKT8oYispPyhjKSkqLzsgX19yZS50ZXN0KChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKSA9PT0gKF9fcmUuZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(z)((a+)?(b+)?(c))* / and tested string is (function(){return \"zaacbbbcac\"})()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIikgewoJCSRFUlJPUignIzEuMjogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:function(){throw \"intostr\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLnRlc3Qoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImludmFsb2YiKSB7CiAgICAkRVJST1IoJyMxLjI6IC9bYS16XS8udGVzdCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:void 0, valueOf:function(){throw \"invalof\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIGZ1bmN0aW9uIG9iamVjdAogKi8KCnZhciBfX3N0cmluZzsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmc7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpOyBmdW5jdGlvbiBfX3N0cmluZygpe307Jyk7Cn0KCmZ1bmN0aW9uIF9fc3RyaW5nKCl7fTsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE9iamVjdAogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdDsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7ICB3aXRoKF9faW5zdGFuY2UpIHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCmZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9OwoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiW2EtYl0iKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgICAgIH0KICAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAodGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlWyJ0ZXN0Il0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2VbInRlc3QiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEuMCk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZVsidGVzdCJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAiLiI7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAxLjA7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlKSk7Cn0KCgo=","commentary":"RegExp.prototype.test has not prototype property","description":"Checking RegExp.prototype.test.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3Qgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.test can't be used as constructor","description":"Checking if creating the RegExp.prototype.test object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLnRlc3QpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudGVzdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpKSB7CiAgJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontDelete","description":"Checking if deleting RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKClJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CgkkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of the toString method is 1","description":"Checking RegExp.prototype.toString.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjQvUzE1LjEwLjYuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9CgoK","commentary":"RegExp.prototype.toString has not prototype property","description":"Checking RegExp.prototype.toString.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyBvYmplY3QgZmFpbHMKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKCV9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoJJEVSUk9SKCcjMS4xOiBfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.toString can't be used as constructor","description":"Checking if creating the RegExp.prototype.toString object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7Cgpmb3IgKHAgaW4gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyl7CglpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKCSRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpeyBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewoJJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IC9bXmFdKi8oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgvW15hXSovKCkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogL1teYV0qLygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwKCJhfGIiLCJnIikoKSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogUmVnRXhwKCJhfGIiLCJnIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChSZWdFeHAoImF8YiIsImciKSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IFJlZ0V4cCgiYXxiIiwiZyIpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCgo=","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp(\"a|b\",\"g\")() fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgbmV3IFJlZ0V4cCBpbnN0YW5jZSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IC96LygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyAvei8oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgL3ovKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCg==","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating new RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBSZWdFeHAiIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgbmV3IFJlZ0V4cCkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating \"new RegExp\" instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgL1teYV0qIC8KICovCgpfX3JlID0gL1teYV0qLzsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fcmUgIT09ICJvYmplY3QiKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1teYV0qLzsgdHlwZW9mIF9fcmUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIF9fcmUpKTsKfQoKLy9DSEVDSyMxCmlmIChfX3JlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvW15hXSovOyBfX3JlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX3JlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBfX3JlID0gL1teYV0qLzsgKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is /[^a]* /","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgX19yZSAhPT0gIm9iamVjdCIpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyB0eXBlb2YgX19yZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgX19yZSkpOwp9CgovL0NIRUNLIzEKaWYgKF9fcmUuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9fcmUuY29uc3RydWN0b3IpKTsKfQoKLy9DSEVDSyMzCmlmICgoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwOyAoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgPT09IHRydWUnKTsKfQoKCg==","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is new RegExp","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBvZiB0eXBlIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUuc291cmNlKSkgPT09ICdzdHJpbmcnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.source is of type String","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnc291cmNlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.source is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gLy4vOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogX19yZSA9IC8uLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuc291cmNlOwoKX19yZS5zb3VyY2UgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUuc291cmNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvLi87IF9fb2JqID0gX19yZS5zb3VyY2U7IF9fcmUuc291cmNlID0gInNoaWZ0ZWQiOyBfX3JlLnNvdXJjZSA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLnNvdXJjZSkpOwp9CgoK","commentary":"The RegExp instance source property has the attribute ReadOnly","description":"Checking if varying the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIlsxLTJdIiwiaSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc291cmNlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzb3VyY2VcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKCWlmIChwPT09InNvdXJjZSIpIGNvdW50KysJICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ic291cmNlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gIAoKCg==","commentary":"The RegExp instance source property has the attribute DontEnum","description":"Checking if enumerating the source property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvUzE1LjEwLjcuMV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHNvdXJjZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKChkZWxldGUgX19yZS5zb3VyY2UpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IChkZWxldGUgX19yZS5zb3VyY2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ3NvdXJjZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5zb3VyY2UgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance source property has the attribute DontDelete","description":"Checking if deleting the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmdsb2JhbCkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.global is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnZ2xvYmFsJyk7DQogIA0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.global is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL158Xi87CgovL0NIRUNLIzEKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2dsb2JhbCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBfX3JlID0gL158Xi87IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBfX3JlLmdsb2JhbDsKCl9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOwoKLy9DSEVDSyMyCmlmIChfX3JlLmdsb2JhbCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX3JlID0gL158Xi87IF9fb2JqID0gX19yZS5nbG9iYWw7IF9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOyBfX3JlLmdsb2JhbCA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgoK","commentary":"The RegExp instance global property has the attribute ReadOnly","description":"Checking if varying the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dsb2JhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJbby1vXSIsIm0iKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dsb2JhbFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imdsb2JhbCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiW28tb10iLCJtIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0iZ2xvYmFsIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgoK","commentary":"The RegExp instance global property has the attribute DontEnum","description":"Checking if enumerating the global property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvUzE1LjEwLjcuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGdsb2JhbCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUuZ2xvYmFsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmdsb2JhbCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnZ2xvYmFsJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5nbG9iYWwgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance global property has the attribute DontDelete","description":"Checking if deleting the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgb2YgdHlwZSBCb29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKSkgPT09ICdib29sZWFuJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.ignoreCase is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgJ2lnbm9yZUNhc2UnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.ignoreCase is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSAvYXxifGMvOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdpZ25vcmVDYXNlJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvYXxifGMvOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsKCl9fcmUuaWdub3JlQ2FzZSA9ICJzaGlmdGVkIjsKCi8vQ0hFQ0sjMgppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvYXxifGMvOyBfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsgX19yZS5pZ25vcmVDYXNlID0gInNoaWZ0ZWQiOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"The RegExp instance ignoreCase property has the attribute ReadOnly","description":"Checking if varying the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBvZiBSZWdFeHAgaW5zdGFuY2UgZmFpbHMKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiW3x8fHx8fHxdIiwiIik7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdpZ25vcmVDYXNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnaWdub3JlQ2FzZVwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBmb3IgKHAgaW4gX19yZSl7IGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfSAKCg==","commentary":"The RegExp instance ignoreCase property has the attribute DontEnum","description":"Checking if enumerating the ignoreCase property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4zL1MxNS4xMC43LjNfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBpZ25vcmVDYXNlIHByb3BlcnR5IGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoKGRlbGV0ZSBfX3JlLmlnbm9yZUNhc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyAoZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnaWdub3JlQ2FzZScpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7ZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZTsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ2lnbm9yZUNhc2VcJykgPT09IHRydWUnKTsKfQoKCgoK","commentary":"The RegExp instance ignoreCase property has the attribute DontDelete","description":"Checking if deleting the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.multiline is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbXVsdGlsaW5lJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.multiline is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL1xuLzsKCi8vQ0hFQ0sjMQppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvXFxuLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ211bHRpbGluZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUubXVsdGlsaW5lOwoKX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvXFxuLzsgX19vYmogPSBfX3JlLm11bHRpbGluZTsgX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7IF9fcmUubXVsdGlsaW5lID09PSBfX29iai4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCgo=","commentary":"The RegExp instance multiline property has the attribute ReadOnly","description":"Checking if varying the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltcdTAwNDEtXHUwMDQ5XSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbXVsdGlsaW5lJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdtdWx0aWxpbmVcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKICBpZiAocD09PSJtdWx0aWxpbmUiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibXVsdGlsaW5lIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance multiline property has the attribute DontEnum","description":"Checking if enumerating the multiline property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvUzE1LjEwLjcuNF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIG11bHRpbGluZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubXVsdGlsaW5lKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLm11bHRpbGluZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5tdWx0aWxpbmUgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance multiline property has the attribute DontDelete","description":"Checking if deleting the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBvZiB0eXBlIE51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUubGFzdEluZGV4KSkgPT09ICdudW1iZXInOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.lastIndex is of type Number","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgYXR0cmlidXRlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbGFzdEluZGV4Jyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.lastIndex is a data property with specified attribute values","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy41L1MxNS4xMC43LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsYXN0SW5kZXggcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnbGFzdEluZGV4XCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xhc3RJbmRleCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJBP0IiKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xhc3RJbmRleFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imxhc3RJbmRleCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiQT9CIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibGFzdEluZGV4IikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance lastIndex property has the attribute DontEnum","description":"Checking if enumerating the lastIndex property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvUzE1LjEwLjcuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxhc3RJbmRleCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubGFzdEluZGV4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmxhc3RJbmRleCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbGFzdEluZGV4JykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5sYXN0SW5kZXggPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance lastIndex property has the attribute DontDelete","description":"Checking if deleting the lastIndex property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gQ29udmVyc2lvbkVycm9yIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBJRTkgc3RhbmRhcmQgbW9kZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgQ29udmVyc2lvbkVycm9yID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error - ConversionError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gUmVnRXhwRXJyb3IgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIElFOSBzdGFuZGFyZCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBSZWdFeHBFcnJvciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error - RegExpError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gRXJyb3IobXNnKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgZXJyMT1FcnJvcignbXNnMScpOwppZihlcnIxLm1lc3NhZ2UhPT0ibXNnMSIpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gRXJyb3IobXNnKTt9IHZhciBlcnIyPW90aGVyU2NvcGUoXCdtc2cyXCcpOyBlcnIyLm1lc3NhZ2U9PT0ibXNnMiIuIEFjdHVhbDogJytlcnIyLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgZXJyMz1vdGhlclNjb3BlKCk7CmlmKGVycjMuaGFzT3duUHJvcGVydHkoJ21lc3NhZ2UnKSl7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpe3JldHVybiBFcnJvcihtc2cpO30gdmFyIGVycjM9b3RoZXJTY29wZSgpOyBlcnIzLmhhc093blByb3BlcnR5KCJtZXNzYWdlIikuIEFjdHVhbDogJytlcnIzLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp2YXIgZXJyND1ldmFsKCJFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgiRXJyb3IoXCdtc2c0XCcpIik7IGVycjQubWVzc2FnZT09PSJtc2c0Ii4gQWN0dWFsOiAnK2VycjQubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjEvUzE1LjExLjEuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCdtc2cxJyk7CmlmKCFFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSl7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9RXJyb3IoXCdtc2cxXCcpOyBFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4xL1MxNS4xMS4xLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9RXJyb3IoKTsKaWYoZXJyMS50b1N0cmluZygpIT09J1tvYmplY3QgJysgJ0Vycm9yJyArJ10nKXsKICAkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIGVycjE9RXJyb3IoKTsgZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBFcnJvciguLi4pIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uIG5ldwogKiBFcnJvciguLi4pIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciBlcnIxPUVycm9yKCk7CmlmKGVycjEuY29uc3RydWN0b3IhPT1FcnJvcil7CiAgJEVSUk9SKCcjMTogRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciBlcnIxPUVycm9yKCk7IGVycjEuY29uc3RydWN0b3I9PT1FcnJvci4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The function call Error(...) is equivalent to the object creation expression new\nError(...) with the same arguments","description":"Checking constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMi9TMTUuMTEuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gbmV3IEVycm9yKG1zZyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9bmV3IEVycm9yKCdtc2cxJyk7CmlmKGVycjEubWVzc2FnZSE9PSJtc2cxIil7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9bmV3IEVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMj1vdGhlclNjb3BlKFwnbXNnMlwnKTsgZXJyMi5tZXNzYWdlPT09Im1zZzIiLiBBY3R1YWw6ICcrZXJyMi5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdmFyIGVycjM9b3RoZXJTY29wZSgpOwppZihlcnIzLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpewogICRFUlJPUignIzM6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMz1vdGhlclNjb3BlKCk7IGVycjMuaGFzT3duUHJvcGVydHkoIm1lc3NhZ2UiKS4gQWN0dWFsOiAnK2VycjMubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CnZhciBlcnI0PWV2YWwoIm5ldyBFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgibmV3IEVycm9yKFwnbXNnNFwnKSIpOyBlcnI0Lm1lc3NhZ2U9PT0ibXNnNCIuIEFjdHVhbDogJytlcnI0Lm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjIvUzE1LjExLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcignbXNnMScpOwppZighRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpewogICRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4yL1MxNS4xMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9bmV3IEVycm9yKCk7CmlmKGVycjEudG9TdHJpbmcoKSE9PSdbb2JqZWN0ICcrICdFcnJvcicgKyddJyl7CiAgJEVSUk9SKCcjMTogZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCnZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIEVycm9yLnByb3RvdHlwZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIEVycm9yLnByb3RvdHlwZSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IucHJvdG90eXBlIT09cHJvdG8pewogICRFUlJPUignIzI6IHZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7IGRlbGV0ZSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZT09PXByb3RvLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontDelete}","description":"Checking if deleting the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKEVycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMwOiBFcnJvci5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpIHJldHVybiBmYWxzZS4gQWN0dWFsOiAnK0Vycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291dD0wOwoKZm9yIChwIGluIEVycm9yKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291dCA9PT0gMC4gQWN0dWFsOiAnK2NvdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontEnum}","description":"Checking if enumerating the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IEVycm9yLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fb2JqID0gRXJyb3IucHJvdG90eXBlOwoKRXJyb3IucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChFcnJvci5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBFcnJvci5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7CiAgRXJyb3IucHJvdG90eXBlKCk7CiAgJEVSUk9SKCcjMzogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Error.prototype property has the attributes {ReadOnly}","description":"Checking if varying the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogRXJyb3IuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The Error has property prototype","description":"Checking Error.hasOwnProperty('prototype')","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0KDE1LjMuNCkKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9RXJyb3IoImVyciIpOwppZighRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKCJlcnIiKTsgRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikgcmV0dXJuIHRydWUuIEFjdHVhbDonK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoIUZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLmNvbnN0cnVjdG9yKSl7CiAgJEVSUk9SKCcjMjogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IuY29uc3RydWN0b3IpIHJldHVybiB0cnVlLiBBY3R1YWw6JytGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihFcnJvci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the Error constructor is the Function prototype object(15.3.4)","description":"Checking prototype of constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBsZW5ndGggcHJvcGVydHkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCJlcnIiKTsKaWYoZXJyMS5jb25zdHJ1Y3Rvci5sZW5ndGghPT0xKXsKICAkRVJST1IoJyMxOiB2YXIgZXJyMT1FcnJvcigiZXJyIik7IGVycjEuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoIT09MSl7CiAgJEVSUk9SKCcjMjogRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK0Vycm9yLmNvbnN0cnVjdG9yLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property value is 1","description":"Checking length property","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEVycm9yLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking Error.prototype.constructor","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgcGFzc2VzIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCmNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCmVyciA9IG5ldyBjb25zdHI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMAppZiAoZXJyID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzA6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgZXJyID09PSB1bmRlZmluZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChlcnIuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IGVyci5jb25zdHJ1Y3RvciA9PT0gRXJyb3IuIEFjdHVhbDogJytlcnIuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikpKSB7CgkkRVJST1IoJyMyOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCkVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ0Vycm9yJyArJ10nOwppZiAoZXJyLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKCSRFUlJPUignIzM6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IGVyci50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudG9TdHJpbmcoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKGVyci52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewoJJEVSUk9SKCcjNDogY29uc3RyID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBlcnIgPSBuZXcgY29uc3RyOyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgZXJyLnZhbHVlT2YoKS50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudmFsdWVPZigpLnRvU3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking if creating \"new Error.prototype.constructor\" passes and checking its properties","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBuYW1lIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCduYW1lJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ25hbWVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ25hbWUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The Error.prototype has name property","description":"Checking Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyAiRXJyb3IiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUubmFtZSE9PSJFcnJvciIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5uYW1lPT09IkVycm9yIi4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5uYW1lKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.name is \"Error\"","description":"Checking value of Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBtZXNzYWdlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubWVzc2FnZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ21lc3NhZ2VcJykgcmV1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnbWVzc2FnZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has message property","description":"Checking Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyAiIgogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFsdWUgb2YgRXJyb3IucHJvdG90eXBlLm1lc3NhZ2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHR5cGVvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.message is \"\"","description":"Checking value of Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyB0b1N0cmluZyBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvU3RyaW5nJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3RvU3RyaW5nXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b1N0cmluZycpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has toString property","description":"Checking Error.prototype.toString","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgYW4gaW1wbGVtZW50YXRpb24gZGVmaW5lZCBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IucHJvdG90eXBlLnRvU3RpbmcoKSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsKdHJ5ewoJdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsKfQpjYXRjaChlKXsKCSRFUlJPUignIzE6IHZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsgdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmlmICh0b1N0cj09PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogdmFyIGVycjE9bmV3IEVycm9yKCJFcnJvciIpOyB2YXIgdG9TdHI9ZXJyMS50b1N0cmluZygpOyB0b1N0ciE9PXVuZGVmaW5lZC4gQWN0dWFsOiAnK3RvU3RyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype.toString returns an implementation defined string","description":"Checking if call of Error.prototype.toSting() fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUKICogb2JqZWN0KDE1LjIuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTEuanMKICogQGRlc2NyaXB0aW9uIEdldCBFcnJvci5wcm90b3R5cGUgYW5kIGNvbXBhcmUgd2l0aCBPYmplY3QucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLnByb3RvdHlwZSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the Error prototype object is the Object prototype\nobject(15.2.3.1)","description":"Get Error.prototype and compare with Object.prototype","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBHZXR0aW5nIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IHVzaW5nIEVycm9yLnByb3RvdHlwZS50b1N0cmluZygpIGZ1bmN0aW9uCiAqLwoKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cl9fdG9zdHIgPSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fdG9zdHIgIT09ICJbb2JqZWN0IEVycm9yXSIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3Rvc3RyID0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nKCk7IF9fdG9zdHIgPT09ICJbb2JqZWN0IEVycm9yXSIuIEFjdHVhbDogJytfX3Rvc3RyICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Class]] property of Error prototype object is \"Error\"","description":"Getting the value of the internal [[Class]] property using Error.prototype.toString() function","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY2FsbF1dIG1ldGhvZAogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglFcnJvci5wcm90b3R5cGUoKTsKCSRGQUlMKCcjMTogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since Error prototype object is not function it has not [[call]] method","description":"Checking if call of Error prototype as a function fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBFcnJvci5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlOwoJJEZBSUwoJyMxOiAiX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since Error prototype object is not function it has not [[create]] method","description":"Checking if creating \"new Error.prototype\" fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A4.js"},{"code":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjIvMTUuMTEuNC4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im5hbWUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Error.prototype.name is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.2/15.11.4.2-1.js"},{"code":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjMvMTUuMTEuNC4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im1lc3NhZ2UiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Error.prototype.message is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.3/15.11.4.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgcmV0dXJuIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyAnbmFtZScsICc6JywgYSBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLCBhbmQgJ21zZycgd2hlbiAnbmFtZScgYW5kICdtc2cnIGFyZSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIkVycm9yTmFtZSI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTmFtZTogRXJyb3JNZXNzYWdlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString return the result of concatenating 'name', ':', a single space character, and 'msg' when 'name' and 'msg' are non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgd2hlbiAnbXNnJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and empty string is returned when 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCB2YWx1ZSBvZiAnbXNnJyBpcyByZXR1cm5lZCB3aGVuICdtc2cnIGlzIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJFcnJvck1lc3NhZ2UiKTsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3I6IEVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and value of 'msg' is returned when 'msg' is non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gdGhlIHZhbHVlIG9mICdtc2cnIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXNuJ3QgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIiI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error.prototype.toString return the value of 'msg' when 'name' is empty string and 'msg' isn't undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gZW1wdHkgc3RyaW5nIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBlcnJPYmoubmFtZSA9ICIiOw0KICAgICAgICByZXR1cm4gZXJyT2JqLnRvU3RyaW5nKCkgPT09ICIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error.prototype.toString return empty string when 'name' is empty string and 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gJ25hbWUnIHdoZW4gJ25hbWUnIGlzIG5vbi1lbXB0eSBzdHJpbmcgYW5kICdtc2cnIGlzIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgZXJyT2JqLm5hbWUgPSAiRXJyb3JOYW1lIjsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3JOYW1lIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString return 'name' when 'name' is non-empty string and 'msg' is empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogNC4yIGNhbGxzIG91dCBKU09OIGFzIG9uZSBvZiB0aGUgYnVpbHQtaW4gb2JqZWN0cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBiZSBhIGJ1aWx0LWluIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCiAgaWYgKHR5cGVvZihvKSA9PT0gIm9iamVjdCIpIHsgIA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n4.2 calls out JSON as one of the built-in objects.","description":"JSON must be a built-in object","path":"TestCases/ch15/15.12/15.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NvbnN0cnVjdF1dLg0KICogc3RlcCA0IGluIDExLjIuMiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBtdXN0IG5vdCBzdXBwb3J0IHRoZSBbW0NvbnN0cnVjdF1dIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCg0KICB0cnkgew0KICAgIHZhciBqID0gbmV3IEpTT04oKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Construct]].\nstep 4 in 11.2.2 should throw a TypeError exception.","description":"JSON must not support the [[Construct]] method","path":"TestCases/ch15/15.12/15.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NhbGxdXS4NCiAqIHN0ZXAgNSBpbiAxMS4yLjMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBub3Qgc3VwcG9ydCB0aGUgW1tDYWxsXV0gbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KDQogIHRyeSB7DQogICAgdmFyIGogPSBKU09OKCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Call]].\nstep 5 in 11.2.3 should throw a TypeError exception.","description":"JSON must not support the [[Call]] method","path":"TestCases/ch15/15.12/15.12-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbGFzdCBwYXJhZ3JhcGggaW4gc2VjdGlvbiAxNSBzYXlzICJldmVyeSBvdGhlciBwcm9wZXJ0eSBkZXNjcmliZWQNCiAqIGluIHRoaXMgc2VjdGlvbiBoYXMgdGhlIGF0dHJpYnV0ZSB7Li4uIFtbRW51bWVyYWJsZV1dIDogZmFsc2UgLi4ufQ0KICogdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoaXMgZGVmYXVsdCBhcHBsaWVzIHRvIHRoZSBwcm9wZXJ0aWVzIG9uDQogKiBKU09OLCBhbmQgd2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGVudW1lcmF0ZSB0aGVtLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBvYmplY3QncyBwcm9wZXJ0aWVzIG11c3QgYmUgbm9uIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgaSA9IDA7DQogIGZvciAodmFyIHAgaW4gbykgew0KICAgIGkrKzsNCiAgfQ0KICAgIA0KICBpZiAoaSA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe last paragraph in section 15 says \"every other property described\nin this section has the attribute {... [[Enumerable]] : false ...}\nunless otherwise specified. This default applies to the properties on\nJSON, and we should not be able to enumerate them.","description":"JSON object's properties must be non enumerable","path":"TestCases/ch15/15.12/15.12-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgd2hpdGVzcGFjZSBhcyBhIHRva2VuIHNlcGVyYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHRcclxuIDM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats whitespace as a token seperator","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIDxWVD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIDxGRj4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBjMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNC5qcw0KICogQGRlc2NyaXB0aW9uIDxOQlNQPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTAwYTAxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNS5qcw0KICogQGRlc2NyaXB0aW9uIDxaV1NQUD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUyMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNi5qcw0KICogQGRlc2NyaXB0aW9uIDxCT00+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJ1x1ZmVmZjEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYQ0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":" is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGNhdGVnb3J5IHogc3BhY2VzIGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICAvLyB0aGUgZm9sbG93aW5nIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIEpTT04ucGFyc2UoJ1x1MTY4MFx1MTgwZVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwYVx1MjAyZlx1MjA1Zlx1MzAwMDEyMzQnKTsgDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOC5qcw0KICogQGRlc2NyaXB0aW9uIFUrMjAyOCBhbmQgVSsyMDI5IGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTIwMjhcdTIwMjkxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOS5qcw0KICogQGRlc2NyaXB0aW9uIFdoaXRlc3BhY2UgY2hhcmFjdGVycyBjYW4gYXBwZWFyIGJlZm9yZS9hZnRlciBhbnkgSlNPTnRva2VuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIEpTT04ucGFyc2UoJ1x0XHIgXG57XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgJyJwcm9wZXJ0eSJcdFxyIFxuOlx0XHIgXG57XHRcciBcbn1cdFxyIFxuLFx0XHIgXG4nICsNCiAgICAgICAgICAgICAgICAgICAnInByb3AyIlx0XHIgXG46XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgICAgICAnW1x0XHIgXG50cnVlXHRcciBcbixcdFxyIFxubnVsbFx0XHIgXG4sMTIzLjQ1Nlx0XHIgXG5dJysNCiAgICAgICAgICAgICAgICAgICAgICdcdFxyIFxufVx0XHIgXG4nKTsgIC8vIHNob3VsZCBKT1NOIHBhcnNlIHdpdGhvdXQgZXJyb3INCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Whitespace characters can appear before/after any JSONtoken","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxUQUI+IGFzIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoSlNPTi5wYXJzZSgnXHQxMjM0JykhPT0xMjM0KSByZXR1cm4gZmFsc2U7IC8vIDxUQUI+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJcdDM0Jyk7IC8vIDxUQUI+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxDUj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdccjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPGNyPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHIzNCcpOyAvLyA8Q1I+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxMRj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdcbjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPExGPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXG4zNCcpOyAvLyA8TEY+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxTUD4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogaWYgKEpTT04ucGFyc2UoJyAxMjM0JykhPTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFNQPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyIDM0Jyk7IC8vIDxTUD4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OU3RyaW5ncyBjYW4gYmUgd3JpdHRlbiB1c2luZyBkb3VibGUgcXVvdGVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04ucGFyc2UoJyJhYmMiJyk9PT0iYWJjIjsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSONStrings can be written using double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItMi5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtYXkgbm90IGJlIGRlbGltaXRlZCBieSBzaW5nbGUgcXVvdGVzIA0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgaWYgKEpTT04ucGFyc2UoIidhYmMnIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsNCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSONString may not be delimited by single quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItMy5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtYXkgbm90IGJlIGRlbGltaXRlZCBieSBVbmNvZGUgZXNjYXBlZCBxdW90ZXMgDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgICBpZiAoSlNPTi5wYXJzZSgiXFx1MDAyMmFiY1xcdTAwMjIiKSA9PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONString may not be delimited by Uncode escaped quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItNC5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtdXN0IGJvdGggYmVnaW4gYW5kIGVuZCB3aXRoIGRvdWJsZSBxdW90ZXMNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIGlmIChKU09OLnBhcnNlKCciYWInKyJjJyIpID09PSdhYmMnKSByZXR1cm4gZmFsc2U7DQogICAgICAgfQ0KICAgICBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONString must both begin and end with double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT05TdHJpbmdzIGNhbiBjb250YWluIG5vIEpTT05TdHJpbmdDaGFyYWN0ZXJzIChFbXB0eSBKU09OU3RyaW5ncykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5wYXJzZSgnIiInKT09PSIiOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwMCB0aHJ1IFUrMDAwNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwOCB0aHJ1IFUrMDAwRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwOFx1MDAwOVx1MDAwYVx1MDAwYlx1MDAwY1x1MDAwZFx1MDAwZVx1MDAwZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxMCB0aHJ1IFUrMDAxNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxOCB0aHJ1IFUrMDAxRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxOFx1MDAxOVx1MDAxYVx1MDAxYlx1MDAxY1x1MDAxZFx1MDAxZVx1MDAxZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBhbGxvd3MgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2VzIGluIGEgSlNPTlN0cmluZw0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIEpTT04ucGFyc2UoJyJcXHUwMDU4IicpPT09J1gnOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar allows Unicode escape sequences in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZ0NoYXJhY3RlciBVbmljb2RlRXNjYXBlIG1heSBub3QgaGF2ZSBmZXdlciB0aGFuIDQgaGV4IGNoYXJhY3RlcnMNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIEpTT04ucGFyc2UoJyJcXHUwMDUiJykgDQogICAgICAgfQ0KICAgICBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gZS5uYW1lPT09J1N5bnRheEVycm9yJw0KICAgICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZ0NoYXJhY3RlciBVbmljb2RlRXNjYXBlIG1heSBub3QgaW5jbHVkZSBhbnkgbm9uPWhleCBjaGFyYWN0ZXJzDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgICBKU09OLnBhcnNlKCciXFx1MFg1MCInKSANCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiBlLm5hbWU9PT0nU3ludGF4RXJyb3InDQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not include any non=hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcvJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcLyInKT09PScvJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcnIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxcXCInKT09PSdcXCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows '' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdiJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcYiInKT09PSdcYic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdmJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcZiInKT09PSdcZic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICduJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcbiInKT09PSdcbic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdyJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcciInKT09PSdccic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICd0JyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdCInKT09PSdcdCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gSlNPTi5wYXJzZTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnBhcnNlOw0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function taking 2 parameters","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IEpTT047DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAicGFyc2UiKTsNCiAgcmV0dXJuIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.parse must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGlzIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIC0gcGFyc2luZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgbWlkZGxlcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgIkpvIiArIG51bGxDaGFyc1tpbmRleF0gKyAiaG4iICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICJuYW1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3snICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneycgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIG1pZGRsZXMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgJyArICJuYSIgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property name middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBpcyBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBlbmRzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICJuYW1lIiA6ICcgKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgYW5kIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property value starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBKU09OLnBhcnNlIG11c3QgY3JlYXRlIGEgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZQogKgogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvUzE1LjEyLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgSlNPTi5wYXJzZSB0cmVhdHMgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5IG5hbWUKICovCgp2YXIgeCA9IEpTT04ucGFyc2UoJ3siX19wcm90b19fIjpbXX0nKTsKaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRGQUlMKCcjMTogSlNPTi5wYXJzZSBjb25mdXNlZCBieSAiX19wcm90b19fIicpOwp9CmlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKICAkRkFJTCgnIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"JSON.parse must create a property with the given property name","description":"Tests that JSON.parse treats \"__proto__\" as a regular property name","path":"TestCases/ch15/15.12/15.12.2/S15.12.2_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnN0cmluZ2lmeTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uIHRha2luZyAzIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEpTT04uc3RyaW5naWZ5Ow0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function taking 3 parameters","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IG11c3QgYmUgZGVsZXRhYmxlIChjb25maWd1cmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.stringify must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpIHJldHVybnMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZDsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify(undefined) returns undefined","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciB2YWx1ZSBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar value can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIE9iamVjdCBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3Byb3A6MX0sIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify replacer function applied to a top level Object can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIEFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdj09NDIgP1s0LDJdOnYgfSkgPT09ICdbNCwyXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Array.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIE9iamVjdC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHY9PTQyID8ge2ZvcnR5OjJ9OiB2fSkgPT09ICd7ImZvcnR5IjoyfSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Object.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgdG8gYSAgZnVuY3Rpb24gcmV0dXJucyB1bmRlZmluZWQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30pID09PSB1bmRlZmluZWQ7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Applying JSON.stringify to a function returns undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgd2l0aCBhIHJlcGxhY2VyIGZ1bmN0aW9uIHRvIGEgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVwbGFjZXIgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30sIGZ1bmN0aW9uKGssdikge3JldHVybiA5OX0pID09PSAnOTknOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Applying JSON.stringify with a replacer function to a function returns the replacer value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgaXMgdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiI6ICJKb2huIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOyANCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWUiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property name ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIGFuZCBlbmRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWVcdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIHdvcmtzIGlzIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgdW5kZWZpbmVkIHZhbHVlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuICJyZXBsYWNlbWVudCIgfSkgPT09ICcicmVwbGFjZW1lbnQiJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify replacer function works is applied to a top level undefined value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgbWlkZGxlcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYVx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm1lIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property name middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGlzIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property value is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGVuZHMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb2huXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property value ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG5cdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIG1pZGRsZXMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb1x1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRmhuIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property value middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBjb25jYXRlbmF0aW9uIGlzICddJyAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBKQSh2YWx1ZSkgc3RlcCAxMC5iLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9ialswXSA9ICJhIjsNCiAgICAgICAgYXJyT2JqWzFdID0gImIiOw0KICAgICAgICBhcnJPYmpbMl0gPSAiYyI7DQoNCiAgICAgICAgdmFyIGpzb25UZXh0ID0gSlNPTi5zdHJpbmdpZnkoYXJyT2JqLCB1bmRlZmluZWQsICIiKS50b1N0cmluZygpOw0KICAgICAgICByZXR1cm4ganNvblRleHQuc3Vic3RyKGpzb25UZXh0Lmxlbmd0aCAtIDEsIDEpID09PSAiXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - the last element of the concatenation is ']' (The abstract operation JA(value) step 10.b.iii)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgc3RyaW5nIHZhbHVlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoImEgc3RyaW5nIikgPT09ICciYSBzdHJpbmciJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify correctly works on top level string values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDEyMykgPT09ICcxMjMnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify correctly works on top level Number values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh0cnVlKSA9PT0gJ3RydWUnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify correctly works on top level Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgbnVsbCB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG51bGwpID09PSAnbnVsbCc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level null values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgTnVtYmVyKDQyKSkgPT09ICc0Mic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level Number objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTguanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIFN0cmluZyBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgU3RyaW5nKCd3cmFwcGVyZWQnKSkgPT09ICcid3JhcHBlcmVkIic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level String objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gb2JqZWN0cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gJ2ZhbHNlJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify correctly works on top level Boolean objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGlnbm9yZXMgcmVwbGFjZXIgYXJ1Z3VtZW50cyB0aGF0IGFyZSBub3QgZnVuY3Rpb25zIG9yIGFycmF5cy4uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0se30pPT09ICdbNDJdJzsNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gIGZhbHNlfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify ignores replacer aruguments that are not functions or arrays..","path":"TestCases/ch15/15.12/15.12.3/15.12.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYS1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBOdW1iZXIgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBOdW1iZXIoNSkpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Number wrapper object space aruguments to Number values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBTdHJpbmcgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBTdHJpbmcgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBTdHJpbmcoJ3h4eCcpKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJ3h4eCcpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts String wrapper object space aruguments to String values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGdyZWF0ZXIgdGhhbiAxMCB0aGUgc2FtZSBhcyBhICBzcGFjZSBhcmd1bWVudCBvZiAxMC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgMTApPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAxMDApOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments greater than 10 the same as a space argument of 10.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJ1Y2NhdGVzIG5vbi1pbnRlZ2VyIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIHRvIHRoZWlyIGludGVnZXIgcGFydC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgNS45OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify truccates non-integer numeric space arguments to their integer part.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwLjk5OTk5OSl0aGUgc2FtZSBhcyBlbXB0cnkgc3RyaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAwLjk5OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICovDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0.999999)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwKXRoZSBzYW1lIGFzIGVtcHRyeSBzdHJpbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDApPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgtNSkgdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgLTUpPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (-5) the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIChpbiB0aGUgcmFuZ2UgMS4uMTApIGlzIGVxdWl2YWxlbnQgdG8gYSBzdHJpbmcgb2Ygc3BhY2VzIG9mIHRoYXQgbGVuZ3RoLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgdmFyIGZpdmVTcGFjZXMgPSAnICAgICAnOw0KICAvLyAgICAgICAgICAgICAgICcxMjM0NScNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KT09PSBKU09OLnN0cmluZ2lmeShvYmosIG51bGwsIGZpdmVTcGFjZXMpOyAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments (in the range 1..10) is equivalent to a string of spaces of that length.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTctYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgb25seSB1c2VzIHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHNwYWNlIGFyZ3VtZW50cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODl4eHh4eHh4eHgnKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODknKTsgIA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify only uses the first 10 characters of a string space arguments.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-7-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIGVtcHR5IHN0cmluZyBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJycpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an empty string space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIHRydWUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an Boolean space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIG51bGwgc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG51bGwpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an null space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gd3JhcHBlciBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify treats an Boolean wrapper space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS01LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG5vbi1OdW1iZXIgb3IgU3RyaW5nIG9iamVjdCBzcGFjZSBhcmd1bWVudHMgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG9iaik7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats non-Number or String object space arguments the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0gew0KICAgIHByb3A6NDIsDQogICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0dXJuICdmb3J0eXR3byBvYmplY3RzJ30NCiAgICB9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0pID09PSAnWyJmb3J0eXR3byBvYmplY3RzIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts string wrapper objects returned from a toJSON call to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgTnVtYmVyLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IE51bWJlcig0Mil9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1s0Ml0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from a toJSON call to literal Number.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gYSB0b0pTT04gY2FsbCB0byBsaXRlcmFsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEJvb2xlYW4odHJ1ZSl9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1t0cnVlXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from a toJSON call to literal Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBzdHJpbmcgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IFN0cmluZygnZm9ydHl0d28nKTp2fSkgPT09ICdbImZvcnR5dHdvIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts string wrapper objects returned from replacer functions to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVycy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IE51bWJlcig4NCk6dn0pID09PSAnWzg0XSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBCb29sZWFuIHdyYXBwZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIHJlcGxhY2VyIGZ1bmN0aW9ucyB0byBsaXRlcmFsIG51bWJlcnMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBCb29sZWFuKGZhbHNlKTp2fSkgPT09ICdbZmFsc2VdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgZXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge307DQogIG9iai5wcm9wID0gb2JqOw0KICB0cnkgew0KICAgICBKU09OLnN0cmluZ2lmeShvYmopOw0KICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify a circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt9Ow0KICBvYmoucHJvcCA9IG9iajsNCiAgdHJ5IHsNCiAgICAgSlNPTi5zdHJpbmdpZnkob2JqKTsNCiAgICAgcmV0dXJuIGZhbHNlOyAgLy8gc2hvdWxkIG5vdCByZWFjaCBoZXJlDQogICAgIH0NCiAgIGNhdGNoIChlKSB7cmV0dXJuIGUubmFtZT09PSdUeXBlRXJyb3InfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify a circular object throws a TypeError","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBpbmRpcmVjdGx5IGNpcmN1bGFyIG9iamVjdCB0aHJvd3MgYSBlcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7cDE6IHtwMjoge319fTsNCiAgb2JqLnAxLnAyLnByb3AgPSBvYmo7DQogIHRyeSB7DQogICAgIEpTT04uc3RyaW5naWZ5KG9iaik7DQogICAgIHJldHVybiBmYWxzZTsgIC8vIHNob3VsZCBub3QgcmVhY2ggaGVyZQ0KICAgICB9DQogICBjYXRjaCAoZSkge3JldHVybiAgdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify a indirectly circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbAogKgogKiBAcGF0aCBjaDE1LzE1LjIvUzE1LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE9iamVjdCBlcXVhbHMgdG8gdGhpcy5PYmplY3QKICovCgp2YXIgb2JqPU9iamVjdDsKCnZhciB0aGlzb2JqPXRoaXMuT2JqZWN0OwoKaWYob2JqIT09dGhpc29iail7CiAgJEVSUk9SKCdPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCcpOwp9Cgo=","commentary":"Object is the property of global","description":"Checking if Object equals to this.Object","path":"TestCases/ch15/15.2/S15.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KG51bGwpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdChudWxsKTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KG51bGwpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHZvaWQgMCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKLy92YXIgeT0gdm9pZCAwOwoKdmFyIF9fb2JqID0gT2JqZWN0KHZvaWQgMCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh2b2lkIDApOwoKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCgpOwogCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHVuZGVmaW5lZCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KHVuZGVmaW5lZCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHgpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdCh4KTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KHgpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgp2YXIgeDsKCg==","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(x) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggYm9vbGVhbiBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBib29sID0gdHJ1ZTsKCmlmKHR5cGVvZiBib29sICE9PSAnYm9vbGVhbicpewogICRGQUlMKCcjMTogYm9vbCBzaG91bGQgYmUgYm9vbGVhbiBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChib29sKTsKCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMyOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAoIW9iaikgewogICRFUlJPUignIzQ6IE9iamVjdCh0cnVlKSByZXR1cm5zIFRvT2JqZWN0KHRydWUpJyk7Cn0KCmlmIChvYmogPT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGFycmF5IG9mIG51bWJlcnMgYXMgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFyciAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMxOiBhcnIgPSBbMSwyLDNdIGlzIE5PVCBhbiBvYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KGFycik7CgphcnIucHVzaCg0KTsKCi8vQ0hFQ0sjMgppZiAoKG5fb2JqICE9PSBhcnIpfHwobl9vYmpbM10hPT00KSkgewogICRFUlJPUignIzI6IE9iamVjdChbMSwyLDNdKSByZXR1cm5zIFRvT2JqZWN0KFsxLDIsM10pJyk7Cn0KCgoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with array of numbers as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAkRVJST1IoJyMxOiAgZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO30pOwoKLy9DSEVDSyMyCmlmICgobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKXx8KG5fb2JqKCkhPT0xKSkgewogICRFUlJPUignIzI6IE9iamVjdChmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIDE7fSkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBmdW5jICE9PSAndW5kZWZpbmVkJykgewogICRFUlJPUignIzM6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwndCBiZSBkZWNsYXJhdGVkJyk7Cn0KCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function declaration as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIG51bWVyaWMgZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoMS4xKihbXS5sZW5ndGgre3E6MX1bInEiXSkpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gMS4xKXx8KG9iaiA9PT0gMS4xKSkgewogICRFUlJPUignIzQ6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with numeric expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGJvb2xlYW4gZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoKDE9PT0xKSYmKCFmYWxzZSkpOwoKLy9DSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMxOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzEuMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxLjE6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShvYmopKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmo9PT10cnVlKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIHN1bSBvZiBlbXB0eSBzdHJpbmcgYW5kIGEgbnVtYmVyIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgiIisxKTsKCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIxIil8fChvYmogPT09ICIxIikpIHsKICAkRVJST1IoJyM0OiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with sum of empty string and a number as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggbnVtYmVyIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IDEuMTsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSAxLjEgc2hvdWxkIGJlIE51bWJlciBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdCgxLjEpIHJldHVybnMgVG9PYmplY3QoMS4xKScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG9iaiAhPSAxLjEpfHwob2JqID09PSAxLjEpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with number argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICdMdWtlIFNreXdhbGtlcic7CgovLyBDSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRVJST1IoJyMxOiAiTHVrZSBTa3l3YWxrZXIiIHNob3VsZCBiZSBhIFN0cmluZyBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiTHVrZSBTa3l3YWxrZXIiKSByZXR1cm5zIFRvT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBUb09iamVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gIkx1a2UgU2t5d2Fsa2VyIil8fChvYmogPT09ICJMdWtlIFNreXdhbGtlciIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpIHJldHVybnMgVG9PYmplY3QoIkx1a2UgU2t5d2Fsa2VyIiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IHtmbGFnOnRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcpIHsKICAkRkFJTCgnIzE6IG9iaiA9IHtmbGFnOnRydWV9IHNob3VsZCBiZSBhbiBPYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KG9iaik7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gb2JqKXx8KCEobl9vYmpbJ2ZsYWcnXSkpKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KHtmbGFnOnRydWV9KSByZXR1cm5zIFRvT2JqZWN0KHtmbGFnOnRydWV9KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with object argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggTmFOIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IE5hTjsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSBOYU4gc2hvdWxkIGhhdmUgbnVtYmVyIHR5cGUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9Ci8vCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with NaN argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggSW5maW5pdHkgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgbnVtID0gSW5maW5pdHk7CgovLyBDSEVDSyMxCmlmKHR5cGVvZiBudW0gICE9PSAnbnVtYmVyJyl7CiAgJEVSUk9SKCcjMTogbnVtID0gSW5maW5pdHkgc2hvdWxkIGJlIGEgTnVtYmVyIHByaW1pdGl2ZScpOwp9Cgp2YXIgb2JqID0gT2JqZWN0KG51bSk7CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdChJbmZpbml0eSkgcmV0dXJucyBUb09iamVjdChJbmZpbml0eSknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9IEluZmluaXR5KXx8KG9iaiA9PT0gSW5maW5pdHkpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with Infinity argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZW1wdHkgc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICcnOwoKLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHN0cikgIT09ICdzdHJpbmcnKSB7CiAgJEZBSUwoJyMxOiAiIiBpcyBOT1QgYSBTdHJpbmcnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIiKXx8KG9iaiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCIiKSByZXR1cm5zIFRvT2JqZWN0KCIiKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with empty string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gdmFyaWFibGUgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIDE7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function variable argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gYXJndW1lbnQgdmFsdWUuIFRoZSBmdW5jdGlvbiBpcyBkZWNsYXJlZAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function argument value. The function is declared","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgxLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgxLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAxKXx8KG9iaiA9PT0gMSkpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdChudWxsLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdChudWxsLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgobnVsbCwyLDMpLDEsMikiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgobnVsbCwyLDMpLDEsMik7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAzKXx8KG9iaiA9PT0gMykpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object((null,2,3),1,2)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCgpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCgpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3Qodm9pZCAwKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgovL3ZhciBmb28gPSB2b2lkIDA7CnZhciBvYmogPSBuZXcgT2JqZWN0KHZvaWQgMCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9CgoK","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QobnVsbCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QobnVsbCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QobnVsbCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdChudWxsKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KG51bGwpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGhhcyBubyBbW1ZhbHVlXV0gcHJvcGVydHkuJyk7Cn0KCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QodW5kZWZpbmVkKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCh1bmRlZmluZWQpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoeCksIHdoZXJlIHggaXMgInVuZGVmaW5lZCIsIGFuZCBjaGVja2luZyBpdCBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoeCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgp2YXIgeDsKCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(x), where x is \"undefined\", and checking it properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgT2JqZWN0CiAqLwoKdmFyIG9iaiA9IHtwcm9wOjF9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsncHJvcCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is Object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiB2YXJpYWJsZQogKi8KCnZhciBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChmdW5jKTsKCi8vQ0hFQ0sjMQppZiAobl9vYmogIT09IGZ1bmMpIHsKICAkRVJST1IoJyMxOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobl9vYmooKSAhPT0gMSkgewogICRFUlJPUignV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9Ci8vCgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function variable","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYW4gYXJyYXkKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCnZhciBuX29iaiA9IG5ldyBPYmplY3QoYXJyKTsKCmFyci5wdXNoKDQpOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gYXJyKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialszXSAhPT0gNCkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is an array","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgInRoaXMiCiAqLwoKdmFyIHg9MTsKCnZhciBvYmogPSB0aGlzOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsneCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is \"this\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBEYXRlIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgRGF0ZSgxOTc4LDMpOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmICgobl9vYmouZ2V0WWVhcigpICE9PSA3OCl8fChuX29iai5nZXRNb250aCgpICE9PSAzKSkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a Date object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBkZWNsYXJlZCBmdW5jdGlvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzEKaWYgKG5fb2JqICE9PSBmdW5jKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJ1doZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a declared function","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCi8vQ0hFQ0sjMAppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMDogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gMTt9KTsKCi8vQ0hFQ0sjMQppZiAobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function declaration","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhIG5vbmVtcHR5IHN0cmluZwogKi8KCnZhciBzdHIgPSAnT2JpLVdhbiBLZW5vYmknOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRkFJTCgnIzE6ICJPYmktV2FuIEtlbm9iaSIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KHN0cik7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gc3RyKSB7CiAgJEVSUk9SKCcjNDogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gc3RyKSB7CiAgJEVSUk9SKCcjNTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is a nonempty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICovCgp2YXIgc3RyID0gJyc7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBzdHIgICE9PSAnc3RyaW5nJykgewogICRGQUlMKCcjMTogIiIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3Qoc3RyKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBzdHIpIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBzdHIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is an empty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBzdW0gb2YgZW1wdHkgc3RyaW5nIGFuZCBudW1iZXIKICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCIiKzEpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9ICIxIikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09ICIxIikgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is sum of empty string and number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJ0cnVlIgogKi8KCnZhciBib29sID0gdHJ1ZTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGJvb2wgICE9PSAnYm9vbGVhbicpIHsKICAkRkFJTCgnIzE6IHRydWUgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"true\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJmYWxzZSIKICovCgp2YXIgYm9vbCA9IGZhbHNlOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYm9vbCAgIT09ICdib29sZWFuJykgewogICRGQUlMKCcjMTogZmFsc2UgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"false\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoKDE9PT0xKSYmIShmYWxzZSkpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gdHJ1ZSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is boolean expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbnkgbnVtYmVyCiAqLwoKdmFyIG51bSA9IDEuMDsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiAxLjAgaXMgTk9UIGEgbnVtYmVyJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3QobnVtKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBudW0pIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBudW0pIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is any number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBOYU4KICovCgp2YXIgbnVtID0gTmFOOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVtICAhPT0gJ251bWJlcicpIHsKICAkRkFJTCgnIzE6IE5hTiBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is NaN","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBJbmZpbml0eQogKi8KCnZhciBudW0gPSBJbmZpbml0eTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiBJbmZpbml0eSBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9IG51bSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IG51bSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is Infinity","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBudW1lcmljIGV4cHJlc3Npb24KICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCAyKihbXS5sZW5ndGggKyB7cToxfVsicSJdKSk7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gMikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IDIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is numeric expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoMSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KDEsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDEpfHwob2JqID09PSAxKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QobnVsbCwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KG51bGwsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoK","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoKG51bGwsMiwzKSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KChudWxsLDIsMyksMSwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDMpfHwob2JqID09PSAzKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object((null,2,3),2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0IGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy9TMTUuMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBPYmplY3QgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9Cgo=","commentary":"The Object constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvcgogKiBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zL1MxNS4yLjNfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE9iamVjdCkKICovCgovLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoT2JqZWN0KSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Object constructor\nis the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Object)","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvUzE1LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZighT2JqZWN0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJsZW5ndGgiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE9iamVjdC5sZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDEnKTsKfQoK","commentary":"Object constructor has length property whose value is 1","description":"Checking Object.length","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEvMTUuMi4zLjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgJ3Byb3RvdHlwZScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/15.2.3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZTsKT2JqZWN0LnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUoKTsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoK","commentary":"The Object.prototype property has the attribute ReadOnly","description":"Checking if varying \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3V0PTA7Cgpmb3IgKHAgaW4gT2JqZWN0KXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Object.prototype property has the attribute DontEnum","description":"Checking if enumerating \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMy5qcwogKi8KCgovKioKKiBAbmFtZTogUzE1LjIuMy4xX0EzOwoqIEBzZWN0aW9uOiAxNS4yLjMuMSwgMTUuMi40OwoqIEBhc3NlcnRpb246IFRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGU7CiogQGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBkZWxldGluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHM7CiogQG5vU3RyaWN0CiovCgpkZWxldGUgT2JqZWN0LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoIShPYmplY3QuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnM7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QucHJldmVudEV4dGVuc2lvbnMubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh1bmRlZmluZWQpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVsbCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnModHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a boolean primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucygiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a string primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSByZXBlYXRlZCBjYWxscyB0byBwcmV2ZW50RXh0ZW5zaW9ucyBoYXZlIG5vIHNpZGUgZWZmZWN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHRlc3RSZXN1bHQxID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgdGVzdFJlc3VsdDIgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICF0ZXN0UmVzdWx0MSAmJiAhdGVzdFJlc3VsdDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - repeated calls to preventExtensions have no side effects","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBlZmZlY3Qgb2YgcHJldmVudEV4dGVudGlvbnMgbXVzdCBiZSB0ZXN0YWJsZSBieSBjYWxsaW5nIGlzRXh0ZW5zaWJsZQ0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHJldHVybnMgaXRzIGFyZ3VtZW50cyBhZnRlciBzZXR0aW5nIGl0cyBleHRlbnNpYmxlIHByb3BlcnR5IHRvIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gID0ge307DQogIHZhciBvMiA9IHVuZGVmaW5lZDsNCg0KICBvMiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgaWYgKG8yID09PSBvICYmIE9iamVjdC5pc0V4dGVuc2libGUobzIpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The effect of preventExtentions must be testable by calling isExtensible","description":"Object.preventExtensions returns its arguments after setting its extensible property to false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZykgcmV0dXJucyBmYWxzZSBpZiBhcmcgaXMgdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - Object.isExtensible(arg) returns false if arg is the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZXJyT2JqKTsNCg0KICAgICAgICBlcnJPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFlcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqOw0KICAgICAgICAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgYXJnT2JqID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcmdPYmopOw0KDQogICAgICAgIGFyZ09ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byB0aGUgcmV0dXJuZWQgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZnVuT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGZ1bk9iaik7DQoNCiAgICAgICAgZnVuT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZnVuT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgYXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGJvb2xPYmopOw0KDQogICAgICAgIGJvb2xPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFib29sT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhudW1PYmopOw0KDQogICAgICAgIG51bU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZGF0ZU9iaik7DQoNCiAgICAgICAgZGF0ZU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWRhdGVPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhyZWdPYmopOw0KDQogICAgICAgIHJlZ09iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGVyck9iaik7DQoNCiAgICAgICAgZXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iajsNCiAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGFyZ09iaiA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJnT2JqKTsNCg0KICAgICAgICBhcmdPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFhcmdPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgZGVsZXRlZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - properties can still be deleted after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgcmVhc3NpZ25lZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5wcm9wID0gLTE7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5wcm9wID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - properties can still be reassigned after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gW1tFeHRlbnNpYmxlXV06IGZhbHNlIG9uIGEgcHJvdG90eXBlIGRvZXNuJ3QgcHJldmVudCBhZGRpbmcgcHJvcGVydGllcyB0byBhbiBpbnN0YW5jZSB0aGF0IGluaGVyaXRzIGZyb20gdGhhdCBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShwcm90byk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgY2hpbGQucHJvcCA9IDEwOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - [[Extensible]]: false on a prototype doesn't prevent adding properties to an instance that inherits from that prototype","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhmdW5PYmopOw0KDQogICAgICAgIGZ1bk9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcnJPYmopOw0KDQogICAgICAgIGFyck9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqWzEwXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXN0ck9iai5oYXNPd25Qcm9wZXJ0eSgiMTAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3RyT2JqKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHJPYmosICIwIiwgeyB2YWx1ZTogImMiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBwcmVDaGVjayAmJg0KICAgICAgICAgICAgICAgICFzdHJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2Ygc3RyT2JqWzBdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhib29sT2JqKTsNCg0KICAgICAgICBib29sT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYm9vbE9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVtT2JqKTsNCg0KICAgICAgICBudW1PYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFudW1PYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShkYXRlT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGRhdGVPYmopOw0KDQogICAgICAgIGRhdGVPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFkYXRlT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMocmVnT2JqKTsNCg0KICAgICAgICByZWdPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFyZWdPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNTZWFsZWQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNTZWFsZWQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzU2VhbGVkKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQodGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNGcm96ZW47DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNGcm96ZW4ubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHVuZGVmaW5lZCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0Zyb3plbihudWxsKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4oImFiYyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBkZW5zZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBPYmplY3QuZnJlZXplKFswLCAxLCAyXSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen applies to dense array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3BhcnNlQXJyID0gWzAsIDFdOw0KICAgICAgICBzcGFyc2VBcnJbMTAwMDBdID0gMTAwMDA7DQoNCiAgICAgICAgc3BhcnNlQXJyID0gT2JqZWN0LmZyZWV6ZShzcGFyc2VBcnIpOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKHNwYXJzZUFycik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen applies to sparse array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBub24tYXJyYXkgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IG5hbWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gT2JqZWN0LmZyZWV6ZSh7IDA6IDAsIDE6IDEsIDEwMDA6IDEwMDAgfSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen applies to non-array object which contains index named properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzRnJvemVuKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBpcyBub3QgY29uc2lkZXJlZCBpbnRvIHRoZSBmb3IgZWFjaCBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - inherited data property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgaXMgbm90IGNvbnNpZGVyZWQgaW50byB0aGUgZm9yIGVhY2ggbG9vcA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIA0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - inherited accessor property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyZyk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGFyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgb2JqLmxlbiA9IDEwMDsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gWzJdOw0KICAgICAgICBvYmoubGVuID0gMjAwOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDksDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhjaGlsZCk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgaWYgJ08nIGNvbnRhaW5zIG93biB3cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false if 'O' contains own writable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4odGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSwgYW5kICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns true when all own properties of 'O' are not writable and not configurable, and 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBpZiBleHRlbnNpYmxlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbih7fSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false if extensible is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSA7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEEgbmV3bHkgY3JlYXRlZCBvYmplY3QgdXNpbmcgdGhlIE9iamVjdCBjb250cnVjdG9yIGhhcyBpdHMgW1tFeHRlbnNpYmxlXV0NCiAqIHByb3BlcnR5IHNldCB0byB0cnVlIGJ5IGRlZmF1bHQgKDE1LjIuMi4xLCBzdGVwIDgpLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIGlzIHRydWUgZm9yIG9iamVjdHMgY3JlYXRlZCB1c2luZyB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQoNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUobykgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"A newly created object using the Object contructor has its [[Extensible]]\nproperty set to true by default (15.2.2.1, step 8).","description":"Object.isExtensible is true for objects created using the Object constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodW5kZWZpbmVkKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKG51bGwpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSgiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5pc0V4dGVuc2libGUoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQpnbG9iYWwgPSB0aGlzOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUodGhpcyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFJlZ0V4cCk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRXJyb3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShKU09OKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRnVuY3Rpb24uY29uc3RydWN0b3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChBcnJheS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5LnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTdHJpbmcucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShTdHJpbmcucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbi5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShOdW1iZXIucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRGF0ZS5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUobyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShSZWdFeHAucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEZ1bmN0aW9uLmNvbnN0cnVjdG9yDQogKiBGdW5jdGlvbi5wcm90b3R5cGUNCiAqIEFycmF5LnByb3RvdHlwZQ0KICogU3RyaW5nLnByb3RvdHlwZQ0KICogQm9vbGVhbi5wcm90b3R5cGUNCiAqIE51bWJlci5wcm90b3R5cGUNCiAqIERhdGUucHJvdG90eXBlDQogKiBSZWdFeHAucHJvdG90eXBlDQogKiBFcnJvci5wcm90b3R5cGUNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShFcnJvci5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Function.constructor\nFunction.prototype\nArray.prototype\nString.prototype\nBoolean.prototype\nNumber.prototype\nDate.prototype\nRegExp.prototype\nError.prototype","description":"Object.isExtensible returns true for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgJ08nIGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true if 'O' is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns false if 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQogICAgICANCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3RvKTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogDQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmb28pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShBcnJheSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoU3RyaW5nKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEJvb2xlYW4pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoTnVtYmVyKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE1hdGgpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKERhdGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5rZXlzOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5rZXlzLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoMCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKHRydWUpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoJ2FiYycpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (string)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKG51bGwpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (null)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAodW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXModW5kZWZpbmVkKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoY2hlY2sgW1tDbGFzc11dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KDQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array (check [[Class]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoQXJyYXkgb3ZlcnJpZGRlbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBBcnJheSgpIHsgfQ0KDQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KDQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array (Array overridden)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUoYSkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBzZWFsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc1NlYWxlZChhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is not sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0Zyb3plbihhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array that is not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyAwIHdoZW4gJ08nIGRvZXNuJ3QgY29udGFpbiBvd24gZW51bWVyYWJsZSBkYXRhIG9yIGFjY2Vzc29yIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'n' is 0 when 'O' doesn't contain own enumerable data or accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyB0aGUgY29ycmVjdCB2YWx1ZSB3aGVuIGVudW1lcmFibGUgcHJvcGVydGllcyBleGlzdCBpbiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcDE6IDEwMDEsDQogICAgICAgICAgICBwcm9wMjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIChhcnIubGVuZ3RoID09PSAyKSAmJiAoYXJyWzBdID09PSAicHJvcDEiKSAmJiAoYXJyWzFdID09PSAicHJvcDIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'n' is the correct value when enumerable properties exist in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKGEubGVuZ3RoID09PSAyICYmDQogICAgICBhWzBdID09PSAneCcgJiYNCiAgICAgIGFbMV0gPT09ICd5Jykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIGZvby54ID0gMTsNCiAgDQogIHZhciBhID0gT2JqZWN0LmtleXMoZm9vKTsNCiAgaWYgKGEubGVuZ3RoID09PSAxICYmDQogICAgICBhWzBdID09PSAneCcpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gWzEsIDJdOw0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoYS5sZW5ndGggPT09IDIgJiYNCiAgICAgIGFbMF0gPT09ICcwJyAmJg0KICAgICAgYVsxXSA9PT0gJzEnKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG9mIGFuIGFyZ3VtZW50cyBvYmplY3QgcmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0aGUgZ2l2ZW4gYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gdGVzdEFyZ3MyKHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDIgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGZ1bmN0aW9uIHRlc3RBcmdzMyh4LCB5LCB6KSB7DQogICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJndW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4NCiAgICB2YXIgYSA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cyk7DQogICAgaWYgKGEubGVuZ3RoID09PSAzICYmIGFbMF0gPT09ICIwIiAmJiBhWzFdID09PSAiMSIgJiYgYVsyXSA9PT0gIjIiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgZnVuY3Rpb24gdGVzdEFyZ3M0KHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDQgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIiAmJiBhWzJdID09PSAiMiIgJiYgYVszXSA9PT0gIjMiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIHRlc3RBcmdzMigxLCAyKSAmJiB0ZXN0QXJnczMoMSwgMiwgMykgJiYgdGVzdEFyZ3M0KDEsIDIsIDMsIDQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys of an arguments object returns the indices of the given arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgcmV0dXJuIGEgZnJlc2ggYXJyYXkgb24gZWFjaCBpbnZvY2F0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGxpdGVyYWwgPSB7YTogMX07DQogIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIGlmIChrZXlzQmVmb3JlWzBdICE9ICdhJykgcmV0dXJuIGZhbHNlOw0KICBrZXlzQmVmb3JlWzBdID0gJ3gnOw0KICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIHJldHVybiAoa2V5c0JlZm9yZVswXSA9PSAneCcpICYmIChrZXlzQWZ0ZXJbMF0gPT0gJ2EnKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must return a fresh array on each invocation","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IChpbnN0YW5jZW9mIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - returns the standard built-in Array (instanceof Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGxlbmd0aCBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgZXF1YWxzIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgcHJvcGVydGllcyBvZiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - length of the returned array equals the number of own enumerable properties of 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBzdGFydCBmcm9tIGluZGV4IDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoMCkgJiYgYXJyWzBdID09PSAicHJvcCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable data property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBpbmhlcnRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgaXMgb3Zlci1yaWRkZW4gYnkgbm9uLWVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgZGVuc2UgYXJyYXkgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFyci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChhcnJbcF0gIT09IGluaXRWYWx1ZS50b1N0cmluZygpKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaW5pdFZhbHVlKys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed data property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIGRlbnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsyLCAzLCA0LCA1XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - own enumerable indexed accessor property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2Ygc3BhcnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsxLCAsIDMsICwgNV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgNSwgew0KICAgICAgICAgICAgdmFsdWU6IDcsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJFbGVtZW50V2l0aExhcmdlSW5kZXgiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgaW5kZXg7DQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCAzOyBpbmRleCsrKSB7DQogICAgICAgICAgICBpZiAoYXJyW2luZGV4XSAhPT0gaW5pdFZhbHVlLnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpbml0VmFsdWUgKz0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhcnIubGVuZ3RoICE9PSA0IHx8IGFyclszXSAhPT0gIjEwMDAwIikgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed data property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIHNwYXJzZSBhcnJheSAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbMSwgLCAzLCAsIDVdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMDAwMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiRWxlbWVudFdpdGhMYXJnZUluZGV4IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAiMTAwMDAiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed accessor property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ4eXoiKTsNCiAgICAgICAgb2JqWy0yMF0gPSAtMjA7DQogICAgICAgIG9ialsyMF0gPSAyMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGFycltpXSkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed data property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygieHl6Iik7DQogICAgICAgIG9ialstMjBdID0gLTIwOw0KICAgICAgICBvYmpbMjBdID0gMjA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICBpZiAoIW9iai5oYXNPd25Qcm9wZXJ0eShhcnJbaV0pKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed accessor property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnJbMF0gPT09ICJwcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable accessor property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAxLCBwcm9wMjogMTAwMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwNCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gInByb3A0Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - non-enumerable own data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcDIiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - non-enumerable own accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImluaGVyaXRlZFByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDQ7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJpbmhlcml0ZWRQcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherited enumerable data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJpbmhlcml0ZWRQcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gImluaGVyaXRlZFByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - inherited enumerable accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDA0LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBpcyBvdmVyLXJpZGRlbiBieSBub24tZW51bWVyYWJsZSBvd24gZGF0YSBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3ZhbHVlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBpbiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYy52YWx1ZSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'value' attribute of element in returned array is correct.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3dyaXRhYmxlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBvZiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMCB9Ow0KDQogICAgICAgIHZhciBhcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFycmF5WzBdID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJheVswXSA9PT0gImlzV3JpdGFibGUiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - 'writable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ2VudW1lcmFibGUnIGF0dHJpYnV0ZSBvZiBlbGVtZW50IG9mIHJldHVybmVkIGFycmF5IGlzIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFycmF5LCAiMCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGFycmF5KSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGFycmF5W2luZGV4XSkgJiYgYXJyYXlbaW5kZXhdID09PSAicHJvcDEiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'enumerable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlIG9mIGVsZW1lbnQgb2YgcmV0dXJuZWQgYXJyYXkgaXMgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFycmF5WzBdOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgYXJyYXlbMF0gPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - Verify that 'configurable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2luZGV4JyBvZiByZXR1cm5lZCBhcnJheSBpcyBhc2NlbmQgYnkgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAsIHByb3AyOiAyMDAsIHByb3AzOiAzMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpZHggPSAwOw0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBhcnJheSkgew0KICAgICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGluZGV4KSkgew0KICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gaWR4LnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZHgrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - Verify that 'index' of returned array is ascend by 1","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZGVuc2UgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlbnNlQXJyYXkgPSBbMSwgMiwgM107DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGRlbnNlQXJyYXkpIHsNCiAgICAgICAgICAgIGlmIChkZW5zZUFycmF5Lmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKGRlbnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (dense array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoc3BhcnNlIGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzcGFyc2VBcnJheSA9IFsxLCAyLCAsIDQsICwgNl07DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHNwYXJzZUFycmF5KSB7DQogICAgICAgICAgICBpZiAoc3BhcnNlQXJyYXkuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoc3BhcnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (sparse array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoU3RyaW5nIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHN0cikgew0KICAgICAgICAgICAgaWYgKHN0ci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoQXJndW1lbnRzIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBhcmdzID0gZnVuYygxLCAiYiIsIGZhbHNlKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJncykgew0KICAgICAgICAgICAgaWYgKGFyZ3MuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoYXJncyk7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoYW55IG90aGVyIGJ1aWx0LWluIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLnByb3AxID0gMTAwOw0KICAgICAgICBvYmoucHJvcDIgPSAicHJvcDIiOw0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiByZXR1cm5lZEFycmF5KSB7DQogICAgICAgICAgICBpZiAodGVtcEFycmF5W2luZGV4XSAhPT0gcmV0dXJuZWRBcnJheVtpbmRleF0pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (any other built-in object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZ2xvYmFsIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (global Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICh0eXBlb2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgdGFrZSAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKCk7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf must take 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKDApOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEJvb2xlYW4pID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFJlZ0V4cCkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEV2YWxFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEV2YWxFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJhbmdlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihSYW5nZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZmVyZW5jZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVmZXJlbmNlRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN5bnRheEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3ludGF4RXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFR5cGVFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFR5cGVFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFVSSUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVVJJRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihKU09OKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE9iamVjdCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIExldCAneCcgYmUgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGdldFByb3RvdHlwZU9mIHdoZW4gY2FsbGVkIG9uIGQuDQogKiBUaGVuLCB4LmlzUHJvdG90eXBlT2YoZCkgbXVzdCBiZSB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoY3VzdG9tIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBiYXNlKCkge30NCg0KICBmdW5jdGlvbiBkZXJpdmVkKCkge30NCiAgZGVyaXZlZC5wcm90b3R5cGUgPSBuZXcgYmFzZSgpOw0KDQogIHZhciBkID0gbmV3IGRlcml2ZWQoKTsNCiAgdmFyIHggPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCk7DQogIGlmICh4LmlzUHJvdG90eXBlT2YoZCkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Let 'x' be the return value from getPrototypeOf when called on d.\nThen, x.isPrototypeOf(d) must be true.","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (custom object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEZ1bmN0aW9uIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEFycmF5IG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXJyKSA9PT0gQXJyYXkucHJvdG90eXBlOyANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN0cmluZyBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gU3RyaW5nLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEJvb2xlYW4gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEJvb2xlYW4ucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE51bWJlciBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTMpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gTnVtYmVyLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKERhdGUgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gRGF0ZS5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IFJlZ0V4cC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBFcnJvci5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBBcmd1bWVudHMgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IGZ1bigxLCB0cnVlLCAzKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IE9iamVjdC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBnbG9iYWwgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICByZXR1cm4gcHJvdG8uaXNQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the global object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE9iamVjdC5wcm90b3R5cGUpID09PSBudWxsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihGdW5jdGlvbikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihBcnJheSkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3RyaW5nKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTnVtYmVyKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE1hdGgpID09PSBPYmplY3QucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRGF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKERhdGUpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1bmRlZmluZWQsICJmb28iKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobnVsbCwgImZvbyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0cnVlLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKC0yLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoMCwgImZvbyIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIHByb3BlcnR5IG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sIHVuZGVmaW5lZCk7DQogICAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for undefined property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIzMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAzMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItMjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTIwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIkluZmluaXR5IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIEluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgK0luZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJJbmZpbml0eSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArSW5maW5pdHkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItSW5maW5pdHkiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLUluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjAgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjEgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjIgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbnVsbCBwcm9wZXJ0eSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCBudWxsKTsNCiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for null property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgKHZhbHVlIGlzIDFlKzIxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIyIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlKzIyKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAuMDAwMDAxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZS03IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAwMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtOCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAwLjAwMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtNyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS03KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMDEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMWUtNik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS01KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gaW50ZWdlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMjMpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBkZWNpbWFsIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy40NTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy40NTYiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTIzLjQ1Nik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS52YWx1ZSA9PT0gMSAmJiBkZXNjMi52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyAhPT0gInVuZGVmaW5lZCIgJiYgZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 100000000000000000000.123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjEyMzQ1NjcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy4xMjM0NTY3IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEyMy4xMjM0NTY3KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBhbiBlbXB0eSBzdHJpbmcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJ0FCDQogKiBcY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJBQlxuXFxjZCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiQUJcblxcY2QiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js"},{"code":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIm51bGwiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIm51bGwiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEyM++/ve+/ve+/vcKm77+9Y2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMjPvv73vv73vv73Cpu+/vWNkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIxMjPvv73vv73vv73Cpu+/vWNkIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '123\ufffd\ufffd\ufffd\u00a6\ufffdcd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gYXJyYXkgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIFsxXSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBTdHJpbmcgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiSGVsbG8iOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBudWxsIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICdudWxsJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJudWxsIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG51bGwpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBCb29sZWFuIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInRydWUiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBOdW1iZXIgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5ldyBOdW1iZXIoMTIzKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiW29iamVjdCBPYmplY3RdIjogMSwgImFiYyIgOiAyIH07DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9WYWx1ZSBtZXRob2QgdGhhdCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object that has an own toString method that returns an object and toValue method that returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImJicSI6IDEsICJhYmMiOiAyIH07DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJiYnEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBvd25Qcm9wKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMSAmJiAhdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBUeXBlRXJyb3IgZXhjZXB0aW9uIHdhcyB0aHJvd24gIHdoZW4gJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBbMV07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIFsxXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError exception was thrown when 'P' is an object that both toString and valueOf wouldn't return primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSB1c2VzIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2Qgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBwcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJ0ZXN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC52YWx1ZU9mID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiMTAiOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqID0geyAiMTAiOiAibGVuZ3RoMSIsICJ0ZXN0IjogImxlbmd0aDIiIH07DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gImxlbmd0aDIiICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - uses inherited toString method when 'P' is an object with an own valueOf and inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiZmFsc2UiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJ0cnVlIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHRydWUpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIk5hTiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBOYU4pOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSAnUCcgaXMgbm90IGFuIGV4aXN0aW5nIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Tm9uRXhpc3QiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is not an existing property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJvd25Qcm9wZXJ0eSIsIHRydWUpKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duUHJvcGVydHkiICYmIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIxMjMiKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyLCAiMiIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAiMyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a String object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJvd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjEiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93blByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a Function object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQucHJvcGVydHkgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wdG90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBkYXRhIGRlc2MgZm9yIHZhbGlkIGRhdGEgdmFsdWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgb1siZm9vIl0gPSAxMDE7DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing a data desc for valid data valued properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5kZWNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZGVjb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZGVjb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmF0YW4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXRhbjIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbjIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNlaWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJjZWlsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmNlaWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.ceil)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNvcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5jb3MgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.cos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmV4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImV4cCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5leHAgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.exp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmZsb29yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiZmxvb3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguZmxvb3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.floor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmxvZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImxvZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5sb2cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.log)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1heCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1heCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5tYXggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.max)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1pbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1pbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5taW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.min)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnBvdykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInBvdyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5wb3cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.pow)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJhbmRvbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInJhbmRvbSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yYW5kb20gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.random)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lbmNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZW5jb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZW5jb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.encodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJvdW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicm91bmQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgucm91bmQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.round)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInNpbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5zaW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNxcnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJzcXJ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnNxcnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sqrt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInRhbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC50YW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.tan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLlVUQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgIlVUQyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5VVEMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.UTC)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRUaW1lem9uZU9mZnNldCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTimezoneOffset)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lc2NhcGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJlc2NhcGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5lc2NhcGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.escape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0RGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXREYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC51bmVzY2FwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJ1bmVzY2FwZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLnVuZXNjYXBlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.unescape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDRGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0UHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyDescriptor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1VUQ1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toUTCString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0dNVFN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9HTVRTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toGMTString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9UaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9EYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVEYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVUaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyNames)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnZhbHVlT2YgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0lTT1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toISOString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0pTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9KU09OIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0pTT04gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toJSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJjb21waWxlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.compile)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmV4ZWMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJleGVjIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.exec)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRlc3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0ZXN0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLnRlc3QgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.test)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImNyZWF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmNyZWF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFdmFsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmFsRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEV2YWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (EvalError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmFuZ2VFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gUmFuZ2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RangeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (ReferenceError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (SyntaxError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChUeXBlRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFR5cGVFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (TypeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFVSSUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (URIError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnN0cmluZ2lmeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNPTiwgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5zdHJpbmdpZnkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.stringify)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEpTT04ucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICJOYU4iKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLkluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgICJJbmZpbml0eSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHJldHVybiBmYWxzZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICAidW5kZWZpbmVkIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGFyZ3VtZW50c18xKSBvbiBidWlsdC1pbiBvYmplY3QgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImFyZ3VtZW50c18xIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiAgZWxzZQ0KICAgIHJldHVybiBmYWxzZTsgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (arguments_1) on built-in object (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGNhbGxlcikgb24gYnVpbHQtaW4gb2JqZWN0IChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiY2FsbGVyIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICBlbHNlDQogICAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (caller) on built-in object (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImxlbmd0aCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24gKGluc3RhbmNlKS5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbigncmV0dXJuIDQyOycpOw0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uIChpbnN0YW5jZSkubmFtZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEZ1bmN0aW9uKCdyZXR1cm4gNDI7Jyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAiZnVuY3Rpb25OYW1lSG9wZWZ1bGx5RG9lc05vdEV4aXN0Iik7DQogIHJldHVybiBkZXNjID09PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins (Function (instance).name)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0aWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperties)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nIChpbnN0YW5jZSkubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1BWF9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUFYX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MAX_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1JTl9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUlOX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MIN_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTmFOIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJORUdBVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NEGATIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5zZWFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJzZWFsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Quc2VhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.seal)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJQT1NJVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.POSITIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5FKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiRSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE4xMCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMTjIiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cyRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxPRzJFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG2E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cxMEUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMT0cxMEUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG10E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5QSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlBJIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.PI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMV8yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDFfMiIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT1_2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlNRUlQyIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5mcmVlemUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImZyZWV6ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmZyZWV6ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.freeze)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5zb3VyY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJzb3VyY2UiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.source)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5nbG9iYWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJnbG9iYWwiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiaWdub3JlQ2FzZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.ignoreCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5tdWx0aWxpbmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJtdWx0aWxpbmUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.multiline)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXZhbEVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZhbEVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (EvalError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmFuZ2VFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJhbmdlRXJyb3IsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RangeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWZlcmVuY2VFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (ReferenceError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJldmVudEV4dGVuc2lvbnMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.preventExtensions)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3ludGF4RXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTeW50YXhFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (SyntaxError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVHlwZUVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVHlwZUVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (TypeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVVJJRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihVUklFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (URIError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnZhbHVlID0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAidmFsdWUiIGluIGRlc2M7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLnZhbHVlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gInZhbHVlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgPSAib3ZlcndyaXRlRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIHJldHVybiBkZXNjLndyaXRhYmxlID09PSAib3ZlcndyaXRlRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3BzIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcyA9PT0gIndyaXRhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc1NlYWxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNTZWFsZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc1NlYWxlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isSealed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAoIndyaXRhYmxlIiBpbiBkZXNjKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2Mud3JpdGFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAid3JpdGFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAndmFsdWUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2MuZW51bWVyYWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnZW51bWVyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcHMgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3BzID09PSAiZW51bWVyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICJlbnVtZXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5lbnVtZXJhYmxlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImVudW1lcmFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImNvbmZpZ3VyYWJsZSIgaW4gZGVzYzsNCiAgICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAiY29uZmlndXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0Zyb3plbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNGcm96ZW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc0Zyb3plbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isFrozen)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLmdldCA9ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2MuZ2V0Ow0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BEZWZpbmVkICYmICFwcm9wRGVsZXRlZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnNldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnNldCA9ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93blNldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZXQiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duU2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5zZXQ7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2Ygb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMTAwIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MgaW5zdGFuY2VvZiBPYmplY3Q7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - returned value is an instance of object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAndmFsdWUnIGlmIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSAndmFsdWUnIGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCB3aGVuIGRlZmluZWQgYnkgT2JqZWN0LmRlZmluZVByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInZhbHVlIiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'value' if the value of property 'value' is not explicitly specified when defined by Object.defineProperty","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnc2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ3NldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInNldCIgaW4gZGVzYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'set' if the value of property 'set' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0V4dGVuc2libGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImlzRXh0ZW5zaWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzRXh0ZW5zaWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isExtensible)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnZ2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ2dldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiAiZ2V0IiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'get' if the value of property 'get' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5rZXlzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJrZXlzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Qua2V5cyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.keys)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYW4gYWNjZXNzb3IgZGVzYyBmb3IgdmFsaWQgYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogICAgdmFyIGQgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQpOw0KDQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICBpZiAoZGVzYy5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICBkZXNjLnNldCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing an accessor desc for valid accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImlzUHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.isPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJoYXNPd25Qcm9wZXJ0eSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.hasOwnProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.propertyIsEnumerable)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiYXBwbHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.apply)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJjYWxsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.call)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJiaW5kIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmV2YWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZXZhbCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmV2YWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.eval)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25jYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImNvbmNhdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5qb2luKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJqb2luIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuam9pbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.join)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZXZlcnNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reverse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zbGljZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2xpY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb3J0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb3J0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29ydCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.sort)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wdXNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJwdXNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucHVzaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.push)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wb3ApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInBvcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnBvcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.pop)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zaGlmdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2hpZnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.shift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ1bnNoaWZ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUudW5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.unshift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlSW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgInBhcnNlSW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VJbnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseInt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNwbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNwbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.splice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJpbmRleE9mIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5ldmVyeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5ldmVyeSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.every)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb21lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb21lIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29tZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.some)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJmb3JFYWNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.forEach)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5tYXApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgIm1hcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLm1hcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.map)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZpbHRlciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmZpbHRlciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.filter)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduce)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlRmxvYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJwYXJzZUZsb2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VGbG9hdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseFloat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduceRight)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5mcm9tQ2hhckNvZGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZywgImZyb21DaGFyQ29kZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.fromCharCode)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY2hhckF0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNoYXJDb2RlQXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charCodeAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY29uY2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJtYXRjaCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.match)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInJlcGxhY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.replace)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzTmFOIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNOYU4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isNaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic2VhcmNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.search)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzcGxpdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.split)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substring)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0ciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substr)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1VwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZUxvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzRmluaXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzRmluaXRlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNGaW5pdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isFinite)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZVVwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImxvY2FsZUNvbXBhcmUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.localeCompare)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudHJpbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudHJpbSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.trim)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgImRlY29kZVVSSSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmRlY29kZVVSSSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRml4ZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toFixed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRXhwb25lbnRpYWwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toExponential)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1ByZWNpc2lvbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toPrecision)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYWJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmFicyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.abs)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFjb3MiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYWNvcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.acos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFzaW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXNpbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.asin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImF0YW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcy5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBhcnJheSBhY2NvcmRpbmcgdG8gQXJyYXkuaXNBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is an array according to Array.isArray","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBpbnN0YW5jZSBvZiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is an instance of Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBsZW5ndGggb2YgcmV0dXJuZWQgYXJyYXkgaXMgaW5pdGlhbGl6ZWQgdG8gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - length of returned array is initialized to 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2xkQXJyYXkgPSBBcnJheTsNCiAgICAgICAgQXJyYXkgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImludm9rZSBjdXN0b21lciBkZWZpbmVkIEFycmF5ISIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpID09PSAiW29iamVjdCBBcnJheV0iOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkgPSBvbGRBcnJheTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - returned array is the standard built-in constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBlbGVtZW50cyBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgc3RhcnQgZnJvbSBpbmRleCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMDEgfTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoR2xvYmFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmbkdsb2JhbE9iamVjdCgpKTsNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiTmFOIiwgIkluZmluaXR5IiwgInVuZGVmaW5lZCIsICJldmFsIiwgInBhcnNlSW50IiwgInBhcnNlRmxvYXQiLCAiaXNOYU4iLCAiaXNGaW5pdGUiLCAiZGVjb2RlVVJJIiwgImRlY29kZVVSSUNvbXBvbmVudCIsICJlbmNvZGVVUkkiLCAiZW5jb2RlVVJJQ29tcG9uZW50IiwgIk9iamVjdCIsICJGdW5jdGlvbiIsICJBcnJheSIsICJTdHJpbmciLCAiQm9vbGVhbiIsICJOdW1iZXIiLCAiRGF0ZSIsICJEYXRlIiwgIlJlZ0V4cCIsICJFcnJvciIsICJFdmFsRXJyb3IiLCAiUmFuZ2VFcnJvciIsICJSZWZlcmVuY2VFcnJvciIsICJTeW50YXhFcnJvciIsICJUeXBlRXJyb3IiLCAiVVJJRXJyb3IiLCAiTWF0aCIsICJKU09OIl07DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIHJlc3VsdDFbcmVzdWx0W3BdXSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmb3IgKHZhciBwMSBpbiBleHBSZXN1bHQpIHsNCiAgICAgICAgICAgIGlmICghcmVzdWx0MVtleHBSZXN1bHRbcDFdXSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QpOw0KICB2YXIgZXhwUmVzdWx0ID0gWyJnZXRQcm90b3R5cGVPZiIsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsICJjcmVhdGUiLCAiZGVmaW5lUHJvcGVydHkiLCAiZGVmaW5lUHJvcGVydGllcyIsICJzZWFsIiwgImZyZWV6ZSIsICJwcmV2ZW50RXh0ZW5zaW9ucyIsICJpc1NlYWxlZCIsICJpc0Zyb3plbiIsICJpc0V4dGVuc2libGUiLCAia2V5cyIsICJwcm90b3R5cGUiLCAibGVuZ3RoIl07DQogIHZhciBmb3VuZDsNCg0KICByZXR1cm4gYXJyYXlDb250YWlucyhyZXN1bHQsIGV4cFJlc3VsdCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydGllcyBhcmUgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAicGFyZW50IjogInBhcmVudCIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited data properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicGFyZW50Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwYXJlbnQiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiByZXN1bHRbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own data properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0WzBdID09PSAiYSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b1N0cmluZyI7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwcm90b1Byb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9TdHJpbmciOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHN0cik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJvd25Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duU3RyaW5nIiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIm93blByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own data property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAib3duUHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93blN0cmluZyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgU3RyaW5nIG9iamVjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQogICAgICAgIHN0cls1XSA9ICJkZSI7DQoNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiMCIsICIxIiwgIjIiLCAibGVuZ3RoIiwgIjUiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own index properties of String object are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b0FycmF5IjsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9BcnJheSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAicHJvdG9Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm90b1Byb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KICAgICAgICBhcnIub3duUHJvcGVydHkgPSAib3duQXJyYXkiOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own data property of Array object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIm93blByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BcnJheSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of Array object 'O' is pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgQXJyYXkgb2JqY2VjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB2YXIgZXhwUmVzdWx0ID0gWyIwIiwgIjEiLCAiMiIsICJsZW5ndGgiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own index properties of Array objcect are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gbm9uLWVudW1lcmFibGUgb3duIHByb3BlcnR5IG9mICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIm5vbkVudW1lcmFibGVQcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdFswXSA9PT0gIm5vbkVudW1lcmFibGVQcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - non-enumerable own property of 'O' is pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGRlc2NyaXB0b3Igb2YgcmVzdWx0YW50IGFycmF5IGlzIGFsbCB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsNCiAgb2JqLnggPSAxOw0KICBvYmoueSA9IDI7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzdWx0LCIwIik7DQogIGlmIChkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - descriptor of resultant array is all true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGFsbCBvd24gcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYiI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImMiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImQiLCB7DQogICAgICAgICAgICB2YWx1ZTogImQiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQogICAgICAgIHZhciBleHBSZXN1bHQgPSBbImEiLCAiYiIsICJjIiwgImQiXTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - all own properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIG93biBwcm9wZXJ0eSBuYW1lZCBlbXB0eSgnJykgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6ICJlbXB0eSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIiIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own property named empty('') is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYmVmb3JlT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYSIpOw0KICAgICAgICAgICAgcmVzdWx0WzBdID0gImIiOw0KICAgICAgICAgICAgdmFyIGFmdGVyT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYiIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlT3ZlcnJpZGUgJiYgYWZ0ZXJPdmVycmlkZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJhIjogImEiIH07DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJhIikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IChyZXN1bHQuaGFzT3duUHJvcGVydHkoIjAiKSk7DQogICAgICAgIGRlbGV0ZSByZXN1bHRbMF07DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAocmVzdWx0Lmhhc093blByb3BlcnR5KCIwIikpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmICFhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogT2JqZWN0LmdldE93blByb3BlcnRpZXMgYW5kIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgc2hvdWxkCiAqIGFncmVlIG9uIHdoYXQgdGhlIG93biBwcm9wZXJ0aWVzIGFyZS4KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC9TMTUuMi4zLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHRoYXQgYWxsIHRoZSBvd24gcHJvcGVydHkgbmFtZXMgcmVwb3J0ZWQgYnkKICogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgb24gYSBzdHJpY3QgZnVuY3Rpb24gYXJlIG5hbWVzIHRoYXQKICogaGFzT3duUHJvcGVydHkgYWdyZWVzIGFyZSBvd24gcHJvcGVydGllcy4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CmZ1bmN0aW9uIGZvbygpIHt9Cgp2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmb28pOwpmb3IgKHZhciBpID0gMCwgbGVuID0gbmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICBpZiAoIWZvby5oYXNPd25Qcm9wZXJ0eShuYW1lc1tpXSkpIHsKICAgICRFUlJPUignUGhhbnRvbSBvd24gcHJvcGVydHk6ICcgKyBuYW1lc1tpXSk7CiAgfQp9Cg==","commentary":"Object.getOwnProperties and Object.prototype.hasOwnProperty should\nagree on what the own properties are.","description":"Check that all the own property names reported by\nObject.getOwnPropertyNames on a strict function are names that\nhasOwnProperty agrees are own properties.","onlyStrict":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5jcmVhdGUpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuY3JlYXRlLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create TypeError is not thrown if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if 'O' is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKDIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create throws TypeError if 'O' is a number primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuY3JlYXRlKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBjcmVhdGVzIG5ldyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAodHlwZW9mIGQgPT09ICdvYmplY3QnKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create creates new Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHJldHVybmVkIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - returned object is an instance of Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpID09PSBiICYmDQogICAgICAgIGIuaXNQcm90b3R5cGVPZihkKSA9PT0gdHJ1ZSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QgYW5kIGFkZHMgbmV3IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYix7ICJ4Ijoge3ZhbHVlOiB0cnVlLHdyaXRhYmxlOiBmYWxzZX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieSI6IHt2YWx1ZTogInN0ciIsd3JpdGFibGU6IGZhbHNlfSB9KTsNCg0KICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkgPT09IGIgJiYNCiAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlICYmDQogICAgICAgIGQueCA9PT0gdHJ1ZSAmJg0KICAgICAgICBkLnkgPT09ICJzdHIiICYmDQogICAgICAgIGIueCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGIueSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object and adds new properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is the Math object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a Date object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a RegExp object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is the JSON object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykpLmZvckVhY2goZnVuY3Rpb24obmFtZSl7DQogICAgICAgICAgICBwcm9wc1tuYW1lXSA9IHt2YWx1ZToxMSwgY29uZmlndXJhYmxlOnRydWV9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxNV8yXzNfNV80XzE0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDE1XzJfM181XzRfMTQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is an Error object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDEyMykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogYXJnT2JqDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Arguments object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEFndW1lbnRzIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcykpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is the Aguments object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHt9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable data property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi52YWx1ZSA9ICJGdW5WYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRnVuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiQXJyVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJTdHJWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoudmFsdWUgPSAiQm9vbGVhblZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYm9vbGVhbk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJCb29sZWFuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoudmFsdWUgPSAiTnVtVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTnVtVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZGF0YSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own data property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aFZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTWF0aFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnZhbHVlID0gIkRhdGVWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRhdGVPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRGF0ZVZhbHVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoudmFsdWUgPSAiUmVnRXhwVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiUmVnRXhwVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTlZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiSlNPTlZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoudmFsdWUgPSAiRXJyb3JWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVycm9yT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkVycm9yVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai52YWx1ZSA9ICJBcmdWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJBcmdWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJHbG9iYWxWYWx1ZSI7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkdsb2JhbFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9ICgobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8ucHJvcCA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - an enumerable inherited data property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsgdmFsdWU6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFycmF5ID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFycmF5LndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJyYXkNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBib29sZWFuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04gDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gKG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own accessor property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBlcnJvck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKSANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICBpcyB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIDAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzICswICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - an enumerable inherited accessor property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIC0wICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIE5hTiAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0gew0KICAgICAgICAgICAgd3JpdGFibGU6ICIiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiYmJxIg0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gImJicSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IE51bWJlcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGFyZ09iag0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Arguments object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IDkgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJlc2VudCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7fTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyYXlPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyYXlPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcnJheU9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFycmF5T2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUFycmF5T2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5U3RyaW5nT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeVN0cmluZ09iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5Qm9vbGVhbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUJvb2xlYW5PYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlOdW1iZXJPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeU51bWJlck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlEYXRlT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5RGF0ZU9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeVJlZ0V4cE9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlSZWdFeHBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aCANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5SlNPTk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlKU09OT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KDQogICAgICAgIGVyck9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUVycm9yT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZXJyT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlFcnJvck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcmd1bWVudHNPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5QXJndW1lbnRzT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgcHJpbWl0aXZlIHZhbHVlIG51bGwgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is the primitive value null (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a boolean primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - TypeError is thrown when own enumerable accessor property of 'Properties' without a get function (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiAxMjMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a number primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6ICJzdHJpbmciDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a primitive string (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBbMSwgMiwgM10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImRhdGEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' without a get function that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgcHJvdG8uc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuZXdPYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBmdW5PYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Function object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBhcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgc3RyT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBzdHJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIGJvb2xPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgZGF0ZU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgcmVnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBlcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgYXJnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdvYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3b2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3b2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gW107DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is an Array object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSB2YWx1ZSBudWxsICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive value null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBib29sZWFuIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHRydWUNCiAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive boolean value true (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBudW1iZXIgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IDEyMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive number value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6ICJhYmMiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive string value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbmV3IERhdGUoKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an Date object (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdQcm9wZXJ0aWVzJyBpcyBudWxsICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create throws TypeError if 'Properties' is null (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFN0cmluZygpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a String object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGhvc3Qgb2JqZWN0IHRoYXQgaXNuJ3QgY2FsbGFibGUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a host object that isn't callable (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IHdoZW4gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create defines a data property when one property in 'Properties' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tWYWx1ZV1dIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Value]] is set as undefined if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tXcml0YWJsZV1dIGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Writable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWlzRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNOb3RDb25maWd1cmFibGUgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGlzTm90Q29uZmlndXJhYmxlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a Boolean object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tHZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Get]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tTZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInZlcmlmeUNyZWF0ZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3T2JqLCAicHJvcCIpOw0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIGlmIChuZXdPYmoucHJvcCA9PT0gInZlcmlmeUNyZWF0ZSIpIHsNCiAgICAgICAgICAgIHZlcmlmeUdldCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgaGFzUHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVNldCAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Set]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgICAgIA0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgaXNOb3RDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gc29tZSBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZW1wdHkgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgZm9vOiB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - some enumerable own property in 'Properties' is empty object (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYWxsIHByb3BlcnRpZXMgaW4gJ1Byb3BlcnRpZXMnIGFyZSBlbnVtZXJhYmxlIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkgKDE1LjIuMy43IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSB7fTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBuZXdPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChuZXdPYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJg0KICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG5ld09iaiwgImZvbzIiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - all properties in 'Properties' are enumerable (data property and accessor property) (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mICdQcm9wZXJ0aWVzJyBhcmUgZ2l2ZW4gbnVtZXJpY2FsIG5hbWVzICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMoKSB7IH0NCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAxOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqWzBdID09PSAxMDAgJiYgbmV3T2JqWzFdID09PSAyMCAmJiBuZXdPYmpbMl0gPT09IDIwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - enumerable properties of 'Properties' are given numerical names (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Number object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBNYXRoKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is the Math object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a Date object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is a RegExp object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBKU09OKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is the JSON object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQoNCiAgICAgICAgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKSkuZm9yRWFjaChmdW5jdGlvbihuYW1lKXsNCiAgICAgICAgICAgIHByb3BzW25hbWVdID0ge3ZhbHVlOjExLCBjb25maWd1cmFibGU6dHJ1ZX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcHJvcHMucHJvcDE1XzJfM181XzRfMzcgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AxNV8yXzNfNV80XzM3Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is an Error object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is an Arguments object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBzaWRlLWVmZmVjdHMgb2YgZ2V0cyBvY2N1ciBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGV5IHdvdWxkIGZvcjogZm9yIChQIGluIHByb3BzKSBwcm9wc1tQXSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgcHJvcHMucHJvcDEgPSB7IHZhbHVlOiAxMiwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBwcm9wcy5wcm9wMiA9IHsgdmFsdWU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gcHJvcHMpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgdmFyIGluZGV4ID0gMDsNCiAgICAgICAgZm9yICh2YXIgcSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXgrK10gIT09IHEgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KHEpKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - ensure that side-effects of gets occur in the same order as they would for: for (P in props) props[P] (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgT2JqZWN0Ow0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is an object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGl0IG9jY3VycyBpbiB0aGUgY29ycmVjdCBvcmRlciByZWxhdGl2ZSB0byBwcmlvciBhbmQgc3Vic2VxdWVudCBzaWRlLWVmZmVjdHMgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIGkgPSAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaSsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKDEgPT09IGkrKykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmIGkgPT09IDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - ensure that if an exception is thrown it occurs in the correct order relative to prior and subsequent side-effects (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogdW5kZWZpbmVkIA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IG51bGwgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - value of one property in 'Properties' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmYWxzZSANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is false (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTIgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - value of one property in 'Properties' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAiYWJjIiANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - value of one property in 'Properties' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is a Function object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQXJyYXk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is an Array object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGggDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is a String object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of 'enumerable' property of one property in 'Properties' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyB0cnVlICgxNS4yLjMuNyBzdGVwIDIpLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a Boolean object whose primitive value is true (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IE51bWJlcigtOSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIGFueSBpbnRlcmVzdGluZyBudW1iZXIgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgTnVtYmVyKDEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is a Number object whose primitive value is any interesting number (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBhcmdPYmoNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJyksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a string (value is 'false'), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is new Boolean(false), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMyBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eS5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty must exist as a function taking 3 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodW5kZWZpbmVkLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty applied to undefined throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG51bGwsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to null throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KDUsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to number primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KCJoZWxsb1xud29ybGRcXCEiLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty applied to string primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0cnVlLCAiZm9vIiwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIHVuZGVmaW5lZCB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAndW5kZWZpbmVkJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgdW5kZWZpbmVkLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is undefined that converts to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIC0yMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIi0yMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIEluZmluaXR5LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCArSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJJbmZpbml0eSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAtSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCItSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEodHJhaWxpbmcgNSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(trailing 5 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZSsyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDFlKzIwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIG51bGwgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgJ251bGwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBudWxsLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgibnVsbCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAuMDAwMDAxLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLjAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZS03Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMC4wMDAwMDAwMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTgiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS03KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS02KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDAxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS01KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBpbnRlZ2VyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyMyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIGRlY2ltYWwgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjQ1NikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy40NTYsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMjMuNDU2Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAxOSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 19 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgZmFsc2UsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmYWxzZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZSsyMiIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuMTIzNDU2NykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy4xMjM0NTY3LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzLjEyMzQ1NjciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnQUINCiAqIFxjZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiQUJcblxcY2QiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiQUJcblxcY2QiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJ1bmRlZmluZWQiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibnVsbCIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJudWxsIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMTIzzrHOss+AY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEyM86xzrLPgGNkIiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyM86xzrLPgGNkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '123\u03b1\u03b2\u03c0cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMScgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBhcnJheSB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBbMSwgMl0sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxLDIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCB0cnVlLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidHJ1ZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIFN0cmluZyBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIkhlbGxvIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIEJvb2xlYW4gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG5ldyBCb29sZWFuKGZhbHNlKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZhbHNlIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIE51bWJlciBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IE51bWJlcigxMjMpLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG93blByb3AsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJhYmMiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b1N0cmluZzogdW5kZWZpbmVkDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hvc2UgdG9TdHJpbmcgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0IGFuZCB3aG9zZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object whose toString method returns an object and whose valueOf method returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcm9wIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duICB3aGVuICdQJyBpcyBhbiBvYmplY3QgdGhhdCBuZWl0aGVyIHRvU3RyaW5nIG5vciB2YWx1ZU9mIHJldHVybnMgYSBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - TypeError exception is thrown when 'P' is an object that neither toString nor valueOf returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2QgIGlzIGludm9rZWQgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gInRlc3QiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIxMCI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgY2hpbGQsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ0ZXN0IikgJiYgIXZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - an inherited toString method is invoked when 'P' is an object with an own valueOf and an inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgTmFOKQ0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgTmFOLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiTmFOIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgKzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgLTAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIzMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ2dldCcgYW5kICd2YWx1ZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChOdW1iZXIpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IDQyOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Number)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IG51bGwgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6ICswIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAtMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogTmFOIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IC0xMjM0NSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogIiIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChCb29sZWFuKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSB0cnVlOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Boolean)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAiICAgICAgICIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBbMSwgMiwgM10gfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJiYnEiKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDApIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBNYXRoIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogSlNPTg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChTdHJpbmcpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9ICJhYmMiOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (String)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBFcnJvciBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKDEsIHRydWUsICJhIik7DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGFyZ09iag0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgbmV3IEJvb2xlYW4oZmFsc2UpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgc2V0dGVyIGluIGRlc2MgaXMgbm90IGNhbGxhYmxlIChOdWxsKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBudWxsOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if the setter in desc is not callable (Null)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIGNoaWxkLnZhbHVlID0gIm93bkRhdGFQcm9wZXJ0eSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wZXJ0eSA6IDEyMCB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlID0gIkZ1bmN0aW9uIjsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bk9iai52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChPYmplY3QpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIHNldHRlciA9IHsgYTogMSB9Ow0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Object)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS52YWx1ZSA9ICJBcnJheSI7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai52YWx1ZSA9ICJBcnJheSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUudmFsdWUgPSAiU3RyaW5nIjsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlN0cmluZyI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLnZhbHVlID0gIlN0cmluZyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS52YWx1ZSA9ICJCb29sZWFuIjsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLnZhbHVlID0gIkJvb2xlYW4iOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUudmFsdWUgPSAiTnVtYmVyIjsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk51bWJlciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJNYXRoIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnZhbHVlID0gIk1hdGgiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS52YWx1ZSA9ICJEYXRlIjsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJEYXRlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoudmFsdWUgPSAiRGF0ZSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUudmFsdWUgPSAiUmVnRXhwIjsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJSZWdFeHAiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJKU09OIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnZhbHVlID0gIkpTT04iOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS52YWx1ZSA9ICJFcnJvciI7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmoudmFsdWUgPSAiRXJyb3IiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudmFsdWUgPSAiYXJndW1lbnRzIjsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkudmFsdWUgPSAiZ2xvYmFsIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSANCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0IDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgdHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a boolean primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBudWxsICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbnVsbCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAxMik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cnVlICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBmYWxzZSAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAwICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyArMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogKzAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAtMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IC0wIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBOYU4gICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAgTmFOfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMTIzNDUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogLTEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIgICAgICAiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIHN0cmluZyBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a string primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogWzEsIDIsIDNdIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IFN0cmluZygiYmJxIikgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBCb29sZWFuKHRydWUpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IE51bWJlcigxMjMpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogTWF0aCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBEYXRlKCkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgJiYgYWZ0ZXJXcml0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogSlNPTiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgU3ludGF4RXJyb3IoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdnZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgd3JpdGFibGU6IGZhbHNlIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgQXJndW1lbnQgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgxLCB0cnVlLCAiYSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBhIHN0cmluZyh2YWx1ZSBpcyAnZmFsc2UnKSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAiZmFsc2UiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is a string(value is 'false') (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBuZXcgQm9vbGVhbihmYWxzZSkgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcmVzZW50IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInByZXNlbnQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW47DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyaWJ1dGVzLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJzdHJpbmdHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZ0dldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYm9vbGVhbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm51bWJlckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJudW1iZXJHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50R2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYXJndW1lbnRHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2xvYmFsR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWxHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBvYmoucHJvcGVydHkgPT09ICJnZXRGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTQ7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gMTEgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGExID09PSAiZGF0YSIgJiYgZGF0YTIgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhMSA9PT0gImRhdGEiICYmIGRhdGEyID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVPd25EYXRhIjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGFyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAgdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBzdHJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgYm9vbE9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGVudW1lcmFibGU6IGZhbHNlIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAndmFsdWUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IH0NCiAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW4pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICBzdHJPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgYm9vbE9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQogICAgICAgIG51bU9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkYXRlT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB3cml0YWJsZTogZmFsc2UgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgcmVnT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBFcnJvci5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIGVyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQogICAgICAgIGFyZ09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBudWxsIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bWJlcikoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gNDI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Number)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAwIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogKzAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE5hTiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogMTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICIiIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJBQlxuXFxjZCIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IFtdIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKEJvb2xlYW4pKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IHRydWU7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Boolean)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBTdHJpbmcoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a String Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Boolean Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBOdW1iZXIoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Number Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE1hdGggfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the Math Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgRGF0ZSgpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Date Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBSZWdFeHAoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a RegExp Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IEpTT04gfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the JSON Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3IgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBFcnJvcigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Error Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgwLCAxLCAyKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Arguments Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKFN0cmluZykoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gImFiYyI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (String)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZm5HbG9iYWxPYmplY3QoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJmYWxzZSIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgdmFsdWU6IDEwMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAob2JqLnByb3BlcnR5ID09PSAxMDApOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bGwpKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IG51bGw7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Null)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property of prototype object (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE9iamVjdCkoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0geyBhOiAxIH07DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Object)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyBwYXNzaW5nICd0cnVlJyBmb3IgdGhlIFRocm93IGZsYWcuIEluIHRoaXMgY2FzZSwgc3RlcCAzIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVxdWlyZXMgdGhhdCBpdCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbg0KICogY3VycmVudCBpcyB1bmRlZmluZWQgYW5kIGV4dGVuc2libGUgaXMgZmFsc2UuIFRoZSB2YWx1ZSBvZiBkZXNjIGRvZXMgbm90DQogKiBtYXR0ZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGFkZGluZyBwcm9wZXJ0aWVzIHRvIG5vbi1leHRlbnNpYmxlIG9iamVjdHMoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQoNCiAgdHJ5IHsNCiAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O passing 'true' for the Throw flag. In this case, step 3 of\n[[DefineOwnProperty]] requires that it throw a TypeError exception when\ncurrent is undefined and extensible is false. The value of desc does not\nmatter.","description":"Object.defineProperty throws TypeError when adding properties to non-extensible objects(8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIGZhbHNlIHRvIHRydWUgb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHNldHRpbmcgZW51bWVyYWJsZSB0byB0cnVlIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value and name.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLnZhbHVlIGlzIHByZXNlbnQgYW5kIGRlc2MudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.value is present and desc.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGlzIHByZXNlbnQgYW5kIG5hbWUudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gdW5kZWZpbmVkOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value is present and name.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLndyaXRhYmxlIGFuZCBkZXNjLndyaXRhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.writable and desc.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmNvbmZpZ3VyYWJsZSA9IHRydWUgYW5kIGRlc2MuY29uZmlndXJhYmxlID0gZmFsc2UgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIG5hbWUgYW5kIGRlc2MgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, several attributes values of name and desc are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbR2V0XV0gYW5kIG5hbWUuW1tHZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jMiwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Get]] and name.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgIG5hbWUuW1tHZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbR2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is present and desc.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW0dldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW0dldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is undefined and desc.[[Get]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIHRydWUgdG8gZmFsc2Ugb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgc2V0dGluZyBlbnVtZXJhYmxlIHRvIHRydWUgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgZW51bWVyYWJsZTogZmFsc2UgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbU2V0XV0gYW5kIG5hbWUuW1tTZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Set]] and name.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgIC0gJ25hbWUnIGFuZCAnZGVzYycgYXJlIGFjY2Vzc29yIHByb3BlcnRpZXMsIG5hbWUuW1tTZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbU2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is present and desc.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW1NldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW1NldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is undefined and desc.[[Set]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5lbnVtZXJhYmxlIGFuZCBkZXNjLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5jb25maWd1cmFibGUgPSB0cnVlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSA9IGZhbHNlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgc2V2ZXJhbCBhdHRyaWJ1dGVzIHZhbHVlcyBvZiAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYzIsIHNldEZ1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, several attributes values of 'name' and 'desc' are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsgdmFsdWU6IDEgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICJsZW5ndGgiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFyck9iaiwgImxlbmd0aCIpICYmIGRlc2MudmFsdWUgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDJdOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIyIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMyAmJiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7fSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIGlmIChhcnJPYmoubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMjsNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5sZW5ndGg7DQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBzYW1lIHdpdGggY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgaWYgKGFyck9iai5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBhcnJPYmoubGVuZ3RoID09PSAyID8gdHJ1ZSA6IGZhbHNlOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImxlbmd0aCIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmxlbmd0aDsNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMgdG8gYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhbiBhY2Nlc3NvciBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCg0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable data properties to accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSB0cnVlIHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJsZW5ndGgiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGF0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuICBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test that RangeError exception is thrown when [[Value]] field of 'desc' is undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBudWxsICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is null (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzIHRvIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGFuIGFjY2Vzc29yIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KIA0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhIGRhdGEgcHJvcGVydHkgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGFuIGFjY2Vzc29yIHByb3BlcnR5Lg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable accessor properties to data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC05DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBOYU4gKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMiINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWIgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwNCiAgLy8gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXJlIHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gY2hhbmdpbmcgImZvbyIgdG8gYmUgYW4gYWNjZXNzb3Igc2hvdWxkIHN1Y2NlZWQsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcgdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0bw0KICAvLyB0aGVpciBkZWZhdWx0IHZhbHVlcw0KDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZDIuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9b of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing data property to accessor property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nICtJbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMkUzIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDJFMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a number with leading zeros (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyB3aGljaCBkb2Vzbid0IGNvbnZlcnQgdG8gYSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWMgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGRlZmluZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIGNoYW5naW5nICJmb28iIHRvIGJlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgc2hvdWxkIHN1Y2NlZWQsIHNpbmNlDQogIC8vIFtbQ29uZmlndXJhYmxlXV0gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcNCiAgLy8gdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkDQogIC8vIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9c of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing accessor property to data property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiB3b3VsZG4ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBtZXRob2QgYW5kIGFuIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpLCB0ZXN0IHRoYXQgdGhlIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCBpcyB1c2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDIgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', and the [[Value]] field of 'desc' is an Object with an own toString method and an inherited valueOf method (15.4.5.1 step 3.c), test that the inherited valueOf method is used","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyMy41DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk0IA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk1DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk1Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk2DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Nw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBleGlzdGluZyB2YWx1ZSBvZiBsZW5ndGggKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogNQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNSAmJiBhcnJPYmpbMF0gPT09IDAgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmpbMl0gPT09IDIgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value greater than the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYgcmVsYXhpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgdmFsdWVkIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgd3JpdGFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.i\nof [[DefineOwnProperty]] rejects if relaxing the [[Writable]] attribute.","description":"Object.defineProperty throws TypeError when relaxing [[Writable]] on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAzICYmIGFyck9ialswXSA9PT0gMCAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyT2JqWzJdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value equal to the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgbGVzc2VyIHRoYW4gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCBhbmQgdGVzdCB0aGF0IGluZGV4ZXMgYmV5b25kIHRoZSBuZXcgbGVuZ3RoIGFyZSBkZWxldGVkKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDEgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value lesser than the existing value of length and test that indexes beyond the new length are deleted(15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3Qgbm8gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test no TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaW5kZXhEZWxldGVkID0gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gaW5kZXhEZWxldGVkICYmIGFyck9iai5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgd2hvc2Ugd3JpdGFibGUgYXR0cmlidXRlIGlzIGJlaW5nIGNoYW5nZWQgdG8gZmFsc2UgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSBhbmQgYWxzbyBsZXNzZXIgdGhhbiBhbiBpbmRleCBvZiB0aGUgYXJyYXkgd2hpY2ggaXMgc2V0IHRvIGNvbmZpZ3VyYWJsZTpmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmkuaWlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', whose writable attribute is being changed to false and the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable:false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIGFuZCBUeXBlRXJyb3IgaXMgdGhyb3duICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjIiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaWkuMQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIG5vbi13cml0YWJsZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgdmFsdWUgb2Ygbm9uLXdyaXRhYmxlIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMiB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.ii.1\nof [[DefineOwnProperty]] rejects changing the value of non-writable properties.","description":"Object.defineProperty throws TypeError when changing value of non-writable non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4ndCBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7IC8vIE5vdCBzZXR0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAiMSIgdG8gZmFsc2UgaGVyZSwgc2luY2UgQXJyYXkucHJvdG90eXBlIGlzIGEgZ2xvYmFsIG9iamVjdCwgYW5kIG5vbi1jb25maWd1cmJhbGUgcHJvcGVydHkgY2FuJ3QgcmV2ZXJ0IHRvIGNvbmZpZ3VyYWJsZQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOyANCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5sZW5ndGggPT09IDIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgLy8gTm90IHNldHRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBjb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGlzIGRlbGV0ZWQgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' is deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzYW1lIGFzIFtbVmFsdWVdXSAoMTUuNC41LjEgc3RlcCAzLmwuaWlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOyAgICAgICAgICANCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test value of the length property is same as [[Value]] (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHNldHRlciBpZiBwcmVzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgc2V0dGVyIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gY2hhbmdlIHRoZSBzZXR0ZXIgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoeCkge307DQogIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] rejects changing the setter if present.","description":"Object.defineProperty throws TypeError when changing setter of non-configurable accessor properties(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3Qgd2hlbiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSBhbmQgJ08nIGRvZXNuJ3QgY29udGFpbiBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGF2YWlsYWJsZSBTdHJpbmcgdmFsdWVzIHRoYXQgY29udmVydCB0byBudW1iZXJzICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NCwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJPYmpbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NSwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5NV0gPT09IDEwMDsgOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk2LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwICYmIGFyck9ials0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5Nywgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyBpcyBmYWxzZSBhbmQgdmFsdWUgb2YgJ25hbWUnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDEsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is not thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is less than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMywgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' equals to value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNCwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is greater than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgc2V0dGluZyBhIHNldHRlciAoaWYgYWJzZW50KS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgcGVybWl0cyBzZXR0aW5nIGEgc2V0dGVyIChpZiBhYnNlbnQpIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBzZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHNldDogdW5kZWZpbmVkIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQoJICBkMi5zZXQgPT09IHVuZGVmaW5lZCAmJg0KCSAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KCSAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UpIHsNCglyZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] permits setting a setter (if absent).","description":"Object.defineProperty permits setting a setter (if absent) of non-configurable accessor properties(8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAib3duRGF0YVByb3BlcnR5IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IHRoYXQgZGVmaW5pbmcgb3duIGluZGV4IG5hbWVkIHByb3BlcnR5IGlzIHN1Y2Nlc3NmdWwgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIHR5cGVvZiBhcnJPYmpbMF0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited data property, test that defining own index named property is successful (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited data property, test TypeError is thrown on updating the [[Configurable]] attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRlIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB0byB0cnVlIGFuZCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvcmlnaW5hbCBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited accessor property, test TypeError is thrown when update the [[Configurable]] attribute to true and value of [[Configurable]] attribute of original is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIG9uIHVwZGF0aW5nIHRoZSBjb25maWd1cmFibGUgYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyck9ialswXSA9IDEzOw0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnTycgaXMgbm90IGV4dGVuc2libGUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCBkZXNjKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgKGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgd2hlbiAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test 'name' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBkYXRhIHByb3BlcnRpZXMsIGF0dHJpYnV0ZXMNCiAqIG1pc3NpbmcgZnJvbSBkZXNjIHNob3VsZCBoYXZlIHZhbHVlcyBzZXQgdG8gdGhlIGRlZmF1bHRzIGZyb20gOC42LjEuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgc2V0cyBtaXNzaW5nIGF0dHJpYnV0ZXMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgKGRhdGEgcHJvcGVydGllcykoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICANCiAgaWYgKHByb3BEZXNjLnZhbHVlICAgICAgICA9PT0gMSAmJiAgICAgICAgICAvLyB0aGlzIGlzIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQNCiAgICAgIHByb3BEZXNjLndyaXRhYmxlICAgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined data properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (data properties)(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGNoYW5naW5nIHRoZSBnZXR0ZXIgaWYgcHJlc2VudC4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIGdldHRlciAoaWYgcHJlc2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlci9zZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7fQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgc2V0dGVyIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiB1bmRlZmluZWQgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] rejects changing the getter if present.","description":"Object.defineProperty throws TypeError when changing getter (if present) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbVmFsdWVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgW1tWYWx1ZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Value]] of 'name' property of 'Attributes' is set as undefined if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW1dyaXRhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiAgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Writable]] is absent in data descriptor 'desc', test [[Writable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in data descriptor 'desc', test [[Enumerable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in data descriptor 'desc', test [[Configurable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMV07IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0dldF1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Get]] is absent in accessor descriptor 'desc', test [[Get]] attribute of property 'name' is set to undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbU2V0XV0gb2YgJ25hbWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIFtbU2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Set]] of 'name' property in 'Attributes' is set as undefined if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in accessor descriptor 'desc', test [[Enumerable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in accessor descriptor 'desc', test [[Configurable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTQ7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgaWYgYWJzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgKGlmIGFic2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IHNldHRlcg0KICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKHgpIHt9DQogIHZhciBkMSA9IHsgc2V0OiBzZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBnZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4gRXhpc3RpbmcgdmFsdWVzIG9mIG5lZWQgdG8gYmUgcHJlc2VydmVkLg0KICB2YXIgZ2V0dGVyID0gdW5kZWZpbmVkOw0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgIGQyLnNldCA9PT0gc2V0dGVyICYmDQogICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] permits setting a getter if absent.","description":"Object.defineProperty permits setting a getter (if absent) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50IChuYW1lIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50KG5hbWUgaXMgYWNjZXNzb3IgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent(name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5KSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIGRlc2MpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSBhbmQgaXRzIGNvbmZpZ3VyYWJsZSBhbmQgd3JpdGFibGUgYXR0cmlidXRlcyBhcmUgc2V0IHRvIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAwLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogImFiYyIgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property and its configurable and writable attributes are set to false, test TypeError is thrown when the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBudWxsICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG51bGwgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBOYU4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChhcnJPYmpbMF0gIT09IGFyck9ialswXSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyck9ialswXSA9IDEwMDE7DQogICAgICAgIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqWzBdICE9PSAxMDAxICYmIGFyck9ialswXSAhPT0gYXJyT2JqWzBdOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is existing own data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBzYW1lIHZhdWxlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IDEyMyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG9iajEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdHdvIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to two different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgd3JpdGFibGU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiAodHlwZW9mIG9iai5mb28pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is existing an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGVscFZlcmlmeVNldDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouaGVscFZlcmlmeVNldCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMyLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHNldDogc2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgc2V0OiBzZXRGdW5jMiB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGVudW1lcmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBzYW1lIHZhbHVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlICBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAzLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgW1tFbnVtZXJhYmxlXV0gb2YgJ2Rlc2MnIGlzIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIDMsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHksIGFuZCdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIHRydWUsIHRlc3QgJ25hbWUnIGlzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is updated successfully (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzNdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAgYXNzaWdubWVudCB0byB0aGUgYWNjZXNzb3IgcHJvcGVydHksIGZhaWxzIHRvIGNvbnZlcnQgYWNjZXNzb3IgcHJvcGVydHkgZnJvbSBhY2Nlc3NvciBwcm9wZXJ0eSB0byBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyT2JqWzFdID0gNDsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and assignment to the accessor property, fails to convert accessor property from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZGlmZmVyZW50IGZyb20gdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmF1bGVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different vaules (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiZmdoIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsICJhYmMiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkYXRhJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'data' is own data property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgeyB2YWx1ZToge30gfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIG9iaiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjEiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICIxIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGZyb20gdW5kZWZpbmVkIHRvIG51bWJlciAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW3VuZGVmaW5lZF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' from undefined to number (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxMDBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBub3QgY2hhbmdlZCBpZiBUb1VpbnQzMignbmFtZScpIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgYXJyT2JqWzFdID09PSAxNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is not changed if ToUint32('name') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIzIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDQgJiYgYXJyT2JqWzNdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDYgJiYgYXJyT2JqWzVdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is generic property that won't exist on 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI0Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmoucHJvcGVydHkgPSAxMjsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzNg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test TypeError is thrown when updating the [[Set]] attribute value of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgcmVkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7ICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMgYW5kIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyB1bndyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIHN0ZXAgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as unwritable and non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7ICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXBzIDQgYW5kIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwcyA0IGFuZCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBhdHRyaWJ1dGVzDQogKiBtaXNzaW5nIGZyb20gZGVzYyBzaG91bGQgaGF2ZSB2YWx1ZXMgc2V0IHRvIHRoZSBkZWZhdWx0cyBmcm9tIDguNi4xLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHNldHMgbWlzc2luZyBhdHRyaWJ1dGVzIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIChhY2Nlc3NvcikoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfTsNCiAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAodHlwZW9mKHByb3BEZXNjLmdldCkgPT09ICJmdW5jdGlvbiIgJiYgIC8vIHRoZSBnZXR0ZXIgbXVzdCBiZSB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgcHJvdmlkZWQNCiAgICAgIHByb3BEZXNjLmdldCA9PT0gZ2V0dGVyICYmDQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined accessor properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (accessor)(8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCBzdGVwIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMxLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function that overrides an inherited accessor property(8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICANCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGMgPT09IDM7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYiA9PT0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiB0eXBlb2Ygb2JqLmZvbyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmhlbHBWZXJpZnlHZXQgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm92ZXJpZGVHZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5R2V0IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdlbmVyaWNQcm9wZXJ0eVN0cmluZyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5oZWxwVmVyaWZ5R2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeUdldCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICcnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCBvZiBhIGZ1bmN0aW9uIHRoYXQgaGFzIGZvcm1hbCBwYXJhbWV0ZXJzLCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlGb3JtYWwgPSBjID09PSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGNyZWF0ZWQgd2l0aCBmdW5jdGlvbiB0YWtlIGZvcm1hbCBwYXJhbWV0ZXJzLCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWxldGVkIGlmICduYW1lJyBpcyBjb25maWd1cmFibGUgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which created with function take formal parameters, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCAnbmFtZScgaXMgZGVsZXRlZCBpZiAnbmFtZScgaXMgY29uZmlndXJhYmxlIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA1LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmICFhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW4sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZnVuLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBmdW4uZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Function object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbZW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9ialswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSBpcyB3cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEwMDEpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOnRydWUsIFtbQ29uZmlndXJhYmxlXV06ZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1Anc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P'successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIE5hbWVkIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTp0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOmZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnQScgaXMgYW4gQXJyYXkgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqWzBdID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmDQogICAgICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9ialswXSA9PT0gMjAxMCAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHdyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBzdHIuZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a String object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBuYW1lZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBOYW1lZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5ICdQJyBpcyBhbiBpbmRleGVkIGRhdGEgcHJvcGVydHkgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIDogdHJ1ZSkgaXMgbm9uLXdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZhbHVlVmVyaWZ5ID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZhbHVlVmVyaWZ5ICYmIG9ialswXSA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property 'P' is an indexed data property with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIC0gTm90ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Indexed property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXSA6IHRydWUpIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmFsdWVWZXJpZnkgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgICAgIHJldHVybiB2YWx1ZVZlcmlmeSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW53cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is a Boolean object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBvYmpbMF0gPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqLnByb3AgPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating named data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Number object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiAhYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bndyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChNYXRoLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the Math object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAxMDAxICYmIGRlc2MudmFsdWUgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiVGhpc0lzQVN0cmluZyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09ICJUaGlzSXNBU3RyaW5nIiAmJiBkZXNjLnZhbHVlID09PSAiVGhpc0lzQVN0cmluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZhbHNlICYmIGRlc2MudmFsdWUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGdlbmVyaWMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdGVtcE9iaiA9IHsgdGVzdHByb3BlcnR5OiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0ZW1wT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSB0ZW1wT2JqICYmIGRlc2MudmFsdWUgPT09IHRlbXBPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a generic object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBhcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGFyck9iaiAmJiBkZXNjLnZhbHVlID09PSBhcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBzdHJPYmogJiYgZGVzYy52YWx1ZSA9PT0gc3RyT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBudW1PYmogJiYgZGVzYy52YWx1ZSA9PT0gbnVtT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogYm9vbE9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gYm9vbE9iaiAmJiBkZXNjLnZhbHVlID09PSBib29sT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Boolean Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is a Date object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZ1bk9iaiAmJiBkZXNjLnZhbHVlID09PSBmdW5PYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBlcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGVyck9iaiAmJiBkZXNjLnZhbHVlID09PSBlcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZGF0ZU9iaiAmJiBkZXNjLnZhbHVlID09PSBkYXRlT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogcmVnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSByZWdPYmogJiYgZGVzYy52YWx1ZSA9PT0gcmVnT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IG51bGwgJiYgZGVzYy52YWx1ZSA9PT0gbnVsbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBOYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wICE9PSBvYmoucHJvcCAmJiBkZXNjLnZhbHVlICE9PSBkZXNjLnZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is NaN","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBJbmZpbml0eQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gSW5maW5pdHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogLUluZmluaXR5DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAtSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gLUluZmluaXR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is -Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBmbkdsb2JhbE9iamVjdCgpICYmIGRlc2MudmFsdWUgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBwcm9wZXJ0aWVzLCBzdGVwIDQuYS4xIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gY3JlYXRlcyBhIGRhdGEgcHJvcGVydHkgaWYgaGFuZGVkIGEgZ2VuZXJpYyBkZXNjLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IGlmIGdpdmVuIGEgZ2VuZXJpYyBkZXNjKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIA0KICB2YXIgZGVzYyA9IHt9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICBpZiAocHJvcERlc2MudmFsdWUgICAgICAgID09PSB1bmRlZmluZWQgJiYgIC8vIHRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgd2FzIHNldA0KICAgICAgcHJvcERlc2Mud3JpdGFibGUgICAgID09PSBmYWxzZSAmJiAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICAgIHByb3BEZXNjLmVudW1lcmFibGUgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7ICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined properties, step 4.a.1 of\n[[DefineOwnProperty]] creates a data property if handed a generic desc.","description":"Object.defineProperty defines a data property if given a generic desc(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2MsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is a RegExp object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFzdHJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBzdHJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgYXJyT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgYXJyT2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoQm9vbGVhbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGJvb2xPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3Mgb2JqZWN0IGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byBmYWxzZSAoTnVtYmVyIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigpOw0KICAgICAgICAgICAgbnVtT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG51bU9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's object has a property with same name and [[Writable]] attribute is set to false (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW5PYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFmdW5PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvci5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFlcnJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlcnJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChEYXRlIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAxMDAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIGVudW1lcmFibGUgKFJlZ0V4cCBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlZ0V4cC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChKU09OLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the JSON object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgSlNPTi5wcm9wID0gMTAwMjsNCg0KICAgICAgICAgICAgcmV0dXJuICFKU09OLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgSlNPTi5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIE1hdGgpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgIXZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0KE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJOQU1FIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSAxMDAxICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] field of inherited property of [[Prototype]] internal property is correct(Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJOQU1FIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlYW1NZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShtZWV0aW5nKTsNCiAgICAgICAgdGVhbU1lZXRpbmcubmFtZSA9ICJUZWFtIE1lZXRpbmciOw0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCIxMC8zMS8yMDEwIDA4OjAwIik7DQogICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9IGRhdGVPYmo7DQogICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID0gIjQyNTU1NTEyMTIiOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9IHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJUZWFtIE1lZXRpbmciICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IGRhdGVPYmogJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiNDI1NTU1MTIxMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydGllcyB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBwcm9wZXJ0aWVzIHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIlRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add properties to an object when the object's prototype has properties with the same name and [[Writable]] set to false (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0aWVzIHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited properties whose [[Enumerable]] attribute is set to false is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Error object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZShGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcmdPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is the global object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgaWYgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICg4LjEyLjkgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpdGVtIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShpdGVtKSAmJiBpdGVtID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is defined as data property if 'name' property doesn't exist in 'O' and 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgW1tWYWx1ZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', [[Value]] of 'name' property is set as undefined if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ25hbWUnIHByb3BlcnR5IG9mICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Writable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgZGF0YSBkZXNjDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgew0KICAgIHJldHVybiAoZDEudmFsdWUgPT09IGQyLnZhbHVlICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09PSBkMi5lbnVtZXJhYmxlICYmDQogICAgICAgICAgICBkMS53cml0YWJsZSA9PT0gZDIud3JpdGFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PT0gZDIuY29uZmlndXJhYmxlKTsNCiAgfQ0KDQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gcXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmluZVByb3BlcnR5DQogIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhlIHByb3BlcnR5IGRlZmluaXRpb24uDQogIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAgDQoNCiAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yDQogIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hvdWxkIG5vdCBnZXQgZGlzdHVyYmVkLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyANCg0KICBpZiAoc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same data desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyAgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMSB9OyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc is data descriptor, test updating all attribute values of 'name' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdvYmonIHdpdGggYWxsIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'desc' is generic descriptor without any attribute, test 'name' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Get]] of 'name' property is set as undefined if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5wcm9wID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9ialswXSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmpbMF0gPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9ialswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqWzBdID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' without [[Set]] using simple assignment is failed, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7IA0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMSwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICBpZiAob2JqLnByb3BlcnR5ICE9PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIGlmICh0eXBlb2YgZGVzYy5zZXQgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Set]] of 'name' property of 'Attributes' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmVzdWx0ID0gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoYXJnMSkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKGFyZzEsIGFyZzIpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgICAgICByZXR1cm4gZ2xvYmFsVmFyaWFibGU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAyMDEwICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDE0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'desc' is accessor descriptor, test updating all attribute values of 'name' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggZG9lc24ndCBjb250YWlucyByZXR1cm4gc3RhdGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5RXhlY3V0ZSA9IGZhbHNlOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZlcmlmeUV4ZWN1dGUgPSB0cnVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdmVyaWZ5RXhlY3V0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which doesn't contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW46IDIwMTANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gb2JqICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9IDIwOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmaXJzdEFyZyA9IDEyOw0KICAgICAgICB2YXIgc2Vjb25kQXJnID0gMTI7DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgZmlyc3RBcmcgPSBhOw0KICAgICAgICAgICAgc2Vjb25kQXJnID0gYjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTAwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBmaXJzdEFyZyA9PT0gMTAwICYmIHR5cGVvZiBzZWNvbmRBcmcgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTA7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgcmV0dXJuIHN0YXRlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdGhpcy5sZW4gPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5sZW4gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgc3RyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIGFyck9iai5wcm9wID0gIm15T3duUHJvcGVydHkiOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGFyck9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Success to add property into object (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkYXRhIGRlc2NyaXB0b3IgYW5kIGV2ZXJ5IGZpZWxkcyBpbiAnZGVzYycgaXMgYWJzZW50ICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7fSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is data descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChCb29sZWFuIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBib29sT2JqKSB7DQogICAgICAgICAgICAgICAgaWYocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChOdW1iZXIgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQogICAgICAgICAgICBudW1PYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFudW1PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBudW1PYmoucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Fail to add property into object (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24gaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGZ1bk9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZXJyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydHkgaW50byBvYmplY3QgKERhdGUgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Failed to add property into object (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChSZWdFeHAgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVnRXhwLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBKU09OLnByb3AgPSAibXlPd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gTWF0aCkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIU1hdGguaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgdmFyIGRhdGExID0gMTAwMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGF0YTIgPSAiTkFNRSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMyA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQogICAgICAgIHRlYW1NZWV0aW5nLm5hbWUgPSAiVGVhbSBNZWV0aW5nIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgiMTAvMzEvMjAxMCAwODowMCIpOw0KICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPSBkYXRlT2JqOw0KICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9ICI0MjU1NTUxMjEyIjsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiVGVhbSBNZWV0aW5nIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSBkYXRlT2JqICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIjQyNTU1NTEyMTIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIGFic2VudCAoOC4xMi45IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is accessor descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTMgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IG9mIFtbUHJvcHRvdHlwZV1dIGludGVybmFsIHByb3BlcnR5IChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIklFIFRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to update value of property of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgdmFyIGRhdGEzID0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IGRhdGE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRQcm90b3R5cGVPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImdldFByb3RvdHlwZU9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldFByb3RvdHlwZU9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRQcm90b3R5cGVPZiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.getPrototypeOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyDescriptor are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgYWNjZXNzb3IgZGVzYw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSB7DQogICAgcmV0dXJuIChkMS5nZXQgPT0gZDIuZ2V0ICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09IGQyLmVudW1lcmFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PSBkMi5jb25maWd1cmFibGUpOw0KICB9DQoNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge30sDQogICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIC8vIHF1ZXJ5IGZvciwgYW5kIHNhdmUsIHRoZSBkZXNjLiBBIHN1YnNlcXVlbnQgY2FsbCB0byBkZWZpbmVQcm9wZXJ0eQ0KICAvLyB3aXRoIHRoZSBzYW1lIGRlc2Mgc2hvdWxkIG5vdCBkaXN0dXJiIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uLg0KICB2YXIgZDEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgIA0KDQogIC8vIG5vdywgcmVkZWZpbmUgdGhlIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgZGVzY3JpcHRvcg0KICAvLyB0aGUgcHJvcGVydHkgZGVmaW50aW9uIHNob3VsZCBub3QgZ2V0IGRpc3R1cmJlZC4NCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgDQoNCiAgaWYgKHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same accessor desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHR5cGUgb2YgZGVzYy52YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIG5hbWUudmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmMiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiYyIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - type of desc.value is different from type of name.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJnZXRPd25Qcm9wZXJ0eU5hbWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyNames are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5jcmVhdGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiY3JlYXRlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmNyZWF0ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiY3JlYXRlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiY3JlYXRlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImNyZWF0ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.create are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZGVmaW5lUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9IHRlbXA7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperty are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJkZWZpbmVQcm9wZXJ0aWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydGllcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperties are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5zZWFsIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInNlYWwiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Quc2VhbDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5zZWFsID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZWFsIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnNlYWw7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoInNlYWwiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAic2VhbCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.seal are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5mcmVlemUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZnJlZXplIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmZyZWV6ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZnJlZXplIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZnJlZXplIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImZyZWV6ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.freeze are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9uczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByZXZlbnRFeHRlbnNpb25zIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.preventExtensions are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc1NlYWxlZCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc1NlYWxlZCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc1NlYWxlZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzU2VhbGVkID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNTZWFsZWQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzU2VhbGVkIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzU2VhbGVkOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc1NlYWxlZCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc1NlYWxlZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isSealed are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0Zyb3plbiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0Zyb3plbiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc0Zyb3plbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNGcm96ZW4gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzRnJvemVuIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRnJvemVuOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc0Zyb3plbiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc0Zyb3plbiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isFrozen are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0V4dGVuc2libGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmlzRXh0ZW5zaWJsZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiaXNFeHRlbnNpYmxlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImlzRXh0ZW5zaWJsZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.isExtensible are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5rZXlzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImtleXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Qua2V5czsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmtleXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5rZXlzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJrZXlzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmtleXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImtleXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAia2V5cyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.keys are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImJpbmQiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJiaW5kIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImJpbmQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAiYmluZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Function.prototype.bind are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJpbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJpbmRleE9mIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.indexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5sYXN0SW5kZXhPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImxhc3RJbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgibGFzdEluZGV4T2YiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Object.lastIndexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJldmVyeSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUuZXZlcnkgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImV2ZXJ5Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZXZlcnkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.every are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5zb21lIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNvbWUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuc29tZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5zb21lID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzb21lIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb21lOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzb21lIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInNvbWUiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.some are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2ggPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb3JFYWNoIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJmb3JFYWNoIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.forEach are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5tYXAgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibWFwIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLm1hcCA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibWFwIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5tYXA7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoIm1hcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJtYXAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.map are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZmlsdGVyIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLmZpbHRlciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZmlsdGVyIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5maWx0ZXI7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImZpbHRlciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJmaWx0ZXIiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.filter are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicmVkdWNlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2U7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInJlZHVjZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJyZWR1Y2UiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduce are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgbnVsbCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG51bGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdodCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInJlZHVjZVJpZ2h0Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicmVkdWNlUmlnaHQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduceRight are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIFN0cmluZy5wcm90b3R5cGUudHJpbSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidHJpbSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChTdHJpbmcucHJvdG90eXBlLnRyaW0gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBTdHJpbmcucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ0cmltIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIVN0cmluZy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRyaW0iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in String.prototype.trim are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUubm93IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJub3ciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLm5vdzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5ub3cgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUubm93ID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibm93Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUubm93Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibm93Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUsICJub3ciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.now are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInRvSVNPU3RyaW5nIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvSVNPU3RyaW5nIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toISOString are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSlNPTiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvSlNPTiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9KU09OID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChEYXRlLnByb3RvdHlwZS50b0pTT04gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBEYXRlLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAidG9KU09OIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0pTT04iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJ0b0pTT04iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toJSON are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjVncy5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbGx5IGRlY2xhcmVkIHZhcmlhYmxlIHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQpPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgDQogICAgICAgICAgICAgICAgICAgICAgInByb3AiLCANCiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAxMDAxLCB3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlfSANCiAgICAgICAgICAgICAgICAgICAgICApOw0KdmFyIHByb3AgPSAxMDAyOw0KDQppZiAoISAodGhpcy5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHByb3AgPT09IDEwMDIpKSB7DQogICAgdGhyb3cgInRoaXMucHJvcCBzaG91bGQgdGFrZSBwcmVjZWRlbmNlIG92ZXIgT2JqZWN0LnByb3RvdHlwZS5wcm9wIjsNCn0NCg==","commentary":"","description":"Globally declared variable should take precedence over Object.prototype property of the same name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgTmFOICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSArMCBhbmQgbmFtZS52YWx1ZSA9IC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value = +0 and name.value = -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSAtMCBhbmQgbmFtZS52YWx1ZSA9ICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value = -0 and name.value = +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAyIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gImFiY2QiOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImZnaGoiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImZnaGoiLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdhIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0NvbmZpZ3VyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7a of [[DefineOwnProperty]] rejects if\ncurrent.[[Configurable]] is false and desc.[[Configurable]] is true.","description":"Object.defineProperty throws TypeError when changing [[Configurable]] from false to true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IHRydWU7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.value and name.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBPYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.value and name.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPamJlY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBvYmouZm9vID0gb2JqMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value and name.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy53cml0YWJsZSBhbmQgbmFtZS53cml0YWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2V9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.writable and name.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2Mud3JpdGFibGUgYW5kIG5hbWUud3JpdGFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.writable and name.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW0dldF1dIGFuZCBuYW1lLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBnZXQ6IGdldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMyLCBzZXRGdW5jMSwgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.[[Get]] and name.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW1NldF1dIGFuZCBuYW1lLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYyB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.[[Set]] and name.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5lbnVtZXJhYmxlIGFuZCBuYW1lLmVudW1lcmFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.enumerable and name.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gdHJ1ZSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuZW51bWVyYWJsZSBhbmQgbmFtZS5lbnVtZXJhYmxlIGFyZSBib29sZWFuIG5lZ2F0aW9uIG9mIGVhY2ggb3RoZXIgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.enumerable and name.enumerable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5jb25maWd1cmFibGUgYW5kIG5hbWUuY29uZmlndXJhYmxlIGFyZSBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - both desc.configurable and name.configurable are booleans with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIHRydWUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBwcm9wZXJ0eSBpcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gdHJ1ZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIHByb3BlcnR5IGlzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuY29uZmlndXJhYmxlIGFuZCBuYW1lLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiBuZWdhdGlvbiBvZiBlYWNoIG90aGVyICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.configurable and name.configurable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gdW5kZWZpbmVkIGFuZCBkZXNjLnZhbHVlID0gdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = undefined and desc.value = undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gbnVsbCBhbmQgZGVzYy52YWx1ZSA9IG51bGwgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCAgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = null and desc.value = null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gTmFOIGFuZCBkZXNjLnZhbHVlID0gTmFOICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFOLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = NaN and desc.value = NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9ICswIGFuZCBuYW1lLnZhbHVlID0gLTAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAtMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = +0 and name.value = -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9IC0wIGFuZCBuYW1lLnZhbHVlID0gKzAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiArMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = -0 and name.value = +0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAyMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gdHJ1ZSB0byBmYWxzZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCBbW0VudW1lcmFibGVdXSBleHBsaWNpdGx5IHNldCB0byB0cnVlOw0KICAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gZmFsc2Ugc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCBlbnVtZXJhYmxlOiBmYWxzZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImFiY2QiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogZmFsc2UgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two objects which refer to the different objects (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tTZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tTZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAicHJvcGVydHkiOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Set]] is undefined, desc.[[Set]] refers to an object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5R2V0SGVscE1ldGhvZCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeUdldEhlbHBNZXRob2QiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tHZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tHZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Get]] is undefined, desc.[[Get]] refers to an object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHBhcnRpY3VsYXIgQVBJIGV4aXN0cyAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCwgYXMgaGFwcGVucyB0bwogKiBleGlzdCBpbiBhIGJyb3dzZXIgZW52aXJvbm1lbnQpLCBjaGVjayBpZiB0aGUgZm9ybSBvYmplY3RzIGl0IG1ha2VzCiAqIG9iZXkgdGhlIGNvbnN0cmFpbnRzIHRoYXQgZXZlbiBob3N0IG9iamVjdHMgbXVzdCBvYmV5LiBJbiB0aGlzCiAqIGNhc2UsIHRoYXQgaWYgZGVmaW5lUHJvcGVydHkgc2VlbXMgdG8gaGF2ZSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIGEKICogbm9uLWNvbmZpZ3VyYWJsZSBnZXR0ZXIsIHRoYXQgaXQgaXMgc3RpbGwgdGhlcmUuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvUzE1LjIuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEbyBnZXR0ZXJzIG9uIEhUTUxGb3JtRWxlbWVudHMgZGlzYXBwZWFyPwogKi8KCmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9CgppZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJgogICAgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHsKICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKICB2YXIgcmVmdXNlZCA9IGZhbHNlOwogIHRyeSB7CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgJ2ZvbycsIHsKICAgICAgZ2V0OiBnZXR0ZXIsCiAgICAgIHNldDogdm9pZCAwCiAgICB9KTsKICB9IGNhdGNoIChlcnIpIHsKICAgIC8vIEEgaG9zdCBvYmplY3QgbWF5IHJlZnVzZSB0byBpbnN0YWxsIHRoZSBnZXR0ZXIKICAgIHJlZnVzZWQgPSB0cnVlOwogIH0KICBpZiAoIXJlZnVzZWQpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAnZm9vJyk7CiAgICBpZiAoZGVzYy5nZXQgIT09IGdldHRlcikgewogICAgICAkRVJST1IoJ0dldHRlciBvbiBIVE1MRm9ybUVsZW1lbnQgZGlzYXBwZWFycycpOwogICAgfQogIH0KfQo=","commentary":"If a particular API exists (document.createElement, as happens to\nexist in a browser environment), check if the form objects it makes\nobey the constraints that even host objects must obey. In this\ncase, that if defineProperty seems to have successfully installed a\nnon-configurable getter, that it is still there.","description":"Do getters on HTMLFormElements disappear?","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42L1MxNS4yLjMuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBhcHBlYXJzIHRvIGJlCiAqIGFuIG93biBwcm9wZXJ0eS4KICovCgp2YXIgYmFzZSA9IHt9Owp2YXIgZGVyaXZlZCA9IE9iamVjdC5jcmVhdGUoYmFzZSk7CmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAnZm9vJywge2dldDogZ2V0dGVyfSk7CmlmIChkZXJpdmVkLmhhc093blByb3BlcnR5KCdmb28nKSkgewogICRFUlJPUignQWNjZXNzb3IgcHJvcGVydGllcyBpbmhlcml0IGFzIG93biBwcm9wZXJ0aWVzJyk7Cn0KCg==","commentary":"","description":"Checks if an inherited accessor property appears to be\nan own property.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModW5kZWZpbmVkLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG51bGwsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModHJ1ZSwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcygiYWJjIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoMCwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBBcnJheTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Math object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKU09OLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is the JSON object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTENCiAgICAgICAgfTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KICAgICAgICBwcm9wcy5tZXNzYWdlID0gb2JqMTsNCiAgICAgICAgcHJvcHMubmFtZSA9IG9iajE7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgRnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsgICAgICAgIA0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQoJCQkJY29uZmlndXJhYmxlOnRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBvYmoxID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBmYWxzZSk7DQogICAgICAgIHJldHVybiBvYmogPT09IG9iajE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aG9zZSBwcmltaXRpdmUgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Boolean object whose primitive value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW55IGludGVyZXN0aW5nIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgLTEyKTsNCiAgICAgICAgcmV0dXJuIG9iaiA9PT0gb2JqMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3RpbmcgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBOdW1iZXIoLTEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Number object whose primitive value is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBzdHJpbmcgd2hvc2UgdmFsdWUgaXMgYW55IGludGVyZXN0aW5nIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgIiIpOw0KICAgICAgICByZXR1cm4gb2JqID09PSBvYmoxOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a string whose value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3Rpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a String object whose primitive value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsgICAgICANCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - own data property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable inherited data property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - own accessor property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable inherited accessor property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AxIikgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wMiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Boolean object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a Number object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is the Math object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a Date object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a RegExp object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTUNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDE1Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is the JSON object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWU6IDExDQogICAgICAgIH07DQogICAgICAgIHByb3BzLm1lc3NhZ2UgPSBvYmoxOw0KICAgICAgICBwcm9wcy5uYW1lID0gb2JqMTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KDQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTYNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is an Error object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBhcmcpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is the Arguments object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSA3Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Function object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICB2YWx1ZTogOA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGVzY09iaiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gODsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is an Array object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a String object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IE51bWJlcigtMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgYXJncyA9IGZ1bmMoMSwgdHJ1ZSwgImEiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBhcmdzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMzAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9OyANCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyYXkiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGFycg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJpbmciOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiQm9vbGVhbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aCI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkRhdGUiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTiI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkVycm9yIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJnbG9iYWwiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsgdmFsdWU6IDEyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonICBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBTdHJpbmcoImFiYyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbih0cnVlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBOdW1iZXIoMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN5bnRheEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuYygxLCB0cnVlLCAiYSIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gInByZXNlbnQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBudWxsDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOyA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJGdW5jdGlvbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJBcnJheSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogYXJyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmcgT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBzdHINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZyBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiQm9vbGVhbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIk51bWJlciI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiTWF0aCI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkRhdGUiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGRlc2NPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJSZWdFeHAiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiSlNPTiI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkVycm9yIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50cyI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogYXJndW1lbnRzDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnbG9iYWwiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiZ2xvYmFsIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bGwpICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is null) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIGJvb2xlYW4pICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is boolean) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bWJlcikgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogMTIzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is number) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIHN0cmluZykgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogInN0cmluZyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is string) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFwcGxpZWQgdG8gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is applied to Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICJwcm9wIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgIG9iai5kZXNjT2JqID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJkZXNjT2JqIik7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJkZXNjT2JqIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmouZGVzY09iaiA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImRlc2NPYmoiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGZ1biA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHNldEZ1bjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gc2V0RnVuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsgDQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bjsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOyANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW47DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBkZXNjRnVuLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjRnVuKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZnVuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiZnVuRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGFyci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJyKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjU3RyID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgZGVzY1N0ci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY1N0cik7DQogICAgICAgIG9iai5wcm9wID0gInN0ckRhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInN0ckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJib29sZWFuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYm9vbGVhbkRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAibnVtYmVyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAibnVtYmVyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAibWF0aERhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJtYXRoRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZGF0ZURhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gImRhdGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgZGVzY09iai5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY09iaik7DQogICAgICAgIG9iai5wcm9wID0gInJlZ0V4cERhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInJlZ0V4cERhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAiSlNPTkRhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJKU09ORGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgZGVzY09iai5kZXNjcmlwdGlvbiA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubWVzc2FnZSA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubmFtZSA9IHsgdmFsdWU6IDExIH07DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZXJyb3JEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJlcnJvckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH07DQogICAgICAgIHZhciBhcmcgPSBmdW4oKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIGFyZy5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJnKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJnRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJnRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVsbCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgYm9vbGVhbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values boolean (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVtYmVyICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAxMDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values number (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgc3RyaW5nICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAiYWJjZGVmIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values string (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIGludGVyZXN0aW5nIG9iamVjdCBvdGhlciB0aGFuIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is an interesting object other than a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJmdW5EYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJmdW5EYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgInByb3AiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFyZzsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBhcmcuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIGJvb2xlYW4gKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG51bGwgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIDAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICswICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIC0wICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE5hTiAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIG51bWJlciAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a number (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgU3RyaW5nKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgTnVtYmVyKC05KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIHN0cmluZyAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOyANCiAgICAgICAgDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGFyZw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7fQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7IGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmc7DQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgYXJnLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogKzANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IFsxLCAyLCAzXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZXhpc3RpbmcgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyANCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own existing data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGRhdGEgcHJvcGVydHksIHNldmVyYWwgYXR0cmlidXRlcyB2YWx1ZXMgb2YgUCBhbmQgcHJvcGVydGllcyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Get]] and P.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW0dldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is present and properties.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbR2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is undefined and properties.[[Get]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Set]] and P.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW1NldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIHZlcmlmeUdldCA9IChvYmoucHJvcGVydHkgPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2ZXJpZnlTZXQgPSAodHlwZW9mIGRlc2Muc2V0ID09PSAndW5kZWZpbmVkJyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmIHZlcmlmeVNldCAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is present and properties.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbU2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is undefined and properties.[[Set]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmVudW1lcmFibGUgYW5kIHByb3BlcnRpZXMuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlIGFuZCBwcm9wZXJ0aWVzLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIFAgYW5kIHByb3BlcnRpZXMgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYzIodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYWxsIG93biBwcm9wZXJ0aWVzIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcGVydGllcyk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - all own properties (data property and accessor property)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZWFjaCBwcm9wZXJ0aWVzIGFyZSBpbiBsaXN0IG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgYTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BlcnRpZXMpOw0KICAgICAgICByZXR1cm4gKG9ialsiYSJdID09PSAxMDAgJiYgb2JqWyJiIl0gPT09IDIwICYmIG9ialsiYyJdID09PSAyMDApOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - each properties are in list order","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAxIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy52YWx1ZSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgJiYgIWRlc2MuZW51bWVyYWJsZSAmJiAhZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMSB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLnZhbHVlID09PSAzICYmDQogICAgICAgICAgICAgICAgZGVzYy53cml0YWJsZSAmJiAhZGVzYy5lbnVtZXJhYmxlICYmICFkZXNjLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50ICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsgbGVuZ3RoOiB7fSB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJyLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcnIubGVuZ3RoID09PSAyKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnIubGVuZ3RoOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgc2FtZSB3aXRoIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKGFyci5sZW5ndGggPT09IDApOw0KDQogICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgYXJyLmxlbmd0aDsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IGVudW1lcmFibGU6IHRydWUgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7IA0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB3cml0YWJsZTogdHJ1ZSB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZ1biwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmdW4sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGZ1biwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is a Function object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gdHJ1ZSB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHdyaXRhYmxlOiBmYWxzZSB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgImxlbmd0aCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogdW5kZWZpbmVkIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3Qgc2V0dGluZyB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB0byBudWxsIGFjdHVhbGwgaXMgc2V0IHRvIDAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogbnVsbCB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test setting the [[Value]] field of 'desc' to null actuall is set to 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgZmFsc2UgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogZmFsc2UgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsgdmFsdWU6IHRydWUgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAwIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogKzAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogLTAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMTIgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtOQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgK0luZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLUluZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgTmFOICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIjIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIyRTMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMkUzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBoZXggbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc3RyLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChzdHIsICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a String object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBsZWFkaW5nIHplcm8gbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an leading zero number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgd2hpY2ggZG9lc24ndCBjb252ZXJ0IHRvIGEgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiAhdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdXNpbmcgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWMgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmICF2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test using inherited valueOf method when the [[Value]] field of 'desc' is an Objec with an own toString and inherited valueOf methods (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMjMuNQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtNDI5NDk2NzI5NC41DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Boolean object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDEgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Ng0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTcNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSA1ICYmIGFyclswXSA9PT0gMCAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzJdID09PSAyOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is greater than value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09IDAgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclsyXSA9PT0gMjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which equals to value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRoIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAxICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is less than value of the length property is defined into 'O' with deleting properties with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGdyZWF0ZXIgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGVxdWFscyB0byB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciB3b3VsZG4ndCBiZSB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test TypeError wouldn't be thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Number object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAxMCAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyci5sZW5ndGggPT09IDEwICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgIHJldHVybiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyLmxlbmd0aCA9PT0gMSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIHNldCBhcyB0cnVlIGJlZm9yZSBkZWxldGluZyBwcm9wZXJ0aWVzIHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgKDE1LjQuNS4xIHN0ZXAgMy5pLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciByZXN1bHQgPSAwOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property in 'O' is set as true before deleting properties with large index named (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGRlY3JlYXNlZCBieSAxICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMiIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the length property is decreased by 1 (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOyAvL3dlIGFyZSBub3QgYWxsb3dlZCB0byBzZXQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDEgJiYgQXJyYXkucHJvdG90eXBlWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgTWF0aC5wcm9wID09PSAxMTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTWF0aCwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgTWF0aC5wcm9wID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is the Math object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbid0IHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIC8vd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNldCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgIjEiIHRvIGZhbHNlIGhlcmUsIHNpbmNlIEFycmF5LnByb3RvdHlwZSBpcyBhIGdsb2JhbCBvYmplY3QsIGFuZCBub24tY29uZmlndXJiYWxlIHByb3BlcnR5IGNhbid0IHJldmVydCB0byBjb25maWd1cmFibGUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBBcnJheS5wcm90b3R5cGVbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYNCiAgICAgICAgICAgICAgICBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAxICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBjYW4gYmUgZGVsZXRlZCAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' can be deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0aGUgbGFzdCBub24tY29uZmlndXJhYmxlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBwbHVzIDEgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpaS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChhcnIubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test value of the length property is set to the last non-configurable index named property of 'O' plus 1 (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBjb250YWlucyBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubC5paWkuMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPT09IDIgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' contains non-configurable large index named property (15.4.5.1 step 3.l.iii.2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBkb2Vzbid0IGNvbnRhaW4gbm9uLWNvbmZpZ3VyYWJsZSBsYXJnZSBpbmRleCBuYW1lZCBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCAzLm0pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBhdmFpbGFibGUgU3RyaW5nIHZhbHVlcyB0aGF0IGNvbnZlcnQgdG8gbnVtYmVycyAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTQiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Date object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTUiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5NV0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NiI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmIGFycls0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTciOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UsIHZhbHVlIG9mICdQJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbidPJyAgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxICYmIGFyclsxXSA9PT0gImFiYyIgJiYgYXJyWzJdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property, [[Writable]] attribute of the length property in 'O' is false, value of 'P' is less than value of the length property in'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgZXF1YWwgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyclsxXSA9PT0gMiAmJiBhcnJbMl0gPT09IDMgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMyIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is equal to value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgYmlnZ2VyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICI0Ijogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEgJiYgYXJyWzFdID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyWzJdID09PSAzICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjMiKSAmJiAhYXJyLmhhc093blByb3BlcnR5KCI0Iik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is bigger than value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHR5cGVvZiBhcnJbMF0gPT09ICJ1bmRlZmluZWQiICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEyICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is a RegExp object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ08nIGlzIG5vdCBleHRlbnNpYmxlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJyKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCAnUCcgaXMgZGVmaW5lZCBhcyBkYXRhIHByb3BlcnR5IHdoZW4gJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1ZhbHVlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIFtbVmFsdWVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgdHlwZW9mIChhcnJbMF0pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Value]] of 'P' property in 'Attributes' is set as undefined value if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgW1tXcml0YWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgaXNPd25Qcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTI7DQoNCiAgICAgICAgY2FuV3JpdGFibGUgPSAoYXJyWzBdID09PSAxMik7DQoNCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbldyaXRhYmxlICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Writable]] of 'P' property in 'Attributes' is set as false value if [[Writable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGlzT3duUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgdmFyIGNhbkVudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIGZvciAodmFyIGkgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoaSA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbkVudW1lcmFibGUgJiYgYXJyWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gZmFsc2U7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYmVmb3JlRGVsZXRlZCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICBkZWxldGUgYXJyWzBdOw0KICAgICAgICBhZnRlckRlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gMTE7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhKU09OLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBKU09OLnByb3AgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a JSON object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxXTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2YgKGFyclswXSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Get]] of 'P' property in 'Attributes' is set as undefined value if [[Get]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW1NldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnIsICIwIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYNCiAgICAgICAgICAgIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Set]] of 'P' property in 'Attributes' is set as undefined value if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gZmFsc2U7DQogICAgICAgIGFyci52ZXJpZnlTZXR0ZXIgPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBhcnIudmVyaWZ5U2V0dGVyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFyci52ZXJpZnlTZXR0ZXI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGJlZm9yZURlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgZGVsZXRlIGFyclswXTsNCiAgICAgICAgYWZ0ZXJEZWxldGVkID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTAxOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBhcnJbMF0gPT09IDEwMSAmJiBhcnIudmVyaWZ5U2V0dGVyID09PSAxMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjoge30NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7DQogICAgICAgICAgICAiMCI6IGRlc2NPYmoNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIGRlc2NPYmopOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Error object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdW5kZWZpbmVkICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgbnVsbCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgTmFOICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBOYU4sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzICswLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIC0wICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIC0wLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIC0wLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzICswICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggc2FtZSB2YXVsZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG9iajENCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is the Arguments object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSAgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIFtbRW51bWVyYWJsZV1dIG9mICdkZXNjJyBpcyBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgICdQJyBpcyBkYXRhIHByb3BlcnR5LCBhbmQnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGRhdGEgcHJvcGVydHkgdG8gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxXSA9IDM7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGFjY2Vzc29yIHByb3BlcnR5IHRvIGRhdGEgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSBhbmQgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdHJ1ZS4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false and the [[Writable]] field of 'desc' is true. (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyAtMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'P' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyArMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'P' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YXVsZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two numbers with different vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImVmZ2giDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmbkdsb2JhbE9iamVjdCgpLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIDEyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is the global object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIG9iajEgPSB7IHZhbHVlOiAxMiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgdmFsdWU6IDM2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBvYmoxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gb2JqZWN0IGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHVuZGVmaW5lZCAgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCAgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJydPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is not thrown if ''O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDM2LCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBmcm9tIHVuZGVmaW5lZCB0byBub3JtYWwgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbdW5kZWZpbmVkXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' from undefined to normal value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuICdPJyBpcyBub3QgZXh0ZW5zaWJsZSAoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTAwXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMDAsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTIsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAzNiwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgJ1AnIGlzIGRlZmluZWQgYXMgZGF0YSBwcm9wZXJ0eSB3aGVuICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJ3cml0YWJsZSIpICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJjb25maWd1cmFibGUiKSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1biwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGNoYW5nZWQgaWYgVG9VaW50MzIoJ1AnKSBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjYNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmIGFyclsxXSA9PT0gMjY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is not changed if ToUint32('P') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDI2DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNCAmJiBhcnJbM10gPT09IDI2Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICI1Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyNg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDYgJiYgYXJyWzVdID09PSAyNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIHRydWUsIHRydWUsIHRydWUpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIGdldF9mdW4sIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmDQogICAgICAgICAgICBhcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnZlcmlmeVNldEZ1biA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCBnZXRfZnVuLCBzZXRfZnVuLCAidmVyaWZ5U2V0RnVuIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5wcm9wZXJ0eSA9IDEyOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tWYWx1ZV1dIG9mICdQJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiY29uZmlndXJhYmxlIikgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Value]] of 'P' is set as undefined value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIHVud3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is defined as unwritable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0nTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties -'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM3Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW4sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgZ2V0X2Z1biwgc2V0X2Z1biwgInZlcmlmeVNldEZ1biIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMTAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZGVsZXRlIGFyZ1swXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tXcml0YWJsZV1dIG9mICdQJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Writable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9ICgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmcsICIwIik7DQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZ2V0X2Z1bmMyICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hvc2Ugd3JpdGFibGUgYW5kIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGVzIGFyZSBmYWxzZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' whose writable and configurable attributes are false (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7IA0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0gKDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5nZXQgPT09IGdldF9mdW5jMSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZywgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MuZ2V0ID09PSBnZXRfZnVuYyAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogeyB2YWx1ZTogMTAwMX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsgdmFsdWU6IDEwMDEgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7ICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcudGVzdEdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'desc' is data descriptor, test setting all attribute values of 'P' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ2ZXJpZnlTZXRGdW4iLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFyZy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW4sICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1biwgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgJ25hbWUnIGlzIGRlbGV0ZWQgaWYgJ25hbWUnIGlzIGNvbmZpZ3VyYWJsZSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJnWzBdID09PSAxMiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yIHdpdGhvdXQgYW55IGF0dHJpYnV0ZSwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnb2JqJyB3aXRoIGFsbCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgcHJvcDoge30gfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'desc' is generic descriptor without any attribute, test 'P' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tHZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCB1bmRlZmluZWQsIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Get]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tTZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7IA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Set]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'desc' is accessor descriptor, test setting all attribute values of 'P' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBleGlzdHMgaW4gJ08nIGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0ZXN0ICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciB3aXRob3V0IGFueSBhdHRyaWJ1dGUgKDguMTIuOSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' exists in 'O' is an accessor property, test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZXhpc3RzIGluICdPJywgdGVzdCAnUCcgbWFrZXMgbm8gY2hhbmdlIGlmICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' exists in 'O', test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHdpdGggJ1AnICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciBhbmQgZXZlcnkgZmllbGRzIGluICdkZXNjJyBpcyB0aGUgc2FtZSB3aXRoICdQJyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB0eXBlIG9mIGRlc2MudmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBQLnZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIxMDIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgIjEwMiIsIHRydWUsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - type of desc.value is different from type of P.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IHVuZGVmaW5lZCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIG51bGwgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiBudWxsIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.value and P.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE5hTiAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IE5hTiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IG9iai5mb28gIT09IG9iai5mb28gJiYgaXNOYU4ob2JqLmZvbyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5Q29uZmlndXJhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogLTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value is +0 and P.value is -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzIC0wIGFuZCBQLnZhbHVlIGlzICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogKzAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyANCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value is -0 and P.value is +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6ICJhYmNkIiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.value and P.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAiYWJjZCI7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJmZ2hqIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJmZ2hqIiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value and P.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.value and P.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSB0cnVlOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value and P.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE9qYmVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgT2JqZWN0ICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogb2JqMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgb2JqLmZvbyA9IG9iajE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2Mud3JpdGFibGUgYW5kIFAud3JpdGFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHdyaXRhYmxlOiBmYWxzZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.writable and P.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLndyaXRhYmxlIGFuZCBQLndyaXRhYmxlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.writable and P.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X0Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCiAgICAgICAgcmV0dXJuIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlWYWx1ZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbR2V0XV0gYW5kIFAuW1tHZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IChvYmouZm9vID09PSAyMCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuZ2V0ID09PSBnZXRfRnVuYzI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.[[Get]] and P.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.[[Set]] and P.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuZW51bWVyYWJsZSBhbmQgUC5lbnVtZXJhYmxlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.enumerable and P.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmVudW1lcmFibGUgYW5kIFAuZW51bWVyYWJsZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.enumerable and P.enumerable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuY29uZmlndXJhYmxlIGFuZCBQLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.configurable and P.configurable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmNvbmZpZ3VyYWJsZSBhbmQgUC5jb25maWd1cmFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.configurable and P.configurable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSBpcyB0cnVlICg4LjEyLjkgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false and desc.configurable is true (8.12.9 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuZW51bWVyYWJsZSBhbmQgZGVzYy5lbnVtZXJhYmxlIGhhcyBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBoYXMgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJg0KICAgICAgICAgICAgICAgIHZlcmlmeVZhbHVlICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBkZXNjLmdldCA9PT0gZ2V0X0Z1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P is accessor property and P.configurable is false, desc is data property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, desc is accessor property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSwgZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAob2JqLmZvbyA9PT0gMjApOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property and P.configurable is true, desc is accessor property (8.12.9 step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlLCAnZGVzYycgaW4gJ1Byb3BlcnRpZXMnIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is accessor property and P.configurable is true, 'desc' in 'Properties' is data property (8.12.9 step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFibGUgaXMgZmFsc2UsIGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIGRlc2Mud3JpdGFibGUgaXMgdHJ1ZSAoOC4xMi45IHN0ZXAgMTAuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when 'P' is data property and P.configurable is false, P.writable is false, desc is data property and desc.writable is true (8.12.9 step 10.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgYW5kICBkZXNjLnZhbHVlIGlzIG5vdCBlcXVhbCB0byBQLnZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, P.writable is false, desc is data property and desc.value is not equal to P.value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIHVuZGVmaW5lZCBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is undefined and properties.value is undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIG51bGwgYW5kIHByb3BlcnRpZXMudmFsdWUgaXMgbnVsbCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG51bGwsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is null and properties.value is null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIE5hTiBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyBOYU4gKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSBvYmouZm9vICE9PSBvYmouZm9vICYmIGlzTmFOKG9iai5mb28pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is NaN and properties.value is NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogLTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogKzAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJkZWZnIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIE9iamVjdHMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IHdoaWNoIGhhcyBiZWVuIHVwZGF0ZWQgYmVmb3JlIHVzZSBpdCB0byB1cGRhdGUgdGhlIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IG9iajE7DQogICAgICAgIG9iajIueSA9ICJoZWxsbyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object which has been updated before use it to update the object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogb2JqMSwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gb2JqZWN0cyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG9iajEsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two objects with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgYm90aCBwcm9wZXJ0aWVzLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IGFuZCB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQgYWZ0ZXIgZGVmaW5lZCg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wMSA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object and the object has been updated after defined(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMigpIHt9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jMSwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to different objects (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbU2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9GdW5jKCkgeyB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9GdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Set]] is undefined, properties.[[Set]] refers to an objcet (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tTZXRdXSBhbmQgcHJvcGVydGllcy5bW1NldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Set]] and properties.[[Set]] are undefined (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMSwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to different objects (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbR2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Get]] is undefined, properties.[[Get]] refers to an objcet (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYnV0IG5vdCB3aGVuIGJvdGggYXJlIGZhbHNlICg4LjEyLjkgLSBzdGVwIE5vdGUgJiAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcHJvcGVydHkxOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDA0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of named data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSBidXQgbm90IHdoZW4gYm90aCBhcmUgZmFsc2UgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of indexed data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBmaXJzdCB1cGRhdGluZyBwcm9wZXJ0eSBpcyBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of named data property 'P' when [[Configurable]] attribute of first updating property is false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGZpcnN0IHVwZGF0aW5nIHByb3BlcnR5IGFyZSBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of indexed data property 'P' when [[Configurable]] attribute of first updating property are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tHZXRdXSBhbmQgcHJvcGVydGllcy5bW0dldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Get]] and properties.[[Get]] are undefined (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value and P.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC52YWx1ZSBpcyBwcmVzZW50IGFuZCBwcm9wZXJ0aWVzLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.value is present and properties.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBpcyBwcmVzZW50IGFuZCBQLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value is present and P.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC53cml0YWJsZSBhbmQgcHJvcGVydGllcy53cml0YWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.writable and properties.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5lbnVtZXJhYmxlIGFuZCBwcm9wZXJ0aWVzLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSBhbmQgcHJvcGVydGllcy5jb25maWd1cmFibGUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAyMDAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3Quc2VhbDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3Quc2VhbC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwoZmFsc2UpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal throws TypeError if type of first param is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCgiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is a string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnNlYWwoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBleHRlbnNpYmxlIG9mICdPJyBpcyBzZXQgYXMgZmFsc2UgZXZlbiBpZiAnTycgaGFzIG5vIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoY2hpbGQpOw0KICAgICAgICBPYmplY3Quc2VhbChjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - inherited data properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydGllcyBhcmUgaWdub3JlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - inherited accessor properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBub24tZW51bWVyYWJsZSBvd24gcHJvcGVydHkgb2YgJ08nIGlzIHNlYWxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiBhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - non-enumerable own property of 'O' is sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGJvb2xPYmopOw0KDQogICAgICAgIGRlbGV0ZSBib29sT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJvb2xPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Boolean object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTEpOw0KDQogICAgICAgIG51bU9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3Quc2VhbChudW1PYmopOw0KDQogICAgICAgIGRlbGV0ZSBudW1PYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgbnVtT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of a Number object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChkYXRlT2JqKTsNCg0KICAgICAgICBkZWxldGUgZGF0ZU9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBkYXRlT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of a Date object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUocmVnT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwocmVnT2JqKTsNCg0KICAgICAgICBkZWxldGUgcmVnT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIHJlZ09iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of a RegExp object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIGRlbGV0ZSBlcnJPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZXJyT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of an Error object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChhcmdPYmopOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYXJnT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of an Arguments object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHsgZm9vOiAwIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGZ1bk9iaik7DQoNCiAgICAgICAgZGVsZXRlIGZ1bk9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBmdW5PYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyck9iaik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBhcnJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHN0ck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHN0ck9iaik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBzdHJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a String object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGZyb20gdHJ1ZSB0byBmYWxzZSBhbmQgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own data property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGlzIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSB1bmFsdGVyZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSAiZGF0YSI7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own accessor property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIHByb3BlcnRpZXMgb2YgJ08nIGFyZSBzZXQgZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9wZXJ0eSBhcmUgdW5hbHRlcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - the [[Configurable]] attribute of all own properties of 'O' are set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIGFscmVhZHkgbm9uLWNvbmZpZ3VyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - all own properties of 'O' are already non-configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW4pOw0KICAgICAgICBPYmplY3Quc2VhbChmdW4pOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZnVuKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYXJyKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKGFycik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKHN0ck9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChib29sT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG51bU9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChudW1PYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGRhdGVPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZGF0ZU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChyZWdPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZXJyT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChhcmdPYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSByZXR1cm5lZCBvYmplY3QgaXMgbm90IGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgc2VhbGVkIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgZnJvemVuIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSB0aGUgZXh0ZW5zaW9uIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - the extension of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5mcmVlemU7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5mcmVlemUubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKGZhbHNlKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKHRydWUpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSgwKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGV4dGVuc2libGUgb2YgJ08nIGlzIHNldCBhcyBmYWxzZSBldmVuIGlmICdPJyBoYXMgbm8gb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBkYXRhIHByb3BlcnRpZXMgYXJlIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - inherited data properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0aWVzIGFyZSBub3QgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - inherited accessor properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIE5vbi1lbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - Non-enumerable own properties of 'O' are frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gbmFtZWQgcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBhcnJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own named property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIEFyZ3VtZW50cyBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICIwIjogdHJ1ZQ0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcmdPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmdPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyZ09ialswXTsNCiAgICAgICAgcmV0dXJuIGFyZ09ialswXSA9PT0gMSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of the Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiMCIpOw0KDQogICAgICAgIGRlbGV0ZSBzdHJPYmpbMF07DQogICAgICAgIHJldHVybiBzdHJPYmpbMF0gPT09ICJhIiAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of a String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICByZXR1cm4gb2JqWzBdID09PSAwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own index property of the Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgIjAiOiB0cnVlDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9ialswXTsNCiAgICAgICAgcmV0dXJuIGFyck9ialswXSA9PT0gMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own index property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGZvbzogMCB9OyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgY2hpbGQuZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8uZm9vID0gMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiBhbiBBcmd1bWVudHMgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ09iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gYXJnT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own named property of an Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiB0aGUgU3RyaW5nIG9iamVjdCB0aGF0IGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBzdHJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own named property of the String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZ1bk9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBmdW5PYmouZm9vOw0KICAgICAgICByZXR1cm4gZnVuT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own property of the Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIHNldCB0byBmYWxzZSB3aGlsZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSB1bmNoYW5nZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzEiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28yIik7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzEiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHRTZXRGdW4gPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbyA9PT0gMTApOw0KICAgICAgICBvYmouZm9vID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own accessor property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFsbCBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vMjsNCiAgICAgICAgdmFyIHJlczIgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbzIiKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbzIgPT09IDEwKTsNCiAgICAgICAgb2JqLmZvbzIgPSAxMjsNCg0KICAgICAgICB2YXIgcmVzdWx0RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb28yIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28xIik7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMiIpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRDb25maWd1cmFibGUgJiYgcmVzdWx0RW51bWVyYWJsZSAmJiByZXN1bHRHZXRGdW4gJiYgcmVzdWx0U2V0RnVuOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgcmVzdWx0ICYmDQogICAgICAgICAgICBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgew0KICAgICAgICAgICAgcmVzdWx0U2V0RnVuID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgcmVzMSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vMiIpOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzI7DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIHZhciByZXN1bHRDb25maWd1cmFibGUgPSAocmVzMSAmJiByZXMyKTsNCg0KICAgICAgICB2YXIgcmVzdWx0R2V0RnVuID0gKG9iai5mb28yID09PSAxMCk7DQogICAgICAgIG9iai5mb28yID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vMiIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHRFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMSIpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzIiKTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpICYmDQogICAgICAgICAgICByZXN1bHQgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - all own properties of 'O' are not writable and not configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihmdW5PYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYXJyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShzdHJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oc3RyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYm9vbE9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUobnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG51bU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShkYXRlT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGRhdGVPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShyZWdPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ocmVnT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihlcnJPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0gKCkpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJnT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGFyZ09iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHJldHVybmVkIG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBzZWFsZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBmcm96ZW4gYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHRoZSBleHRlbnNpb25zIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - the extensions of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3InKTsKfQoK","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Checking the Object.prototype.constructor","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nICJuZXcgT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIGNvbnN0ciA9IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Cgp2YXIgb2JqID0gbmV3IGNvbnN0cjsKCi8vIENIRUNLIzAKaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogbmV3IE9iamVjdCgpIHJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBuYXRpdmUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMzCnZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ09iamVjdCcgKyddJzsKaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiT2JqZWN0Ii4nKTsKfQoKLy8gQ0hFQ0sjNAppZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgo=","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Creating \"new Object.prototype.constructor\" and checking its properties","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyBPYmplY3QucHJvdG90eXBlLnByb3RvdHlwZSBmYWlscwogKi8KCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBPYmplY3QgcHJvdG90eXBlIGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCg==","commentary":"Object prototype object has not prototype","description":"Checking if obtaining Object.prototype.prototype fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFNpbmNlIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZSwgZGVsZXRlZCB0b1N0cmluZyBtZXRob2QgY2FuIG5vdCBiZSBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KICovCgovL0NIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSA9PSBmYWxzZSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCmRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8gQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKTsKICAkRVJST1IoJyMyOiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4xOiBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCgo=","commentary":"Object prototype object has not prototype","description":"Since the Object prototype object has not prototype, deleted toString method can not be found in prototype chain","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyAiT2JqZWN0IgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIEdldHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW0NsYXNzXV0gcHJvcGVydHkgd2l0aCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgZnVuY3Rpb24KICovCgp2YXIgdG9zdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCk7CgovL0NIRUNLIzEKaWYgKHRvc3RyICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IG9mIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzICJPYmplY3QiJyk7Cn0KCg==","commentary":"The value of the internal [[Class]] property of Object prototype object is \"Object\"","description":"Getting the value of the internal [[Class]] property with Object.prototype.toString() function","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjYWxsXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvUzE1LjIuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY2FsbGluZyBPYmplY3QgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICBPYmplY3QucHJvdG90eXBlKCk7CiAgJEZBSUwoJyMxOiBTaW5jZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyBub3QgZnVuY3Rpb24gaXQgaGFzIG5vdCBbW2NhbGxdXSBtZXRob2QnKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"Since the Object prototype object is not a function, it has not [[call]] method","description":"Checking if calling Object prototype as a function fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjcmVhdGVdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgT2JqZWN0LnByb3RvdHlwZTsKICAkRkFJTCgnIzE6IFNpbmNlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Since the Object prototype object is not a function, it has not [[create]] method","description":"Checking if creating \"new Object.prototype\" fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1bmRlZmluZWQpID09PSAiW29iamVjdCBVbmRlZmluZWRdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkodW5kZWZpbmVkLCBbXSkgPT09ICJbb2JqZWN0IFVuZGVmaW5lZF0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bGwpID09PSAiW29iamVjdCBOdWxsXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShudWxsLCBbXSkgPT09ICJbb2JqZWN0IE51bGxdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgY2FsbGVkLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QKICogaWkpIENvbXB1dGUgYSBzdHJpbmcgdmFsdWUgYnkgY29uY2F0ZW5hdGluZyB0aGUgdGhyZWUgc3RyaW5ncyAiW29iamVjdCAiLCBSZXN1bHQoMSksIGFuZCAiXSIKICogaWlpKSBSZXR1cm4gUmVzdWx0KDIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpICE9PSJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogcmV0dXJuIGEgc3RyaW5nIHZhbHVlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHRocmVlIHN0cmluZ3MgIltvYmplY3QgIiwgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdCwgYW5kICJdIicpOwp9CgovL0NIRUNLIzMKaWYgKHt9LnRvU3RyaW5nKCkhPT0iW29iamVjdCAiKyJPYmplY3QiKyJdIikgewogICRFUlJPUignIzM6IHJldHVybiBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzICJbb2JqZWN0ICIsIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QsIGFuZCAiXSInKTsKfQoK","commentary":"When the toString method is called, the following steps are taken:\ni) Get the [[Class]] property of this object\nii) Compute a string value by concatenating the three strings \"[object \", Result(1), and \"]\"\niii) Return Result(2)","description":"Checking the type of Object.prototype.toString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toString method is 0","description":"Checking the Object.prototype.toString.length property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLgogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKSAhPT0gIltvYmplY3QgVW5kZWZpbmVkXSIpIHsKICAkRVJST1IoJ0lmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is undefined, return \"[object Undefined]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIG51bGwsIHJldHVybiAiW29iamVjdCBOdWxsXSIuCiAqLwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKSAhPT0gIltvYmplY3QgTnVsbF0iKSB7CiAgJEVSUk9SKCdJZiB0aGUgdGhpcyB2YWx1ZSBpcyBudWxsLCByZXR1cm4gIltvYmplY3QgTnVsbF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is null, return \"[object Null]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKDMzKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRydWUpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCdmb28nKSAhPT0gIltvYmplY3QgU3RyaW5nXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"Object.prototype.toString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHZhciBwIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvTG9jYWxlU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMxOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoe30udG9Mb2NhbGVTdHJpbmcoKSE9PXt9LnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMyOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCg==","commentary":"toLocaleString function returns the result of calling toString()","description":"Checking the type of Object.prototype.toLocaleString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.toLocaleString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toLocaleString method is 0","description":"Checking the Object.prototype.toLocaleString.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVuZGVmaW5lZCk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKG51bGwpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toLocaleString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toLocaleString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.toLocaleString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toLocaleString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toLocaleString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.valueOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB2YWx1ZU9mIG1ldGhvZCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9Cgo=","commentary":"The length property of the valueOf method is 0","description":"Checking the Object.prototype.valueOf.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwobnVsbCk7Cgo=","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKKDEsT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSgpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIHdoZW4gY2FsbGVkIGFzIGEgZ2xvYmFsIGZ1bmN0aW9uLgogKiBAbmVnYXRpdmUKICovCgp2YXIgdiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKdigpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf when called as a global function.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgxLjEpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0xLjEpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a number","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QodHJ1ZSk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PXRydWUpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a boolean","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgiZ3JlZW5maWVsZCIpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0iZ3JlZW5maWVsZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a string","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3Q7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is an object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgIm51bGwiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QobnVsbCk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"null\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"undefined\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInZvaWQgMCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh2b2lkIDApOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"void 0\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC9TMTUuMi40LjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.valueOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.valueOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.valueOf can't be used as a constructor","description":"Checking if creating \"new Object.prototype.valueOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja25pZyBpZiBkZWxldGluZyBvZiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.valueOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9PYmplY3QgbWV0aG9kIGlzIDEnKTsKfQoK","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5ICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImhhc093blByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Checking type of the Object.prototype.hasOwnProperty and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSkgewogICRFUlJPUignIzM6IGhhc093blByb3BlcnR5IG1ldGhvZCB3b3JrcyBwcm9wZXJseScpOwp9CgovL0NIRUNLIzQKaWYgKCEob2JqLmhhc093blByb3BlcnR5KCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyM0OiBoYXNPd25Qcm9wZXJ0eSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQovLwoK","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QKICovCgp2YXIgRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLmFwcm9wZXJ0eSA9IDE7Cn07Cgp2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKGluc3RhbmNlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpKSB7CiAgJEVSUk9SKCcjMzogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgiYXByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCgo=","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom property of a function object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjUvUzE1LjIuNC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.hasOwnProperty has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.hasOwnProperty fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.hasOwnProperty can't be used as a constructor","description":"Checking if creating \"new Object.prototype.hasOwnProperty\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBpc1Byb3RvdHlwZU9mIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudCBWIGFuZCB3aGVuIE8gYW5kCiAqIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyB0d28gb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIFVTRVJfRkFDVE9SWSggbmFtZSApIHsKICB0aGlzLm5hbWUgPSBuYW1lOwogIHRoaXMuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBuYW1lO307Cn0KCgpmdW5jdGlvbiBGT1JDRURVU0VSX0ZBQ1RPUlkoIG5hbWUsIGdyYWRlICkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmdyYWRlID0gZ3JhZGU7CiAgdGhpcy5nZXRHcmFkZT1mdW5jdGlvbigpe3JldHVybiBncmFkZTt9Owp9Cgp2YXIgcHJvdG8gPSBuZXcgVVNFUl9GQUNUT1JZKCJub25hbWUiKTsKCkZPUkNFRFVTRVJfRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBsdWtlID0gbmV3IEZPUkNFRFVTRVJfRkFDVE9SWSgiTHVrZSBTa3l3YWxrZXIiLCAxMik7Ci8vLy8vLwovLyBDSEVDSyMxCmlmKHByb3RvLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRQUklOVCgnIzE6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfSBlbHNlIHsKICAkRVJST1IoJyMxOiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uJyk7Cn0KLy8KLy8vLy8vLy8vCi8vLy8vLwovLyBDSEVDSyMyCmlmKFVTRVJfRkFDVE9SWS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihsdWtlKSl7CiAgJFBSSU5UKCcjMjogTmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0cyBoYXZlIGFuIGludGVybmFsIHByb3BlcnR5IGNhbGxlZCBbW1Byb3RvdHlwZV1dLicpOwp9IGVsc2UgewogICRFUlJPUignIzI6IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KLy8vLy8vCi8vIENIRUNLIzMKaWYoTnVtYmVyLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRFUlJPUignIzI6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KCg==","commentary":"When the isPrototypeOf method is called with argument V and when O and\nV refer to the same object or to objects joined to each other, return true","description":"Creating two objects with the same prototype","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9Cgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.isPrototypeOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwodW5kZWZpbmVkLCB7fSk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwge30pOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNi9TMTUuMi40LjZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.isPrototypeOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.isPrototypeOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyBuZXcgIk9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.isPrototypeOf can't be used as a constructor","description":"Checking if creating new \"Object.prototype.isPrototypeOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontEnum","description":"Checknig if enumerating the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWxldGluZyB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontDelete","description":"Checking deleting the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCg==","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.propertyIsEnumerable.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the value of Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyB0aGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGZvciBvYmplY3QgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgcHJvdG89e3Jvb3Rwcm9wOiJhdmlzIn07CgpmdW5jdGlvbiBBVklTRkFDVE9SWShuYW1lKXt0aGlzLm5hbWU9bmFtZX07CgpBVklTRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBzZWFndWxsPSBuZXcgQVZJU0ZBQ1RPUlkoInNlYWd1bGwiKTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoIm5hbWUiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CmlmIChzZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJyb290cHJvcCIpKSB7CiAgJEVSUk9SKCcjNDogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbicpOwp9Ci8vCgo=","commentary":"The propertyIsEnumerable method does not consider objects in the prototype chain","description":"Calling the propertyIsEnumerable method for object in the prototype chain","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB0eXBlIG9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Checking the type of Object.prototype.propertyIsEnumerable and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHByb3BlcnR5SXNFbnVtZXJhYmxlIG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKCEob2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CnZhciBhY2N1bT0iIjsKZm9yKHZhciBwcm9wIGluIG9iaikgewogIGFjY3VtKz1wcm9wOwp9CmlmIChhY2N1bS5pbmRleE9mKCJ0aGVfcHJvcGVydHkiKSE9PTApIHsKICAkRVJST1IoJyM0OiBlbnVtZXJhdGluZyB3b3JrcyBwcm9wZXJseScpOwp9Ci8vCgo=","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Argument of the propertyIsEnumerable method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjcvUzE1LjIuNC43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.propertyIsEnumerable has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.propertyIsEnumerable fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.propertyIsEnumerable can't be used as a constructor","description":"Checking if creating \"new Object.prototype.propertyIsEnumerable\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQovLwoK","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBGdW5jdGlvbijigKYpIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uCiAqIG5ldyBGdW5jdGlvbijigKYpIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLgogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHNpbXBsZSBmdW5jdGlvbnMgYW5kIGNoZWNrIHJldHVybmVkIHZhbHVlcwogKi8KCnZhciBmID0gRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMTogZiBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGYoMSkgIT09IDEnKTsKfQoKdmFyIGcgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgoKLy9DSEVDSyMzCmlmICghKGcgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBnIGluc3RhbmNlb2YgRnVuY3Rpb24nKTsKfQoKLy9DSEVDSyM0CmlmIChnKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzQ6IGcoIkEiKSAhPT0gIkEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZygiQSIpICE9PSBmKCJBIikpIHsKICAkRVJST1IoJyM1OiBnKCJBIikgIT09IGYoIkEiKScpOwp9Cgo=","commentary":"The function call Function(\u2026) is equivalent to the object creation expression\nnew Function(\u2026) with the same arguments.","description":"Create simple functions and check returned values","path":"TestCases/ch15/15.3/S15.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy9TMTUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBGdW5jdGlvbiB3aXRoIHRoaXMuRnVuY3Rpb24KICovCgp2YXIgb2JqID0gRnVuY3Rpb247Cgp2YXIgdGhpc29iaiA9IHRoaXMuRnVuY3Rpb247CgppZiAob2JqICE9PSB0aGlzb2JqKSB7CiAgJEVSUk9SKCdGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsJyk7Cn0KCg==","commentary":"Function is the property of global","description":"Compare Function with this.Function","path":"TestCases/ch15/15.3/S15.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyIHggLyA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var x / = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyICN4ICA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var #x = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBvYmplY3QKICovCgovL0NIRUNLIzEgLSBkb2VzIG5vdCB0aHJvdwp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInJldHVybiBuYW1lOyIpOwp2YXIgbWFycz17bmFtZToibWFycyIsIGNvbG9yOiJyZWQiLCBudW1iZXI6NH07Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInRoaXMuZ29kbmFtZT1cImFyZXNcIjsgcmV0dXJuIHRoaXMuY29sb3I7Iik7Cgp2YXIgYWJvdXRfbWFycyA9IGYoKTsKCi8vQ0hFQ0sjMgppZiAoYWJvdXRfbWFycyAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpcy5nb2RuYW1lICE9PSAiYXJlcyIgJiYgbWFycy5nb2RuYW1lPT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is object","path":"TestCases/ch15/15.3/S15.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBzdHJpbmcgYW5kIG51bGwKICovCgp0aGlzLmNvbG9yPSJyZWQiOwp2YXIgbmFtZT0ibWFycyI7Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwoImJsYWJsYXN0cmluZyIsICJyZXR1cm4gdGhpcy5jb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpICE9PSAicmVkIikgewogICRFUlJPUignIzE6ICcpOwp9Cgp2YXIgZyA9IEZ1bmN0aW9uLmNhbGwobnVsbCwgInJldHVybiB0aGlzLm5hbWU7Iik7CgovL0NIRUNLIzIKaWYgKGcoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCgo=","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is string and null","path":"TestCases/ch15/15.3/S15.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBjb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0KCnZhciBwbGFuZXQ9Im1hcnMiOwoKLy9DSEVDSyMyCmlmIChmKCkgIT09ICJtYXJzIikgewogICRFUlJPUignIzI6ICcpOwp9CgovL0NIRUNLIzMKdHJ5ewogIGcoKTsKICAkRVJST1IoJyMzOiAnKTsKfSBjYXRjaChlKXsKICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQogIAkkRVJST1IoJyMzLjE6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiB0aGlzLmNvbG9yOyIpOwoKLy9DSEVDSyMxCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6ICcpOwp9Cgp2YXIgcGxhbmV0PSJtYXJzIjsKCi8vQ0hFQ0sjMgppZiAoZigpICE9PSAibWFycyIpIHsKICAkRVJST1IoJyMyOiAnKTsKfQoKLy9DSEVDSyMzCmlmIChnKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0iCiAqLwoKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyA3O319CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKICAkRkFJTCgnIzE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gNykgewogIAkkRVJST1IoJyMxLjE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){throw 7;}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJudWxsIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxzIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ1bmRlZmluZWQiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ2b2lkIDAiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ7fSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih7fSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"{}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAicmV0dXJuIDE7Ijt9fSIKICovCgp2YXIgYm9keT17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInJldHVybiAxOyI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsJCn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0xKSB7CiAgJEVSUk9SKCcjMzogaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){return \"return 1;\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgMQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKDEpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is 1","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgeCwgd2hlcmUgeCBpcyBzcGVjaWZpZWQgd2l0aCAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHgpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciB4OwoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is x, where x is specified with \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgicmV0dXJuIFwnQVwnIikiCiAqLwoKdmFyIGJvZHkgPSBPYmplY3QoInJldHVybiBcJ0FcJyIpOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0iXHUwMDQxIikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(\"return \\'A\\'\")\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgdGhlIHN0cmluZyAicmV0dXJuIHRydWU7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdHJ1ZTsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKCEoZigpKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is the string \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgxKSIKICovCgp2YXIgYm9keSA9IG5ldyBPYmplY3QoMSk7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(1)\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInZhciAxPTE7IgogKi8KCnZhciBib2R5ID0gInZhciAxPTE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"var 1=1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInJldHVybiBhcmd1bWVudHNbMF07IgogKi8KCnZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"return arguments[0];\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEiLCAiYXJnMiIsICJhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigxLDIsMykgIT09IDYpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1\", \"arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCJBQiIsIkJBIiwxKSAhPT0gIkFCQkExIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyLCBhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSwgYXJnMiwgYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwxLCJBQkJBIikgIT09ICIyQUJCQSIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2, arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzCiAqLwoKdmFyIGk9MDsKCnZhciBwPXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYXJnIisoKytpKTt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCwgcCwgcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0LCIyIiwiUVVFU1RJT04iKSAhPT0gIjQyUVVFU1RJT04iKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQogIAo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCxwLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCIiLDEsMikgIT09ICIxMiIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCsiLCIrcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigiIiwxLHApICE9PSAiMWFyZzQiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoK","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX0iIGFuZCAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2JvZHknO319IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgMTt9fTsKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiYm9keSI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAxKSB7CiAgCSRFUlJPUignIzEuMTogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7CiAgfQp9CgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){throw 1;}}\" and \"{toString:function(){throw 'body';}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ6O3gifX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return \"z;x\"}}\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ2b2lkIDAiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ1bmRlZmluZWQiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJudWxsIgogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kIGFuIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciBib2R5OwoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and an undefined variable","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIGFyZSB0d28gZW1wdHkgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCIiLCAiIik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are are two empty strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX0iIGFuZCAicmV0dXJuIGE7IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIjt9fTsKdmFyIGJvZHkgPSAicmV0dXJuIGE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0MikhPT00MikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCgoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return 'a';}}\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319IiBhbmQgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fSIKICovCgp2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJib2R5IikgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKLy9DSEVDSyMyCmlmIChwICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7Cn0KCgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){p=1;return \"a\";}}\" and \"{toString:function(){throw \"body\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgYW4gdW5kZWZpbmVkIHZhcmlhYmxlIGFuZCAicmV0dXJuIDEuMTsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEuMSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgcDsK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are an undefined variable and \"return 1.1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInZvaWQgMCIgYW5kICJyZXR1cm4gXCJBXCI7IgogKi8KCnZhciBib2R5ID0gInJldHVybiBcIkFcIjsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09J1x1MDA0MScpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"void 0\" and \"return \\\"A\\\";\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIm51bGwiIGFuZCAicmV0dXJuIHRydWU7IgogKi8KCnZhciBib2R5ID0gInJldHVybiB0cnVlOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihudWxsLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"null\" and \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIk9iamVjdCgiYSIpIiBhbmQgInJldHVybiBhOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gYTsiOwoKdmFyIHA9T2JqZWN0KCJhIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCBib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSkhPT0xKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0K","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"Object(\"a\")\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInVuZGVmaW5lZCIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHVuZGVmaW5lZCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXRoaXMpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"undefined\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIjEsMSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9IjEsMSI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"1,1\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBjb25zdHVjdG9yIG9mIHRoZSBvYmplY3QgdGhhdCBpcyBjcmVhdGVkIGFzIGEgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGYgPSBuZXcgRnVuY3Rpb247CgovL0NIRUNLIzEKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmIChmID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9Cgo=","commentary":"When Function is called as part of a new expression, it is a constructor: it initialises the newly created object","description":"Checking the constuctor of the object that is created as a new Function","path":"TestCases/ch15/15.3/15.3.2/S15.3.2_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMC00Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzIGluIChnbG9iYWwpIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIF8xNV8zXzJfMV8xMF80X2Z1biA9IG5ldyBGdW5jdGlvbigncGFyYW1fMScsICdwYXJhbV8yJywgJ3BhcmFtXzEnLCAnInVzZSBzdHJpY3QiOyByZXR1cm4gMDsnKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (global) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMC02Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzIGluIChsb2NhbCkgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzE1XzNfMl8xXzEwXzZfZnVuID0gbmV3IEZ1bmN0aW9uKCdwYXJhbV8xJywgJ3BhcmFtXzInLCAncGFyYW1fMScsICcidXNlIHN0cmljdCI7cmV0dXJuIDA7Jyk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (local) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-6gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgIA0KICB0cnkgew0KICAgIEZ1bmN0aW9uKCdhJywnYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate seperate parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBzZXBhcmF0ZSBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhJywnYScsJ3JldHVybjsnKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate separate parameter name in Function constructor allowed if body not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGNhbGxlZCBmcm9tIHN0cmljdCBtb2RlIGFsbG93ZWQgaWYgYm9keSBub3Qgc3RyaWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyANCiAgInVzZSBzdHJpY3QiOyANCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignYScsJ2EnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate seperate parameter name in Function constructor called from strict mode allowed if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgaGF2aW5nIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQoNCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignZXZhbCcsICcidXNlIHN0cmljdCI7Jyk7DQoJcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function constructor having a formal parameter named 'eval' throws SyntaxError if function body is strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIG1heSBoYXZlIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgaWYgYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBGdW5jdGlvbignZXZhbCcsICdyZXR1cm47Jyk7DQogIHJldHVybiB0cnVlOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function constructor may have a formal parameter named 'eval' if body is not strict mode","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgeyANCiAgICAgRnVuY3Rpb24oJ2V2YWwnLCAncmV0dXJuOycpOw0KCSByZXR1cm4gdHJ1ZTsNCiAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KICAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function constructor call from strict code with formal parameter named 'eval' does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgICANCiAgdHJ5IA0KICB7DQogICAgRnVuY3Rpb24oJ2EsYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCglyZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4oZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate combined parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBjb21iaW5lZCBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgaXMgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate combined parameter name in Function constructor allowed if body is not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGFsbG93ZWQgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbGVkIGluIHN0cmljdCBtb2RlIGlmIGJvZHkgbm90IHN0cmljdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgDQogICJ1c2Ugc3RyaWN0IjsgDQogIHRyeSB7DQogICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm4gYTsnKTsNCgkgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate combined parameter name allowed in Function constructor called in strict mode if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCBhcmd1bWVudHMgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgew0KICAgICBGdW5jdGlvbignYXJndW1lbnRzJywgJ3JldHVybjsnKTsNCiAgICAgcmV0dXJuIHRydWU7DQoJIA0KICAgfSBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function constructor call from strict code with formal parameter named arguments does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIGEgZnVuY3Rpb24gaXMgY3JlYXRlZCB1c2luZyBhIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRoYXQgaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycywgd2hpY2ggYXJlIHNlcGFyYXRlZCBieSBhIHVuaXF1ZSBwYXJhbWV0ZXIgbmFtZSBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJxdXgiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is not thrown if a function is created using a Function constructor that has two identical parameters, which are separated by a unique parameter name and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IGhhcyB0aHJlZSBpZGVudGljYWwgcGFyYW1ldGVycyBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJiYXoiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function is created using the Function constructor that has three identical parameters and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zL1MxNS4zLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICovCgppZighRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKXsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Function constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uCiAqLwoKLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEZ1bmN0aW9uKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Checking prototype of Function","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBGdW5jdGlvbi5wcm90b3R5cGUgYW5kIGNoZWNrIGl0CiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIwppZiAoRnVuY3Rpb24uaW5kaWNhdG9yICE9IDEpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Add new property to Function.prototype and check it","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy9TMTUuMy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKCFGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Function constructor has length property whose value is 1","description":"Checking Function.length property","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlOwpGdW5jdGlvbi5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgaWYoRnVuY3Rpb24ucHJvdG90eXBlKCkhPT11bmRlZmluZWQpewogICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzIuMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHk6ICcrZSk7Cn0KCg==","commentary":"The Function.prototype property has the attribute ReadOnly","description":"Checking if varying the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBGdW5jdGlvbil7CiAgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy8xNS4zLjMuMS9TMTUuMy4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgpkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlOwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"The Function.prototype property has the attribute DontDelete","description":"Checking if deleting the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZXRlY3RzIHdoZXRoZXIgdGhlIHZhbHVlIG9mIGEgZnVuY3Rpb24ncyAicHJvdG90eXBlIiBwcm9wZXJ0eQogKiBhcyBzZWVuIGJ5IG5vcm1hbCBvYmplY3Qgb3BlcmF0aW9ucyBtaWdodCBkZXZpYXRlIGZyb20gdGhlIHZhbHVlCiAqIGFzIHNlZW0gYnkgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zLzE1LjMuMy4xL1MxNS4zLjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIHJlYWRpbmcgYSBmdW5jdGlvbidzIC5wcm90b3R5cGUgZGlyZWN0bHkKICogYWdyZWVzIHdpdGggcmVhZGluZyBpdCB2aWEgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciwgYWZ0ZXIKICogaGF2aW5nIHNldCBpdCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28sICdwcm90b3R5cGUnLCB7IHZhbHVlOiB7fSB9KTsKaWYgKGZvby5wcm90b3R5cGUgIT09CiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZvbywgJ3Byb3RvdHlwZScpLnZhbHVlKSB7CiAgJEVSUk9SKCJBIGZ1bmN0aW9uLnByb3RvdHlwZSdzIGRlc2NyaXB0b3IgbGllcyIpOwp9Cgo=","commentary":"Detects whether the value of a function's \"prototype\" property\nas seen by normal object operations might deviate from the value\nas seem by Object.getOwnPropertyDescriptor","description":"Checks if reading a function's .prototype directly\nagrees with reading it via Object.getOwnPropertyDescriptor, after\nhaving set it by Object.defineProperty.","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjIvMTUuMy4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLmxlbmd0aCAtIGRhdGEgcHJvcGVydHkgd2l0aCB2YWx1ZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24sImxlbmd0aCIpOw0KICBpZihkZXNjLnZhbHVlID09PSAxICYmDQogICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKQ0KICAgIHJldHVybiB0cnVlOyANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.length - data property with value 1","path":"TestCases/ch15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCg==","commentary":"The initial value of Function.prototype.constructor is the built-in Function constructor","description":"Checking Function.prototype.constructor","path":"TestCases/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgKGl0cyBbW0NsYXNzXV0gaXMgIkZ1bmN0aW9uIikKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgW29iamVjdCtbW0NsYXNzXV0rXQogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The Function prototype object is itself a Function object (its [[Class]] is \"Function\")","description":"Object.prototype.toString returns [object+[[Class]]+]","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoKQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9Cgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype()","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoK","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(null,void 0)","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZSh4KSAhPT0gdW5kZWZpbmVkKSB7CiAgICB2YXIgeDsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(x), where x is undefined variable","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiAnICsKICAgICAgICAgJ3RoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlICcgKwogICAgICAgICAnb2JqZWN0ICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.4)","description":"Checking prototype of Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IGF0IEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciE9PTEpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSknKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)","description":"Add new property to Object.prototype and check it at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duLiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40L1MxNS4zLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlT2YgcHJvcGVydHkgYXQgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgIT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikgewogICRFUlJPUignIzM6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCg==","commentary":"The Function prototype object does not have a valueOf property of its own. however, it inherits the valueOf property from the Object prototype Object","description":"Checking valueOf property at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0IiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9Cgo=","commentary":"The Function prototype object is itself a Function object without [[create]] property","description":"Checking if creating \"new Function.prototype object\" fails","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyB0aGUgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvU3RyaW5nIG1ldGhvZCBpcyAwJyk7Cn0KCg==","commentary":"The length property of the toString method is 0","description":"Checking Function.prototype.toString.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"","description":"The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKTsKCg==","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7fSk7Cgo=","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGNhbGxhYmxlLCBSZWdFeHAgb2JqZWN0cyBhcmUgbm90IEZ1bmN0aW9uIG9iamVjdHMsIHNvIHRvU3RyaW5nIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKC94Lyk7Cgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"Whether or not they are callable, RegExp objects are not Function objects, so toString should throw a TypeError.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIFRoZSBTdHJpbmcgY29uc3RydWN0b3IsIGdpdmVuIGFuIG9iamVjdCwgc2hvdWxkIGludm9rZSB0aGF0IG9iamVjdCdzIHRvU3RyaW5nIG1ldGhvZCBhcyBhIG1ldGhvZCwgaS5lLiwgd2l0aCBpdHMgdGhpcyB2YWx1ZSBib3VuZCB0byB0aGF0IG9iamVjdC4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCnZhciBvYmogPSB7dG9TdHJpbmc6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZ307CgpTdHJpbmcob2JqKTsKCg==","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"The String constructor, given an object, should invoke that object's toString method as a method, i.e., with its this value bound to that object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMi9TMTUuMy40LjJfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlKTsKfQoK","commentary":"Function.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.toString fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmciIGZhaWxzCiAqLwoKdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Cgp0cnkgewogIHZhciBpbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwogICRGQUlMKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGNhblwndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Function.prototype.toString can't be used as constructor","description":"Checking if creating \"new Function.prototype.toString\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjIvUzE1LjMuNC4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmFwcGx5KCIiLCBBcnJheSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5hcHBseSgtMTIsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgQm9vbGVhbik7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFmdW4uYXBwbHkoZmFsc2UsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIFRDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAodmFyIHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute DontEnum","description":"TChecking if enumerating the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSk7Cn0KCg==","commentary":"Function.prototype.apply has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.apply fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodW5kZWZpbmVkLCB7fSwgW10pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwobnVsbCwge30sIFtdKTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoe30sIHt9LCBbXSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBhcHBseSBzaG91bGQgYWNjZXB0IGl0IGFzIGEgdmFsaWQgdGhpcyB2YWx1ZS4KICovCgp2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHJlLCB1bmRlZmluZWQsIFsneCddKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case apply should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24oKQogKi8KCnZhciBwcm90bz1GdW5jdGlvbigpOwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1wcm90bzsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouYXBwbHkoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9Cgo=","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1GdW5jdGlvbi5wcm90b3R5cGU7Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking Function.prototype.apply.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZi5hcHBseS5sZW5ndGgsIHdoZXJlIGYgaXMgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGY9bmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZi5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmLmFwcGx5Lmxlbmd0aCA9PT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgb2YgYXBwbHkgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking f.apply.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cInN0cmF3YmVycnlcIiIpLmFwcGx5KCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJzdHJhd2JlcnJ5IikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpldmFsKCIgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PTF9KS5hcHBseSgpIik7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbAogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiZ3JlZW5cIiIpLmFwcGx5KG51bGwpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiZ3JlZW4iKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJiYXR0bGVcIiIpLmFwcGx5KHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJiYXR0bGUiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJvaWxcIiIpLmFwcGx5KHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJvaWwiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBhcHBseSBmdW5jdGlvbiBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkoKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAiaW4gZGEgaGF1cyIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at apply function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KG51bGwpOwp9OwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkodm9pZCAwKTsKfSkoKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KHVuZGVmaW5lZCk7Cn0pKCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImthbW9uIGJleWJhIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKZXZhbCggIiBGdW5jdGlvbihcInRoaXMuZmVhdD0xXCIpLmFwcGx5KHZvaWQgMCkgIiApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgpmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO307CgpyZXRvYmogPSBmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgp2YXIgb2JqOwoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG51bGwsMSkKICovCgovL0NIRUNLIzEKdHJ5IHsKICBGdW5jdGlvbigpLmFwcGx5KG51bGwsMSk7CiAgJEZBSUwoJyMxOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (null,1)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG9iamVjdCwiMSwzLDQiKQogKi8KCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIEZ1bmN0aW9uKCkuYXBwbHkob2JqLCIxLDMsNCIpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (object,\"1,3,4\")","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuYXBwbHkobnVsbCxbMV0pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAoZW1wdHkgb2JqZWN0LCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShvYmosYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxLDIsM10pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWEyOyIpLmFwcGx5KG51bGwsWzEsMiwzXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gMikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1,2,3])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDMuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCmk9MDsKCnA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCm9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG9iaiwgbmV3IEFycmF5KCJuaW5lIiwiaW5jaCIsIm5haWxzIikpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIm5pbmUiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDQuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pICgiYSIsImIiLCJjIikpCiAqLwoKaT0wOwoKcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKb2JqPXt9OwoKbmV3IEZ1bmN0aW9uKHAscCxwLCAidGhpcy5zaGlmdGVkPWEzOyIpLmFwcGx5KCBvYmosKCBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHM7fSkgKCJhIiwiYiIsImMiKSApOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gImMiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, ( function(){return arguments;}) (\"a\",\"b\",\"c\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDUuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkobnVsbCxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDYuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkodGhpcyxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDcuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfSkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDguanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDkuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkob2JqLGFyZ3VtZW50cyk7CiAgcmV0dXJuIG9iajsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnNoaWZ0ZWQgIT09ICIxMiIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5OwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5hcHBseSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").apply)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5OwogIG9iaiA9IG5ldyBGQUNUT1JZKCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpOwp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").apply())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.apply.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhvdXQgYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgU3RyaW5nKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IGFyZ3VtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKC0xMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called without an array argument","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAodGhpcyBpbnN0YW5jZW9mIEJvb2xlYW4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmNhbGwoZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.call.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.call.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUpOwp9Cgo=","commentary":"Function.prototype.call has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.call fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh1bmRlZmluZWQsIHt9KTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChudWxsLCB7fSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh7fSwge30pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBjYWxsIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChyZSwgdW5kZWZpbmVkLCAneCcpOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCg==","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case call should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Call \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9RnVuY3Rpb24ucHJvdG90eXBlOwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLmNhbGwgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBjYWxsIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouY2FsbCgpOwogICRGQUlMKCcjMjogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzIuMTogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking Function.prototype.call.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmLmNhbGwubGVuZ3RoLCB3aGVyZSBmIGlzIG5ldyBGdW5jdGlvbgogKi8KCnZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking f.call.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCmV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmNhbGwoKSIpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at call function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgp2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFsxXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXS5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpc1sic2hpZnRlZCJdWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bmVtdHMgb2YgY2FsbCBmdW5jdGlvbiBpcyAoZW1wdHkgb2JqZWN0LCAiIiwgYXJndW1lbnRzLDIpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChvYmosYXJndW1lbnRzLCIiLCIyIik7Cn0pKCIiLDQsMiwiYSIpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwobnVsbCxbMywyLDFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKCh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDMpfHwodGhpc1sic2hpZnRlZCJdWzFdICE9PSAyKXx8KHRoaXNbInNoaWZ0ZWQiXVsyXSAhPT0gMSkpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[3,2,1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKdmFyIG9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwob2JqLCBuZXcgQXJyYXkoIm5pbmUiLCJpbmNoIiwibmFpbHMiKSk7CgovL0NIRUNLIzEKaWYgKG9ialsic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKChvYmpbInNoaWZ0ZWQiXVswXSAhPT0gIm5pbmUiKXx8KG9ialsic2hpZnRlZCJdWzFdICE9PSAiaW5jaCIpfHwob2JqWyJzaGlmdGVkIl1bMl0gIT09ICJuYWlscyIpKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pKCJhIiwiYiIsImMiLCJkIiksIiIsMikKICovCgp2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCnZhciBvYmo9e307CgpuZXcgRnVuY3Rpb24ocCxwLHAsICJ0aGlzLnNoaWZ0ZWQ9YTMrYTIrYTEubGVuZ3RoOyIpLmNhbGwoIG9iaiwoIGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50czt9KSgiYSIsImIiLCJjIiwiZCIpLCIiLDIgKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICIyNCIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, ( function(){return arguments;})(\"a\",\"b\",\"c\",\"d\"),\"\",2)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChudWxsLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiwxLDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbCh0aGlzLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiw0LDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDEsMix0cnVlKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwodGhpcyxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDQsMixudWxsKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICIiLCBhcmd1bWVudHMsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIubGVuZ3RoK2EzOyIpLmNhbGwob2JqLCIiLGFyZ3VtZW50cywyKTsKICByZXR1cm4gb2JqOwp9Cgp2YXIgb2JqPW5ldyBGQUNUT1JZKCIiLDEsMix2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5zaGlmdGVkICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLmNhbGwiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").call)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbDsKICB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKSIgZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKTsKfSBjYXRjaCAoZSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").call())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.call.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind must exist as a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind must exist as a function taking 1 parameter","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tDbGFzc11dIG9mICdGJyBpcyBzZXQgYXMgRnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSAiW29iamVjdCBGdW5jdGlvbl0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - internal property [[Class]] of 'F' is set as Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tQcm90b3R5cGVdXSBvZiAnRicgaXMgc2V0IGFzIEZ1bmN0aW9uLnByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - internal property [[Prototype]] of 'F' is set as Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIGJvdW5kIGZuIGhhcyBhICdsZW5ndGgnIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIGlmIChiZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, bound fn has a 'length' own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKGFsbCBhcmdzIHByZWZpbGxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvLCA0MiwgMTAxKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (all args prefilled)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCB0YWtlcyAwIGFyZ3MpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target takes 0 args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCBwcm92aWRlZCBleHRyYSBhcmdzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICBpZiAoYmYubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target provided extra args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGZvbyh4LCB5KSB7IH0NCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICAgIGlmIChiZi5sZW5ndGggPT09IDEpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiZiwgJ2xlbmd0aCcpOw0KICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJmLCAnbGVuZ3RoJyk7DQogIGlmIChkZXNjLnZhbHVlID09PSAwICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property with default attributes (false)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgbGVuZ3RoIHByb3BlcnR5IGluIEYgc2V0IGFzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQogICAgICAgIG9iai5sZW5ndGggPSAxMDA7DQogICAgICAgIGNhbldyaXRhYmxlID0gKG9iai5sZW5ndGggPT09IDEwMCk7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuV3JpdGFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Writable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBsZW5ndGggcHJvcGVydHkgaW4gRiBzZXQgYXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5FbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5FbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGxlbmd0aCBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCiAgICAgICAgZGVsZXRlIG9iai5jYWxsZXI7DQogICAgICAgIGNhbkNvbmZpZ3VyYWJsZSA9ICFvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWNhbkNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBbW0V4dGVuc2libGVdXSBvZiB0aGUgYm91bmQgZm4gaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBleCA9IE9iamVjdC5pc0V4dGVuc2libGUoYmYpOw0KICBpZiAoZXggPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, [[Extensible]] of the bound fn is true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRXh0ZW5zaWJsZV1dIGF0dHJpYnV0ZSBvZiBpbnRlcm5hbCBwcm9wZXJ0eSBpbiBGIHNldCBhcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Extensible]] attribute of internal property in F set as true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJ1dCBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gRnVuY3Rpb24ucHJvdG90eXBlOw0KICAvLyBkdW1teSBmdW5jdGlvbg0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCg0KICB0cnkgew0KICAgIGYuYmluZCgpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (but an instance of Function)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBOVUxMDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is NULL","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfSANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a boolean","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKDUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is Object without Call internal method","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSAnVGFyZ2V0JyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gdGVzdEZ1bmMoKSB7fQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGVzdEZ1bmMuYmluZCgpOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - 'Target' is a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJpbmQgYXR0YWNoZWQgdG8gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGR1bW15IGZ1bmN0aW9uIA0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5iaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgdHJ5IHsNCiAgICBmLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (bind attached to object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBibmMgPSBOdW1iZXIuYmluZChudWxsKTsNCiAgdmFyIG4gPSBibmMoNDIpOw0KICBpZiAobiA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Number)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBic2MgPSBTdHJpbmcuYmluZChudWxsKTsNCiAgdmFyIHMgPSBic2MoImhlbGxvIHdvcmxkIik7DQogIGlmIChzID09PSAiaGVsbG8gd29ybGQiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (String)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYmJjID0gQm9vbGVhbi5iaW5kKG51bGwpOw0KICB2YXIgYiA9IGJiYyh0cnVlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Boolean)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBib2MgPSBPYmplY3QuYmluZChudWxsKTsNCiAgdmFyIG8gPSBib2MoNDIpOw0KICBpZiAobyA9PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (JSON)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJhYyA9IEFycmF5LmJpbmQobnVsbCk7DQogICAgICAgIHZhciBhID0gYmFjKDQyKTsNCiAgICAgICAgYS5wcm9wID0gInZlcmlmeVByb3BlcnR5RXhpc3QiOw0KICAgICAgICBhWzQxXSA9IDQxOw0KDQogICAgICAgIHJldHVybiBhLnByb3AgPT09ICJ2ZXJpZnlQcm9wZXJ0eUV4aXN0IiAmJiBhWzQxXSA9PT0gNDEgJiYgYS5sZW5ndGggPT09IDQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Array)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiZGMgPSBEYXRlLmJpbmQobnVsbCk7DQogIHZhciBzID0gYmRjKDAsIDAsIDApOw0KICBpZiAodHlwZW9mKHMpID09PSAnc3RyaW5nJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind allows Target to be a constructor (Date)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2NhbGxlcicgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - 'caller' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5jYWxsZXIgJiYgZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5jYWxsZXIgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnY2FsbGVyJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY2FsbGVyIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdjYWxsZXInIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgY2FuQ29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2FyZ3VtZW50cycgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - 'arguments' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBvYmouYXJndW1lbnRzICYmIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5hcmd1bWVudHMgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnYXJndW1lbnRzJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiYXJndW1lbnRzIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdhcmd1bWVudHMnIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSAhb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5Db25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBlYWNoIGFyZyBpcyBkZWZpbmVkIGluIEEgaW4gbGlzdCBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICh4LCB5KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKHggKyB5KSA9PT0gImFiIiAmJiBhcmd1bWVudHNbMF0gPT09ICJhIiAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gImIiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSwgImEiLCAiYiIpOw0KICAgICAgICByZXR1cm4gb2JqKCk9PXRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - each arg is defined in A in list order","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW5ub3QgZ2V0IHByb3BlcnR5IHdoaWNoIGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F cannot get property which doesn't exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5ID0gMzsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi03LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHkgPSAzOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi04LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIHR5cGUgb2YgYm91bmQgZnVuY3Rpb24gbXVzdCBiZSAnZnVuY3Rpb24nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKHR5cGVvZihiZikgPT09ICdmdW5jdGlvbicpIHsNCiAgICByZXR1cm4gIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, type of bound function must be 'function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbQ2xhc3NdXSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdGdW5jdGlvbicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChiZik7DQogIGlmIChzID09PSAnW29iamVjdCBGdW5jdGlvbl0nKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, [[Class]] of bound function must be 'Function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGJmKSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGJmKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype (using getPrototypeOf)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY2FsbGVyIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMCkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIEEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCBpdHMgImNhbGxlciIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5jYWxsZXI7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"caller\" of bound function is poisoned (step 20)","description":"A bound function should fail to find its \"caller\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KTsKCgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSk7CgoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh7fSwge30pOwoKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBiaW5kIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case bind should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYXJndW1lbnRzIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTIuanMKICogQGRlc2NyaXB0aW9uIGEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCB0aGUgYm91bmQgZnVuY3Rpb24gImFyZ3VtZW50cyIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5hcmd1bWVudHM7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"arguments\" of bound function is poisoned (step 21)","description":"a bound function should fail to find the bound function \"arguments\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdAogKi8KCmlmICghKCdiaW5kJyBpbiBGdW5jdGlvbi5wcm90b3R5cGUpKSB7CiAgJEVSUk9SKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBpcyBtaXNzaW5nJyk7Cn0KCg==","commentary":"","description":"Function.prototype.bind must exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbCB0aGUgb3JpZ2luYWwncyBpbnRlcm5hbAogKiBbW0NhbGxdXSBtZXRob2QgcmF0aGVyIHRoYW4gaXRzIC5hcHBseSBtZXRob2QuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCnZhciBiID0gZm9vLmJpbmQoMzMsIDQ0KTsKZm9vLmFwcGx5ID0gZnVuY3Rpb24oKSB7CiAgJEVSUk9SKCJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb3JpZ2luYWwncyAuYXBwbHkgbWV0aG9kIik7Cn07CmIoNTUsIDY2KTsKCg==","commentary":"","description":"Function.prototype.bind call the original's internal\n[[Call]] method rather than its .apply method.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBjdXJyeSBbW0NvbnN0cnVjdF1dIGFzCiAqIHdlbGwgYXMgW1tDYWxsXV0uCiAqLwoKZnVuY3Rpb24gY29uc3RydWN0KGYsIGFyZ3MpIHsKICB2YXIgYm91bmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShmLCBbbnVsbF0uY29uY2F0KGFyZ3MpKTsKICByZXR1cm4gbmV3IGJvdW5kKCk7Cn0KdmFyIGQgPSBjb25zdHJ1Y3QoRGF0ZSwgWzE5NTcsIDQsIDI3XSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZCkgIT09ICdbb2JqZWN0IERhdGVdJykgewogICRFUlJPUignVXNpbmcgdGhlIERhdGUgY29uc3RydWN0b3IgdmlhIC5iaW5kIGRpZCBub3QgY3JlYXRlIGEgRGF0ZS4nKTsKfQo=","commentary":"","description":"Function.prototype.bind must curry [[Construct]] as\nwell as [[Call]].","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZEFyZ3NdXSBpcyB1c2VkIGFzIHRoZSBmb3JtZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4geCArIHkgKyB6Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gImFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgdHlwZW9mIHggPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMiwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEsIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDINCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAyLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZFRoaXNdXSBpcyB1c2VkIGFzIHRoZSAndGhpcycgdmFsdWUgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcCI6ICJhIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gb2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - 'F''s [[BoundThis]] is used as the 'this' value of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBpcyB1c2VkIGFzIHRoZSBsYXR0ZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4gejsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sICJhIiwgImIiKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygiYyIpID09PSAiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - the provided arguments is used as the latter part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqLCAxKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSAnRicncyBbW0JvdW5kQXJnc11dIGlzIHVzZWQgYXMgdGhlIGZvcm1lciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZhbHVlIikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmFsdWUgPT09ICJhYmMiICYmDQogICAgICAgICAgICBuZXdJbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgicmV0dXJuVmVyaWZ5UmVzdWx0IikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmVyaWZ5UmVzdWx0ID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30pOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDIsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEsIDIpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGlzIHVzZWQgYXMgdGhlIGxhdHRlciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLmhhc093blByb3BlcnR5KCJyZXR1cm5WYWx1ZSIpICYmIG5ld0luc3RhbmNlLnJldHVyblZhbHVlID09PSAiYWJjIiAmJg0KICAgICAgICAgICAgbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZlcmlmeVJlc3VsdCIpICYmIG5ld0luc3RhbmNlLnJldHVyblZlcmlmeVJlc3VsdCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - the provided arguments is used as the latter part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52ZXJpZnlUaGlzID0gInZlcmlmeVRoaXMiOw0KICAgICAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDAgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpID09PSAiW29iamVjdCBPYmplY3RdIiAmJg0KICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeVRoaXMgPT09ICJ2ZXJpZnlUaGlzIik7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZlcmlmeVRoaXM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAxKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCAmJiB0eXBlb2YgeCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGVycm9yIGlzIHRocm93biB3aGVuIHJlYWRpbmcgdGhlICdjYWxsZXInIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBfMTVfM181XzFfZ3MoKSB7fQ0KdGhyb3cgTm90RWFybHlFcnJvcjsNCl8xNV8zXzVfMV9ncy5jYWxsZXI7DQoNCg==","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGVycm9yIGlzIHRocm93biB3aGVuIHJlYWRpbmcgdGhlICdjYWxsZXInIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gXzE1XzNfNV8xX2dzKCkge30NCl8xNV8zXzVfMV9ncy5jYWxsZXI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0K","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-2gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoK","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpCiAqLwoKZiA9IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKQogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmKGRlbGV0ZSBmLmxlbmd0aCl7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpkZWxldGUgZi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzM6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpsZW5ndGggPSBmLmxlbmd0aDsKCmYubGVuZ3RoID0gZnVuY3Rpb24oKXt9OwoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gbGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoKLy9DSEVDSyMzCnRyeSB7CiAgZi5sZW5ndGgoKTsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9IGNhdGNoIChlKSB7CiAgOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCkgZmFpbHMKICovCgpmID0gIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzUsYXJnNCIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZm9yKGtleSBpbiBmKSAgICAKICBpZihrZXk9PSJsZW5ndGgiKQogICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCIiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(\"\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbih2b2lkIDAsICIiKSBmYWlscwogKi8KCmYgPSBGdW5jdGlvbih2b2lkIDAsICIiKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(void 0, \"\") fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudW1iZXIKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKDEgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is number","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBzdHJpbmcKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKCIxIiBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is string","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIHRydWUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHRydWUgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean true","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIGZhbHNlCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChmYWxzZSBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean false","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB2b2lkIDAKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHZvaWQgMCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is void 0","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudWxsCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChudWxsIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is null","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHVuZGVmaW5lZCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHggaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCnZhciB4OwoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined variable","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuCiAqIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHVuZGVmaW5lZCwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0CiAqLwoKRkFDVE9SWSA9IG5ldyBGdW5jdGlvbjsKCkZBQ1RPUlkucHJvdG90eXBlID0gdW5kZWZpbmVkOwoKb2JqPXt9OwoKLy9DSEVDSyMxCnRyeSB7CiAgb2JqIGluc3RhbmNlb2YgIEZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoKCgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i).\niii) O is not an object, throw a TypeError exception","description":"F.prototype is undefined, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHZvaWQgMCwgYW5kIFYgaXMgbmV3IEYKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucHJvcD0xOyIpOwoKRkFDVE9SWS5wcm90b3R5cGUubmFtZSA9ICJmYWlyeSI7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKRkFDVE9SWS5wcm90b3R5cGUgPSB2b2lkIDA7CgovLyBDSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgovLyBDSEVDSyMyCmlmICgoaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHx8IChpbnN0YW5jZS5uYW1lICE9PSAiZmFpcnkiKSkgewogICRFUlJPUignIzI6IGluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBGQUNUT1JZJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is void 0, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHN0cmluZywgYW5kIFYgaXMgZnVuY3Rpb24KICovCgpGQUNUT1JZID0gbmV3IEZ1bmN0aW9uOwoKRkFDVE9SWS5wcm90b3R5cGUgPSAiZXJyb3IiOwoKLy8gQ0hFQ0sjMQp0cnkgewogICggZnVuY3Rpb24oKSB7CiAgfSkgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is string, and V is function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZS50eXBlIGlzIDEsIGFuZCBWIGlzIG5ldyBGCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLm5hbWU9XCJyb290XCIiKTsKCkZBQ1RPUlkucHJvdG90eXBlLnR5cGU9MTsKCmluc3RhbmNlID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZKSkgewogICRFUlJPUignIzE6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype.type is 1, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlLCBhbmQgViBpcyBlbXB0eSBvYmplY3QKICovCgpGQUtFRkFDVE9SWSA9IEZ1bmN0aW9uKCk7CgpmYWtlaW5zdGFuY2UgPSB7fTsKCi8vQ0hFQ0sjMQppZiAoZmFrZWluc3RhbmNlIGluc3RhbmNlb2YgRkFLRUZBQ1RPUlkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCkZBS0VGQUNUT1JZLnByb3RvdHlwZT1PYmplY3QucHJvdG90eXBlOwoKLy9DSEVDSyMyCmlmICghKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSkgewogICRFUlJPUignIzI6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype is Object.prototype, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBuZXcgRnVuY3Rpb24KICovCgp2YXIgZiA9IG5ldyBGdW5jdGlvbjsKCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZikgIT09ICJbb2JqZWN0IEZ1bmN0aW9uXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iJyk7Cn0KCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = new Function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBGdW5jdGlvbigpCiAqLwoKdmFyIGYgPSBGdW5jdGlvbigpOwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgW1tDbGFzc11dIHByb3BlcnR5IGlzICJGdW5jdGlvbiInKTsKfQoKCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = Function()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpKCkKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKSgpICE9PSAiT0siKSB7CiAgJEVSUk9SKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgeCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"Every function instance has a [[Call]] property","description":"For testing call Function(\"var x =1; this.y=2;return \\\"OK\\\";\")()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKQogKi8KCi8vQ0hFQ0sjMQppZiAoKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHggIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoK","commentary":"Every function instance has a [[Call]] property","description":"For testing call (new Function(\"arg1,arg2\",\"var x =arg1; this.y=arg2;return arg1+arg2;\"))(\"1\",2)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHsKICAkRVJST1IoJyMyOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"every function instance has a [[Construct]] property","description":"As constructor use Function(\"var x =1; this.y=2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPTE7IHRoaXMueT1hcmcxK2FyZzI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID0xOyB0aGlzLnk9YXJnMSthcmcyO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZKCIxIiwyKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBGQUNUT1JZKSB7CiAgJEVSUk9SKCcjMjogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai55ICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMzogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"every function instance has a [[Construct]] property","description":"As constructor use new Function(\"arg1,arg2\",\"var x =1; this.y=arg1+arg2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbdHJ1ZV0gPSAxOwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgCn0KCi8vQ0hFQ0sjMgppZiAoeFsidHJ1ZSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsidHJ1ZSJdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsidHJ1ZSJdKSk7ICAKfQoKLy9DSEVDSyMzCnhbZmFsc2VdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbZmFsc2VdID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsiZmFsc2UiXSAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBbXTsgeFtmYWxzZV0gPSAxOyB4WyJmYWxzZSJdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsiZmFsc2UiXSkpOyAgCn0KCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for boolean primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbmRleCBpcyBwb3dlciBvZiB0d28KICovCgovL0NIRUNLIwp4ID0gW107CmsgPSAxOwpmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewogIGsgPSBrICogMjsKICB4W2sgLSAyXSA9IGs7ICAKfQoKayA9IDE7CmZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKSB7CiAgayA9IGsgKiAyOwogIGlmICh4W2sgLSAyXSAhPT0gaykgewogICAgJEVSUk9SKCcjJyArIChrIC0gMikgKyAnOiAnKTsKICB9ICAgICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Array index is power of two","path":"TestCases/ch15/15.4/S15.4_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtOYU5dID0gMTsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtOYU5dID0gMTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0gCgovL0NIRUNLIzIKaWYgKHhbIk5hTiJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W05hTl0gPSAxOyB4WyJOYU4iXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbIk5hTiJdKSk7ICAKfSAKCi8vQ0hFQ0sjMwp5ID0gW107CnlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbIkluZmluaXR5Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbIkluZmluaXR5Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyJJbmZpbml0eSJdKSk7ICAKfSAKCi8vQ0hFQ0sjNQp6ID0gW107CnpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7CmlmICh6WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB6ID0gW107IHpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7IHpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHpbMF0pKTsgIAp9CgovL0NIRUNLIzYKaWYgKHpbIi1JbmZpbml0eSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeiA9IFtdOyB6W051bWJlci5ORUdBVElWRV9JTkZJTklUWV0gPSAxOyB6WyItSW5maW5pdHkiXSA9PT0gMS4gQWN0dWFsOiAnICsgKHpbIi1JbmZpbml0eSJdKSk7ICAKfSAKCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFs0Mjk0OTY3Mjk2XSA9IDE7CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyI0Mjk0OTY3Mjk2Il0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WyI0Mjk0OTY3Mjk2Il0gPT09IDEuIEFjdHVhbDogJyArICh4WyI0Mjk0OTY3Mjk2Il0pKTsgIAp9CgovL0NIRUNLIzMKeSA9IFtdOwp5WzQyOTQ5NjcyOTddID0gMTsKaWYgKHlbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHkgPSBbXTsgeVs0Mjk0OTY3Mjk3XSA9IDE7IHlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9IAoKLy9DSEVDSyM0CmlmICh5WyI0Mjk0OTY3Mjk3Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbNDI5NDk2NzI5N10gPSAxOyB5WyI0Mjk0OTY3Mjk3Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyI0Mjk0OTY3Mjk3Il0pKTsgIAp9CgovL0NIRUNLIzUKeiA9IFtdOwp6WzEuMV0gPSAxOwppZiAoelsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogeiA9IFtdOyB6WzEuMV0gPSAxOyB6WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh6WzFdKSk7ICAKfQoKLy9DSEVDSyM2CmlmICh6WyIxLjEiXSAhPT0gMSkgewogICRFUlJPUignIzY6IHogPSBbXTsgelsxLjFdID0gMTsgelsiMS4xIl0gPT09IDEuIEFjdHVhbDogJyArICh6WyIxLjEiXSkpOyAgCn0gIAoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBzdHJpbmcgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFsiMCJdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbIjAiXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbIjEiXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5WyIxIl0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for string primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IFtdOwp4W251bGxdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzIKaWYgKHhbIm51bGwiXSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbIm51bGwiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIm51bGwiXSkpOyAgCn0KCi8vQ0hFQ0sjMwp5ID0gW107CnlbdW5kZWZpbmVkXSA9IDA7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbdW5kZWZpbmVkXSA9IDA7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbInVuZGVmaW5lZCJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeSA9IFtdOyB5W3VuZGVmaW5lZF0gPSAxOyB5WyJ1bmRlZmluZWQiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHlbInVuZGVmaW5lZCJdKSk7ICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/S15.4_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbbmV3IEJvb2xlYW4odHJ1ZSldID0gMTsKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtuZXcgQm9vbGVhbih0cnVlKV0gPSAxOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyJ0cnVlIl0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbdHJ1ZV0gPSAxOyB4WyJ0cnVlIl0gPT09IDEuIEFjdHVhbDogJyArICh4WyJ0cnVlIl0pKTsgIAp9CgovL0NIRUNLIzMKeFtuZXcgQm9vbGVhbihmYWxzZSldID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbbmV3IEJvb2xlYW4oZmFsc2UpXSA9IDA7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHhbImZhbHNlIl0gIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gW107IHhbZmFsc2VdID0gMTsgeFsiZmFsc2UiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbImZhbHNlIl0pKTsgIAp9CgoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Boolean object","path":"TestCases/ch15/15.4/S15.4_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgTnVtYmVyKDApXSA9IDA7CmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W25ldyBOdW1iZXIoMCldID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9IAoKLy9DSEVDSyMyCnkgPSBbXTsKeVtuZXcgTnVtYmVyKDEpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBOdW1iZXIoMSldID0gMTsgeVsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9CgovL0NIRUNLIzMKeiA9IFtdOwp6W25ldyBOdW1iZXIoMS4xKV0gPSAxOwppZiAoelsiMS4xIl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB6ID0gW107IHpbbmV3IE51bWJlcigxLjEpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgU3RyaW5nKCIwIildID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbbmV3IFN0cmluZygiMCIpXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbbmV3IFN0cmluZygiMSIpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBTdHJpbmcoIjEiKV0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCi8vQ0hFQ0sjMwp6ID0gW107CnpbbmV3IFN0cmluZygiMS4xIildID0gMTsKaWYgKHpbIjEuMSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeiA9IFtdOyB6W25ldyBTdHJpbmcoIjEuMSIpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKeCA9IFtdOwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WyJbb2JqZWN0IE9iamVjdF0iXSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WyJbb2JqZWN0IE9iamVjdF0iXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIltvYmplY3QgT2JqZWN0XSJdKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgeFtvYmplY3RdID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAKCi8vQ0hFQ0sjMwp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WzFdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB4ID0gW107ICAKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICB4W29iamVjdF0gPSAwOwogIGlmICh4WzFdICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgeFtvYmplY3RdID0gMDsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKCJlcnJvciIpKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gW107IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4W29iamVjdF07ICAKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4W29iamVjdF07CiAgJEVSUk9SKCcjOC4xOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgeFtvYmplY3RdIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/S15.4_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBwcm9wZXJ0eSBvZiBBcnJheS5wcm90b3R5cGUuIFdoZW4gbmV3IEFycmF5IG9iamVjdCBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7CnZhciB4ID0gQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gQXJyYXkoKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgdmFyIHggPSBBcnJheSgpOyB4Lmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICh4Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp2YXIgeCA9IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIHggPSBBcnJheSgwLDEsMik7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGlzUHJvdG90eXBlT2YKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkoKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheSgpKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMS9TMTUuNC4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gQXJyYXkoKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IEFycmF5KDAsMSwyKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHdoZW4gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKdmFyIHggPSBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IEFycmF5KDIpOyB4Lmxlbmd0aCAhPT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gPT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDIpOyB4WzBdICE9PSAyJyk7Cn0KCg==","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIGF0IGxlYXN0IHR3byBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKaWYgKEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkoKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheSgwLDEsMCwxKS5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IChBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCkpOwp9Cgo=","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjb3JyZWN0IHdvcmsgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgeCA9IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEFycmF5IGlzIGNhbGxlZCBhcyBhIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFzIGEgY29uc3RydWN0b3IsCiAqIGl0IGNyZWF0ZXMgYW5kIGluaXRpYWxpc2VzIGEgbmV3IEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHR5cGVvZiwgaW5zdGFuY2VvZgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEFycmF5KCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIEFycmF5KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5KCkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKEFycmF5KCkgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpKTsKfSAgCgo=","commentary":"When Array is called as a function rather than as a constructor,\nit creates and initialises a new Array object","description":"Checking use typeof, instanceof","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKHgubXlwcm9wZXJ0eSkpOwp9CgovL0NIRUNLIzIKaWYgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHguaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyMyCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDAsMSwyKTsgCmlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMS9TMTUuNC4yLjFfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB4IGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKHguZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyAKeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmICh4LmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBvbmUgYXJndW1lbnQKICovCgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeC5sZW5ndGggIT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmICh4WzBdID09PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gIT09IDInKTsKfQoK","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBubyBhcmd1bWVudHMgb3IgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZiAobmV3IEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogbmV3IEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEFycmF5KDAsMSwwLDEpLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IG5ldyBBcnJheSgwLDEsMCwxKS5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoKSk7Cn0KCg==","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNvcnJlY3Qgd29yayB0aGlzIGFsZ29yaXRobQogKi8KCi8vQ0hFQ0sjCnZhciB4ID0gbmV3IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAppZiAoeC5teXByb3BlcnR5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KDApKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG5ldyBBcnJheSgwKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuZXcgQXJyYXkoMCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAp4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKHguZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIGVxdWFsIHRvIGxlbiwKICogdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIFRvVWludDMyKGxlbikKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KDEpOyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgIAoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KDQyOTQ5NjcyOTUpOyAKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoNDI5NDk2NzI5NSk7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If the argument len is a Number and ToUint32(len) is equal to len,\nthen the length property of the newly constructed object is set to ToUint32(len)","description":"Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAtMSwgNDI5NDk2NzI5NiwgNDI5NDk2NzI5NwogKi8KCi8vQ0hFQ0sjMQp0cnkgeyAgCiAgbmV3IEFycmF5KC0xKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheSgtMSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgtMSkpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5KC0xKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoNDI5NDk2NzI5Nik7ICAgCiAgJEVSUk9SKCcjMi4xOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSg0Mjk0OTY3Mjk2KSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgeyAgCiAgbmV3IEFycmF5KDQyOTQ5NjcyOTcpOyAgIAogICRFUlJPUignIzMuMTogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoNDI5NDk2NzI5NykpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = -1, 4294967296, 4294967297","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSBOYU4sICsvLUluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnRyeSB7ICAKICBuZXcgQXJyYXkoTmFOKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheShOYU4pIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTmFOKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkoTmFOKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMzLjE6IG5ldyBBcnJheShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = NaN, +/-Infinity","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAxLjUsIE51bWJlci5NQVhfVkFMVUUsIE51bWJlci5NSU5fVkFMVUUKICovCgovL0NIRUNLIzEKdHJ5IHsgIAogIG5ldyBBcnJheSgxLjUpOyAgIAogICRFUlJPUignIzEuMTogbmV3IEFycmF5KDEuNSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgxLjUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheSgxLjUpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KE51bWJlci5NQVhfVkFMVUUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSk7ICAgCiAgJEVSUk9SKCcjMy4xOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheShOdW1iZXIuTUlOX1ZBTFVFKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = 1.5, Number.MAX_VALUE, Number.MIN_VALUE","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkobnVsbCk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4WzBdID09PSBudWxsLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkKTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeFswXSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09ICIxIikgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KCIxIik7IHhbMF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgU3RyaW5nKCIwIik7IHZhciB4ID0gbmV3IEFycmF5KG9iaik7IHhbMF0gPT09IG9iai4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoK","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKDApOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMxIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IE51bWJlcigwKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzI6IHZhciBvYmogPSBuZXcgTnVtYmVyKDApOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDEpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcigxKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk1KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKC0xKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk2KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk3KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheSBjb25zdHJ1Y3RvciBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkubXlwcm9wZXJ0eSAhPT0gMSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5Lm15cHJvcGVydHkpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkuaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Create new property of Function.prototype. When Array constructor has this property","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChBcnJheS50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkZ1bmN0aW9uIiArICJdIikgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IEFycmF5LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiRnVuY3Rpb24iICsgIl0iLiBBY3R1YWw6ICcgKyAoQXJyYXkudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Function.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIEFycmF5KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5sZW5ndGg7IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of Array has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IEFycmF5Lmxlbmd0aDsKQXJyYXkubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGlzIDEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjQuanMKICogQGRlc2NyaXB0aW9uIEFycmF5Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array is 1","description":"Array.length === 1","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4zLzE1LjQuMy4xL1MxNS40LjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKCg==","commentary":"The Array has property prototype","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKCWlmIChwID09PSAicHJvdG90eXBlIikgewoJICByZXN1bHQgPSBmYWxzZTsKCX0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJwcm90b3R5cGUiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The Array.prototype property has the attribute DontEnum","description":"Checking if enumerating the Array.prototype property fails","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMS9TMTUuNC4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlOyBBcnJheS5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZTsgQXJyYXkucHJvdG90eXBlICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The Array.prototype property has the attribute DontDelete","description":"Checking if deleting the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlOwpBcnJheS5wcm90b3R5cGUgPSAxOwppZiAoQXJyYXkucHJvdG90eXBlICE9PSB4KSB7CgkkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlOyBBcnJheS5wcm90b3R5cGUgPSAxOyBBcnJheS5wcm90b3R5cGUgPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUpKTsKfQoKCg==","commentary":"The Array.prototype property has the attribute ReadOnly","description":"Checking if varying the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZSBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxIC8gQXJyYXkucHJvdG90eXBlLmxlbmd0aCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09ICswLiBBY3R1YWw6IC0nICsgKEFycmF5LnByb3RvdHlwZS5sZW5ndGgpKTsKICB9Cn0gCgoK","commentary":"The length property of Array.prototype is 0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LmlzQXJyYXk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray must exist as a function","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LmlzQXJyYXkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray must exist as a function taking 1 parameter","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoYSk7DQogIGlmIChiID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray return true if its argument is an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiX251bSAgID0gQXJyYXkuaXNBcnJheSg0Mik7DQogIHZhciBiX3VuZGVmID0gQXJyYXkuaXNBcnJheSh1bmRlZmluZWQpOw0KICB2YXIgYl9ib29sICA9IEFycmF5LmlzQXJyYXkodHJ1ZSk7DQogIHZhciBiX3N0ciAgID0gQXJyYXkuaXNBcnJheSgiYWJjIik7DQogIHZhciBiX29iaiAgID0gQXJyYXkuaXNBcnJheSh7fSk7DQogIHZhciBiX251bGwgID0gQXJyYXkuaXNBcnJheShudWxsKTsNCiAgDQogIGlmIChiX251bSA9PT0gZmFsc2UgJiYNCiAgICAgIGJfdW5kZWYgPT09IGZhbHNlICYmDQogICAgICBiX2Jvb2wgPT09IGZhbHNlICYmDQogICAgICBiX3N0ciA9PT0gZmFsc2UgJiYNCiAgICAgIGJfb2JqID09PSBmYWxzZSAmJg0KICAgICAgYl9udWxsID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray return false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoQXJyYXkucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray return true if its argument is an Array (Array.prototype)","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKG5ldyBBcnJheSgpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEwKTsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KGEpOw0KICBpZiAoYiA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray return true if its argument is an Array (new Array())","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm5zIGZhbHNlIGlmIGl0cyBhcmd1bWVudCBpcyBub3QgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgb1sxMl0gPSAxMzsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KG8pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray returns false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IFJlZ0V4cCgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to RegExp object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShKU09OKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to the JSON object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3ludGF4RXJyb3IoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Error object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShhcmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to Arguments object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to the global object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IEJvb2xlYW4oZmFsc2UpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSg1KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to number primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgTnVtYmVyKC0zKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Number object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSgiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to string primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3RyaW5nKCJoZWxsb1xud29ybGRcXCEiKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to String object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Function object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KE1hdGgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to the Math object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IERhdGUoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Date object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIGFuIGFycmF5IGFzIHRoZSBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IFtdOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to an object with an array as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIEFycmF5LnByb3RvdHlwZSBhcyB0aGUgcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSBBcnJheS5wcm90b3R5cGU7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to an object with Array.prototype as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIEFycmF5LWxpa2Ugb2JqZWN0IHdpdGggbGVuZ3RoIGFuZCBzb21lIGluZGV4ZWQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHsgMDogMTIsIDE6IDksIGxlbmd0aDogMiB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to an Array-like object with length and some indexed properties","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheS5wcm90b3R5cGUgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Create new property of Function.prototype. When Array.prototype object has this property","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40L1MxNS40LjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMgW1tDbGFzc11dIGlzICJBcnJheSIsCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQXJyYXkucHJvdG90eXBlKSAhPT0gIltvYmplY3QgQXJyYXldIikgewogICRFUlJPUignVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMnICsKICAgICAgICAgJ1tbQ2xhc3NdXSBpcyAiQXJyYXkiLicpOwp9Cgo=","commentary":"","description":"The Array prototype object is itself an array; its [[Class]] is \"Array\",","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5LnByb3RvdHlwZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkucHJvdG90eXBlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheS5wcm90b3R5cGUpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGlzIHNldCB0byAiQXJyYXkiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoQXJyYXkucHJvdG90eXBlLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgQXJyYXkucHJvdG90eXBlIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the Array prototype object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC9TMTUuNC40X0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxLjE6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyBBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9PT0gKzAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7CiAgfQp9IAogICAKCg==","commentary":"Array prototype object has length property whose value is +0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndmFsdWVPZicpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3ZhbHVlT2ZcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd2YWx1ZU9mJykpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdmFsdWVPZiBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLiBXaGVuIEFycmF5LnByb3RvdHlwZS52YWx1ZU9mIGFsc28gY2hhbmdlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnZhbHVlT2YgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgPSAxOyBBcnJheS5wcm90b3R5cGUudmFsdWVPZiA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS52YWx1ZU9mKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBBcnJheSgpOwppZiAoeC52YWx1ZU9mICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsgeCA9IG5ldyBBcnJheSgpOyB4LnZhbHVlT2YgPT09IDEuIEFjdHVhbDogJyArICh4LnZhbHVlT2YpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Change valueOf property of Object.prototype. When Array.prototype.valueOf also change","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMKICogdGhlIGJ1aWx0LWluIEFycmF5IGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEvUzE1LjQuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEFycmF5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikpOwp9ICAgCgo=","commentary":"The initial value of Array.prototype.constructor is\nthe built-in Array constructor","description":"Array.prototype.constructor === Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uc3RydWN0b3IgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMS9TMTUuNC40LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uc3RydWN0b3InKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2NvbnN0cnVjdG9yXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdjb25zdHJ1Y3RvcicpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25zdHJ1Y3RvciIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiY29uc3RydWN0b3IiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The constructor property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwLzE1LjQuNC4xMC0xMC1jLWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc2xpY2Ugd2lsbCBzbGljZSBhIHN0cmluZyBmcm9tIHN0YXJ0IHRvIGVuZCB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgMTAuYy5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJ0ZXN0IiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyck9iai5zbGljZSgwLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBuZXdBcnJbMF0gPT09IDEgJiYgdHlwZW9mIG5ld0FyclsxXSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.slice will slice a string from start to end when index property (read-only) exists in Array.prototype (Step 10.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID0gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IHN0YXJ0ID4gZW5kID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > start > end > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDUsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDUsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg1LDUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNSw1KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDUpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw1KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID4gMDsKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgyLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0KTsgYXJyLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIsNCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIGVuZCA+IGxlbmd0aCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNik7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDYpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw2KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"end > length > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBlbmQgPSBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMywzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length > end = abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBlbmQgPiBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMSw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTEsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length = end > abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID0gbGVuZ3RoID4gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LDEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) = length > end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID4gbGVuZ3RoID0gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTksNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNF0gPT09IDQuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJbNV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) > length = end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgxLC00KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMSwtNCk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC01KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtNSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length = abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoZW5kKSA+IGxlbmd0aCA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LC05KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwtOSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"abs(end) > length > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNSwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length = start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length < start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPCAtbGVuZ3RoIDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAgICAKICAgICAgCi8vQ0hFQ0sjNwppZiAoYXJyWzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFycls0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start < -length < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPSBlbmQgPCAtbGVuZ3RoCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTYsLTYpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start = end < -length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgPT09IHVuZGVmaW5lZAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywgdW5kZWZpbmVkKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAKCg==","commentary":"If end is undefined use length","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgaXMgYWJzZW50CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAzKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMF0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9IAoK","commentary":"If end is undefined use length","description":"end is absent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5kIGlzIG5vdCBpbnRlZ2VyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyclsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoK","commentary":"Operator use ToInteger from end","description":"end is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gTmFOCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOYU4pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gSW5maW5pdHkKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyLmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzVdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFycls1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzVdKSk7Cn0gCgo=","commentary":"Operator use ToInteger from end","description":"end = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gLUluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVG9JbnRlZ2VyIHVzZSBUb051bWJlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"Operator use ToInteger from end","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZW5kLCBsZW5ndGgpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9IDA7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IDI7Cm9ialszXSA9IDM7Cm9ials0XSA9IDQ7Cm9iai5sZW5ndGggPSA1Owp2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgbmVnYXRpdmUsIHVzZSBtYXgoZW5kICsgbGVuZ3RoLCAwKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICovCgp2YXIgb2JqID0ge307Cm9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKb2JqWzBdID0gMDsKb2JqWzFdID0gMTsKb2JqWzJdID0gMjsKb2JqWzNdID0gMzsKb2JqWzRdID0gNDsKb2JqLmxlbmd0aCA9IDU7CnZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LC0yKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMik7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyWzFdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKaWYgKGFycls0Mjk0OTY3Mjk1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzQyOTQ5NjcyOTVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk3KTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbNDI5NDk2NzI5Nl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsNDI5NDk2NzI5Nyk7IGFycls0Mjk0OTY3Mjk2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtMQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHZhciBhcnIgPSBvYmouc2xpY2UoNDI5NDk2NzI5NCw0Mjk0OTY3Mjk1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOyBhcnJbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LnNsaWNlKCk7CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHZhciBhcnIgPSB4LnNsaWNlKCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnIuaGFzT3duUHJvcGVydHkoXCcxXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoYXJyLmhhc093blByb3BlcnR5KCcxJykpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnNsaWNlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of slice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of slice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of slice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiBzbGljZS5sZW5ndGggPT09IDIKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of slice is 2","description":"slice.length === 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NsaWNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdzbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2xpY2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAic2xpY2UiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInNsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The slice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The slice property of Array has not prototype property","description":"Checking Array.prototype.slice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zbGljZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuc2xpY2UoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The slice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoaiksCiAqIGFuZCB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiArMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If this object does not have a property named by ToString(j),\nand this object does not have a property named by ToString(k), return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOwp4WzFdID0gMTsgCnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKeFswXSA9IDE7IAp4LnNvcnQoKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gPSAxOyAgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyBub3QgdW5kZWZpbmVkCiAqLwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgaWYgKHggPT09IHVuZGVmaW5lZCkgcmV0dXJuIC0xOyAKICBpZiAoeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMTsKICByZXR1cm4gMDsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMV0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMF0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGFuZCBbW0dldF1dIFRvU3RyaW5nKGspCiAqIGFyZSBib3RoIHVuZGVmaW5lZCwgcmV0dXJuICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If [[Get]] ToString(j) and [[Get]] ToString(k)\nare both undefined, return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICovCgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOwp4LnNvcnQoKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsKeC5zb3J0KCk7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7IHguc29ydCgpOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgbm90IHVuZGVmaW5lZAogKi8KCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIGlmICh4ID09PSB1bmRlZmluZWQpIHJldHVybiAtMTsgCiAgaWYgKHkgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7CiAgcmV0dXJuIDA7Cn0KCnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgMSk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzb3J0KCkgYW5kIHNvcnQodW5kZWZpbmVkKQogKi8KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCh1bmRlZmluZWQpOwoKLy9DSEVDSyM0CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQodW5kZWZpbmVkKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If comparefn is undefined, use SortCompare operator","description":"Checking sort() and sort(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyJ6IiwgInkiLCAieCIsICJ3IiwgInYiLCAidSIsICJ0IiwgInMiLCAiciIsICJxIiwgInAiLCAibyIsICJuIiwgIk0iLCAiTCIsICJLIiwgIkoiLCAiSSIsICJIIiwgIkciLCAiRiIsICJFIiwgIkQiLCAiQyIsICJCIiwgIkEiXTsKdmFyIGFscGhhYmV0ID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKCi8vQ0hFQ0sjMQphbHBoYWJldFIuc29ydCgpOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgRU5HTElTSCBBTFBIQUJFVCcpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyLRkSIsICLRjyIsICLRjiIsICLRjSIsICLRjCIsICLRiyIsICLRiiIsICLRiSIsICLRiCIsICLRhyIsICLRhiIsICLRhSIsICLRhCIsICLRgyIsICLRgiIsICLRgSIsICLRgCIsICLQnyIsICLQniIsICLQnSIsICLQnCIsICLQmyIsICLQmiIsICLQmSIsICLQmCIsICLQlyIsICLQliIsICLQlSIsICLQlCIsICLQkyIsICLQkiIsICLQkSIsICLQkCJdOwp2YXIgIGFscGhhYmV0ID0gWyLQkCIsICLQkSIsICLQkiIsICLQkyIsICLQlCIsICLQlSIsICLQliIsICLQlyIsICLQmCIsICLQmSIsICLQmiIsICLQmyIsICLQnCIsICLQnSIsICLQniIsICLQnyIsICLRgCIsICLRgSIsICLRgiIsICLRgyIsICLRhCIsICLRhSIsICLRhiIsICLRhyIsICLRiCIsICLRiSIsICLRiiIsICLRiyIsICLRjCIsICLRjSIsICLRjiIsICLRjyIsICLRkSJdOwoKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBSVVNTSUFOIEFMUEhBQkVUJyk7Cn0KCg==","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFRvU3RyaW5nIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IFt1bmRlZmluZWQsIDIsIDEsICJYIiwgLTEsICJhIiwgdHJ1ZSwgb2JqLCBOYU4sIEluZmluaXR5XTsgCnZhciAgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHsKICBpZiAoIShpc05hTihhbHBoYWJldFJbaV0pICYmIGlzTmFOKGFscGhhYmV0W2ldKSkpIHsgCiAgICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGVjayBUb1N0cmluZyBvcGVyYXRvcicpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsieiIsICJ5IiwgIngiLCAidyIsICJ2IiwgInUiLCAidCIsICJzIiwgInIiLCAicSIsICJwIiwgIm8iLCAibiIsICJNIiwgIkwiLCAiSyIsICJKIiwgIkkiLCAiSCIsICJHIiwgIkYiLCAiRSIsICJEIiwgIkMiLCAiQiIsICJBIl07CnZhciAgYWxwaGFiZXQgPSBbIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CgovL0NIRUNLIzEKYWxwaGFiZXQuc29ydChteUNvbXBhcmVmbik7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBFTkdMSVNIIEFMUEhBQkVUJyk7Cn0gCgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsi0ZEiLCAi0Y8iLCAi0Y4iLCAi0Y0iLCAi0YwiLCAi0YsiLCAi0YoiLCAi0YkiLCAi0YgiLCAi0YciLCAi0YYiLCAi0YUiLCAi0YQiLCAi0YMiLCAi0YIiLCAi0YEiLCAi0YAiLCAi0J8iLCAi0J4iLCAi0J0iLCAi0JwiLCAi0JsiLCAi0JoiLCAi0JkiLCAi0JgiLCAi0JciLCAi0JYiLCAi0JUiLCAi0JQiLCAi0JMiLCAi0JIiLCAi0JEiLCAi0JAiXTsKdmFyICBhbHBoYWJldCA9IFsi0JAiLCAi0JEiLCAi0JIiLCAi0JMiLCAi0JQiLCAi0JUiLCAi0JYiLCAi0JciLCAi0JgiLCAi0JkiLCAi0JoiLCAi0JsiLCAi0JwiLCAi0J0iLCAi0J4iLCAi0J8iLCAi0YAiLCAi0YEiLCAi0YIiLCAi0YMiLCAi0YQiLCAi0YUiLCAi0YYiLCAi0YciLCAi0YgiLCAi0YkiLCAi0YoiLCAi0YsiLCAi0YwiLCAi0Y0iLCAi0Y4iLCAi0Y8iLCAi0ZEiXTsKCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQoKLy9DSEVDSyMxCmFscGhhYmV0LnNvcnQobXlDb21wYXJlZm4pOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgUlVTU0lBTiBBTFBIQUJFVCcpOwp9Cgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBvcGVyYXRvcgogKi8KCnZhciBvYmogPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0yfX07IAp2YXIgYWxwaGFiZXRSID0gW3VuZGVmaW5lZCwgMiwgMSwgIlgiLCAtMSwgImEiLCB0cnVlLCBvYmosIE5hTiwgSW5maW5pdHldOyAKdmFyIGFscGhhYmV0ID0gW3RydWUsICJhIiwgIlgiLCBOYU4sIEluZmluaXR5LCAyLCAxLCBvYmosIC0xLCB1bmRlZmluZWRdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KG15Q29tcGFyZWZuKTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IHswOnVuZGVmaW5lZCwgMToyLCAyOjEsIDM6IlgiLCA0Oi0xLCA1OiJhIiwgNjp0cnVlLCA3Om9iaiwgODpOYU4sIDk6SW5maW5pdHl9OwphbHBoYWJldFIuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyAKYWxwaGFiZXRSLmxlbmd0aCA9IDEwOwp2YXIgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAgCmFscGhhYmV0Ui5zb3J0KCk7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIG5vdCB1bmRlZmluZWQKICovCgp2YXIgb2JqID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMn19Owp2YXIgYWxwaGFiZXRSID0gezA6dW5kZWZpbmVkLCAxOjIsIDI6MSwgMzoiWCIsIDQ6LTEsIDU6ImEiLCA2OnRydWUsIDc6b2JqLCA4Ok5hTiwgOTpJbmZpbml0eX07CmFscGhhYmV0Ui5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IAphbHBoYWJldFIubGVuZ3RoID0gMTA7IAp2YXIgYWxwaGFiZXQgPSBbdHJ1ZSwgImEiLCAiWCIsIE5hTiwgSW5maW5pdHksIDIsIDEsIG9iaiwgLTEsIHVuZGVmaW5lZF07CiAKIHZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQogIAphbHBoYWJldFIuc29ydChteUNvbXBhcmVmbik7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKaWYgKG9iai5zb3J0KCkgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpID09PSBvYmouIEFjdHVhbDogJyArIChvYmouc29ydCgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk4CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieiI7Cm9ialsxXSA9ICJ5IjsKb2JqWzQyOTQ5NjcyOTddID0gIngiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsKCi8vQ0hFQ0sjMQppZiAob2JqLnNvcnQoKSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieCI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ6IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gInoiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5zb3J0KCk7IG9ialsxXSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsKb2JqWzBdID0gInoiOwpvYmpbMV0gPSAieSI7Cm9ialsyXSA9ICJ4IjsKb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk0OwoKLy9DSEVDSyMxCmlmIChvYmouc29ydCgpICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieiIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzFdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzJdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gY29tcGFyZWZuIGZ1bmN0aW9uIHRocm93ICJlcnJvciIKICovCgovL0NIRUNLIzEKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdGhyb3cgImVycm9yIjsKfQp2YXIgeCA9IFsxLDBdOwp0cnkgewogIHguc29ydChteUNvbXBhcmVmbikKICAkRVJST1IoJyMxLjE6IEFycmF5LnNvcnQgc2hvdWxkIG5vdCBlYXQgZXhjZXB0aW9ucycpOwp9IGNhdGNoKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjMS4yOiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMnKTsKICB9Cn0gICAgIAoK","commentary":"Array.sort should not eat exceptions","description":"comparefn function throw \"error\"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzEsMF07CngubGVuZ3RoID0gMjsKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgp4Lmxlbmd0aCA9IDA7CgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMSwwXTsgeC5sZW5ndGggPSAyOyB4LnNvcnQoKTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFsxLDBdOyB4Lmxlbmd0aCA9IDI7IHguc29ydCgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7Ck9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0Owp4ID0gezA6MSwxOjB9Owp4LnNvcnQoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwpkZWxldGUgeFsxXTsKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IHggPSB7MDoxLDE6MH07IHguc29ydCgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgeCA9IHswOjEsMTowfTsgeC5zb3J0KCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgo=","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuc29ydCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS5zb3J0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of sort has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5zb3J0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnNvcnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of sort has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort has the attribute ReadOnly","description":"Checking if varying the length fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjQuanMKICogQGRlc2NyaXB0aW9uIHNvcnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort is 1","description":"sort.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc29ydFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJzb3J0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJzb3J0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The sort property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The sort property of Array has not prototype property","description":"Checking Array.prototype.sort.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTcuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuc29ydCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The sort property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHRoZSBjb21wYXJlZm4gcGFzc2luZyB1bmRlZmluZWQgYXMgdGhlIHRoaXMgdmFsdWUgKHN0ZXAgMTNiKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBjb21wYXJlZm4gdGVzdHMgdGhhdCBpdHMgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQKICogQG9ubHlTdHJpY3QKICovCgp2YXIgZ2xvYmFsID0gdGhpczsKWzIsM10uc29ydChmdW5jdGlvbih4LHkpIHsKICAidXNlIHN0cmljdCI7CgogIGlmICh0aGlzID09PSBnbG9iYWwpIHsKICAgICRGQUlMKCcjMTogU29ydCBsZWFrcyBnbG9iYWwnKTsKICB9CiAgaWYgKHRoaXMgIT09IHVuZGVmaW5lZCkgewogICAgJEZBSUwoJyMyOiBTb3J0IGNvbXBhcmVmbiBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiB4IC0geTsKfSk7Cgo=","commentary":"Call the comparefn passing undefined as the this value (step 13b)","description":"comparefn tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2UgLSAnZnJvbScgaXMgdGhlIHJlc3VsdCBvZiBUb1N0cmluZyhhY3R1YWxTdGFydCtrKSBpbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQogICAgICAgIHZhciBuZXdBcnJPYmogPSBhcnJPYmouc3BsaWNlKC0yLCAxKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyck9iai5sZW5ndGggPT09IDEgJiYgbmV3QXJyT2JqWzBdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.splice - 'from' is the result of ToString(actualStart+k) in an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2Ugd2lsbCBzcGxpY2UgYW4gYXJyYXkgZXZlbiB3aGVuIEFycmF5LnByb3RvdHlwZSBoYXMgaW5kZXggJzAnIHNldCB0byByZWFkLW9ubHkgYW5kICdmcm9tUHJlc2VudCcgbGVzcyB0aGFuICdhY3R1YWxEZWxldGVDb3VudCAoU3RlcCA5LmMuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbImEiLCAiYiIsICJjIl07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAidGVzdCI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLnNwbGljZSgyLCAxLCAiZCIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09ICJhIiAmJiBhcnJbMV0gPT09ICJiIiAmJiBhcnJbMl0gPT09ICJkIg0KICAgICAgICAgICAgICAgICYmIG5ld0FyclswXSA9PT0gImMiICYmIG5ld0Fyci5sZW5ndGggPT09IDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBwID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.splice will splice an array even when Array.prototype has index '0' set to read-only and 'fromPresent' less than 'actualDeleteCount (Step 9.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgeFswXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDUpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzFdID09PSA1LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw0KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGRlbGV0ZUNvdW50ID4gbGVuZ3RoID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"deleteCount > length > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSw0LDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSwyLDMpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMV0gPT09IDMuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMl0gPT09IDAuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNS5qcwogKiBAZGVzY3JpcHRpb24gLXN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDMsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFswXSA9PT0gNC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IHhbMV0gPT09IDUuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBsZW5ndGggPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNSw0KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > length = deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiAtc3RhcnQgPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > -start = deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBkZWxldGVDb3VudCA+IGxlbmd0aCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtOSw1KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > deleteCount > length > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBkZWxldGVDb3VudCA+IC1zdGFydCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > -start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPT09IHVuZGVmaW5lZCwgZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"Splice with undefined arguments","description":"start === undefined, end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSx1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgIAoK","commentary":"Splice with undefined arguments","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciB4ID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIHggPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IHhbMl0gPT09IDIuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFszXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAKCg==","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9IAoK","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTmFOKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDMpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from deleteCount","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKi8KCnZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsKb2JqLmxlbmd0aCA9IDQ7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKG9ialswXSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMV0gPT09IDUuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjOQppZiAob2JqWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMl0gPT09IDMuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKi8KCnZhciBvYmogPSB7MDowLDE6MX07Cm9iai5sZW5ndGggPSAyOwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9ialsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzJdID09PSAwLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfSAgICAgICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqLwoKdmFyIG9iaiA9IHswOjAsMToxfTsKb2JqLmxlbmd0aCA9IDI7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmoubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsLTEsMiwzKTsgb2JqWzFdID09PSAzLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IG9ialsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9ICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICovCgp2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307Cm9iai5sZW5ndGggPSA0OwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAob2JqWzBdICE9PSA0KSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzFdID09PSA1LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKG9ialsyXSAhPT0gMykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtNCwzLDQsNSk7IG9ialsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CnZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsIDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NSwxKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsMSk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3Owp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzBdID0gInkiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAKCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ialswXSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMSk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsKCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IC0xOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTQsMSk7IGFyclswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0gCgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyBhcnJbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM1OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzY6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7CgovL0NIRUNLIzcKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMTAKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzExCmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyMxMTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEyOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsKCi8vQ0hFQ0sjNwppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzFdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTI6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnZhciB4ID0gW107CngubGVuZ3RoID0gMTsKdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCmRlbGV0ZSBhcnJbMF07CgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGRlbGV0ZSBhcnJbMF07IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzU6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKeCA9IHt9Owp2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsKCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKZGVsZXRlIGFyclswXTsKCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgZGVsZXRlIGFyclswXTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0ge307IHZhciBhcnIgPSB4LnNwbGljZSgwLDEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zcGxpY2UpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc3BsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of splice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of splice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc3BsaWNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice is 2","description":"splice.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzcGxpY2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3NwbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc3BsaWNlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNwbGljZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic3BsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The splice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The splice property of Array has not prototype property","description":"Checking Array.prototype.splice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuc3BsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNwbGljZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The splice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgxKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoLTEpOwppZiAodW5zaGlmdCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeC51bnNoaWZ0KC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoLTEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeC51bnNoaWZ0KCk7IHgudW5zaGlmdCgtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmICh1bnNoaWZ0ICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMV0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsxXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFsyXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbMl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbM10pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzRdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs0XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICAgIC8vQ0hFQ0sjMQogICAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMSk7ICAKICAgIGlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwogICAgfQogICAgLy9DSEVDSyMyCiAgICBpZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICAgICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMwogICAgaWYgKG9ialsiMCJdICE9PSAtMSkgewogICAgICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKICAgIH0KfSAKCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialsiMCJdICE9PSAtNCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmpbIjAiXSA9PT0gLTQuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtNyk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKG9ialsiMCJdICE9PSAtNykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoK","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gTmFOOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC0xKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWyIwIl0gIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM1CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWyIwIl0gIT09IC00KSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9ialsiMCJdID09PSAtNC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC03KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAob2JqWyIwIl0gIT09IC03KSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTAKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTApOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCkgPT09IDEuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTApOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMgppZiAob2JqWyIwIl0gIT09IC0xMCkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCk7IG9ialsiMCJdID09PSAtMTAuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzEzCm9iai5sZW5ndGggPSAxLjU7CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoLTEzKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsKICAkRVJST1IoJyMxMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE0CmlmIChvYmoubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDEuNTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEzKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTUKaWYgKG9ialsiMCJdICE9PSAtMTMpIHsKICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpOyBvYmpbIjAiXSA9PT0gLTEzLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxNgpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTYpOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTYpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xNik7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ialsiMCJdICE9PSAtMTYpIHsKICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTE2KTsgb2JqWyIwIl0gPT09IC0xNi4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0gICAKCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0gIG9iai51bnNoaWZ0KCkgPT09IDMuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMwOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnVuc2hpZnQoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKICBpZiAodW5zaGlmdCAhPT0gMykgewogICAgJEVSUk9SKCcjNC4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgPT09ICIsIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsgIAppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM2OiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnVuc2hpZnQoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CiAgJEVSUk9SKCcjNy4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iai51bnNoaWZ0KCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoudW5zaGlmdCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwogICRFUlJPUignIzguMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoudW5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzFdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgCgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gInoiKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9IAoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjNgp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKb2JqWzBdID0gIiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gNCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTU7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbM10gIT09ICIiKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialszXSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAgICAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmpbMF0gPSAiIjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsKaWYgKHVuc2hpZnQgIT09IDQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gIiIpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbM10gPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnggPSBbMV07CngubGVuZ3RoID0gMTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgwKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gLTE7IHggPSBbMV07IHgubGVuZ3RoID0gMTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMF0gPSAtMTsgeCA9IFsxXTsgeC5sZW5ndGggPSAxOyB4LnVuc2hpZnQoMCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Owp4ID0gezA6MX07CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoMCk7CmlmICh1bnNoaWZ0ICE9PSAyKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CgovL0NIRUNLIzgKaWYgKHhbMF0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeFswXTsgeFswXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzkKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0gezA6MH07IHgudW5zaGlmdCgwKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gMTsKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwoKLy9DSEVDSyMxCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMF0gPSAxOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzBdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKeCA9IHt9OwoKLy9DSEVDSyM1CnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzcKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMF0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0ge307IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM4CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IGRlbGV0ZSB4WzBdOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkudW5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS51bnNoaWZ0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of unshift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of unshift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHVuc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift is 1","description":"unshift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndW5zaGlmdFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJ1bnNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ1bnNoaWZ0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The unshift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The unshift property of Array has not prototype property","description":"Checking Array.prototype.unshift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUudW5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The unshift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBoYXMgYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCk7DQogICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aFsxXSA9IHRydWU7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChNYXRoLCB0cnVlKSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoSlNPTiwgdGFyZ2V0T2JqKSA9PT0gMzsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzNdOw0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSBmdW4oMSwgdHJ1ZSwgMyk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRydWUpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChudWxsKTsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0cnVlLCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzFdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCg1LCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0zKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKCJhYmMiLCAiYiIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJudWxsIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAnbCcpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQgaW4gYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEuaW5kZXhPZigxKSAhPT0gMTAwIHx8IA0KICAgICAgYS5pbmRleE9mKCIiKSAhPT0gOTk5OTkgfHwNCiAgICAgIGEuaW5kZXhPZigic3RyIikgIT09IDEyMzQ1NiB8fA0KICAgICAgYS5pbmRleE9mKDFFKzMwOSkgIT09IDUgfHwgICAvL0luZmluaXR5DQogICAgICBhLmluZGV4T2YoNS41KSAhPT0gNTU1NSApDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgaWYgKGEuaW5kZXhPZih0cnVlKSA9PT0gLTEgJiYgDQogICAgICBhLmluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmluZGV4T2YoInN0cjEiKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihudWxsKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihuZXcgT2JqZWN0KCkpID09PSAtMSkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 for elements not present in array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCg0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGYsMSk7DQogIA0KICBpZiAoaSA9PT0gLTEgJiYgYWNjZXNzZWQ9PWZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDI6IHRydWUsIGxlbmd0aDogMiB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkT25lID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZE9uZVsxXSA9IHRydWU7DQogICAgICAgIHZhciBjaGlsZFR3byA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRUd29bMl0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkT25lLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZFR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDE6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is undefined property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgIT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB7fTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSB0YXJnZXRPYmo7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgZmFsc2UpID09PSAtMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSAiYiI7DQogICAgICAgIG9ialsyXSA9ICJjIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgDQogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRPYmopID09PSAxICYmDQogICAgICAgICAgICAgICAgWzAsIDFdLmluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaikgPT09IDE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGRPbmUgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkT25lWzFdID0gdHJ1ZTsNCiAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFR3b1syXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmpPbmUgPSB7IDE6IHRydWUgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqT25lLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqVHdvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAidHJ1ZSIsIDI6ICIyIiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAidHJ1ZSIpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE5OTogdHJ1ZSwgMjAwOiAiMjAwLjU5IiwgbGVuZ3RoOiAiMjAwLjU5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE5OSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyMDAuNTkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUaHJlZSwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjJFMCIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IHRydWUsIDExOiAiMHgwMEIiLCBsZW5ndGg6ICIweDAwQiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIweDAwQiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjAwMDIuMCIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjAwMDIuMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDEwMDogdHJ1ZSwgbGVuZ3RoOiAib25lIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm4gLTEgd2hlbiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB0cnVlIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf return -1 when 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDEyMjogdHJ1ZSwgMTIzOiBmYWxzZSwgbGVuZ3RoOiAxMjMuMzIxIH07IC8vbGVuZ3RoIHdpbGwgYmUgMTIzIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMjIgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUgfTsgLy9sZW5ndGggd2lsbCBiZSAyIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDQyOTQ5NjcyOTcpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDM6IHRydWUsIDQ6IGZhbHNlLCBsZW5ndGg6IDQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAzICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDQ6IHRydWUsIDU6IGZhbHNlLCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpID0gW10uaW5kZXhPZig0Mik7DQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAtNmUtMSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogbnVsbH0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGdlbmVyaWMgJ2FycmF5JyB3aXRoIGxlbmd0aCAwICkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IDB9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggaXMgb2JqZWN0IG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBpcyBhbiBlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IFsgXX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIDAuMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsMSwyLDEsMl07DQogIGlmIChhLmluZGV4T2YoMiwiMiIpID09PSAzICYmICAgICAgICAgIC8vICIyIiByZXNvbHZlcyB0byAyICANCiAgICAgIGEuaW5kZXhPZigyLCJvbmUiKSA9PT0gMSkgeyAgICAgICAvLyAib25lIiByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgSW5maW5pdHkpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIE5hTikgPT09IDAgJiYgW3RydWVdLmluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWUsIDJdLmluZGV4T2YodHJ1ZSwgIi0xIikgPT09IC0xICYmDQogICAgICAgIFswLCAxLCB0cnVlXS5pbmRleE9mKHRydWUsICItMSIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsICItSW5maW5pdHkiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiM0UwIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjNFMCIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAzIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMyIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBmbG9hdGluZyBwb2ludCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7DQogIGlmIChhLmluZGV4T2YoMywwLjQ5KSA9PT0gMiAmJiAgICAvLyAwLjQ5IHJlc29sdmVzIHRvIDANCiAgICAgIGEuaW5kZXhPZigxLDAuNTEpID09PSAwICYmICAgIC8vIDAuNTEgcmVzb2x2ZXMgdG8gMA0KICAgICAgYS5pbmRleE9mKDEsMS41MSkgPT09IC0xKSB7ICAgLy8gMS4wMSByZXNvbHZlcyB0byAxDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMy4xMCIpID09PSAtMSAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIHRhcmdldE9iaiwgNF0uaW5kZXhPZih0YXJnZXRPYmosICIwMDAzLjEwIikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when value of 'fromIndex' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcFR3b09jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIHN0ZXBUd29PY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBzdGVwVGhyZWVPY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAxIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdHJ1ZSkgPT09IC0xICYmICAgICAgICAvLyB0cnVlIHJlc29sdmVzIHRvIDENCiAgICAgYS5pbmRleE9mKDEsZmFsc2UpID09PSAwICkgeyAgICAgICAvLyBmYWxzZSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgMi41KSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZigwLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoMiwgMSkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZig0LCAyKSA9PT0gNCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoNCwgNCkgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzICd1bmRlZmluZWQnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCkgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is 'undefined'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSxudWxsKSA9PT0gMCApIHsgICAgICAgLy8gbnVsbCByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdmcm9tSW5kZXgnIGlzbid0IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgMCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQNCiAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKDApID09PSBhcnIuaW5kZXhPZigwLCAwKSAmJg0KICAgICAgICAgICAgYXJyLmluZGV4T2YoMikgPT09IGFyci5pbmRleE9mKDIsIDApICYmDQogICAgICAgICAgICBhcnIuaW5kZXhPZig0KSA9PT0gYXJyLmluZGV4T2YoNCwgMCk7IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIDApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmIGZyb21JbmRleCBpcyBncmVhdGVyIHRoYW4gQXJyYXkgbGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsNSkgPT09IC0xICYmICANCiAgICAgYS5pbmRleE9mKDEsMykgPT09IC0xICAmJg0KICAgICBbIF0uaW5kZXhPZigxLDApID09PSAtMSAgKXsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if fromIndex is greater than Array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMywgMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbXS5pbmRleE9mKDEsIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMiwgMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgDQogIGlmIChhLmluZGV4T2YoMiwtMSkgPT09IC0xICYmICANCiAgICAgIGEuaW5kZXhPZigyLC0yKSA9PT0gMSAmJiAgDQogICAgICBhLmluZGV4T2YoMSwtMykgPT09IDAgJiYgIA0KICAgICAgYS5pbmRleE9mKDEsLTUuMykgPT09IDAgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDQsIC0xKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoMSwgLTMpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZigwLCAtNCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IFtvYmosInRydWUiLCB1bmRlZmluZWQsMCxfZmFsc2UsbnVsbCwxLCJzdHIiLDAsMSx0cnVlLGZhbHNlLHRydWUsZmFsc2VdOw0KICBpZiAoYS5pbmRleE9mKHRydWUpID09PSAxMCAmJiAgLy9hWzEwXT10cnVlDQogICAgICBhLmluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGluZGV4T2YgKg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfTmFOID0gTmFOOw0KICB2YXIgYSA9IG5ldyBBcnJheSgiTmFOIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIixfTmFOLE5hTik7DQogIGlmIChhLmluZGV4T2YoTmFOKSA9PT0gLTEpICAvLyBOYU4gaXMgZXF1YWwgdG8gbm90aGluZywgaW5jbHVkaW5nIGl0c2VsZi4NCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using indexOf *","description":"Array.prototype.indexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0aGUgbGVuZ3RoIG9mIGl0ZXJhdGlvbiBpc24ndCBjaGFuZ2VkIGJ5IGFkZGluZyBlbGVtZW50cyB0byB0aGUgYXJyYXkgZHVyaW5nIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsyMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoZmFsc2UsdW5kZWZpbmVkLG51bGwsIjAiLG9iaiwtMS4zMzMzMzMzMzMzMzMzLCAic3RyIiwtMCx0cnVlLCswLCBvbmUsIDEsMCwgZmFsc2UsIF9mbG9hdCwgLSg0LzMpKTsNCiAgaWYgKGEuaW5kZXhPZigtKDQvMykpID09PSAxNCAmJiAgICAgIC8vIGFbMTRdPV9mbG9hdD09PS0oNC8zKQ0KICAgICAgYS5pbmRleE9mKDApID09PSA3ICAgICAgJiYgICAgICAgLy8gYVs3XSA9ICswLCAwPT09KzANCiAgICAgIGEuaW5kZXhPZigtMCkgPT09IDcgICAgICAmJiAgICAgLy8gYVs3XSA9ICswLCAtMD09PSswDQogICAgICBhLmluZGV4T2YoMSkgPT09IDEwICkgICAgICAgICAgICAvLyBhWzEwXSA9b25lPT09IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07DQogIHZhciBzekZhbHNlID0gImZhbHNlIjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwLHN6RmFsc2UsICJmYWxzZSIpOw0KICBpZiAoYS5pbmRleE9mKCJmYWxzZSIpID09PSA4KSAgLy9hWzhdPXN6RmFsc2UNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07DQogIHZhciBfdW5kZWZpbmVkMSA9IHVuZGVmaW5lZDsNCiAgdmFyIF91bmRlZmluZWQyOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLDAsZmFsc2UsbnVsbCwxLCJ1bmRlZmluZWQiLG9iaiwxLF91bmRlZmluZWQyLF91bmRlZmluZWQxLHVuZGVmaW5lZCk7DQogIGlmIChhLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gOCkgLy9hWzhdPV91bmRlZmluZWQyDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIsb2JqMixvYmoxLG9iajMpOw0KICBpZiAoYS5pbmRleE9mKG9iajMpID09PSA4KSAgLy9hWzhdID0gb2JqMTsNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19Ow0KICB2YXIgX251bGwgPSBudWxsOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLF9udWxsLDEsInN0ciIsMCwxLG9iaix0cnVlLGZhbHNlLG51bGwpOw0KICBpZiAoYS5pbmRleE9mKG51bGwpID09PSA0ICkgIC8vYVs0XT1fbnVsbA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChzZWxmIHJlZmVyZW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIA0KICBhWzJdID0gYTsNCiAgaWYgKGEuaW5kZXhPZihhKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICANCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCxiLCIwLDEiLDMpOyAgDQogIGlmIChhLmluZGV4T2YoYi50b1N0cmluZygpKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChTcGFyc2UgQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIA0KICBhWzQyOTQ5NjcyOTRdID0gMjsgICAgICAgICAgLy8gMl4zMi0yIC0gaXMgbWF4IGFycmF5IGVsZW1lbnQNCiAgYVs0Mjk0OTY3Mjk1XSA9IDM7ICAgICAgICAgIC8vIDJeMzItMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIGFbNDI5NDk2NzI5N10gPSA1OyAgICAgICAgICAvLyAyXjMyKzEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCg0KICAvLyBzdGFydCBzZWFyY2hpbmcgbmVhciB0aGUgZW5kIHNvIGluIGNhc2UgaW1wbGVtZW50YXRpb24gYWN0dWFsbHkgdHJpZXMgdG8gdGVzdCBhbGwgbWlzc2luZyBlbGVtZW50cyEhDQogIHJldHVybiAoYS5pbmRleE9mKDIsNDI5NDk2NzI5MCApID09PSA0Mjk0OTY3Mjk0ICYmICAgIA0KICAgICAgYS5pbmRleE9mKDMsNDI5NDk2NzI5MCkgPT09IC0xICYmICAgDQogICAgICBhLmluZGV4T2YoNCw0Mjk0OTY3MjkwKSA9PT0gLTEgJiYgIA0KICAgICAgYS5pbmRleE9mKDUsNDI5NDk2NzI5MCkgPT09IC0xICAgKSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgImxlbmd0aCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoIjYuOTkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDA6IDAsIDE6IDExMSwgMjogMiwgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExLCAyXTsgDQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGFyci5pbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMiA9PT0gYXJyLmluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5pbmRleE9mKCJ1bmNvbmZpZ3VyYWJsZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9Ow0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCB0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnIubGVuZ3RoID0gMzA7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5pbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIGZhbHNlLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAiMTAiOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5pbmRleE9mKCIxMCIsIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gbm9uLWV4aXN0ZW50IHByb3BlcnR5IHdvdWxkbid0IGJlIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - non-existent property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSAmJg0KICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5pbmRleE9mKDEwKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoMjApICYmIA0KICAgICAgICAgICAgICAgIDIgPT09IFssICwgLCBdLmluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07IA0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDMwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMCAmJg0KICAgICAgICAgICAgW2ZhbHNlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbZmFsc2UsIGZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCBdLmluZGV4T2YodW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAxIH0sIHVuZGVmaW5lZCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzEwMF0gPSAiMTAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMjAwXSA9ICIyMDAiOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICYmDQogICAgICAgICAgICAgICAgMTAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzIwMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgZmFsc2UsIDAsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gW3RydWVdLmluZGV4T2YodHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0aDogMiB9LCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0uaW5kZXhPZih0cnVlKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoZmFsc2UpICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0uaW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIHRydWUpICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sICJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmluZGV4T2YoMSkgPT09IDEgJiYgYXJyLmluZGV4T2YoMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdHlwZSBvZiBhcnJheSBlbGVtZW50IGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbInRydWUiXS5pbmRleE9mKHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgWyIwIl0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbbnVsbF0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0uaW5kZXhPZigwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIEJvb2xlYW4gdHlwZSwgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Boolean type, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdCB0eXBlLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFt7fSwgb2JqMSwgb2JqMl0uaW5kZXhPZihvYmozKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Object type, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIFVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmluZGV4T2YoKSA9PT0gMCAmJiBbdW5kZWZpbmVkXS5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbbnVsbF0uaW5kZXhPZihudWxsKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgTmFODQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0uaW5kZXhPZihOYU4pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgLU5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyArMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgLTANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbKzBdLmluZGV4T2YoLTApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyAtMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgKzANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTBdLmluZGV4T2YoKzApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgTnVtYmVyLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTEsIDAsIDFdLmluZGV4T2YoMSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Number, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgU3RyaW5nLCBhbmQgdGhleSBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsiIiwgImFiIiwgImJjYSIsICJhYmMiXS5pbmRleE9mKCJhYmMiKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both array element and search element are String, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgaW5kZXggb2YgbGFzdCBvbmUgd2hlbiBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFyZSBlbGlnaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAyLCAxLCAyXS5pbmRleE9mKDIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgd2l0aG91dCB2aXNpdGluZyBzdWJzZXF1ZW50IGVsZW1lbnQgb25jZSBzZWFyY2ggdmFsdWUgaXMgZm91bmQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsICwgMSwgMl07DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuaW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpZnRoQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Y7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIE1hdGhbMV0gPSAxMDA7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoTWF0aCwgMTAwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoImFmZGFzZiIpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTAwOw0KICAgICAgICBvYmpbMV0gPSAiYWZkYXNmIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKEpTT04sIHRhcmdldE9iaik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTlszXTsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSBJbmZpbml0eTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gWyJnbG9iYWwiXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSBpc05hTjsNCiAgICAgICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKDUsIGlzTmFOKTsNCiAgICAgICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgImYiKSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAxOw0KICAgICAgICBjaGlsZFsyXSA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAxOiAxIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBudWxsKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is undefined property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSAhPT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHt9Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKSA9PT0gLTE7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdGFyZ2V0T2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIzIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIzIikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJiIjsNCiAgICAgICAgb2JqWzJdID0gImMiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBbMCwgMV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge2xlbmd0aDogMH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFsxXSA9IGNoaWxkOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgY2hpbGQpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSBudWxsOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gIngiOw0KICAgICAgICBjaGlsZFsyXSA9ICJ5IjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsICJ4IikgPT09IDEgJiYNCiAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgInkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IGV2YWw7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgZXZhbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogIjIifTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogbnVsbCwgMjogdW5kZWZpbmVkLCBsZW5ndGg6ICItNDI5NDk2NzI5NCJ9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiA0LCA1OiA1LCBsZW5ndGg6ICI1LjUxMjM0NSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0KSA9PT0gNCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA1KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqVGhyZWUsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MjI5OiAyMjksIDIzMDogMi4zRTIsIGxlbmd0aDogIjIuM0UyIn07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjI5KSA9PT0gMjI5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIuM0UyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgd2hpY2ggaXMgYWJsZSB0byBiZSBjb252ZXJ0ZWQgaW50byBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAyNTczOiAyNTczLCAyNTc0OiAweDAwMEEwRSwgbGVuZ3RoOiAiMHgwMDBBMEUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjU3MykgPT09IDI1NzMgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMHgwMDBBMEUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string which is able to be converted into hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBTdHJpbmcoIjEyM2FiYzEyMyIpOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIGxlbmd0aDogIjEyM2FiYzEyMyIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJuIC0xIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdHJ1ZSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf return -1 when value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHRoaXM7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICczJzsNCiAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBhbiBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IGNoaWxkLA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf uses inherited valueOf method when 'length' is an object with an own toString and an inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTIyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsgLy92ZXJpZnkgbGVuZ3RoIGlzIDAgZmluYWxseQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNDI5NDk2NzI5NykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAidW5kZWZpbmVkIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiArMCwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICswKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA5OTogdHJ1ZSwgMTAwOiAxMDAsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEwMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAtSW5maW5pdHkpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IEluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgaSA9IFtdLmxhc3RJbmRleE9mKDQyKTsNCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgLTZlLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogLTZlLTEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBudWxsfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IGZhbHNlfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJheScgd2l0aCBsZW5ndGggMCApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIGlzIG9iamVjdCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggaXMgYW4gZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAwLjENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogMC4xIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigxLCIxIikgPT09IDEgJiYgICAgICAgICAgLy8gIjEiIHJlc29sdmVzIHRvIDENCiAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5hTiBzdHJpbmcgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YobnVsbCwgSW5maW5pdHkpID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLUluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgTmFOKSA9PT0gLTEgJiYgLy8gZnJvbSBJbmRleCB3aWxsIGJlIGNvbnZlcnQgdG8gKzANCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmDQogICAgICAgICAgICBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IC0xICYmDQogICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAiLTIiLCAyXS5sYXN0SW5kZXhPZigiLTIiLCAiLTIiKSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIDIsICItMiJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgIi1JbmZpbml0eSIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIE5hTiwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAyIikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIweDAwMDIiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgZmxvYXRpbmcgcG9pbnQgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLDEuNDkpID09PSAxICYmICAgIC8vIDEuNDkgcmVzb2x2ZXMgdG8gMQ0KICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDANCiAgICAgIGEubGFzdEluZGV4T2YoMSwwLjUxKSA9PT0gMCl7ICAgICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gT2JqZWN0LCBhbmQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYNCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an Object, and has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAyICYmDQogICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an object, and has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYW4gZG9uJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgWzAsIG51bGxdLmxhc3RJbmRleE9mKG51bGwsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when value of 'fromIndex' is an object that both toString and valueOf methods than don't return primitive value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZSBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf use inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBUd29PY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIGlmIChzdGVwRml2ZU9jY3Vycykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN0ZXAgNSBvY2N1cnJlZCBvdXQgb2Ygb3JkZXIiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFRocmVlT2NjdXJzICYmIHN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMSBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMix0cnVlKSA9PT0gMSAmJiAgICAgICAgLy8gdHJ1ZSByZXNvbHZlcyB0byAxDQogICAgIGEubGFzdEluZGV4T2YoMixmYWxzZSkgPT09IC0xICkgeyAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gLTE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigwLCAyKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZig0LCA0KSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLHVuZGVmaW5lZCkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDIpICAgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMCwgbm8gc2Vjb25kIGFyZ3VtZW50IHJlc29sdmVzIHRvIGxlbg0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMixudWxsKSA9PT0gLTEgJiYgYS5sYXN0SW5kZXhPZigxLG51bGwpID09PSAwKSB7ICAgICAgIC8vIG51bGwgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnZnJvbUluZGV4JyBpc24ndCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KICAgICAgICAvLydmcm9tSW5kZXgnIHdpbGwgYmUgc2V0IGFzIDQgaWYgbm90IHBhc3NlZCBieSBkZWZhdWx0DQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IGFyci5sYXN0SW5kZXhPZigwLCA0KSAmJg0KICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZig0KSA9PT0gYXJyLmxhc3RJbmRleE9mKDQsIDQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMTAwXS5sYXN0SW5kZXhPZigxMDAsIDApID09PSAtMSAmJiAvLyB2ZXJpZnkgZnJvbUluZGV4IGlzIG5vdCBtb3JlIHRoYW4gMA0KICAgICAgICAgICAgWzIwMCwgMF0ubGFzdEluZGV4T2YoMjAwLCAwKSA9PT0gMDsgLy8gdmVyaWZ5IGZyb21JbmRleCBpcyBub3QgbGVzcyB0aGFuIDANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsICswKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggZ3JlYXRlciB0aGFuIEFycmF5Lmxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMyw1LjQpID09PSAyICYmICANCiAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex greater than Array.length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGFuZCAnbGVuZ3RoJyBhcmUgYm90aCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2l0aCBuZWdhdGl2ZSBmcm9tSW5kZXggDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KICANCiAgaWYgKGEubGFzdEluZGV4T2YoMiwtMikgPT09IDEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigyLC0zKSA9PT0gLTEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigxLC01LjMpID09PSAtMSApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIC00KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx0cnVlLGZhbHNlLG9iaixfZmFsc2UsdHJ1ZSwidHJ1ZSIsIHVuZGVmaW5lZCwwLG51bGwsMSwic3RyIiwwLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gNSAmJiAgLy9hWzVdPXRydWUNCiAgICAgIGEubGFzdEluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGxhc3RJbmRleE9mICoNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF9OYU4gPSBOYU47DQogIHZhciBhID0gbmV3IEFycmF5KCJOYU4iLF9OYU4sTmFOLCB1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIik7DQogIGlmIChhLmxhc3RJbmRleE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using lastIndexOf *","description":"Array.prototype.lastIndexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGhlIGxlbmd0aCBvZiBpdGVyYXRpb24gaXNuJ3QgY2hhbmdlZCBieSBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIGFycmF5IGR1cmluZyBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMjBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzFdID0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKzAsdHJ1ZSwwLC0wLCBmYWxzZSx1bmRlZmluZWQsbnVsbCwiMCIsb2JqLCBfZmxvYXQsLSg0LzMpLC0xLjMzMzMzMzMzMzMzMzMsInN0ciIsb25lLCAxLCBmYWxzZSk7DQogIGlmIChhLmxhc3RJbmRleE9mKC0oNC8zKSkgPT09IDEwICYmICAgICAgLy8gYVsxMF09LSg0LzMpDQogICAgICBhLmxhc3RJbmRleE9mKDApID09PSAzICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUgZXF1YWwNCiAgICAgIGEubGFzdEluZGV4T2YoLTApID09PTMgICAgICAgJiYgICAgICAvLyBhWzNdID0gLTANCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDE0ICkgICAgICAgICAgICAvLyBhWzE0XSA9IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgc3pGYWxzZSA9ICJmYWxzZSI7DQogIHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoImZhbHNlIikgPT09IDEpIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCh1bmRlZmluZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdW5kZWZpbmVkO319Ow0KICB2YXIgX3VuZGVmaW5lZDEgPSB1bmRlZmluZWQ7DQogIHZhciBfdW5kZWZpbmVkMjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoX3VuZGVmaW5lZDEsX3VuZGVmaW5lZDIsdW5kZWZpbmVkLHRydWUsMCxmYWxzZSxudWxsLDEsInVuZGVmaW5lZCIsb2JqLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAyKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShvYmoyLG9iajEsb2JqMyxmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIpOw0KICBpZiAoYS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMikgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChudWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIG51bGx9fTsNCiAgdmFyIF9udWxsID0gbnVsbDsNCiAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1ZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsInN0ciIsMCwxLG51bGwsdHJ1ZSxmYWxzZSx1bmRlZmluZWQsX251bGwsIm51bGwiLHVuZGVmaW5lZCwic3RyIixvYmopOw0KICBpZiAoYS5sYXN0SW5kZXhPZihudWxsKSA9PT0gMTMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDIsMyk7ICANCiAgYVsyXSA9IGE7DQogIGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBuZXcgQXJyYXkoIjAsMSIpOyAgDQogIHZhciBhID0gbmV3IEFycmF5KDAsYiwiMCwxIiwzKTsgIA0KICBpZiAoYS5sYXN0SW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoU3BhcnNlIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDAsMSk7ICANCiAgYVs0Mjk0OTY3Mjk0XSA9IDI7ICAgICAgICAgIC8vIDJeMzItMiAtIGlzIG1heCBhcnJheSBlbGVtZW50IGluZGV4DQogIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCiAgYVs0Mjk0OTY3Mjk2XSA9IDQ7ICAgICAgICAgIC8vIDJeMzIgICBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTddID0gNTsgICAgICAgICAgLy8gMl4zMisxIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIC8vIHN0b3Agc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQ0KICBhWzQyOTQ5NjcyMDBdID0gMzsgICAgICAgICAgDQogIGFbNDI5NDk2NzIwMV0gPSA0OyAgICAgICAgIA0KICBhWzQyOTQ5NjcyMDJdID0gNTsgICAgICAgICANCg0KDQogIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAmJiAgICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDQyOTQ5NjcyMDAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNCkgPT09IDQyOTQ5NjcyMDEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IDQyOTQ5NjcyMDIpIDsNCiAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZig2Ljk5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxMDAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0IiwgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAyID09PSBhcnIubGFzdEluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigidW5jb25maWd1cmFibGUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDMwIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgdGFyZ2V0T2JqLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5sZW5ndGggPSAzMDsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDYuOTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDEwOiBmYWxzZSwgbGVuZ3RoOiAzMCB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDE1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCBmYWxzZSwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzEwXSA9ICIxMCI7DQogICAgICAgIGFyci5sZW5ndGggPSAyMDsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiMTAiLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA4IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIEluZmluaXR5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHVuZGVmaW5lZCBwcm9wZXJ0eSB3b3VsZG4ndCBiZSBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgLCAyXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - undefined property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApICYmDQogICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsgDQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMjApICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAzMCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KDApICYmIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gW3RydWUsIHRydWUsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAyICYmDQogICAgICAgICAgICBbdHJ1ZSwgdHJ1ZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbdHJ1ZSwgZmFsc2UsIGZhbHNlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFssIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnIubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is an own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWywgXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDEgfSwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxMDBdID0gIjEwMCI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzIwMF0gPSAiMjAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjAwOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgJiYNCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCAiMjAwIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzEwMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyMDBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmModHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzNdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgYXJndW1lbnRzLCAwLCBPYmplY3QucHJvdG90eXBlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gT2JqZWN0Ow0KICAgICAgICAgICAgcmV0dXJuIFtPYmplY3QucHJvdG90eXBlXS5sYXN0SW5kZXhPZihPYmplY3QucHJvdG90eXBlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IFtOdW1iZXJdLmxhc3RJbmRleE9mKE51bWJlcik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YodHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZihmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmxhc3RJbmRleE9mKDEpID09PSAxICYmIGFyci5sYXN0SW5kZXhPZigyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIHNlYXJjaCBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJ0cnVlIl0ubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBbIjAiXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtudWxsXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0ubGFzdEluZGV4T2YoMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBib29sZWFucywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are booleans, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBPYmplY3RzLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFtvYmoyLCBvYmoxXS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are Objects, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBVbmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBOdWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW251bGxdLmxhc3RJbmRleE9mKG51bGwpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIE5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmxhc3RJbmRleE9mKE5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIC1OYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0ubGFzdEluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgKzAgYW5kIHNlYXJjaCBlbGVtZW50IGlzIC0wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyswXS5sYXN0SW5kZXhPZigtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgLTAgYW5kIHNlYXJjaCBlbGVtZW50IGlzICswDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWy0wXS5sYXN0SW5kZXhPZigrMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIG51bWJlcnMsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFstMSwgMCwgMV0ubGFzdEluZGV4T2YoLTEpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are numbers, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIHN0cmluZ3MsIGFuZCB0aGV5IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJhYmMiLCAiYWIiLCAiYmNhIiwgIiJdLmxhc3RJbmRleE9mKCJhYmMiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are strings, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBpbmRleCBvZiBsYXN0IG9uZSB3aGVuIG1vcmUgdGhhbiB0d28gZWxlbWVudHMgaW4gYXJyYXkgYXJlIGVsaWdpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMiwgMSwgLCAxLCAyXTsNCiAgICAgICAgdmFyIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBlbGVtZW50Rmlyc3RBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sYXN0SW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpcnN0QWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMSkgIT09IDEwMCB8fA0KICAgICAgYS5sYXN0SW5kZXhPZigiIikgIT09IDk5OTk5IHx8DQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIiKSAhPT0gMTIzNDU2IHx8DQogICAgICBhLmxhc3RJbmRleE9mKDUuNSkgIT09IDU1NTUgfHwNCiAgICAgIGEubGFzdEluZGV4T2YoMUUrMzA5KSAhPT0gNSApICAgICAgDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0gICAgDQogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSAtMSAmJiANCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIxIikgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKG51bGwpID09PSAtMSAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YobmV3IE9iamVjdCgpKSA9PT0gLTEgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 for elements not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCiAgDQogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZiwxKTsNCiAgDQogIGlmIChpID09PSAtMSAmJiBhY2Nlc3NlZD09ZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUuZXZlcnk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChNYXRoLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIERhdGUpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICEob2JqIGluc3RhbmNlb2YgUmVnRXhwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBFcnJvcik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgyLjUsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgiaGVsbG9cbndvcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImhlbGxvXG53b3JsZFxcISIpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogOA0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSA4Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCkgPiAxOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCI0MzIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoc3RyLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChzdHIsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZnVuLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSA5Ow0KDQogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVsxMiwgMTFdLmV2ZXJ5KGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJQcm90b0xlbiA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDk7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDExXS5ldmVyeShjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqT25lLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVHdvLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVGhyZWUsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgDQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsYmFja2ZuQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGJhY2tmbkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWNhbGxiYWNrZm5BY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIuNjg1IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07IC8vbGVuZ3RoIHVzZWQgdG8gZXhlYyB3aGlsZSBsb29wIGlzIDINCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTEsIDldLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeShudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IGEgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSgge30gKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQXJyYXkgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpBcnJheSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gU3RyaW5nIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQm9vbGVhbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gTnVtYmVyIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBNYXRoKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRGF0ZSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRGF0ZSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gUmVnRXhwIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpSZWdFeHApICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEpTT04gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgSlNPTikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRXJyb3IgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgYXJnKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gMTAxOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgMTAxKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCAiYWJjIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIGEpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgdmFyIGFyciA9IFsxXTsNCg0KICAgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGZvbykgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGV2YWwpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbMl0gPSAzOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgY2FsbGVkRm9yVGhyZWUgPSB0cnVlOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIA0KICB2YXIgcmVzID0gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KDQogIHJldHVybiBjYWxsZWRGb3JUaHJlZTsgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every considers new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsID09IDMpDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoID0gMzsNCiAgICBpZih2YWwgPCA0KQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDZdOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgYXJyWzEwMDBdID0gMzsNCiAgICBpZih2YWwgPCAzKQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgYXJyWzJdOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzJdID0gMzsNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgdmFyIHJlcyA9IGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCg0KICBpZihyZXMgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBEZWxldGluZyB0aGUgYXJyYXkgaXRzZWxmIHdpdGhpbiB0aGUgY2FsbGJhY2tmbiBvZiBBcnJheS5wcm90b3R5cGUuZXZlcnkgaXMgc3VjY2Vzc2Z1bCBvbmNlIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpcyBjYWxsZWQgZm9yIGFsbCBlbGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLmFycjsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IElkeCArIDEpDQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIG8uYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Deleting the array itself within the callbackfn of Array.prototype.every is successful once Array.prototype.every is called for all elements","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDAuOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gdW5kZWZpbmVkOyAgDQogIGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgaWYoIGNhbGxDbnQgPT09IDEpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAzOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogNi45OSwgODogMTl9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gNTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIDE6IDYgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA2Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIVssICwgLCBdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDEgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExLCA5KSAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4IDwgMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMSwgMTIsIDkpICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEwMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA1OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBjYWxsZWQgPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAnYWJjJzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSBrVmFsdWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDEzOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMzsNCiAgICAgICAgICAgIHJldHVybiAhWywgLCAsIF0uZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGlmKG9ialtJZHhdID09PSB2YWwpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgYXJndW1lbnRzWzJdW2lkeF0gPT09IHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTIsIDEzXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAzID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBib29sZWFuIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpICE9PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every -'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGFuIFN0cmluZyBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBzdHJpbmcgcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gODsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgYXJyWzk5OTk5OV0gPSAtNi42Ow0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTAgPT09IHRoaXMudGhyZXNob2xkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7IHRocmVzaG9sZDogMTAgfTsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpbW1lZGlhdGVseSByZXR1cm5zIGZhbHNlIGlmIGNhbGxiYWNrZm4gcmV0dXJucyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSA3KSANCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every immediately returns false if callbackfn returns false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYXNjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiAgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMiwgMTMsIDE0XS5ldmVyeShjYWxsYmFja2ZuLCB1bmRlZmluZWQpICYmIDQgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFyZ3VtZW50cyB0byBjYWxsYmFja2ZuIGFyZSBzZWxmIGNvbnNpc3RlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZykgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBjYWxsZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgICAgfQ0KDQogICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC1JbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIE5hTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBbXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgU3RyaW5nKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRXZhbEVycm9yKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZmFsc2UgcHJldmVudHMgZnVydGhlciBzaWRlIGVmZmVjdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gODsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - false prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIChuZXcgQm9vbGVhbihmYWxzZSkpIG9mIGNhbGxiYWNrZm4gaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiArMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bm1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCkge30NCiAgdmFyIGkgPSBbXS5ldmVyeShjYik7DQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMjsNCiAgDQogIGZ1bmN0aW9uIGNiKHZhbCkNCiAgew0KICAgIGlmKHZhbD4yKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOyAgICANCiAgfQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true when all calls to callbackfn return true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgbXV0YXRlIHRoZSBhcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICBpZihhcnJbMF0gPT09IDEgJiYNCiAgICAgYXJyWzFdID09PSAyICYmDQogICAgIGFyclsyXSA9PT0gMyAmJg0KICAgICBhcnJbM10gPT09IDQgJiYNCiAgICAgYXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5zb21lOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZS5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IHRydWU7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKDUsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKCJoZWxsb1xud19vcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndfb3JsZFxcISIpOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' property doesn't exist on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyg5LCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbMl0gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChzdHIsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHN0ciwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gOTsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmdW4sIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDEyOw0KDQogICAgICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMTI7DQoNCiAgICAgICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVs5LCAxMV0uc29tZShjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSA5Ow0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IDExLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogMTEsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiAxMSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpPbmUsIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUd28sIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUaHJlZSwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDIxLCBsZW5ndGg6ICJ0d28iIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCBpZiAnbGVuZ3RoJyBpcyAxIChsZW5ndGggb3ZlcnJpZGRlbiB0byB0cnVlKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDksDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsYmFja2ZuQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFjYWxsYmFja2ZuQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDEwOiAxMSwNCiAgICAgICAgICAgIDExOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogMTEuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgYSBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE3XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xN181XzEgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakFycmF5ID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBTdHJpbmcgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBCb29sZWFuIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqQm9vbGVhbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBOdW1iZXIgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgTWF0aCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBEYXRlIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRGF0ZSA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRGF0ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBSZWdFeHAgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpSZWdFeHAgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpSZWdFeHApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgSlNPTik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBFcnJvciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRXJyb3IpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBvKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAxMDE7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIDEwMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiYWJjIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xN181XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE3XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzI1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgICAgIHRoaXMucmV0VmFsID0gIWFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KICANCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQogIHZhciBmID0gbmV3IGZvbygpOw0KICB2YXIgYXJyID0gWzFdOw0KDQogICAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmb28pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBldmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBldmFsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzJdID0gMzsNCiAgICBpZih2YWwgIT09IDMpDQogICAgICBjYWxsZWRGb3JUaHJlZSA9IHRydWU7DQoNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCw1XTsNCiAgDQogIHZhciB2YWwgPSBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGNhbGxlZEZvclRocmVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some considers new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsICE9PSAzKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't visit deleted elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyci5sZW5ndGggPSAzOw0KICAgIGlmKHZhbCA8IDQpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIA0KICB2YXIgYXJyID0gWzEsMiwzLDQsNl07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbMTAwMF0gPSA1Ow0KICAgIGlmKHZhbCA8IDUpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgaWYodmFsIDwgNSkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIHZhciByZXMgPSBhcnIuc29tZShjYWxsYmFja2ZuKSA7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlcyA9PT0gdHJ1ZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW5ndGggaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - no observable effects occur if length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDI6IDEyLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQoNCiAgdmFyIGNhbGxDbnQgPSAwOyANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMV0gPSB1bmRlZmluZWQ7DQogIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09PSAxKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IA0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5LCA4OiAxOX07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMTAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTAwOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDIwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIFssICwgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBba1ZhbHVlXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBmaXJzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRoaXJkUmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgZmlyc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBzZWNvbmRSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0aGlyZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgMTIsIDkpICYmIGZpcnN0UmVzdWx0ICYmIHNlY29uZFJlc3VsdCAmJiB0aGlyZFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGhlbHBWZXJpZnlWYXIgPSAxMTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBoZWxwVmVyaWZ5VmFyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKGFyZ3MpIHsNCiAgICAgICAgICAgICAgICBoZWxwVmVyaWZ5VmFyID0gYXJnczsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgaGVscFZlcmlmeVZhciA9IDExOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGhlbHBWZXJpZnlWYXI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYXJncykgew0KICAgICAgICAgICAgICAgIGhlbHBWZXJpZnlWYXIgPSBhcmdzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNTogMTAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbNV0gPSBrVmFsdWU7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMTsNCg0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBrVmFsdWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDUgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDAgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBrVmFsdWU7DQoNCiAgICAgICAgICAgIHJldHVybiBbLCBdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYob2JqW2lkeF0gPT09IHZhbCkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cyBvYmplY3QgdG8gZ2V0IHBhcmFtZXRlciB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2snIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiAnVCcgaXMgbm90IGFuIG9iamVjdCAoJ1QnIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callback' is a Boolean object when 'T' is not an object ('T' is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDEwOiA4LCBub25faW5kZXhfcHJvcGVydHk6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgKDIgPT09IGNhbGxlZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoID09PSAzKSAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IHRoaXNBcmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmaXJzdEluZGV4ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRJbmRleCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgZmlyc3RJbmRleCAmJiBzZWNvbmRJbmRleDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0SW5kZXggPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZEluZGV4ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAoaWR4ID09PSAwKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBmaXJzdEluZGV4ICYmIHNlY29uZEluZGV4Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGltbWVkaWF0ZWx5IHJldHVybnMgdHJ1ZSBpZiBjYWxsYmFja2ZuIHJldHVybnMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDcpIA0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some immediately returns true if callbackfn returns true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMSwgMTIsIDEzLCAxNF0uc29tZShjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - k values are accessed during each iteration and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJiBhcmd1bWVudHNbMF0gPT09IDExICYmIGFyZ3VtZW50c1sxXSA9PT0gMCAmJiBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDEwMCwgMTA6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiA4LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICJub24tZW1wdHkgc3RyaW5nIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXIoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIEpTT047DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBFdmFsRXJyb3IoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0cnVlIHByZXZlbnRzIGZ1cnRoZXIgc2lkZSBlZmZlY3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - true prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgKG5ldyBCb29sZWFuKGZhbHNlKSkgb2YgY2FsbGJhY2tmbiBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICswOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IFtdLnNvbWUoY2IpOw0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAyOw0KICANCiAgZnVuY3Rpb24gY2IodmFsKQ0KICB7DQogICAgaWYodmFsID4gMikNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false when all calls to callbackfn return false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKDIuNSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTIsIDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMiwgMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgWzEyLCAxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMi41IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMyA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmoxID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajMgPSB7IDA6IDksIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmoyLCBjYWxsYmFja2ZuMik7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqMywgY2FsbGJhY2tmbjMpOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAiYXNkZiFfIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiB0cnVlIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZmlyc3RTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHNlY29uZFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCA5XS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2gobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2godHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE4XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xOF81XzEgPSB0cnVlOw0KICAgICAgICB2YXIgcmVzdWx0Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuXzE1XzRfNF8xOF81XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpBcnJheSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpCb29sZWFuKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpOdW1iZXIpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpEYXRlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpSZWdFeHApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBKU09OKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gYXJnKTsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sbykNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IDEwMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xOF81XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE4XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciByZXN1bHQ7DQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLl8xNV80XzRfMThfNV8yNTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBhcnIgPSBbMV07DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICAgICAgICAgICAgdGhpcy5yZXRWYWwgPSAhcmVzdWx0Ow0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgdmFyIHJlc3VsdDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmVzdWx0ID0gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuLGEpDQogIGlmKCByZXN1bHQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZm9vKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZXZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgZXZhbCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gb2JqU3RyaW5nKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsgDQogICAgYXJyWzJdID0gMzsNCiAgICBhcnJbNV0gPSA2Ow0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gNSkgICAgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't consider new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihjYWxsQ250ID09IDApDQogICAgICBkZWxldGUgYXJyWzNdOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgaWYoIGNhbGxDbnQgPT09IDQpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aD0zOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAzKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclsxMDAwXSA9IDM7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gMikgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFycls0XTsNCiAgICBjYWxsQ250Kys7DQogIH0NCg0KICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYoIGNhbGxDbnQgPT09IDUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls0XSA9IDY7DQogICAgICAgICAgICBpZiAodmFsID49IDYpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW4gaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IHVuZGVmaW5lZDsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAxKSAgICANCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiA2Ljk5LCA4OiAxOSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzhdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHsgfTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIFssICwgLCBdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgWywgMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSA5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9IGtWYWx1ZTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBbMTJdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDEzOw0KDQogICAgICAgICAgICBbLCAsICwgXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXIgPSB0cnVlOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihvYmpbaWR4XSAhPT0gdmFsKQ0KICAgICAgYlBhciA9IGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOyANCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsgDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMudmFsdWVPZigpICE9PSBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoNSA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAodmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgcGFyQ250ID0gMzsNCiAgdmFyIGJDYWxsZWQgPSBmYWxzZQ0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykNCiAgICAgIHBhckNudCA9IGFyZ3VtZW50cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzDQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpDQogICAgcmV0dXJuIHRydWU7DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKDEwID09PSB0aGlzLnRocmVzaG9sZCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHRPbmUgPSBmYWxzZTsNCiAgICAgICAgdmFyIHJlc3VsdFR3byA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHRPbmUgJiYgcmVzdWx0VHdvOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdE9uZSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0VHdvID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9IChpZHggPT09IDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9IChpZHggPT09IDEpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdE9uZSAmJiByZXN1bHRUd287DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqID09PSBvKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGtJbmRleCA9IFtdOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYgdHlwZW9mIGtJbmRleFtpZHggLSAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyLCAxMywgMTRdLmZvckVhY2goY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA9PT0gOCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IFtdLmZvckVhY2goY2IpOw0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAxOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCg0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoY2FsbENudCA9PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bmRlZmluZWQgd2lsbCBiZSByZXR1cm5lZCB3aGVuICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHQgPSBbXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHJlc3VsdCA9PT0gInVuZGVmaW5lZCIgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - undefined will be returned when 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with [0]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMS5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKWyd6J10uZm9yRWFjaChmdW5jdGlvbigpeyBPYmplY3QuZnJlZXplKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsgfSk7Cgo=","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMi5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKZnVuY3Rpb24gZm9vKCkgewogIFsneiddLmZvckVhY2goZnVuY3Rpb24oKXsgT2JqZWN0LmZyZWV6ZShBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7IH0pOwp9CmZvbygpOwoK","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLm1hcC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBNYXRoWzBdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoImFiYyIsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gdGVzdFJlc3VsdC5sZW5ndGg7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZ1bmMoMTIsIDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjEiOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAyID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAxMjsNCiAgICAgICAgb2JqWzFdID0gMTE7DQogICAgICAgIG9ialsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHN0cmluZyB0aGF0IGlzIGFibGUgdG8gY29udmVydCB0byBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBhIGRlY2ltYWwgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is string that is able to convert to number primitive (value is a decimal number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - when 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IGlmICdsZW5ndGgnIGlzIDEgKGxlbmd0aCBvdmVycmlkZGVuIHRvIHRydWUodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZmlyc3RTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kU3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExLCA5XS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMiAmJiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5tYXAoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBub3QgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBmbkdsb2JhbE9iamVjdCgpLl8xNV80XzRfMTlfNV8xID0gdHJ1ZTsNCiAgICB2YXIgXzE1XzRfNF8xOV81XzEgPSBmYWxzZTsNCiAgDQogICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzE5XzVfMTsNCiAgICB9DQogICAgdmFyIHNyY0FyciA9IFsxXTsNCiAgICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KCQ0KCXJldHVybiBmYWxzZTsNCiAgfQ0KICBmaW5hbGx5IHsNCglkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTVfNF80XzE5XzVfMTsNCiAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEFycmF5IG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Array object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgZmFsc2UpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGYpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGV2YWwpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Function object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gQXJyYXkuaXNBcnJheSByZXR1cm5zIHRydWUgd2hlbiBpbnB1dCBhcmd1bWVudCBpcyB0aGUgb3VycHV0IGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5tYXAoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Array.isArray returns true when input argument is the ourput array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMTkwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIHJldHVybmVkIGFycmF5IGlzIGluc3RhbmNlb2YgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLm1hcChmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIgaW5zdGFuY2VvZiBBcnJheTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnJbMl0gPSAzOw0KICAgIHNyY0Fycls1XSA9IDY7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICYmIHJlc0Fycls0XSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gMTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gMDsNCg0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAmJiByZXNBcnJbNF0gPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnIubGVuZ3RoID0gMjsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICAmJiBjYWxsQ250ID09PSAyICYmIHJlc0FyclsyXSA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyWzEwMDBdID0gMzsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHZhbDsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOw0KICBzcmNBcnJbMV0gPSAxOw0KICBzcmNBcnJbMl0gPSAyOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEwICYmIGNhbGxDbnQgPT09IDIpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0Fycls0XTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQoNCiAgfQ0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgJiYgcmVzQXJyWzRdID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHN1Y2Nlc3NmdWwgdG8gZGVsZXRlIHRoZSBvYmplY3QgaW4gY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmouc3JjQXJyOw0KICAgICAgICAgICAgaWYgKHZhbCA+IDApDQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmVzQXJyID0gb2JqLnNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIudG9TdHJpbmcoKSA9PT0gIjEsMSwxLDEsMSIgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map successful to delete the object in callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbmd0aCBpcyAwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - no observable effects occur if length is 0 on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkICs9IDE7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzksICwgMTJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgY2FsbGVkID09PSAyICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzJdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - modifications to length don't change number of iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDIwICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7IA0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDMgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbM10gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAzICYmIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDI6IDYuOTksIDg6IDE5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbMl0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNToga1ZhbHVlLCBsZW5ndGg6IDEwMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzVdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFssIF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtrVmFsdWVdOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWyxdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0ga1ZhbHVlOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmdW5jKDkpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSwgMTIpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMiwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0ga1ZhbHVlOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFs1XSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDU6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzVdID0gMTA7DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGtWYWx1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTM7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbLCAsICwgXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnJbMV0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgDQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn is called with 2 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAodmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn is called with 3 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbm9uX2luZGV4X3Byb3BlcnR5OiAxMSwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQgJiYgdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - non-indexed properties are not called.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhyZXNob2xkID09PSAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3AuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMSwgMTIsIDEzLCAxNF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gNCAmJiB0ZXN0UmVzdWx0WzBdID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2UgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIHRlc3RSZXN1bHRbM10gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - k values are accessed during each iteration and not prior to starting the loop.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMTEgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMV0gPT09IDAgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - arguments to callbackfn are self consistent.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQoJICBpZih2YWwgJSAyKQ0KCSAgICByZXR1cm4gKDIgKiB2YWwgKyAxKTsgDQoJICBlbHNlDQoJICAgIHJldHVybiAodmFsIC8gMik7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gMioxKzEgPSAzDQogICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKXsNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBlcXVhbHMgdG8gJ21hcHBlZFZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gb2JqWzBdICYmIG5ld0FyclsxXSA9PT0gb2JqWzFdOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of returned array element equals to 'mappedValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgb3ZlcndyaXR0ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgbmV3QXJyWzFdICs9IDE7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzFdICE9PSB0ZW1wVmFsOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgZW51bWVyYXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHZhciBwcm9wOw0KICAgICAgICB2YXIgZW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHByb3AgaW4gbmV3QXJyKSB7DQogICAgICAgICAgICBpZiAobmV3QXJyLmhhc093blByb3BlcnR5KHByb3ApKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICIwIikgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgY2hhbmdlZCBvciBkZWxldGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclsxXTsNCiAgICAgICAgICAgIHJldHVybiB0ZW1wVmFsICE9PSB1bmRlZmluZWQgJiYgbmV3QXJyWzFdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVtcHR5IGFycmF5IHRvIGJlIHJldHVybmVkIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCg0KICAgICAgICB2YXIgZiA9IG5ldyBGb28oKTsNCg0KICAgICAgICB2YXIgbyA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcwJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgZi5sZW5ndGggPSBvOw0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIGYgPSBuZXcgRm9vKCk7DQoNCiAgICAgICAgZi5sZW5ndGggPSBbXTsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICAvLw0KICAgICAgICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAgICAgICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogICAgICAgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgICAgICAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgICAgICAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAgICAgICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogICAgICAgIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGlmIHRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgb2YgdGhlIGZ1bmN0aW9ucywgTyBpcyB1bm1vZGlmaWVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDEgPT09IGFyclswXSAmJiAyID09PSBhcnJbMV0gJiYgMyA9PT0gYXJyWzJdICYmIDQgPT09IGFyclszXSAmJiA0ID09PSBjYWxsZWQ7DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - if there are no side effects of the functions, O is unmodified","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHJldHVybnMgbmV3IEFycmF5IHdpdGggc2FtZSBudW1iZXIgb2YgZWxlbWVudHMgYW5kIHZhbHVlcyB0aGUgcmVzdWx0IG9mIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB2YWwgKyAxMDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnJbMF0gPT09IDExICYmDQogICAgIHJlc0FyclsxXSA9PT0gMTIgJiYNCiAgICAgcmVzQXJyWzJdID09PSAxMyAmJg0KICAgICByZXNBcnJbM10gPT09IDE0ICYmDQogICAgIHJlc0Fycls0XSA9PT0gMTUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map returns new Array with same number of elements and values the result of callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYubWFwKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyWyJpIl0gPSAxMDsNCiAgc3JjQXJyW3RydWVdID0gMTE7DQoNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKGNhbGxDbnQgPT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IG51bGw7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBGb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIEZvby5wcm90b3R5cGUgPSBbMSwgMiwgM107DQogICAgICAgIHZhciBvYmogPSBuZXcgRm9vKCk7DQogICAgICAgIG9iai5sZW5ndGggPSBmYWxzZTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gJzAnOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBSZXN1bHQoMikgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHggPSBuZXcgQXJyYXkoKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9ICBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiIikgewogICAgJEVSUk9SKCcjMS4yOiB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9ICAKfSAgCgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMTsKeC5sZW5ndGggPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfSAgCn0gICAgCgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Result(2) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncywgYW5kIHRoZXNlIHN0cmluZ3MgYXJlCiAqIHRoZW4gY29uY2F0ZW5hdGVkLCBzZXBhcmF0ZWQgYnkgb2NjdXJyZW5jZXMgb2YgdGhlIHNlcGFyYXRvci4gSWYgbm8gc2VwYXJhdG9yIGlzIHByb3ZpZGVkLAogKiBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMS4xOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSwyLDMiKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgudG9TdHJpbmcoKSA9PT0gIjAsMSwyLDMiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwLCwsMyIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgudG9TdHJpbmcoKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzMuMTogeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7IHgudG9TdHJpbmcoKSA9PT0geC5qb2luKCkuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLDEsLDMiKSB7CiAgICAkRVJST1IoJyMzLjI6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LnRvU3RyaW5nKCkgPT09ICIsMSwsMyIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp4ID0gW107CnhbMF0gPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzQuMTogeCA9IFtdOyB4WzBdID0gMDsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHhbMF0gPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIwIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"The elements of the array are converted to strings, and these strings are\nthen concatenated, separated by occurrences of the separator. If no separator is provided,\na single comma is used as the separator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzAuMTogdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjMC4yOiB2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7IHgudG9TdHJpbmcoKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJcXCxcXCxcXCIpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSBuZXcgQXJyYXkoIlxcIiwiXFwiLCJcXCIpOyB4LnRvU3RyaW5nKCkgPT09ICJcXCxcXCxcXCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICImLCYsJiIpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7IHgudG9TdHJpbmcoKSA9PT0gIiYsJiwmIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAidHJ1ZSx0cnVlLHRydWUiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHRydWUsdHJ1ZSx0cnVlKSkpOwogIH0KfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM0LjE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKG51bGwsbnVsbCxudWxsKSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM1LjE6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwogIH0KfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM2LjE6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkiKSB7CiAgICAkRVJST1IoJyM2LjI6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KSkpOwogIH0KfQoKLy9DSEVDSyM3CnZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM3LjE6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhOYU4sTmFOLE5hTikpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiTmFOLE5hTixOYU4iKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09ICJOYU4sTmFOLE5hTiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKE5hTixOYU4sTmFOKSkpOwogIH0KfSAgIAoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"Operator use ToString from array arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBTdHJpbmcpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzEuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB4LmpvaW4oKX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIisiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIrIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0gZWxzZSB7CiAgICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CnZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjNi4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIqIikgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKQXJyYXkucHJvdG90eXBlWzFdID0gMTsKdmFyIHggPSBbMF07CngubGVuZ3RoID0gMjsKaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC50b1N0cmluZygpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b1N0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b1N0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of toString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9TdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString is 0","description":"toString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9TdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b1N0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toString property of Array has not prototype property","description":"Checking Array.prototype.toString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbHRlci5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSlNPTik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEpTT04sIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oImEiLCAiYiIpKTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiICYmIG5ld0FyclsxXSA9PT0gImIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIG5ld0FyclsxXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHNyY0FyclswXSA9PT0gMSAmJg0KICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCiAgICAgc3JjQXJyWzJdID09PSAzICYmDQogICAgIHNyY0FyclszXSA9PT0gNCAmJg0KICAgICBzcmNBcnJbNF0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIG5ldyBBcnJheSB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgdHJ1ZSByZXR1cm5lZCBieSBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZih2YWwgJSAyKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYNCiAgICAgcmVzQXJyWzBdID09PSAxICYmDQogICAgIHJlc0FyclsxXSA9PT0gMyAmJg0KICAgICByZXNBcnJbMl0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns new Array with length equal to number of true returned by callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDE7DQogIA0KICBmdW5jdGlvbiBjYigpe3JldHVybiB0cnVlO30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0FyclsiaSJdID0gMTA7DQogIHNyY0Fyclt0cnVlXSA9IDExOw0KDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDExOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGggcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gMTI7DQogICAgICAgIGZ1blsxXSA9IDExOw0KICAgICAgICBmdW5bMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZnVuLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzEyLCAxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMiwgMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIxID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgdmFyIG5ld0FycjIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB2YXIgbmV3QXJyMyA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmozLCBjYWxsYmFja2ZuMyk7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDEgJiYgbmV3QXJyMS5sZW5ndGggPT09IDAgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDIgJiYgbmV3QXJyMi5sZW5ndGggPT09IDAgJiYgDQogICAgICAgICAgICAhYWNjZXNzZWQzICYmIG5ld0FycjMubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIWFjY2Vzc2VkICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IEluZmluaXR5IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMSwgOV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcihmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0aGlzLl8xNV80XzRfMjBfNV8xID0gZmFsc2U7DQogICAgICAgIHZhciBfMTVfNF80XzIwXzVfMSA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakFycmF5ID0gbmV3IEFycmF5KDEwKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFN0cmluZyBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEJvb2xlYW4gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIE51bWJlciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIE1hdGgpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIERhdGUgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakRhdGUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFJlZ0V4cCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqUmVnRXhwKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBKU09OKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEVycm9yIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBmYWxzZSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCAxMDEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sICJhYmMiKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5LmlzQXJyYXkoYXJnKSByZXR1cm5zIHRydWUgd2hlbiBhcmcgaXMgdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Array.isArray(arg) returns true when arg is the returned array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSByZXR1cm5lZCBhcnJheSBpcyBpbnN0YW5jZW9mIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybnMgYW4gYXJyYXkgd2hvc2UgbGVuZ3RoIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - returns an array whose length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGlubmVyT2JqKCkgew0KICAgICAgICAgICAgdGhpcy5fMTVfNF80XzIwXzVfMzAgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIF8xNV80XzRfMjBfNV8zMCA9IGZhbHNlOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMzA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICAgICAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICB0aGlzLnJldFZhbCA9IHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQoNCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZXZhbCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gRnVuY3Rpb24gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gW10uZmlsdGVyKGNiKTsNCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBzcmNBcnJbMl0gPSAzOw0KICAgICAgICAgICAgc3JjQXJyWzVdID0gNjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHNyY0FyciA9IFsxLCAyLCAsIDQsIDVdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbMl0gPSAtMTsNCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gMyAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzJdID09PSA0KQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzJdOw0KICAgIGRlbGV0ZSBzcmNBcnJbNF07DQogICAgaWYodmFsID4gMCkNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAzICYmIHJlc0FyclswXSA9PT0gMSAmJiByZXNBcnJbMl0gPT09IDQgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNl07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAyICkNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHNyY0FyclsxMDAwXSA9IDM7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gMTsNCiAgc3JjQXJyWzJdID0gMjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAyKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0FyclsyXTsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNCAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzNdID09IDUpICAgIC8vIG9ubHkgb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLnNyY0FycjsNCiAgICAgICAgICAgIGlmICh2YWwgPiAwKQ0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXNBcnIgPSBvLnNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIubGVuZ3RoID09PSA1ICYmIHR5cGVvZiBvLnNyY0FyciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbiBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCA9PT0gZmFsc2UgJiYgb2JqLmxlbmd0aCA9PT0gMCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IG5ldyBBcnJheSgxMCk7DQogIHNyY0FyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzFdICE9PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclsxXSAhPT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDMgPyB0cnVlIDogZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMl0gPT09ICJwcm90b3R5cGUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gInVuY29uZmlndXJhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gImxlbmd0aCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogNi45OSwgODogMTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gIT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMV0gPT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSA2Ljk5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBBcnJheVsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDUpICYmICh2YWwgPT09IGtWYWx1ZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0ga1ZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMiAmJiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiA1LCAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTEgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTA7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDY7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTEgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFssICwgLCBdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDEwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDA7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSB1bmRlZmluZWQgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMSAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMF0gPT09IDExICYmDQogICAgICAgICAgICBuZXdBcnJbMV0gPT09IDEyICYmIG5ld0FyclsyXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gOTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDkgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSA1KSAmJiAodmFsID09PSAiYWJjIik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycls1XSA9IDEwOw0KICAgICAgICBhcnJbMTBdID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAwKSAmJiAodmFsID09PSAxMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWzEyXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gJ2FiYyc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gNSkgJiYgKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSBrVmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAxKSAmJiAodmFsID09PSAxMyk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgLCAsIF0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEzOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gMCkgJiYgKHZhbCA9PT0gMTEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIA0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMl0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0ndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgTnVtYmVyIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIDUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter -'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhbiBTdHJpbmcgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSA4Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgMjogNSwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFzY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAoa0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIGtJbmRleFtpZHggLSAxXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoY2FsbGVkID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGNhbGxlZCAmJiBleCBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGVxdWFscyB0byAna1ZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IG9ialswXSAmJiBuZXdBcnJbMV0gPT09IG9ialsxXTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of returned array element equals to 'kValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBvdmVyd3JpdHRlbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcFZhbCA9IG5ld0FyclsxXTsNCiAgICAgICAgICAgIG5ld0FyclsxXSArPSAxOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclsxXSAhPT0gdGVtcFZhbDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBlbnVtZXJhdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdmFyIHByb3A7DQogICAgICAgIHZhciBlbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAocHJvcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBlbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBjaGFuZ2VkIG9yIGRlbGV0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlbXBWYWwgPSBuZXdBcnJbMV07DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzFdOw0KICAgICAgICAgICAgcmV0dXJuIHRlbXBWYWwgIT09IHVuZGVmaW5lZCAmJiBuZXdBcnJbMV0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIHZhciBsYXN0VG9JZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0VG9JZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdFRvSWR4Kys7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDUgJiYgY2FsbGVkID09PSA1Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - values of 'to' are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIHdoZW4gJ3NlbGVjdGVkJyBpcyBjb252ZXJ0ZWQgdG8gdHJ1ZSBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9JbmRleCA9IFtdOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgJ3RvJyB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgJ3RvJyBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0b0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHRvSW5kZXhbaWR4IC0gMV0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHRvSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gNCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - values of 'to' are accessed during each iteration when 'selected' is converted to true and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQogICAgaWYodmFsICUgMikNCiAgICAgIHJldHVybiB0cnVlOyANCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gdHJ1ZQ0KICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSl7DQogICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEV2YWxFcnJvcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGZhbHNlIHByZXZlbnRzIGVsZW1lbnQgYWRkZWQgdG8gb3V0cHV0IEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSAhPT0gOCAmJiBjYWxsZWQgPT09IDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - false prevents element added to output Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSAobmV3IEJvb2xlYW4oZmFsc2UpKSBvZiBjYWxsYmFja2ZuIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gKzA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW5tYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCh1bmRlZmluZWQpOyANCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChNYXRoLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChKU09OLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgyLjUsIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIDE7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCiAgICAgc3JjQXJyWzFdID09PSAyICYmDQogICAgIHNyY0FyclsyXSA9PT0gMyAmJg0KICAgICBzcmNBcnJbM10gPT09IDQgJiYNCiAgICAgc3JjQXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICcxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgb2YgbGVuZ3RoIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICBpZihmLnJlZHVjZShjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - subclassed array of length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMsIDQpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IpID09PSAxMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcyhpbml0aWFsdmFsdWUgcHJlc2VudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzEsMiwzLDRdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IsLTEpID09PSA5KQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggMSBhbmQgaW5pdGlhbHZhbHVlIHByb3ZpZGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQogIGlmKGYucmVkdWNlKGNiLC0xKSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - subclassed array with length 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCiAgc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICBpZihjYWxsQ250ID09IDQpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTINCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RvcmVQcm90b0xlbmd0aDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgc3RvcmVQcm90b0xlbmd0aCA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBzdG9yZVByb3RvTGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjMocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMSwgY2FsbGJhY2tmbjEsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMywgY2FsbGJhY2tmbjMsIDEpID09PSAxICYmDQogICAgICAgICAgICAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is an object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ09jY3VyZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZk9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ09jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWUgJiYgdmFsdWVPZk9jY3VyZWQgJiYgdG9TdHJpbmdPY2N1cmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError exception - 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce uses inherited valueOf method - 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6ICswIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZShmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIA0KICB0cnkgew0KICAgIFtdLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIHRoZSBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - if the exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgcmV0dXJuZWQgaWYgJ2xlbicgaXMgMCBhbmQgJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFtdLnJlZHVjZShjYWxsYmFja2ZuLCAzKSA9PT0gMyAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgaWYoW10ucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQiOw0KICAgICAgICByZXR1cm4gc3RyID09PSBbXS5yZWR1Y2UoZnVuY3Rpb24gKCkgeyB9LCBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gImluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtzdHJdLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gWzBdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gc3RlcCA5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAzOiAxMiwgNDogOSwgbGVuZ3RoOiA0IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBsb29wIGlzIGJyb2tlbiBvbmNlICdrUHJlc2VudCcgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdENhbGxlZCA9IDA7DQogICAgICAgIHZhciBzZWNvbmRDYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGNhbGxlZCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoaWR4ID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHNlY29uZENhbGxlZCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdENhbGxlZCA9PT0gMSAmJiBzZWNvbmRDYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - loop is broken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMV0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6ICJhY2N1bXVsYXRvciIsIDI6ICJhbm90aGVyIiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gImFjY3VtdWxhdG9yIiAhPT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - when element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IDA7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDA7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAzOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzFdOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxLCAyLCAzKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDA7DQogICAgICAgIG9ialsxXSA9IDE7DQogICAgICAgIG9ialsyXSA9IDI7DQogICAgICAgIG9ialszXSA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAiOSI7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCAxOiAxLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAiOSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICxdLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBieSByZWR1Y2luZyBhcnJheSBsZW5ndGggYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbOV0gPSAxOw0KICBhcnIubGVuZ3RoID0gNTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted by reducing array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBkZWxldGUgYXJyWzBdOw0KICBkZWxldGUgYXJyWzFdOw0KICBkZWxldGUgYXJyWzJdOw0KICBkZWxldGUgYXJyWzNdOw0KICBkZWxldGUgYXJyWzRdOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB0aHJvdyBlcnJvciB3aGVuIGFycmF5IGhhcyBubyBvd24gcHJvcGVydGllcyBidXQgcHJvdG90eXBlIGNvbnRhaW5zIGEgc2luZ2xlIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYXJyWzVdID0gNjsNCiAgICAgICAgICAgIGFyclsyXSA9IDM7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEwNSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBjYWxsZWQgd2l0aCBhbiBpbml0aWFsIHZhbHVlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICBhcnJbNV0gPSA2Ow0KICAgIGFyclsyXSA9IDM7ICAgDQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCwnNSddOw0KICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiIikgPT09ICIxMjM0NSI7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce called with an initial value doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclszXSA9IC0yOw0KICAgIGFycls0XSA9IC0xOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAzKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbM107DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMyIgICkgICAgLy8gdHdvIGVsZW1lbnRzIGRlbGV0ZWQNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBhcnJheSB3aXRoIG9uZSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiAyOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMSAmJiBjYWxsQ250ID09PSAwICkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgDQogIHsNCiAgICBkZWxldGUgYXJyWzNdOw0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7ICAgIA0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOw0KDQogIGlmKHJlcyA9PT0gIjEyMzUiICApICAgIC8vb25lIGVsZW1lbnQgYWN1YWxseSBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG8uYXJyOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgICAgICAgby5hcnIgPSBbJzEnLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgcmV0dXJuIG8uYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMzQ1IiAmJiAhby5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FsbGJhY2tBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGJhY2tBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmICFjYWxsYmFja0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIGluIHN0ZXAgOQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhY2N1bSArIHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBY2N1bSA9IGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBuZXdBY2N1bSA9PT0gImluaXRpYWxWYWx1ZTAxIiAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsdmFsdWUgd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCg0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sNSkgPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialvalue when Array is empty and initialValue is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCB0byBwcm90b3R5cGUgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAiMiIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqWzJdID0gIjIiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties can be added to prototype are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMF0gPSBhcnJbMV0gPSB1bmRlZmluZWQ7IC8vZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQ0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gdW5kZWZpbmVkICYmIGNhbGxDbnQgPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDIsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQogICAgIA0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTEiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMiI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiAhdGVzdFJlc3VsdDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICIzIjsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI5IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLCBdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA+IDAgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4LTFdID09PSBwcmV2VmFsKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gImZpdmUiKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChjdXJWYWwgPiAxMCAmJiAxID09PSBwcmV2VmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHByZXZWYWwgPT09IDEgJiYgYXJndW1lbnRzWzNdW2lkeF0gPT09IGN1clZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCA0IGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGN1clZhbCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBjdXJyZW50IGl0ZXJhdGlvbiBpcyB0aGUgcmVzdWx0IG9mIHByZXZpb3VzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJlSXRlcmF0aW9uID0gMTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAocHJlSXRlcmF0aW9uICE9PSBwcmV2VmFsKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBwcmVJdGVyYXRpb24gPSBjdXJWYWw7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCAxMiwgMTNdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mICdpbml0aWFsVmFsdWUnIHdoZW4gaXQgaXMgcHJlc2VudCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mIGxlYXN0IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMTEpICYmIGN1clZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgOV0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGNhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of least index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA9PT0gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIHByZXZWYWwgPT09IGluaXRpYWxWYWx1ZSkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSBpZihpZHggPiAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeC0xXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICB2YXIgaW5pdGlhbFZhbHVlID0gNS41Ow0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuLGluaXRpYWxWYWx1ZSkgPT09ICJmaXZlIikgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdW5kZWZpbmVkIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB1bmRlZmluZWQpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVsbCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG51bGwpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09ICJoZWxsb18iOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG9fIikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpGdW5jdGlvbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Function object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQXJyYXkgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMTApOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Array object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gU3RyaW5nIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpTdHJpbmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - String object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQm9vbGVhbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQm9vbGVhbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Boolean object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gTnVtYmVyIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpOdW1iZXIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Number object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIHRha2VzIDQgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihwcmV2VmFsID09PSB0cnVlICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDQpICAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuLHRydWUpID09PSB0cnVlICYmIGJDYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgTWF0aCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the Math object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRGF0ZSBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRGF0ZSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Date object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gUmVnRXhwIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpSZWdFeHApID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - RegExp object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEpTT04gY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBKU09OKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRXJyb3Igb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - Error object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDEwLCAxMSwgMTIsIDEzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGFyZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVuZGVmaW5lZCBwYXNzZWQgYXMgdGhpc1ZhbHVlIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgIHJldHVybiB0cnVlOw0KICB9DQogIFswXS5yZWR1Y2UoY2FsbGJhY2tmbix0cnVlKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXIgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIDExKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - k values are passed in acending numeric order on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTIsIDEzLCAxNF0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoY3VyVmFsID09PSA4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTJdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHVuZGVmaW5lZCk7IA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoSlNPTiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJhIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoMi41LCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoImhlbGxvXG53b3JsZFxcISIsIGNhbGxiYWNrZm4sICJoIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndvcmxkXFwhIik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImgiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gMTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCiAgaWYoc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAnNTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCBtb3JlIHRoYW4gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiKSA9PT0gNikNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCc2JykgPT09ICc2NTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MzIxMCIpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCB0byAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYiwiNCIpID09PSAiNDEiKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - subclassed array when length to 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCg0KICBzcmNBcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgaWYoY2FsbENudCA9PSA0KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDEzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSA9PT0gMTEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMTEpID09PSAxMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSA5Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgMTEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAxMTEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEsIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkMSA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQyID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDMgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDEgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4zKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMyA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqMSA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmoyID0geyAwOiA5LCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmozID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDIpID09PSAyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmozLCBjYWxsYmFja2ZuMywgMykgPT09IDMgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDEgJiYgIWFjY2Vzc2VkMiAmJiAhYWNjZXNzZWQzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgPT09IDExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBhbiBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IGZhbHNlIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to an Array-like object, 'length' is 0 (length overridden to false(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogMi42ODUgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2N1bSArPSB2YWw7DQogICAgICAgICAgICByZXR1cm4gYWNjdW07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gMjAgPT09IFsxMSwgOV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoZm9vKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodCh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgW10ucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 2 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 3 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnaW5pdGlhbFZhbHVlJyBpcyByZXR1cm5lZCBpZiAnbGVuJyBpcyAwIGFuZCAnaW5pdGlhbFZhbHVlJyBpcyBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMTA7DQogICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICANCiAgdHJ5IHsNCiAgICBpZihbXS5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9ICJpbml0aWFsVmFsdWUgaXMgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgc3RyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IjsNCiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW3N0cl0ucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiBzdGVwIDkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVWYWwgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHByZVZhbCA9PT0gMTEgJiYgY2FsbGVkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICB3aGlsZSBsb29wIGlzIGJyZWFrZW4gb25jZSAna1ByZXNlbnQnIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgZmlyc3RDYWxsZWQgPSAwOw0KICAgICAgICB2YXIgc2Vjb25kQ2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kQ2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RDYWxsZWQgPT09IDEgJiYgc2Vjb25kQ2FsbGVkID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - while loop is breaken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogImFjY3VtdWxhdG9yIiwgMzogImFub3RoZXIiIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAiYWNjdW11bGF0b3IiICE9PSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzJdID0gMjsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAyOw0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgLCBdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHN0ciwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQoNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTAiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMCI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxICYmIHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIHN1YnNlcXVldGx5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyICYmIGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed subsequetly on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICIxMSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQogICAgICAgIGNoaWxkWzBdID0gIjAiOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLF0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGJ5IHJlZHVjaWduIGFycmF5IGxlbmd0aCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFycls5XSA9IDE7DQogIGFyci5sZW5ndGggPSA1Ow0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted by reducign array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGRlbGV0ZSBhcnJbMF07DQogIGRlbGV0ZSBhcnJbMV07DQogIGRlbGV0ZSBhcnJbMl07DQogIGRlbGV0ZSBhcnJbM107DQogIGRlbGV0ZSBhcnJbNF07DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IHRocm93IGVycm9yIHdoZW4gYXJyYXkgaGFzIG5vIG93biBwcm9wZXJ0aWVzIGJ1dCBwcm90b3R5cGUgY29udGFpbnMgYSBzaW5nbGUgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gInByb3RvdHlwZSI7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgd2hpY2ggaW5kZXggaXMgbGFyZ2VyIHRoYW4gYXJyYXkgb3JpZ2luYWwgbGVuZ3RoIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCwgY29uc2lkZXIgbmV3IGVsZW1lbnRzIHdoaWNoIGluZGV4IGlzIHNtYWxsZXIgdGhhbiBhcnJheSBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls1XSA9IDY7DQogICAgICAgICAgICBhcnJbMl0gPSAzOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWycxJywgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiNTQzMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't consider new elements which index is larger than array original length added to array after it is called, consider new elements which index is smaller than array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzNdID0gLTI7DQogICAgYXJyWzBdID0gLTE7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTMpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiMTIxIiApICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTIgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGFycmF5IHdpdGggb25lIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDI7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IDEgJiYgY2FsbENudCA9PT0gMCApDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFyclsyXTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCiAgQXJyYXkucHJvdG90eXBlWzJdID0gNjsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQoNCiAgaWYocmVzID09PSAiMTUxIiApICAgIC8vb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbm90IGFmZmVjdCBjYWxsIHdoZW4gdGhlIGFycmF5IGlzIGRlbGV0ZWQgZHVyaW5nIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBkZWxldGUgby5hcnI7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsnMScsIDIsIDMsIDQsIDVdOw0KICAgICAgICByZXR1cm4gby5hcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICIxNDEiICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight not affect call when the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9LCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCB3aWxsIGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBjYWxsZWQgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - modifications to length will change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgDQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLDUpID09PSA1KQ0KICAgIHJldHVybiB0cnVlOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialvalue when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgY3VyVmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDAgJiYgY3VyVmFsID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDYgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gIjIiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICIyIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCA0XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCAmJiBjdXJWYWwgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIGlmKCBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IHVuZGVmaW5lZCAmJiBjYWxsQ250ID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDExLCAyOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIxIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAxMCwgMTogMTEsIDI6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQogICAgICAgIGNoaWxkWzJdID0gIjIiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICxdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAiMTEiOw0KICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogIjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICwgXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgbm90IHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYoaWR4KzEgPCBvYmoubGVuZ3RoICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeCsxXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSANCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEwMCkgPT09IDEwMCAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCkgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDEwMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMTAwKSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgpIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwICYmIGFyZ3VtZW50c1szXVtpZHhdID09PSBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRWYWwpID09PSB0cnVlICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDQgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gaW5pdFZhbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdFZhbCkgPT09IHRydWUgJiYgdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTAwICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMDApID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDggfHwgY3VyVmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - non-indexed properties are not called on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGN1cnJlbnQgaXRlcmF0aW9uIGlzIHRoZSByZXN1bHQgb2YgcHJldmlvdXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCiAgICAgICAgdmFyIHByZVJlc3VsdCA9IGluaXRWYWw7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAocHJldlZhbCAhPT0gcHJlUmVzdWx0KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcHJlUmVzdWx0ID0gY3VyVmFsOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgJ2luaXRpYWxWYWx1ZScgd2hlbiBpdCBpcyBwcmVzZW50IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMl07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgbWF4IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'accumulator' used for first iteration is the value of max index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgcGFzc2VkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBiUGFyQ29ycmVjdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIHRydWUsIG51bGwsIG5ldyBPYmplY3QoKSwgImZpdmUiXTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDUuNTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IG9iai5sZW5ndGggLSAxICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVlKQ0KICAgICAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgICAgICBlbHNlIGlmIChpZHggKyAxIDwgb2JqLmxlbmd0aCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHggKyAxXSA9PT0gcHJldlZhbCkNCiAgICAgICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB1bmRlZmluZWQgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdW5kZWZpbmVkKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudWxsIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBudWxsKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gImhlbGxvXyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvXyIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Function Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Array Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialN0cmluZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - String Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Boolean Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iak51bWJlcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Number Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdGFrZXMgNCBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICANCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0cnVlKSA9PT0gdHJ1ZSAmJiBiQ2FsbGVkID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgTWF0aCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIE1hdGgpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the Math Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpEYXRlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Date Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialJlZ0V4cCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - RegExp Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgSlNPTiBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgSlNPTikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Error Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMTAsIDExLCAxMiwgMTMpKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBhcmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5kZWZpbmVkIHBhc3NlZCBhcyB0aGlzVmFsdWUgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgWzBdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sdHJ1ZSk7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSBhcnIubGVuZ3RoIC0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4LS07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMTEsIDEyLCAxMywgMTRdOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIG5leHQgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gYXJyLmxlbmd0aCAtIDEgJiYgdHlwZW9mIGtJbmRleFtpZHggKyAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4IDwgMTApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4IC0gMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgPT09IHRydWUgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncyB1c2luZyB0aGVpcgogKiB0b0xvY2FsZVN0cmluZyBtZXRob2RzLCBhbmQgdGhlc2Ugc3RyaW5ncyBhcmUgdGhlbiBjb25jYXRlbmF0ZWQsIHNlcGFyYXRlZAogKiBieSBvY2N1cnJlbmNlcyBvZiBhIHNlcGFyYXRvciBzdHJpbmcgdGhhdCBoYXMgYmVlbiBkZXJpdmVkIGluIGFuCiAqIGltcGxlbWVudGF0aW9uLWRlZmluZWQgbG9jYWxlLXNwZWNpZmljIHdheQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gaXQgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGludm9rZWQKICovCgp2YXIgbiA9IDA7CnZhciBvYmogPSB7dG9Mb2NhbGVTdHJpbmc6IGZ1bmN0aW9uKCkge24rK319Owp2YXIgYXJyID0gW3VuZGVmaW5lZCwgb2JqLCBudWxsLCBvYmosIG9ial07CmFyci50b0xvY2FsZVN0cmluZygpOwoKLy9DSEVDSyMxCmlmIChuICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSAwOyB2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsgdmFyIGFyciA9IFt1bmRlZmluZWQsIG9iaiwgbnVsbCwgb2JqLCBvYmpdOyBhcnIudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMy4gQWN0dWFsOiAnICsgKG4pKTsKfSAgCgo=","commentary":"The elements of the array are converted to strings using their\ntoLocaleString methods, and these strings are then concatenated, separated\nby occurrences of a separator string that has been derived in an\nimplementation-defined locale-specific way","description":"it is the function that should be invoked","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKdmFyIG4gPSAwOwp2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsKQXJyYXkucHJvdG90eXBlWzFdID0gb2JqOwp2YXIgeCA9IFtvYmpdOwp4Lmxlbmd0aCA9IDI7CngudG9Mb2NhbGVTdHJpbmcoKTsKaWYgKG4gIT09IDIpIHsgIAogICRFUlJPUignIzE6IHZhciBuID0gMDsgdmFyIG9iaiA9IHt0b0xvY2FsZVN0cmluZzogZnVuY3Rpb24oKSB7bisrfX07IEFycmF5LnByb3RvdHlwZVsxXSA9IG9iajsgeCA9IFtvYmpdOyB4Lmxlbmd0aCA9IDI7IHgudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMi4gQWN0dWFsOiAnICsgKG4pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b0xvY2FsZVN0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toLocaleString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of toLocaleString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9Mb2NhbGVTdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString is 0","description":"toLocaleString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b0xvY2FsZVN0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9Mb2NhbGVTdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvTG9jYWxlU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b0xvY2FsZVN0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toLocaleString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toLocaleString property of Array has not prototype property","description":"Checking Array.prototype.toLocaleString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toLocaleString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvMTUuNC40LjQtNS1iLWlpaS0zLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYi5paWkuMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2xkQXJyID0gWzEwMV07DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwob2xkQXJyKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IG5ld0FyclswXSA9PT0gMTAxOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBuZXdBcnJbMF0gPSAxMjsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gbmV3QXJyWzBdID09PSAxMjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVdyaXRhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.b.iii.3.b)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvMTUuNC40LjQtNS1jLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKDEwMSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQoJICAgIHZhciBpbnN0YW5jZU9mVmVyaWZ5ID0gdHlwZW9mIG5ld0FyclswXT09PSJudW1iZXIiOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gbmV3QXJyWzBdID09PSAxMDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMCIgJiYgbmV3QXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBpbnN0YW5jZU9mVmVyaWZ5ICYmIHZlcmlmeVZhbHVlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlXcml0YWJsZTsNCgkNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.c.i)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgQXJyYXkgb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsKdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6KTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzRdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KCk7IHZhciB5ID0gbmV3IEFycmF5KDAsMSk7IHZhciB6ID0gbmV3IEFycmF5KDIsMyw0KTsgdmFyIGFyciA9IHguY29uY2F0KHkseik7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcwogKi8KCnZhciB4ID0gWzBdOwp2YXIgeSA9IG5ldyBPYmplY3QoKTsKdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsKdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclsxXSAhPT0geSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzBdOyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzFdID09PSB5LiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclszXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFycls0XSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls0XSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbNV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls2XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChhcnJbNl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnIubGVuZ3RoICE9PSA3KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIubGVuZ3RoID09PSA3LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgICAgICAgICAgIAoK","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtIHdpdGggbm8gaXRlbXMKICovCgp2YXIgeCA9IFswLDFdOwp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAoYXJyID09PSB4KSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciAhPT0geCcpOwp9ICAgICAgICAgICAgICAKCg==","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgW10sIFssXQogKi8KCnZhciB4ID0gWywxXTsKdmFyIGFyciA9IHguY29uY2F0KFtdLCBbLF0pOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbLDFdOyB2YXIgYXJyID0geC5jb25jYXQoW10sIFssXSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are [], [,]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCwgaXRlbXMgYXJlIG9iamVjdHMgYW5kIHByaW1pdGl2ZXMKICovCgp2YXIgeCA9IHt9Owp4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnZhciB5ID0gbmV3IE9iamVjdCgpOwp2YXIgeiA9IG5ldyBBcnJheSgxLDIpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IHkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMV0gPT09IHkuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbM10gPT09IDIuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbNF0gIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzRdID09PSAtMS4gQWN0dWFsOiAnICsgKGFycls0XSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycls1XSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbNl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoYXJyWzZdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyLmxlbmd0aCAhPT0gNykgewogICRFUlJPUignIzg6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyci5sZW5ndGggPT09IDcuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCB3aXRoIG5vIGl0ZW1zCiAqLwoKdmFyIHggPSB7fTsKeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Owp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKSBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgICAgICAgICAgICAKCg==","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LmNvbmNhdCgpOwoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFyci5oYXNPd25Qcm9wZXJ0eSgnMScpKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnggPSB7MDowfTsKdmFyIGFyciA9IHguY29uY2F0KCk7CgovL0NIRUNLIzQKaWYgKGFyclswXSAhPT0geCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB4ID0gezA6MH07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHggPSB7MDowfTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gZmFsc2UpIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgeCA9IHswOjB9OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuY29uY2F0KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LmNvbmNhdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of concat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of concat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjQuanMKICogQGRlc2NyaXB0aW9uIGNvbmNhdC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat is 1","description":"concat.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uY2F0JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdjb25jYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2NvbmNhdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25jYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gImNvbmNhdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The concat property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The concat property of Array has not prototype property","description":"Checking Array.prototype.concat.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTQuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLmNvbmNhdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5jb25jYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The concat property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCk7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHguam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CngubGVuZ3RoID0gMDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDE7IHgubGVuZ3RoID0gMDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCgo=","commentary":"If length is zero, return the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4oKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4oKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbigpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih1bmRlZmluZWQpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4odW5kZWZpbmVkKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbih1bmRlZmluZWQpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcnJheSBlbGVtZW50IGlzIHVuZGVmaW5lZCBvciBudWxsLCB1c2UgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFswXSA9IHVuZGVmaW5lZDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHVuZGVmaW5lZDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IG51bGw7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSBudWxsOyB4LmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzMKeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7CmlmICh4LmpvaW4oKSAhPT0gIiwxLCwzIikgewogICRFUlJPUignIzM6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LmpvaW4oKSA9PT0gIiwxLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCg==","commentary":"If array element is undefined or null, use the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9Cn0gICAgCgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihvYmoubGVuZ3RoKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gLTA7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gLTApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSAtMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDAuNSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDAuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKdmFyIHggPSBuZXcgTnVtYmVyKDApOwpvYmoubGVuZ3RoID0geDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTE6IHZhciB4ID0gbmV3IE51bWJlcigwKTsgdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9iai5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSBuZXcgTnVtYmVyKDApOyB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB4OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQuNTsKaWYgKG9iai5qb2luKCkgIT09ICIsLCwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLCwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IHVuZGVmaW5lZDsKb2JqWzFdID0gMTsKb2JqWzJdID0gbnVsbDsKaWYgKG9iai5qb2luKCkgIT09ICIsMSwsIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDQuNTsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gNC41KSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDQuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAgCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7Cm9iai5sZW5ndGggPSB4OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsLCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiwsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSB1bmRlZmluZWQ7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IG51bGw7CmlmIChvYmouam9pbigpICE9PSAiLDEsLCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7IG9iai5sZW5ndGggPSB4OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gIAoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CmlmIChvYmouam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjMTogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmouam9pbigpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAgb2JqLmpvaW4oKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzM6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5qb2luKCkgPT09ICIsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICBpZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjNC4xOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLmpvaW4oKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmouam9pbigpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM1OiBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM2OiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgCiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM4LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOCwyOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc2VwYXJhdG9yIGluIFsiIiwgIlxcIiwgIiYiLCB0cnVlLCBJbmZpbml0eSwgbnVsbCwgdW5kZWZpbmQsIE5hTl0KICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LmpvaW4oIiIpICE9PSAiMDEyMyIpIHsKICAkRVJST1IoJyMwOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiIpID09PSAiMDEyMyIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCJcXCIpICE9PSAiMFxcMVxcMlxcMyIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIlxcIikgPT09ICIwXFwxXFwyXFwzIi4gQWN0dWFsOiAnICsgKHguam9pbigiXFwiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHguam9pbigiJiIpICE9PSAiMCYxJjImMyIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiYiKSA9PT0gIjAmMSYyJjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCImIikpKTsKfQoKLy9DSEVDSyMzCmlmICh4LmpvaW4odHJ1ZSkgIT09ICIwdHJ1ZTF0cnVlMnRydWUzIikgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih0cnVlKSA9PT0gIjB0cnVlMXRydWUydHJ1ZTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5qb2luKEluZmluaXR5KSAhPT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKEluZmluaXR5KSA9PT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKEluZmluaXR5KSkpOwp9CgovL0NIRUNLIzUKaWYgKHguam9pbihudWxsKSAhPT0gIjBudWxsMW51bGwybnVsbDMiKSB7CiAgJEVSUk9SKCcjMzogNSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKG51bGwpID09PSAiMG51bGwxbnVsbDJudWxsMyIuIEFjdHVhbDogJyArICh4LmpvaW4obnVsbCkpKTsKfQoKLy9DSEVDSyM2CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsMSwyLDMiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKHVuZGVmaW5lZCkgPT09ICIwLDEsMiwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeC5qb2luKE5hTikgIT09ICIwTmFOMU5hTjJOYU4zIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigiTmFOIikgPT09ICIwTmFOMU5hTjJOYU4zIi4gQWN0dWFsOiAnICsgKHguam9pbigiTmFOIikpKTsKfQoK","commentary":"Operator use ToString from separator","description":"Checking separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShzZXBhcmF0b3IpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUoc2VwYXJhdG9yLCBTdHJpbmcpCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7Ci8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMFtvYmplY3QgT2JqZWN0XTFbb2JqZWN0IE9iamVjdF0yW29iamVjdCBPYmplY3RdMyIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsgeC5qb2luKG9iamVjdCkgPT09ICIwW29iamVjdCBPYmplY3RdMVtvYmplY3QgT2JqZWN0XTJbb2JqZWN0IE9iamVjdF0zIi4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwppZiAoeC5qb2luKG9iamVjdCkgIT09ICIwKjEqMiozIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCsxKzIrMyIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpID09PSAiMCsxKzIrMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwogIGlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsgeC5qb2luKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCoxKjIqMyIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CmlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OyB4LmpvaW4ob2JqZWN0KSA9PT0gIjAqMSoyKjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4LmpvaW4ob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHguam9pbihvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4LmpvaW4ob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHguam9pbihvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzkKdHJ5IHsKICAgIHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICAgIFtdLmpvaW4ob2JqZWN0KTsKICAgICRFUlJPUignIzkuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKFtdLmpvaW4ob2JqZWN0KSkpOwp9CmNhdGNoIChlKSB7CiAgICBpZiAoZSAhPT0gImVycm9yIikgewogICAgICAgICRFUlJPUignIzkuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICAgfQp9","commentary":"Operator use ToString from separator","description":"If Type(separator) is Object, evaluate ToPrimitive(separator, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzIGFuZCBzZXBhcmF0b3IgaW4gWyIiLCAiXFwiLCAiJiIsIHRydWUsIEluZmluaXR5LCBudWxsLCB1bmRlZmluZCwgTmFOXQogKi8KCi8vQ0hFQ0sjMAp2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7CmlmICh4LmpvaW4oIiIpICE9PSAiIikgewogICRFUlJPUignIzA6IHZhciB4ID0gbmV3IEFycmF5KCIiLCIiLCIiKTsgeC5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgiXFwiLCJcXCIsIlxcIik7CmlmICh4LmpvaW4oIlxcIikgIT09ICJcXFxcXFxcXFxcIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC5qb2luKCJcXCIpID09PSAiXFxcXFxcXFxcXCIuIEFjdHVhbDogJyArICh4LmpvaW4oIlxcIikpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KCImIiwgIiYiLCAiJiIpOwppZiAoeC5qb2luKCImIikgIT09ICImJiYmJiIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC5qb2luKCImIikgPT09ICImJiYmJiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiYiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSx0cnVlLHRydWUpOwppZiAoeC5qb2luKCkgIT09ICJ0cnVlLHRydWUsdHJ1ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh0cnVlLHRydWUsdHJ1ZSk7IHguam9pbih0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LmpvaW4odHJ1ZSx0cnVlLHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBBcnJheShudWxsLG51bGwsbnVsbCk7CmlmICh4LmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC5qb2luKG51bGwsbnVsbCxudWxsKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHguam9pbihudWxsLG51bGwsbnVsbCkpKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHguam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpOyB4LmpvaW4odW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgQXJyYXkoSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpOwppZiAoeC5qb2luKCkgIT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheShJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSk7IHguam9pbihJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LmpvaW4oSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjNwp2YXIgeCA9IG5ldyBBcnJheShOYU4sTmFOLE5hTik7CmlmICh4LmpvaW4oKSAhPT0gIk5hTixOYU4sTmFOIikgewogICRFUlJPUignIzc6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC5qb2luKE5hTixOYU4sTmFOKSA9PT0gIk5hTixOYU4sTmFOIi4gQWN0dWFsOiAnICsgKHguam9pbihOYU4sTmFOLE5hTikpKTsKfQoK","commentary":"Operator use ToString from array arguments","description":"Checking arguments and separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShhcmd1bWVudCkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZShhcmd1bWVudCwgU3RyaW5nKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHguam9pbigpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIqIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIrIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LmpvaW4oKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0KdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIHguam9pbigpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString from array arguments","description":"If Type(argument) is Object, evaluate ToPrimitive(argument, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCmlmIChvYmouam9pbigiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk2KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk2XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKaWYgKG9iai5qb2luKCIiKSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpID09PSAieCIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk3KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk3LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQppZiAob2JqLmpvaW4oIiIpICE9PSAieHkiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKSA9PT0gInh5Ii4gQWN0dWFsOiAnICsgKG9iai5qb2luKCIiKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gLTQyOTQ5NjcyOTQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMV0gPSAxOwp2YXIgeCA9IFswXTsKeC5sZW5ndGggPSAyOwppZiAoeC5qb2luKCkgIT09ICIwLDEiKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHguam9pbigpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7ICAgIAp9CgovL0NIRUNLIzIKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CnggPSB7MDowfTsKaWYgKHguam9pbigpICE9PSAiMCwxIikgeyAgCiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IHggPSB7MDowfTsgeC5qb2luKCkgPT09ICIwLDEiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LmpvaW4pewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuam9pbikgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of join has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKIAovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of join has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBqb2luLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join is 1","description":"join.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2pvaW5cJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAiam9pbiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiam9pbiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The join property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUpKTsKfQoK","commentary":"The join property of Array has not prototype property","description":"Checking Array.prototype.join.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjUvUzE1LjQuNC41X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLmpvaW4oKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The join property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHgucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgpOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfSAKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgxLDIsMyk7IHgubGVuZ3RoID0gMDsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBpcyByZW1vdmVkIGZyb20gdGhlIGFycmF5CiAqIGFuZCByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzMKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsyXSAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbMl0gPT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCkgPT09IDMuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PSAzJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbMl0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHgubGVuZ3RoID0gMTsgeC5wb3AoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEwCmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5wb3AoKTsgeC5sZW5ndGggPSAxOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"The last element of the array is removed from the array\nand returned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgICAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KfSAgICAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gICAgCgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSArMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMQpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGxhc3QgZWxlbWVudCBUb1VpbnQzMihsZW5ndGgpIC0gMSBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheQogKiBhbmQgcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSAyLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The last element ToUint32(length) - 1 of the array is removed from the array\nand returned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wb3AoKSA9PT0gLTEuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjMDogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAgb2JqLnBvcCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyMzCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzM6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmoucG9wKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyAgCiAgdmFyIHBvcCA9IG9iai5wb3AoKTsKICAkRVJST1IoJyM3LjE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgb2JqLnBvcCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwb3ApKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmoucG9wKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgcG9wID0gb2JqLnBvcCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wb3AoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmpbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucG9wKCk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5wb3AoKSA9PT0gIngiLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInkiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5Nl0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk2XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpID09PSAieCIuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowfTsKCi8vQ0hFQ0sjMwp2YXIgcG9wID0geC5wb3AoKTsKaWYgKHBvcCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnBvcCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowLDE6MX07CgovL0NIRUNLIzMKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgeCA9IHswOjAsMToxfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MCwxOjF9OyB4LnBvcCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkucG9wKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnBvcCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of pop has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of pop has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHBvcC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop is 0","description":"pop.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncG9wJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdwb3BcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3BvcCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJwb3AiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInBvcCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The pop property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUucG9wLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The pop property of Array has not prototype property","description":"Checking Array.prototype.pop.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnBvcCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5wb3AoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The pop property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBwdXNoID0geC5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnB1c2goMSk7IHgucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHB1c2ggPSB4LnB1c2goLTEpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goLTEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9IAoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHB1c2ggPSB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmIChwdXNoICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzFdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsyXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzRdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbNF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbNF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzVdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKaWYgKG9iai5sZW5ndGggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogICAgLy9DSEVDSyMxICAKICAgIHZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICAgICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9CiAgICAvL0NIRUNLIzMKICAgIGlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7CiAgICB9Cn0gCgovL0NIRUNLIzQKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKdmFyIHB1c2ggPSBvYmoucHVzaCgtNCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBudWxsCnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCg==","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSBOYU47CnZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM0Cm9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTQpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTQpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTcpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxMApvYmoubGVuZ3RoID0gMC41Owp2YXIgcHVzaCA9IG9iai5wdXNoKC0xMCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzEyCmlmIChvYmpbIjAiXSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKTsgb2JqWyIwIl0gPT09IC0xMC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTMKb2JqLmxlbmd0aCA9IDEuNTsKdmFyIHB1c2ggPSBvYmoucHVzaCgtMTMpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMykgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKG9iai5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTMpOyBvYmoubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxNQppZiAob2JqWyIxIl0gIT09IC0xMykgewogICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMyk7IG9ialsiMSJdID09PSAtMTMuIEFjdHVhbDogJyArIChvYmpbIjEiXSkpOwp9CgovL0NIRUNLIzE2Cm9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOwp2YXIgcHVzaCA9IG9iai5wdXNoKC0xNik7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xNikgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTE2KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWyIwIl0gIT09IC0xNikgewogICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTYpOyBvYmpbIjAiXSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfSAgIAoK","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CnZhciBwdXNoID0gb2JqLnB1c2goKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmoucHVzaCgpID09PSAzLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMDogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnB1c2goKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5wdXNoKCkgPT09IDMuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgICAkRVJST1IoJyM0LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocHVzaCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wdXNoKCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAgCiAgdmFyIHB1c2ggPSBvYmoucHVzaCgpOwogICRFUlJPUignIzcuMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoucHVzaCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqLnB1c2goKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBwdXNoID0gb2JqLnB1c2goKTsKICAkRVJST1IoJyM4LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnB1c2goKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgIT09IGxlbmd0aCwgdGhyb3cgUmFuZ2VFcnJvcgogKi8KCnZhciB4ID0gW107CngubGVuZ3RoID0gNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5NSkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4LnB1c2goKSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeC5wdXNoKCJ4Iik7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgeC5wdXNoKCJ4IikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHgucHVzaCgieCIpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKHhbNDI5NDk2NzI5NV0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgdHJ5IHt4LnB1c2goIngiKX1jYXRjaChlKXt9OyB4WzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHRyeSB7eC5wdXNoKCJ4Iil9Y2F0Y2goZSl7fTsgeC5sZW5ndGggPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for Array object","description":"If ToUint32(length) !== length, throw RangeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialsxXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbMl0gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAKCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzYKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCkgPT09IDAuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQyOTQ5NjcyOTguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk1XSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTZdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAgICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5OCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ials0Mjk0OTY3Mjk1XSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5Nl0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk3XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTddKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKdmFyIHggPSB7MDowfTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDIpIHsgIAogICRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSkgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgeC5wdXNoKDEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKZGVsZXRlIHhbMV07CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gLTE7IE9iamVjdC5wcm90b3R5cGUucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyB4ID0gezA6MH07IHgucHVzaCgxKTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM1CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgZGVsZXRlIHg7IHgucHVzaCgxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnB1c2gpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucHVzaCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of push has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of push has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBwdXNoLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push is 1","description":"push.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3B1c2hcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicHVzaCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicHVzaCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The push property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUpKTsKfQoK","commentary":"The push property of Array has not prototype property","description":"Checking Array.prototype.push.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjcvUzE1LjQuNC43X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnB1c2goKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The push property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHJldmVyc2UgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEFycmF5KDEsMik7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKSA9PT0geC4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFswXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IEFycmF5KDEsMik7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgIAoK","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking case when reverse is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0sIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CnhbMF0gPSB0cnVlOwp4WzJdID0gSW5maW5pdHk7CnhbNF0gPSB1bmRlZmluZWQ7CnhbNV0gPSB1bmRlZmluZWQ7CnhbOF0gPSAiTmFOIjsKeFs5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbMV0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmICh4WzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKHhbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbN10gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzEwCmlmICh4WzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbOF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAoeFs5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHhbOV0pKTsKfSAgIAoKeC5sZW5ndGggPSA5OwoKdmFyIHJldmVyc2UgPSB4LnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpID09PSB4LiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMxMwppZiAoeFsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyMxNAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9ICAgIAoKLy9DSEVDSyMxNgppZiAoeFs0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzE4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyMxOQppZiAoeFs3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzIwCmlmICh4WzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFs4XSkpOwp9CiAgICAKCg==","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking this algorithm, elements are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgaW50ZWdlcgogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqID0ge307Cm9iai5sZW5ndGggPSAxMDsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzFdICE9PSAiTmFOIikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAob2JqWzRdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjOQppZiAob2JqWzddICE9PSBJbmZpbml0eSkgewogICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ials5XSkpOwp9ICAgCgpvYmoubGVuZ3RoID0gOTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gOTsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmpbMF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials1XSkpOwp9CgovL0NIRUNLIzE4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ials4XSkpOwp9Cgo=","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgbm90IGludGVnZXIKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IHt9OwpvYmoubGVuZ3RoID0gMTAuNTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqWzBdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialsxXSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyM4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKG9ials3XSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqWzldICE9PSB0cnVlKSB7CiAgICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbOV0gPT09IHRydWUuIEFjdHVhbDogJyArIChvYmpbOV0pKTsKfSAgIAoKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCkgPT09IG9iai4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyMxMgppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKG9ialsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzE1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjMTYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMTkKaWYgKG9ials3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbOF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoK","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBvYmogPSB7fTsKb2JqLmxlbmd0aCA9ICIxMCI7Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7CgpvYmpbMF0gPSB0cnVlOwpvYmpbMl0gPSBJbmZpbml0eTsKb2JqWzRdID0gdW5kZWZpbmVkOwpvYmpbNV0gPSB1bmRlZmluZWQ7Cm9ials4XSA9ICJOYU4iOwpvYmpbOV0gPSAiLTEiOwoKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjNAppZiAob2JqWzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzcKaWYgKG9ials1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzZdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyM5CmlmIChvYmpbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzldID09PSB0cnVlLiBBY3R1YWw6ICcgKyAob2JqWzldKSk7Cn0gICAKCm9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gICAgCgovL0NIRUNLIzE0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxNQppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfQoKLy9DSEVDSyMxNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ials2XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAob2JqWzddKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKG9ials4XSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCg==","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5OAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk3XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7CgovL0NIRUNLIzEKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ4IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gInoiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjB9Owp4LnJldmVyc2UoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CmRlbGV0ZSB4WzFdOwoKLy9DSEVDSyM3CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSAwOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjAsMToxfTsKeC5yZXZlcnNlKCk7CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKZGVsZXRlIHhbMV07CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MCwxOjF9OyB4LnJldmVyc2UoKTsgZGVsZXRlIHhbMF07IGRlbGV0ZSB4WzFdOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowLDE6MX07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of reverse has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of reverse has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiByZXZlcnNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse is 0","description":"reverse.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3JldmVyc2VcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicmV2ZXJzZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicmV2ZXJzZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The reverse property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The reverse property of Array has not prototype property","description":"Checking Array.prototype.reverse.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjgvUzE1LjQuNC44X0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnJldmVyc2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The reverse property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwyLDMpOyB4Lmxlbmd0aCA9IDA7IHguc2hpZnQoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09IDMnKTsKfQoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzBdID09IDEnKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzFdID09IDInKTsKfQoKLy9DSEVDSyM1CnggPSBbXTsKeFswXSA9IDA7CnhbM10gPSAzOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCkgPT09IDAuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMF0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsxMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMV0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9IDE7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPSAxOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The first element of the array is removed from the array and\nreturned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogICAgfQp9ICAgIAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB1bmRlZmluZWQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxL29iai5sZW5ndGggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gLTA7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09ICswLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogIH0gIAp9ICAgCgovL0NIRUNLIzkKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gMi41Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAyLjU7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDIpOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoK","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9ialsiMCJdID0gMDsKb2JqWyIzIl0gPSAzOwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSAxOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPSAxOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9IDE7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9OdW1iZXIgZnJvbSBsZW5ndGguCiAqIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzA6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzMKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpID09PSAiLCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIAogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzcuMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouc2hpZnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbNDI5NDk2NzI5Nl0gPSAieiI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OwoKLy9DSEVDSyMxCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09ICJ4IikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCkgPT09ICJ4Ii4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmouc2hpZnQoKTsgb2JqWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInoiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpID09PSAieCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMF0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ialsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCIgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjB9OwoKLy9DSEVDSyM0CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAwKSB7ICAKICAkRVJST1IoJyM0OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKZGVsZXRlIHgubGVuZ3RoOwppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHguc2hpZnQoKTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjAsMToxfTsKCi8vQ0hFQ0sjNAp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgeCA9IHswOjAsMToxfTsgeC5zaGlmdCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOApkZWxldGUgeC5sZW5ndGg7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc2hpZnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The length property of shift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of shift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift is 0","description":"shift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc2hpZnRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NoaWZ0JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7Cn0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic2hpZnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The shift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The shift property of Array has not prototype property","description":"Checking Array.prototype.shift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuc2hpZnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The shift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbnN0YW5jZXMgaGF2ZSBbW0NsYXNzXV0gc2V0IHRvICdBcnJheScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKTsNCiAgaWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array instances have [[Class]] set to 'Array'","path":"TestCases/ch15/15.4/15.4.5/15.4.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk2ICgyKiozMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgW10ubGVuZ3RoID0gNDI5NDk2NzI5NiA7DQogIH0gY2F0Y2ggKGUpIHsNCglpZiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967296 (2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk3ICgxKzIqKjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgICBbXS5sZW5ndGggPSA0Mjk0OTY3Mjk3IDsNCiAgfSBjYXRjaCAoZSkgew0KCWlmIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967297 (1+2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIG1heCB2YWx1ZSA0Mjk0OTY3Mjk1ICgyKiozMi0xLCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYS5sZW5ndGggPSA0Mjk0OTY3Mjk1IDsNCiAgcmV0dXJuIGEubGVuZ3RoPT09NDI5NDk2NzI5NSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Set array length property to max value 4294967295 (2**32-1,)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKShub3QgYW4gYXJyYXkgZWxlbWVudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYVs0Mjk0OTY3Mjk1XSA9PT0gIm5vdCBhbiBhcnJheSBlbGVtZW50IjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Defining a property named 4294967295 (2**32-1)(not an array element)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKSBkb2Vzbid0IGNoYW5nZSBsZW5ndGggb2YgdGhlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgIA0KICB2YXIgYSA9WzAsMSwyXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYS5sZW5ndGg9PT0zOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Defining a property named 4294967295 (2**32-1) doesn't change length of the array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbNDI5NDk2NzI5NiwgLTEsIDEuNV0KICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gLTE7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gLTEgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IC0xIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMzCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gMS41OwogICRFUlJPUignIzMuMTogeCA9IFtdOyB4Lmxlbmd0aCA9IDEuNSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6IHgubGVuZ3RoID09PSAnICsgKHgubGVuZ3RoKSk7Cn0gY2F0Y2goZSkgeyAgICAKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiB4ID0gW107IHgubGVuZ3RoID0gMS41IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [4294967296, -1, 1.5]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5LCB1bmRlZmluZWRdCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBbXTsKICB4Lmxlbmd0aCA9IE5hTjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOYU4gdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE5hTiB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjNAp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHVuZGVmaW5lZDsKICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB1bmRlZmluZWQgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHVuZGVmaW5lZCB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCg==","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [NaN, Infinity, -Infinity, undefined]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSBsZW5ndGggb2YgYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwsMiwsNF07CngubGVuZ3RoID0gNDsKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFswLCwyLCw0XTsgeC5sZW5ndGggPSA0OyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAzOwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzJdICE9PSAyKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Change length of array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsKdmFyIHggPSBbMCwxLDJdOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzJdID0gLTE7IHggPSBbMCwxLDNdOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyMyCngubGVuZ3RoID0gMjsKaWYgKHhbMl0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsgeCA9IFswLDEsM107IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzJdKSk7ICAgIAp9Cgo=","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAyOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDM7CmlmICh4Lmhhc093blByb3BlcnR5KCcyJykgIT09IGZhbHNlKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMl0gPSAyOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMzsgeC5oYXNPd25Qcm9wZXJ0eShcJzJcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoeC5oYXNPd25Qcm9wZXJ0eSgnMicpKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAyOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzJdID0gMjsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDM7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpcyBvYmplY3Qgb3IgcHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB0cnVlOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSB0cnVlOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFswXTsKeC5sZW5ndGggPSBudWxsOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzI6IHggPSBbMF07IHgubGVuZ3RoID0gbnVsbDsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnggPSBbMF07CngubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzM6IHggPSBbMF07IHgubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzQKeCA9IFtdOwp4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQp4ID0gW107CngubGVuZ3RoID0gIjEiOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSAiMSI7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0gbmV3IFN0cmluZygiMSIpOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSBuZXcgU3RyaW5nKCIxIik7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"Set the value of property length of A to Uint32(length)","description":"length is object or primitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVpbnQzMiB1c2UgVG9OdW1iZXIgYW5kIFRvUHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMwOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzMKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICB4ID0gW107CiAgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyAgCiAgaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4Lmxlbmd0aCA9PT0gIiwiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4Lmxlbmd0aCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHgubGVuZ3RoIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM4LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Set the value of property length of A to Uint32(length)","description":"Uint32 use ToNumber and ToPrimitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQIGlzIG5vdCBhbiBhcnJheSBpbmRleCwgcmV0dXJuCiAqIChDcmVhdGUgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFAgaW4gWzQyOTQ5NjcyOTUsIC0xLCB0cnVlXQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp4WzQyOTQ5NjcyOTVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4WzQyOTQ5NjcyOTVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHhbNDI5NDk2NzI5NV0gPT09IDEuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Wy0xXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbLTFdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKaWYgKHhbLTFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeFstMV0gPSAxOyB4Wy0xXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbLTFdKSk7ICAgIAp9CgovL0NIRUNLIzMKeCA9IFtdOwp4W3RydWVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4W3RydWVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzLjI6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbdHJ1ZV0gPT09IDEuIEFjdHVhbDogJyArICh4W3RydWVdKSk7ICAgIAp9Cgo=","commentary":"If P is not an array index, return\n(Create a property with name P, set its value to V and give it empty attributes)","description":"P in [4294967295, -1, true]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgdGhlbiByZXR1cm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS9TMTUuNC41LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID09PSAxMDAsIFAgaW4gWzAsIDk4LCA5OV0KICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheSgxMDApOwp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeC5sZW5ndGggPT09IDEwMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs5OF0gPSAxOwppZiAoeC5sZW5ndGggIT09IDEwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMF0gPSAxOyB4Wzk4XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnhbOTldID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzM6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeFs5OF0gPSAxOyB4Wzk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, then return","description":"length === 100, P in [0, 98, 99]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgY2hhbmdlIChvciBzZXQpIGxlbmd0aCB0byBUb1VpbnQzMihQKSsxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IDEwMCwgUCBpbiBbMTAwLCAxOTldCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoMTAwKTsKeFsxMDBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDEpIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzEwMF0gPSAxOyB4Lmxlbmd0aCA9PT0gMTAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzE5OV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMTAwXSA9IDE7IHhbMTk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, change (or set) length to ToUint32(P)+1","description":"length = 100, P in [100, 199]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBib3VuZGFyeSBwb2ludHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxOiB4ID0gW107IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAgICAgCiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKeFsxXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDE7IHhbMV0gPSAxOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAp4WzIxNDc0ODM2NDhdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAyMTQ3NDgzNjQ5KSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4Lmxlbmd0aCA9PT0gMjE0NzQ4MzY0OS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQp4WzQyOTQ5NjcyOTRdID0gMTsKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4WzQyOTQ5NjcyOTU0XSA9IDE7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"Checking boundary points","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQID0gIjJeMzIgLSAxIiBpcyBub3QgaW5kZXggYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFs0Mjk0OTY3Mjk1XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4WzQyOTQ5NjcyOTVdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMyCnZhciB5ID1bXTsKeVsxXSA9IDE7CnlbNDI5NDk2NzI5NV0gPSAxOwppZiAoeS5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMyOiB5ID0gW107IHlbMV0gPSAxOyB5WzQyOTQ5NjcyOTVdID0gMTsgeS5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"P = \"2^32 - 1\" is not index array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHByb3BlcnR5IGlzIGFkZGVkIHdob3NlIG5hbWUgaXMgYW4gYXJyYXkgaW5kZXgsCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC41LzE1LjQuNS4yL1MxNS40LjUuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFswXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnhbMV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMzOiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKeFs5XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyM0OiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeFs5XSA9IDE7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"If a property is added whose name is an array index,\nthe length property is changed","description":"Checking length property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs1XSA9IDE7CngubGVuZ3RoID0gMTA7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyMyOiB4ID0gW107IHgubGVuZ3RoID0gMTsgeFs1XSA9IDE7IHgubGVuZ3RoID0gMTA7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4WzVdID0gMTsgeC5sZW5ndGggPSAxMDsgeFs1XSA9IDEnKTsKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFsxXSA9IDE7CnhbM10gPSAzOwp4WzVdID0gNTsKeC5sZW5ndGggPSA0OwppZiAoeC5sZW5ndGggIT09IDQpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFszXSAhPT0gMykgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9CgovL0NIRUNLIzQKeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzUKeC5sZW5ndGggPSAwOwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNgp4Lmxlbmd0aCA9IDE7CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsgICAgICAKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMV0gPSAxOyB4WzNdID0gMzsgeFs1XSA9IDU7IHgubGVuZ3RoID0gNDsgeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOyB4Lmxlbmd0aCA9IDA7IHgubGVuZ3RoID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFtbUHV0XV0gKGxlbmd0aCwgNDI5NDk2NzI5NikKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OwppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4Lmxlbmd0aCA9PT0gNDI5NDk2NzI5NScpOyAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"[[Put]] (length, 4294967296)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwxLDJdOyAKeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IAp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzQyOTQ5NjcyOTRdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzQ6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzQyOTQ5NjcyOTRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTRdKSk7ICAgIAp9CgoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOyBfX3N0ciA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(function(){}())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEpIGFuZCBTdHJpbmcoLTEpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxKTsgX19zdHIgPT09ICIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0xKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIi0xIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKC0xKTsgX19zdHIgPT09ICItMSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1) and String(-1)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvMCkgYW5kIFN0cmluZygtMS8wKSwgYW5kIGNhbGwgd2l0aCArLy1JbmZpbml0eQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLzApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxLzApOyBfX3N0ciA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEvMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLTEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICItSW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTEvMCk7IF9fc3RyID09PSAiLUluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoSW5maW5pdHkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIkluZmluaXR5IikgewogICRFUlJPUignIzY6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC1JbmZpbml0eSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLUluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZygtSW5maW5pdHkpOyBfX3N0ciA9PT0gIi1JbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM5CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjOTogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMAppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMDogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzExOiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEyCmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMjogX19zdHIgPSBTdHJpbmcoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICItSW5maW5pdHkiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/0) and String(-1/0), and call with +/-Infinity","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvImEiKSwgU3RyaW5nKCJiIiogbnVsbCkgYW5kIFN0cmluZyhOdW1iZXIuTmFOKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLyJhIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoMS8iYSIpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEvImEiKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygiYiIqbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoImIiKm51bGwpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKCJiIipudWxsKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/\"a\"), String(\"b\"* null) and String(Number.NaN)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHRydWUpIGFuZCBTdHJpbmcoZmFsc2UpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRydWUpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZyh0cnVlKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhCb29sZWFuKHRydWUpKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoQm9vbGVhbihmYWxzZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzc6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzg6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(true) and String(false)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDApIGFuZCBTdHJpbmcoLTApCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMCIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygwKTsgX19zdHIgPT09ICIwIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0wKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTApOyBfX3N0ciA9PT0gIjAiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(0) and String(-0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHN0cmluZ19vYmplY3QpCiAqLwoKdmFyIF9fb2JqX19zdHIgPSAiY2FwcyI7CgovL19fb2JqX19zdHIucHJvcD0xOwoKdmFyIF9fc3RyID0gU3RyaW5nKF9fb2JqX19zdHIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIgIT09IF9fb2JqX19zdHIpIHsKICAkRVJST1IoJyMxOiBfX29ial9fc3RyID0gImNhcHMiOyBfX3N0ciA9IFN0cmluZyhfX29ial9fc3RyKTsgX19zdHIgPT09IF9fb2JqX19zdHIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(string_object)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCAuMTIzNDUgYW5kIGFuYWxvZ291cyBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKC4xMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAuMTIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgX19zdHIgPT09ICIwLjEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICIwLjAxMjM0NSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZyguMDEyMzQ1KTsgX19zdHIgPT09ICIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDEyMzQ1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ciA9PT0gIjAuMDAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDAwMDAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZyguMDAwMDAwMTIzNDUpOyBfX3N0ciA9PT0gIjEuMjM0NWUtNyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with .12345 and analogous numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdCBhZnRlciBwb2ludAogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLjIzNDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEuMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT09ICIxLjIzNDUiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoMS4yMzQ1Njc4OTApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiMS4yMzQ1Njc4OSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyID09PSAiMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjEuMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit after point","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdAogKi8KCl9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyAgCiAgICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjFlKzIxIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjFlKzIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gIjFlKzIyIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT09ICIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBBcnJheSBvZiBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSwyLDMiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyID09PSAiMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with Array of numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobnVsbCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcobnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcobnVsbCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJudWxsIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKG51bGwpOyBfX3N0ciA9PT0gIm51bGwiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(null)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodm9pZCAwKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHZvaWQgMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodm9pZCAwKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(void 0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodW5kZWZpbmVkKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHVuZGVmaW5lZCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodW5kZWZpbmVkKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(undefined)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX3N0ciA9IFN0cmluZyh4KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB2YXIgeDsgX19zdHIgPSBTdHJpbmcoeCk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(x), where x is undefined variable","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgQ2FsbCBTdHJpbmcoZXZhbCgpKTsKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoZXZhbCgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhldmFsKCkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKGV2YWwoKSk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Checking by using eval, Call String(eval())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoe30pCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHt9KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyh7fSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoe30pOyBfX3N0ciA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String({})","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobmV3IEFycmF5KQogKi8KCnZhciBfX29sZF9fQXJyYXlfX3Byb3RvdHlwZV9fdG9TdHJpbmcgPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmc7CgpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fQVJSQVlfXyI7fTsKCnZhciBfX3N0ciA9IFN0cmluZyhuZXcgQXJyYXkpOwoKLy8gcmVzdG9yZSBvbGQgdG9TdHJpbmcgbWV0aG9kIGp1c3QgaW4gY2FzZQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9X19vbGRfX0FycmF5X19wcm90b3R5cGVfX3RvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJfX0FSUkFZX18iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJfX0FSUkFZX18iO307IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IF9fc3RyID09PSAiX19BUlJBWV9fIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(new Array)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodGhpcykKICovCgp2YXIgdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OwoKdmFyIF9fc3RyID0gU3RyaW5nKHRoaXMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRoaXMpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiX19USElTX18iKSB7CiAgJEVSUk9SKCcjMjogdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OyBfX3N0ciA9IFN0cmluZyh0aGlzKTsgX19zdHIgPT09ICJfX1RISVNfXyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(this)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB2YWx1ZSBpcyBub3Qgc3VwcGxpZWQsIHRoZSBlbXB0eSBzdHJpbmcgIiIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMS9TMTUuNS4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKCk7IF9fc3RyID09PSAiIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If value is not supplied, the empty string \"\" is returned","description":"Call String()","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggZXhwcmVzc2lvbiAibmV3IFN0cmluZyIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gIiIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmc7IF9fc3RyID09ICIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0cik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nOyBfX3N0ciAhPT0gIiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with expression \"new String\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFzIHRoZSBmdW5jdGlvbiBvYmplY3QncyBwcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgd2FzIGNoYW5nZWQKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAidG9zdHIifTsKCnZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlk7Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gInRvc3RyIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyID09InRvc3RyIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" as the function object's prototype.toString property was changed","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgYW5kIHRvU3RyaW5nIHByb3BlcnRpZXMKICovCgpmdW5jdGlvbiBfX29iaigpe307CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fTsKCl9fb2JqLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHt9O307Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fb2JqKCl7fTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9InRydWUiKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gX19vYmooKXt9OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyBfX3N0ciA9PSJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf and toString properties","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiLCBhZnRlciBjaGFuZ2luZyB0aGUgZnVuY3Rpb24gb2JqZWN0IHRvU3RyaW5nIHByb3BlcnR5LCB3aGljaCBjYXVzZXMgZXhjZXB0aW9uIHRocm93CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX07CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOwogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopIGxlYWQgdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludG9zdHIiLiBBY3R1YWw6IGU9PT0nK2UpOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\", after changing the function object toString property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgcHJvcGVydHksIHdoaWNoIGNhdXNlcyBleGNlcHRpb24gdGhyb3cKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZjsgZnVuY3Rpb24gZigpe319fTsKCl9fb2JqLnZhbHVlT2Y9ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWx1ZW9mIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7CiAgJEVSUk9SKCcjMTogX19vYmoudmFsdWVPZj1mdW5jdGlvbigpe3Rocm93ICJpbnZhbHVlb2YifTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKSBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW52YWx1ZW9mIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludmFsdWVvZiIuIEFjdHVhbDogZT09PScrZSk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggLjEyMzQ1IGFuZCBvdGhlciBudW1iZXJzCiAqLwoKX19zdHIgPW5ldyBTdHJpbmcoLjEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9bmV3IFN0cmluZyguMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIwLjEyMzQ1IikgewogICRFUlJPUignIzI6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IF9fc3RyID09IjAuMTIzNDUiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT0iMC4wMTIzNDUiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPW5ldyAgU3RyaW5nKC4wMTIzNDUpOyBfX3N0ciA9PSIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID1uZXcgIFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsgX19zdHIgPT0iMC4wMDEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzc6IF9fc3RyID1uZXcgIFN0cmluZyguMDAwMDAwMTIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzcuNTogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDAwMDAxMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYgKF9fc3RyICE9IjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgX19zdHIgPT0iMS4yMzQ1ZS03Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with .12345 and other numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggbnVtYmVycyB0aGF0IGhhdmUgbW9yZSB0aGFuIDEgc2lnbmlmaWNhbnQgZGlnaXQgZm9sbG93aW5nIHRoZSBwb2ludAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEuMjM0NSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1Njc4OTApOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9IjEuMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgX19zdHIgPT0iMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with numbers that have more than 1 significant digit following the point","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZygpIiBpbml0aWFsaXplZCB3aXRoIG51bWJlcnMgdGhhdCBoYXZlIG1vcmUgdGhhbiAxIHNpZ25pZmljYW50IGRpZ2l0CiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iMWUrMjEiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMy41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMy41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPSIxZSsyMiIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String()\" initialized with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggQXJyYXkgb2YgbnVtYmVycwogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhuZXcgQXJyYXkoMSwyLDMpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with Array of numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZygpOyBfX3N0ciA9PSIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCBfX3N0ciA9PT0gIiIpIHsKICAkRVJST1IoJyMzOiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoIiIpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygiIik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgPT0iIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(\"\")\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKDEuMCkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxLjApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjApOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9MS4wKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyID09MS4wKyIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String(1.0)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoTmFOKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoTmFOKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0oMS8icyIpKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IF9fc3RyID09KDEvInMiKSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(NaN)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZmFsc2UpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZyhmYWxzZSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPWZhbHNlKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsgX19zdHIgPT1mYWxzZSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(false)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoe30pIgogKi8KCnZhciBfX3N0b3JlZF9fT2JqZWN0X19wcm90b3R5cGVfX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsKCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOwoKT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyA9IF9fc3RvcmVkX19PYmplY3RfX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKHt9KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyh7fSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IlNISUZURUQiKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAiU0hJRlRFRCJ9OyBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOyBfX3N0ciA9PSJTSElGVEVEIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String({})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KSIKICovCgp2YXIgX19zdG9yZWRfX0Z1bmN0aW9uX19wcm90b3R5cGVfX3RvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJTSElGVEVEIn07Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBfX3N0b3JlZF9fRnVuY3Rpb25fX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iU0hJRlRFRCIpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IF9fc3RyID09IlNISUZURUQiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){return [1,2,3]}())\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiB0byBjaGVjayBwcm90b3R5cGUKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoImFiYmEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fc3RyX19vYmopKSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygiYWJiYSIpOyBTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19zdHJfX29iaik9PT10cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" to check prototype","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiBhZGRpbmcgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9fb2JqWyJfX2N1c3RvbV9fcHJvcCJdIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT11bmRlZmluZWQuIEFjdHVhbDogX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PScrX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKU3RyaW5nLnByb3RvdHlwZS5fX2N1c3RvbV9fcHJvcCA9ICJib3IiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSE9PSJib3IiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IFN0cmluZy5wcm90b3R5cGUuX19jdXN0b21fX3Byb3AgPSAiYm9yIjsgX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PSJib3IiLiBBY3R1YWw6IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT0nK19fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl0pOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" adding custom property","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoc3RyaW5nKSIgYW5kIGNoYW5naW5nIHRvU3RyaW5nIHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoInNlYW1haWQiKTsKCl9fc3RyX19vYmoudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJfX29iai50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygic2VhbWFpZCIpOyBfX3N0cl9fb2JqLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgX19zdHJfX29iai50b1N0cmluZygpID09PSAiW29iamVjdCBTdHJpbmddIi4gQWN0dWFsOiBfX3N0cl9fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cl9fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The [[Class]] property of the newly constructed object is set to \"String\"","description":"Creating string object with \"new String(string)\" and changing toString property to Object.prototype.toString","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The String has property prototype","description":"Checking String.hasOwnProperty('prototype')","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcpewogIGlmIChwPT09InByb3RvdHlwZSIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcpeyBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6IGNvdW50ID09PScrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype property has the attribute DontEnum","description":"Checking if enumerating the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute DontDelete","description":"Checking if deleting the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZTsKClN0cmluZy5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlOyBTdHJpbmcucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT09JytTdHJpbmcucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute ReadOnly","description":"Checking if varying the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBmcm9tQ2hhckNvZGUgZnVuY3Rpb24gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgU3RyaW5nLmZyb21DaGFyQ29kZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PScrdHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLmhhc093blByb3BlcnR5KCJmcm9tQ2hhckNvZGUiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0nK1N0cmluZy5mcm9tQ2hhckNvZGUubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The length property of the fromCharCode function is 1","description":"Checking String.fromCharCode.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5mcm9tQ2hhckNvZGUoKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nLiBBY3R1YWw6ICcrU3RyaW5nLmZyb21DaGFyQ29kZSgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode () returns empty string","description":"Call String.fromCharCode()","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgIT09ICJBQkJBIikgewogICRFUlJPUignIzE6IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpID09PSAiQUJCQSIuIEFjdHVhbDogU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgPT09JytTdHJpbmcuZnJvbUNoYXJDb2RlKDY1LDY2LDY2LDY1KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Call String.fromCharCode(65,66,66,65)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgZnVuY3Rpb24gdmFyaWFibGUsIHRoYXQgZXF1YWwgU3RyaW5nLmZyb21DaGFyQ29kZSwgZGVsZXRlIG9yaWdpbmFsIFN0cmluZy5mcm9tQ2hhckNvZGUgYW5kIHVzZSBjcmVhdGVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsKCmRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mY2NfX2Z1bmMoNjUsNjYsNjYsNjUpICE9PSAiQUJCQSIpIHsKICAkRVJST1IoJyMxOiBfX2ZjY19fZnVuYyA9IFN0cmluZy5mcm9tQ2hhckNvZGU7IGRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOyBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09ICJBQkJBIi4gQWN0dWFsOiBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09JytfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Create function variable, that equal String.fromCharCode, delete original String.fromCharCode and use created variable","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlIGhhcyBub3QgW1tjb25zdHJ1Y3RdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgU3RyaW5nLmZyb21DaGFyQ29kZSIgZmFpbHMKICovCgp2YXIgX19mY2NfX2Z1bmMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKZGVsZXRlIFN0cmluZy5mcm9tQ2hhckNvZGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KTsKICAkRkFJTCgnIzE6IF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.fromCharCode has not [[construct]] method","description":"Checking if creating \"new String.fromCharCode\" fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJ1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuIEFjdHVhbDogU3RyaW5nLmxlbmd0aD09PScrU3RyaW5nLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String has length property whose value is 1","description":"Checking String.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(String)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBjdXN0b20gcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCBjaGVjayBpdCBhdCBTdHJpbmcKICovCgpGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5pbmRpY2F0b3IgIT09IDEpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgU3RyaW5nLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuaW5kaWNhdG9yID09PScrU3RyaW5nLmluZGljYXRvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Add custom property to Function.prototype and check it at String","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK1N0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Checking String.prototype.constructor","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBvYmplY3QgYW5kIGNoZWNrIGl0CiAqLwoKdmFyIF9fY29uc3RyID0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMwCmlmIChfX2luc3RhbmNlICE9ImNob29zaW5nIG9uZSIpIHsKICAkRVJST1IoJyMwOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlID09ImNob29zaW5nIG9uZSIuIEFjdHVhbDogX19pbnN0YW5jZSA9PScrX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0nK19faW5zdGFuY2UuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19pbnN0YW5jZSkpKSB7CiAgJEVSUk9SKCcjMjogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwp2YXIgX190b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ1N0cmluZycgKyddJzsKCmRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKaWYgKF9faW5zdGFuY2UudG9TdHJpbmcoKSAhPT0gX190b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0gX190b19zdHJpbmdfcmVzdWx0LiBBY3R1YWw6IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0nK19faW5zdGFuY2UudG9TdHJpbmcoKSsnIF9fdG9fc3RyaW5nX3Jlc3VsdCA9PT0nK19fdG9fc3RyaW5nX3Jlc3VsdCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Create new String.prototype.constructor object and check it","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcobnVtYmVyKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAiIisxKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoMSk7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIiIrMS4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(number) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoYm9vbGVhbikgYW5kIGNoZWNrIGl0YHMgbWV0aG9kIHRvU3RyaW5nKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcodHJ1ZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYgKF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSAhPT0gIiIrdHJ1ZSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKHRydWUpOyBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai50b1N0cmluZygpID09PScrX19zdHJpbmdfX29iai50b1N0cmluZygpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toString() returns this string value","description":"Create new String(boolean) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoc3RyaW5nKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygibWV0YWwiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAibWV0YWwiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoIm1ldGFsIik7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(string) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpIGFuZCBjaGVjayBpdGBzIG1ldGhvZCB0b1N0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsgX19zdHJpbmdfX29iai50b1N0cmluZygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(function(){}()) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB2YXJpYWJsZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fdG9TdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fdG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdHlwZW9mIF9fdG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fdG9TdHJpbmcgPT09Jyt0eXBlb2YgX190b1N0cmluZyApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBfX3RvU3RyaW5nKCk7CiAgJEZBSUwoJyMyOiAiX190b1N0cmluZyA9IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gX190b1N0cmluZygpOyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6ICJfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBfX3RvU3RyaW5nKCk7IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgb2JqZWN0IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgZmFpbHMKICovCgp2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307IHR5cGVvZiBfX29ialsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gPT09Jyt0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gKTsgCn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gKF9fb2JqID09IDEpOwogICRGQUlMKCcjMjogInZhciB4ID0gKF9fb2JqID09IDEpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzIuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgaXMgZXF1YWwgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nKCkgd2l0aCB2YXJpb3VzIGFyZ3VtZW50cyBhbmQgY29tcGFyZSByZXR1cm5lZCByZXN1bHRzIG9mIHRvU3RyaW5nKCkgYW5kIHZhbHVlT2YoKQogKi8KCi8vQ0hFQ0sjMQp2YXIgc3RyID0gbmV3IFN0cmluZygpOwppZighKHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCkpKQogICRFUlJPUignIzE6IHN0ciA9IG5ldyBTdHJpbmcoKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzIKc3RyID0gbmV3IFN0cmluZyh0cnVlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMyOiBzdHIgPSBuZXcgU3RyaW5nKHRydWUpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCi8vQ0hFQ0sjMwpzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMzOiBzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzQKc3RyID0gbmV3IFN0cmluZyhNYXRoLlBJKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyM0OiBzdHIgPSBuZXcgU3RyaW5nKE1hdGguUEkpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCg==","commentary":"String.prototype.toString() is equal String.prototype.valueOf()","description":"Create new String() with various arguments and compare returned results of toString() and valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGhhdmUgbGVuZ3RoIHByb3BlcnR5IGFuZCBpdCBpcyBlcXVhbCAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykhPT10cnVlKXsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpPT09dHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KZWxzZXsKLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCE9PTApCiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg9PT0wLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCk7IAp9Cgo=","commentary":"String.prototype.toString have length property and it is equal 0","description":"Checking String.prototype.toString.length property","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKDEpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiKzEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiKzEuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(1) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHRydWUpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiK3RydWUpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(true) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHN0cmluZykgYW5kIGNoZWNrIGl0YHMgdmFsdWVPZigpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gIm1ldGFsIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOyBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(string) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSBhbmQgY2hlY2sgaXRgcyB2YWx1ZU9mKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IF9fc3RyaW5nX19vYmoudmFsdWVPZigpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(function(){}()) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHZhcmlhYmxlIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCnZhciBfX3ZhbHVlT2YgPSBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX192YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogX192YWx1ZU9mID0gU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mOyB0eXBlb2YgX192YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX3ZhbHVlT2YgPT09Jyt0eXBlb2YgX192YWx1ZU9mICk7IAp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IF9fdmFsdWVPZigpOwogICRGQUlMKCcjMjogIl9fdmFsdWVPZiA9IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZjsgdmFyIHggPSBfX3ZhbHVlT2YoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBvYmplY3QgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mIGZhaWxzCiAqLwoKdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX29ialsidmFsdWVPZiJdICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09Jyt0eXBlb2YgX19vYmpbInZhbHVlT2YiXSApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAoX19vYmogPT0gMSk7CiAgJEZBSUwoJyMyOiAidmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdmFyIHggPSAoX19vYmogPT0gMSkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24gaXMgaW5zdGFuY2Ugb2YgVHlwZUVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyAiU3RyaW5nIikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBmaXJzdCB3ZSBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyBjYXVzZSBpdCBvdmVycmlkZXMgT2JqZWN0IHByb3RvdHlwZSB0b1N0cmluZy4KICogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tjbGFzc11dK10KICovCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIi4gQWN0dWFsOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object (its [[Class]] is \"String\")","description":"first we delete String.prototype.toString cause it overrides Object prototype toString.\nObject.prototype.toString returns [object+[[class]]+]","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCB3aG9zZSB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZSAhPSIiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZSA9PSIiLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT0nK1N0cmluZy5wcm90b3R5cGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object whose value is an empty string","description":"Checking String.prototype","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCAoMTUuMi4zLjEpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nLnByb3RvdHlwZSkpKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the String prototype object is the Object prototype object (15.2.3.1)","description":"Checking Object.prototype.isPrototypeOf(String.prototype)","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.match.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBtYXRjaCBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the match method is 1","description":"Checking String.prototype.match.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChtYXRjaChfX29iailbMF0gIT09IkFCIikgewogICAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgbWF0Y2goX19vYmopWzBdID09PSJBQiIuIEFjdHVhbDogJyttYXRjaChfX29iailbMF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBmdW5jdGlvbiwgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbWF0Y2goX19vYmopOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString function, toString throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IG1hdGNoKF9fb2JqKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, valueOf throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHRoZW4gY2FsbCBtYXRjaCAocmVnZXhwKSBmdW5jdGlvbiB3aXRoIHRoaXMgb2JqZWN0IGFzIGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyAiQUJCXFx1MDA0MUJcXHUwMDMxQUJBQlxcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gPT09IjEiLiBBY3R1YWw6ICcrKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKVswXSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJcdTAwMzFBQkFCXHUwMDMxQkJBQSIubWF0Y2goX19vYmopLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggUmVnRXhwIG9iamVjdCBhcyBhcmd1bWVudCBmcm9tIHN0cmluZwogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gIT09ICI3NyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOyAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzN1xcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gPT09ICI3NyIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIubWF0Y2goX19yZWcpWzBdKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with RegExp object as argument from string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UubWF0Y2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKVswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQoZm5HbG9iYWxPYmplY3QoKSk7Cgp0cnkgewogICAgZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cn0gY2F0Y2ggKGUpIHsgOyB9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgICYmIC8vRW5zdXJlIHdlIGNvdWxkIG92ZXJ3cml0ZSBnbG9iYWwgb2JqJ3MgdG9TdHJpbmcKICAgIChtYXRjaChldmFsKCJcImJqXCIiKSlbMF0gIT09ICJiaiIpKSB7CiAgJEVSUk9SKCcjMTogbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQodGhpcyk7IG1hdGNoKGV2YWwoIlxcImJqXFwiIikpWzBdID09PSAiYmoiLiBBY3R1YWw6ICcrbWF0Y2goZXZhbCgiXCJialwiIikpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudHMgb2Ygc3RyaW5nCiAqLwoKdmFyIF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gIiIubWF0Y2goKTsgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX21hdGNoZWQgPSAiIi5tYXRjaCgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKCkuZXhlYygiIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIG1hdGNoKG51bGwpIGV2YWx1YXRlcyB0byBtYXRjaCgibnVsbCIpCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdID09PSAibnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh4KTsKCnZhciBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2godW5kZWZpbmVkKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdDsKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoX19vYmopLm1hdGNoKHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fbWF0Y2hlZCA9IFN0cmluZyhfX29iaikubWF0Y2godm9pZCAwKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoX19vYmopLm1hdGNoKGZ1bmN0aW9uKCl7fSgpKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19tYXRjaGVkID0gbmV3IFN0cmluZyhfX29iaikubWF0Y2goZnVuY3Rpb24oKXt9KCkpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIDMKICovCgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2Nzg5MCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgzKVswXSE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMylbMF09PT0gIjMiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goMylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goMykubGVuZ3RoICE9PTEpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykubGVuZ3RoID09PTEuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgzKS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICE9PTIpIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykuaW5kZXggPT09Mi4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzQ6IF9fc3RyaW5nID0gIjEyMzQ1Njc4OTAiOyBfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is 3","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikKICovCgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7Cgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gMy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCAhPT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggPT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaChfX3JlKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMzLicrbWkrJzogX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCIsICIwMjEzNCIsIHVuZGVmaW5lZF07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87CgpfX3JlLmxhc3RJbmRleCA9IF9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSAzKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ID09PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIG1pPTA7IG1pPF9fbWF0Y2hlcy5sZW5ndGg7IG1pKyspIHsKICBpZiAoX19zdHJpbmcubWF0Y2goX19yZSlbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMy4nK21pKyc6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWycrbWkrJ109PT1fX21hdGNoZXNbJyttaSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTIuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyB2YXJpYWJsZSB0aGF0IGhhdmUgdmFsdWUgLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiXTsKCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2c7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is variable that have value /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTMuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSAwCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTQuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxlbmd0aAogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IF9fbWF0Y2hlcy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gX19tYXRjaGVzLmxlbmd0aC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKVswXSE9PV9fbWF0Y2hlc1swXSkgewogICRFUlJPUignIzM6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTUuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGFzdEluZGV4T2YoIjAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSBfX21hdGNoZXMubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IF9fbWF0Y2hlcy5sZW5ndGguIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goX19yZSlbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZy5tYXRjaChfX3JlKVswXT09PV9fbWF0Y2hlc1swXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKSsxCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKzE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTcuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vCiAqLwoKdmFyIF9fcmUgPSAvMC4vOwoKdmFyIF9fbnVtID0gMTAyMDMwNDA1MDYwNzA4MDkwMDA7CgpOdW1iZXIucHJvdG90eXBlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vX19tYXRjaGVzID0gWyIwMiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTguanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19yZSA9IC8wLi87CgpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19udW0gPSAxMDIwMzA0MDUwNjA3MDgwOTAwMDsKCk51bWJlci5wcm90b3R5cGUubWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8zNC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjM0IiwiMzQiLCIzNCJdOwoKdmFyIF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIzNDM0NDM0NDQiOyBfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC8zNC9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMzQiLCIzNCIsIjM0Il07IF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7IF9fc3RyaW5nLm1hdGNoKC8zNC9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /34/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsxfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsKCnZhciBfX3N0cmluZyA9ICIxMjM0NTZhYmNkZTc4OTAiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCE9PSAxMCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7MX0vZykubGVuZ3RoPT09IDEwLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMi4nK21pKyc6IF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsxfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{1}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEyIiwgIjM0IiwgIjU2IiwgIjc4IiwgIjkwIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKS5sZW5ndGghPT0gNSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7Mn0vZykubGVuZ3RoPT09IDUuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMTIiLCAiMzQiLCAiNTYiLCAiNzgiLCAiOTAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cRHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bImFiIiwgImNkIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKS5sZW5ndGghPT0gMikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXER7Mn0vZykubGVuZ3RoPT09IDIuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiYWIiLCAiY2QiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcRHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\D{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdm9pZCAwCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVswXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVsxXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMl0hPT0gdm9pZCAwKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pWzJdPT09IHZvaWQgMC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pWzJdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmxlbmd0aCAhPT0zKSB7CiAgJEVSUk9SKCcjNDogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pLmxlbmd0aCA9PT0zLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLykubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbmRleCAhPT0xNCkgewogICRFUlJPUignIzU6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbmRleCA9PT0xNC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzY6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is void 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZykubGVuZ3RoIT09IDEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpLmxlbmd0aD09PSAxLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZylbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMyOiBfX21hdGNoZXM9WyIwMjEzNCJdOyBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gMykgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19yZS5sYXN0SW5kZXggPSAwOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSAzLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICE9PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match has not prototype property","description":"Checking String.prototype.match.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIlN0cmluZy5wcm90b3R5cGUubWF0Y2ggb2JqZWN0IiBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.match can't be used as constructor","description":"Checking if creating \"String.prototype.match object\" fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUubWF0Y2gpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLm1hdGNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.match.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.match.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExLzE1LjUuNC4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gJ3RoaXMnIG9iamVjdCB1c2VkIGJ5IHRoZSByZXBsYWNlVmFsdWUgZnVuY3Rpb24gb2YgYSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaW52b2NhdGlvbg0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmV0VmFsID0gJ3gnLnJlcGxhY2UoL3gvLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd5JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3onOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICByZXR1cm4gcmV0VmFsPT09J3knOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"'this' object used by the replaceValue function of a String.prototype.replace invocation","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/15.5.4.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSByZXBsYWNlIG1ldGhvZCBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the replace method is 2","description":"Checking String.prototype.replace.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHJlcGxhY2VWYWx1ZSBwYXNzaW5nIHVuZGVmaW5lZCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gcmVwbGFjZVZhbHVlIHRlc3RzIHRoYXQgaXRzIHRoaXMgdmFsdWUgaXMgdW5kZWZpbmVkCiAqIEBvbmx5U3RyaWN0CiAqLwoKdmFyIGdsb2JhbCA9IHRoaXM7Cid4Jy5yZXBsYWNlKC94LywgZnVuY3Rpb24oKSB7CiAgInVzZSBzdHJpY3QiOwoKICBpZiAodGhpcyA9PT0gZ2xvYmFsKSB7CiAgICAkRkFJTCgnIzE6IFN0cmluZyByZXBsYWNlIGxlYWtzIGdsb2JhbCcpOwogIH0KICBpZiAodGhpcyAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRkFJTCgnIzI6IHJlcGxhY2VWYWx1ZSBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiAneSc7Cn0pOwoK","commentary":"Call replaceValue passing undefined as the this value","description":"replaceValue tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgdHJ1ZSBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKHRydWUsIDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Arguments are true and 1, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFuZCBmdW5jdGlvbiBhcmd1bWVudHMgb2Ygc3RyaW5nLiBPYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OwoKdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAocmVwbGFjZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4geDt9KSAhPT0gInVuZGVmaW5lZEJBQkFCQUIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOyByZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pID09PSAidW5kZWZpbmVkQkFCQUJBQiIuIEFjdHVhbDogJytyZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with object and function arguments of string. Object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nIG9iamVjdC4gT2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zZWFyY2hWYWx1ZSI7fX07CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5yZXBsYWNlVmFsdWUiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gcmVwbGFjZShfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSByZXBsYWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnNlYXJjaFZhbHVlIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string object. Objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdC4KICogRmlyc3Qgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLgogKiBTZWNvbmQgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnNlYXJjaFZhbHVlIjt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSByZXBsYWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHJlcGxhY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc2VhcmNoVmFsdWUiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of String object.\nFirst objects have overrided toString and valueOf functions, valueOf throw exception.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nLgogKiBGaXJzdCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdHMgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnJlcGxhY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6IHZhciB4ID0gIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzFCQkFBIi5yZXBsYWNlKF9fb2JqLF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICAgaWYgKGUhPT0iaW5yZXBsYWNlVmFsdWUiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnJlcGxhY2VWYWx1ZSIuIEFjdHVhbDogJytlKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string.\nFirst objects have overrided toString and valueOf functions.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBzdHJpbmcsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5yZXBsYWNlKF9fcmVnLCAxKSAhPT0gIkFCQkFCQUJBQlx1MDAzMUJCQUEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiNzciKTsgIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzdcXHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkgPT09ICJBQkJBQkFCQUJcXHUwMDMxQkJBQSIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is string, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBPYmplY3QsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAvNzcvfX07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoMTEwMC4wMDc3NzAwMSk7CgpPYmplY3QucHJvdG90eXBlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDE3MDAxIjsKICAgICRGQUlMKCcjMS4wOiB4ID0gX19pbnN0YW5jZS5yZXBsYWNlKF9fb2JqLCAxKSA9PT0gIjExMDAuMDAxNzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBOdW1iZXIsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlID0gLzc3LzsKCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMTAwLjAwNzc3MDAxKTsKCk51bWJlci5wcm90b3R5cGUucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyJ6In07fX0KLy9fX29iaiA9IGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrInoifTsKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19vYmopID09PSAiMTEwMC4wMDd6NzAwMSI7CiAgJEZBSUwoJyMxLjA6IHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDd6NzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Number, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0LCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoeCwiZyIpOwoKdmFyIF9faW5zdGFuY2UgPSBTdHJpbmcoImFzZGYiKTsKCnZhciBfX3N0ciA9ICIxIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSAhPT0gIjFhMXMxZDFmMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHgsImciKTsgX19pbnN0YW5jZSA9IFN0cmluZygiYXNkZiIpOyBfX3N0ciA9ICIxIjsgX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSA9PT0gIjFhMXMxZDFmMSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19zdHIpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is String object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnJlcGxhY2UoZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpLHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZShmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkseCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30gYXJndW1lbnRzIG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrIiI7fSkgIT09ICJnMXVuYSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCxmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30pID09PSAiZzF1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsZnVuY3Rpb24oYTEsYTIsYTMpe3JldHVybiBhMisiIjt9KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and function(a1,a2,a3){return a2+\"\";} arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBGdW5jdGlvbigpIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCwgRnVuY3Rpb24oKSkgIT09ICJndW5kZWZpbmVkdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLCBGdW5jdGlvbigpKSA9PT0gImd1bmRlZmluZWR1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and Function() arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCB4IGFuZCBGdW5jdGlvbigicmV0dXJuIGFyZ3VtZW50c1sxXSs0MjsiKSBhcmd1bWVudHMgb2YgbmV3IFN0cmluZyBvYmplY3QuIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5yZXBsYWNlKHgsRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMV0rNDI7IikpID09PSAiNDIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with x and Function(\"return arguments[1]+42;\") arguments of new String object. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBzdHJpbmcgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnJlcGxhY2UoImUiLHVuZGVmaW5lZCkgIT09ICJ1bmR1bmRlZmluZWRmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5yZXBsYWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kdW5kZWZpbmVkZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkucmVwbGFjZSgiZSIsdW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with string and undefined arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCByZWd1bGFyIGV4cHJlc3Npb24gYW5kIHZvaWQgMCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSAhPT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSA9PT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with regular expression and void 0 arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgYXJndW1lbnRzIG9mIG5ldyBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSAhPT0gInVuZGVmaW5lZDB1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IGZ1bmN0aW9uIF9fZnVuYyhhMSxhMixhMyl7cmV0dXJuIGExK2EyK2EzO307IG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSA9PT0gInVuZGVmaW5lZDB1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikucmVwbGFjZShmdW5jdGlvbigpe30oKSxfX2Z1bmMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoYTEsYTIsYTMpe3JldHVybiBhMSthMithMzt9OwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with functions arguments of new String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvZwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC9nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCdzY2gnKSE9PSdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzY2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVXNlICQnIGluIHJlcGxhY2VWYWx1ZSwgc2VhcmNoVmFsdWUgaXMgcmVndWxhciBleHByZXNzaW9uIC9zaC8KICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCAiJCciICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkXCciICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCQiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWEkc2NoZWxscyBieSB0aGUgc2VhJHNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWEkc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyAnc2NoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNoc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsIiQmIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2hzY2hlbGxzIGJ5IHRoZSBzZWFzaHNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhU2hlIHNlbGxzIHNlYXNjaGVsbHMgYnkgdGhlIHNlYVNoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2VhU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCcgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJFwnIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvCiAqLwoKdmFyIF9fc3RyID0gJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLic7CnZhciBfX3JlID0gL3NoLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQkIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJiIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYXNoc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuJykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCc7IHZhciBfX3JlID0gL3NoLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAxNQogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpIT09J3VpZD0xMTUnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCd1aWQ9MzFcJzsgdmFyIF9fcmUgPSAvKHVpZD0pKFxkKykvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpPT09XCd1aWQ9MTE1XCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 15","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnMTUnCiAqLwoKdmFyIF9fc3RyID0gJ3VpZD0zMSc7CnZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSE9PSd1aWQ9MTE1JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwndWlkPTMxXCc7IHZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJDExIiArIFwnMTVcJyk9PT1cJ3VpZD0xMTVcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + '15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnQTE1JwogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpIT09J3VpZD0xQTE1JyApIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ3VpZD0zMVwnOyB2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87IF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyBcJ0ExNVwnKT09PVwndWlkPTFBMTVcJyAuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 'A15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspLwogKi8KCnZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7CnZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcGF0dGVybiwgX19yZXBsRk4pIT09JzEyYWJjIGRlZjM0JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7IHZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2cKICovCgp2YXIgX19zdHIgPSAiYWJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhYmMgMzRkZWYnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFiYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2c7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgMzRkZWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2kKICovCgp2YXIgX19zdHIgPSAiYUJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhQmMgZGVmMzQnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFCYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2k7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/i","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2lnCiAqLwoKdmFyIF9fc3RyID0gImFCYzEyIGRFZjM0IjsKdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2lnOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKSE9PScxMmFCYyAzNGRFZicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiYUJjMTIgZEVmMzQiOyB2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaWc7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgMzRkRWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/ig","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2UgcmVwbGFjZSB3aXRoIHJlZ2V4cCBhcyBzZWFyY2hWYWx1ZSBhbmQgdXNlICQgaW4gcmVwbGFjZVZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzICByZWdleHAgL14oYSspXDEqLFwxKyQvIGFuZCByZXBsYWNlVmFsdWUgaXMgIiQxIgogKi8KCnZhciBfX3N0ciA9ICJhYWFhYWFhYWFhLGFhYWFhYWFhYWFhYWFhYSI7CnZhciBfX3BhdHRlcm4gPSAvXihhKylcMSosXDErJC87CnZhciBfX3JlcGwgPSAiJDEiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkhPT0nYWFhYWEnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFhYWFhYWFhYWEsYWFhYWFhYWFhYWFhYWFhIjsgdmFyIF9fcGF0dGVybiA9IC9eKGErKVwxKixcMSskLzsgdmFyIF9fcmVwbCA9ICIkMSI7IF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGwpPT09XCdhYWFhYVwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Use replace with regexp as searchValue and use $ in replaceValue","description":"searchValue is regexp /^(a+)\\1*,\\1+$/ and replaceValue is \"$1\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTEvUzE1LjUuNC4xMV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3RvdHlwZTsKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace has not prototype property","description":"Checking String.prototype.replace.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.replace can't be used as constructor","description":"Checking if creating the String.prototype.replace object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2Upe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.replace.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cyBiZWhhdmVzIGxpa2Ugd2l0aCBhcmd1bWVudCAidW5kZWZpbmVkIgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2VhcmNoKCkgaXMgdGhlIHNhbWUgc2VhcmNoKHVuZGVmaW5lZCkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gIiIuc2VhcmNoKCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) without arguments behaves like with argument \"undefined\"","description":"Call search() is the same search(undefined)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.search.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzZWFyY2ggbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the search method is 1","description":"Checking String.prototype.search.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2VhcmNoKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2VhcmNoID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7ICBfX2luc3RhbmNlLnNlYXJjaCh0cnVlKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2VhcmNoKHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319Owp2YXIgX19zdHIgPSAic3NBQkJcdTAwNDFCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogIGlmIChzZWFyY2goX19vYmopICE9PTIpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX3N0ciA9ICJzc0FCQlx1MDA0MUJBQkFCIjsgc2VhcmNoKF9fb2JqKSA9PT0yLiBBY3R1YWw6ICcrc2VhcmNoKF9fb2JqKSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgd2l0aChzdHJfXyl7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopICE9PTUpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLnNlYXJjaChfX29iaikgPT09NS4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgc3RyaW5nLCBhcmd1bWVudCBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSAhPT0gOSkgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7ICJBQkJcXHUwMDQxQkFCQUJcXHUwMDM3XFx1MDAzN0JCQUEiLnNlYXJjaChfX3JlZykgPT09IDkuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Instance is string, argument is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNlYXJjaCA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zZWFyY2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsgIF9faW5zdGFuY2Uuc2VhcmNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLnNlYXJjaChmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBzZWFyY2goKSBldmFsdWF0ZXMgdG8gc2VhcmNoKCIiKQppZiAoIiIuc2VhcmNoKCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAiIi5zZWFyY2goKSA9PT0gMC4gQWN0dWFsOiAnKygiIi5zZWFyY2goKSkgKTsKfQoKaWYgKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTogIi0tdW5kZWZpbmVkLS0iLnNlYXJjaCgpID09PSAwLiBBY3R1YWw6ICcrKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Call search (regexp) without arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBudWxsLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gY2FsbCwgdGhhdCByZXR1cm4gc3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgc2VhcmNoKG51bGwpIGV2YWx1YXRlcyB0byBzZWFyY2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zZWFyY2gobnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNlYXJjaChudWxsKSA9PT0gMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2VhcmNoKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is null, and instance is function call, that return string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB4LCBhbmQgaW5zdGFuY2UgaXMgbmV3IFN0cmluZywgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is x, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB1bmRlZmluZWQsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2godW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuc2VhcmNoKHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Argument is undefined, and instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB2b2lkIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0IHdpdGggb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHZvaWQgMCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKFN0cmluZyhfX29iaikuc2VhcmNoKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLnNlYXJjaCh2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5zZWFyY2godm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is void 0, and instance is String object with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nIG9iamVjdCB3aXRoIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLnNlYXJjaChmdW5jdGlvbigpe30oKSkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is String object with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHN1YnN0cmluZyBpbnNpZGUgc3RyaW5nCiAqLwoKdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYVN0cmluZy5zZWFyY2goInN0cmluZyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmciKT09PSA1LiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goInN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search substring inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIHN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJTdHJpbmciKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsgYVN0cmluZy5zZWFyY2goIlN0cmluZyIpPT09IC0xLiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goIlN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXNhYmxpbmcgb2YgY2FzZSBzZW5zaXRpdmUgb2Ygc2VhcmNoLCBhcmd1bWVudCBpcyBSZWdFeHAKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvU3RyaW5nL2kpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSk9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking disabling of case sensitive of search, argument is RegExp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRoIHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL0ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9Gb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAtMS4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp with uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRob3V0IHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL2ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAxNCkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9mb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAxNC4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp without uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBTZWFyY2hpbmcgdGhlIG5vbi1leGlzdGVudCAibm90ZXhpc3QiIHN1YnN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOyBhU3RyaW5nLnNlYXJjaCgibm90ZXhpc3QiKT09PSAtMS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Searching the non-existent \"notexist\" substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHNlbnRlbmNlIGluc2lkZSBzdHJpbmcKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgic3RyaW5nIHBybyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIik9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search sentence inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygicG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgZ3JlYXQgc3dvcmQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKC90aGUvKSE9PSBhU3RyaW5nLnNlYXJjaCgvdGhlL2cpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBncmVhdCBzd29yZCIpOyBhU3RyaW5nLnNlYXJjaCgvdGhlLyk9PT0gYVN0cmluZy5zZWFyY2goL3RoZS9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC90aGUvKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcy4gVW5pY29kZSBzeW1ib2xzIHVzZWQKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvb2YvKSE9PSBhU3RyaW5nLnNlYXJjaCgvb2YvZykpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFxcdTAwNkZcXHUwMDY2IHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgXFx1MDA2RlxcdTAwNjYgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBcXHUwMDZGXFx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7IGFTdHJpbmcuc2VhcmNoKC9vZi8pPT09IGFTdHJpbmcuc2VhcmNoKC9vZi9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9vZi8pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties. Unicode symbols used","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search has not prototype property","description":"Checking String.prototype.search.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.search can't be used as constructor","description":"Checking if creating the String.prototype.search object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCl7CiAgaWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsgZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.slice.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzbGljZSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the slice method is 2","description":"Checking String.prototype.slice.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnNsaWNlKGZhbHNlLCB0cnVlKSAhPT0gInQiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmYWxzZSwgdHJ1ZSkgPT09ICJ0Ii4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoZmFsc2UsIHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3QgYW5kIGZ1bmN0aW9uIGNhbGwsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcsIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMjt9fTsKCnZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgaWYgKHNsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAyO319OyB2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOyBzbGljZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc2xpY2UoMCwxKTt9KCkpID09PSAiQkJCIi4gQWN0dWFsOiAnK3NsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluc3RhcnQiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW5lbmQiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKTsKICAgICAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiBhbmQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNsaWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnN0YXJ0Ii4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zLgogKiBTZWNvbmQgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319Owp2YXIgX19vYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICAgIHZhciB4ID0gIkFCQlx1MDA0MUJBQkFCXHUwMDMxQkJBQSIuc2xpY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCBvbmUgYXJndW1lbnQsIHRoYXQgaXMgZnVuY3Rpb24oKXt9KCkuIEluc3RhbmNlIGlzIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJyZXBvcnQiLnNsaWNlKGZ1bmN0aW9uKCl7fSgpKSAhPT0gInJlcG9ydCIpIHsKICAkRVJST1IoJyMxOiAicmVwb3J0Ii5zbGljZShmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc2xpY2UoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzbGljZSB3aXRob3V0IGFyZ3VtZW50cy4gSW5zdGFuY2UgaXMgTnVtYmVyIHdpdGggcHJvdG90eXBlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZQogKi8KCnZhciBfX251bSA9IDExLjAwMTAwMjsKCk51bWJlci5wcm90b3R5cGUuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnNsaWNlKCkhPT0iMTEuMDAxMDAyIikgewogICRFUlJPUignIzE6IHZhciBfX251bSA9IDExLjAwMTAwMjsgTnVtYmVyLnByb3RvdHlwZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9fbnVtLnNsaWNlKCk9PT0iMTEuMDAxMDAyIi4gQWN0dWFsOiAnK19fbnVtLnNsaWNlKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Call slice without arguments. Instance is Number with prototype.slice = String.prototype.slice","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZ1bmN0aW9uIGNhbGwgYW5kIHgsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgIT09ICJhbHNlIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSA9PT0gImFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIGZ1bmN0aW9uIGNhbGwsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgeWVsZHMgMAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNsaWNlKG51bGwsIC0zKSAhPT0gImdudWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2xpY2UobnVsbCwgLTMpID09PSAiZ251bGwiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zbGljZShudWxsLCAtMykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIGNhbGwgb3RoZXIgc2xpY2Uoc3RhcnQsIGVuZCksIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBvYmplY3QsIHRoYXQgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zCiAqLwoKX19mdW5jLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn07Cl9fZnVuYy50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBfX2Z1bmM7fTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zbGljZT1TdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5zbGljZShudWxsLCBGdW5jdGlvbigpLnNsaWNlKF9fZnVuYyw1KS5sZW5ndGgpICE9PSAiZ251bGwiKSB7CiAgJEVSUk9SKCcjMTogX19mdW5jLnNsaWNlKG51bGwsIEZ1bmN0aW9uKCkuc2xpY2UoX19mdW5jLDUpLmxlbmd0aCkgPT09ICJnbnVsbCIuIEFjdHVhbDogJytfX2Z1bmMuc2xpY2UobnVsbCwgRnVuY3Rpb24oKS5zbGljZShfX2Z1bmMsNSkubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7fTsKCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and call other slice(start, end), and instance is function object, that have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHggYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcsIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkIHllbGRzIDApCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgIT09ICJ1bmQiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgPT09ICJ1bmQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuc2xpY2UoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHN5bWJvbCBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIoImUiKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5lZ2F0aXZlIG51bWJlciBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbgogKi8KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovL3NpbmNlIHZvaWQgMCB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc2xpY2UoLTQsdm9pZCAwKSAhPT0gImluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zbGljZSgtNCx2b2lkIDApID09PSAiaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnNsaWNlKC00LHZvaWQgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHVuZGVmaW5lZCBhbmQgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnNsaWNlKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLF9fb2JqKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLy8qKGZ1bmN0aW9uKCl7fSkoKSovL3VuZGVmaW5lZCxfX29iaikgPT09ICIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsX19vYmopICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are undefined and object, and instance is String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2Ygc2xpY2UoKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHJpbmcuc2xpY2UoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zbGljZSgpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnK3R5cGVvZiBfX3N0cmluZy5zbGljZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Checking type of slice()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIE5hTiwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygndGhpcyBpcyBhIHN0cmluZyBvYmplY3QnKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKFwndGhpcyBpcyBhIHN0cmluZyBvYmplY3RcJyk7IF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoTmFOLCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2xpY2UgZnJvbSBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnNsaWNlKDEsMCkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Call slice from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgTmFOCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBOYU4pICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIG5lZ2F0aXZlIGZsb2F0IG51bWJlciwgZW5kIGlzIDAKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoLTAuMDEsMCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZSgtMC4wMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoLCBlbmQgaXMgdGVzdGVkX3N0cmluZy5sZW5ndGgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCwgX19zdHJpbmcubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoKzEsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZShfX3N0cmluZy5sZW5ndGgrMSwgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIC1JbmZpbml0eSwgZW5kIGlzIC1JbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoLUluZmluaXR5LCAtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCw4KSAhPT0gIltvYmplY3QgIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyBfX2luc3RhbmNlLnNsaWNlKDAsOCkgPT09ICJbb2JqZWN0ICIuIEFjdHVhbDogJytfX2luc3RhbmNlLnNsaWNlKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCB1c2Ugb3RoZXIgdmFsdWUgZm9yIHN0YXJ0IGFuZCBlbmQgdmFsdWVzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSAhPT0gIk9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZSg4LF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, use other value for start and end values","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCBhbmQgY2FsbCBpbnN0YW5jZS5zbGljZSguLi4pLnNsaWNlKC4uLikKICovCgp2YXIgX19pbnN0YW5jZSA9ICBmdW5jdGlvbigpe307CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICE9PSAidW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OyBfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsgX19pbnN0YW5jZS5zbGljZSgtSW5maW5pdHksOCkuc2xpY2UoMSxJbmZpbml0eSkgPT09ICJ1bmN0aW9uIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, and call instance.slice(...).slice(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gRnVuY3Rpb24gb2JqZWN0IGluc3RhbmNlIHBhc3NlcwogKi8KCl9fRkFDVE9SWS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMudmFsdWUrJyc7IH07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkodm9pZCAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoMCwxMDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlLAogICAgdGhpcy5zbGljZT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKICAgIC8vdGhpcy5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKfQoK","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Checknig if applying String.prototype.slice to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice has not prototype property","description":"Checking String.prototype.slice.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.slice can't be used as constructor","description":"Checking if creating the String.prototype.slice object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2xpY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNsaWNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.slice.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.slice.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.split.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzcGxpdCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the split method is 2","description":"Checking String.prototype.split.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDJCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKd2l0aChfX3N0cil7CiAgICBfX3NwbGl0ID0gc3BsaXQoX19vYmosIF9fb2JqMik7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0WzBdID09PSAiQSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNwbGl0KF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uIGFuZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b2ludGVnZXIiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function and toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0Mlx1MDA0MiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319Cgp2YXIgX19zcGxpdCA9ICJBQkJcdTAwNDFCQUJBQlx1MDA0MmNjXl5cdTAwNDJCdnYlJUJcdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJBIikgewogICRFUlJPUignIzQ6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXRbMF0gPT09ICJBIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMV0gIT09ICJBQkFCQSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQydTAwNDIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiMiI7fX07IF9fc3BsaXQgPSAiQUJCdTAwNDFCQUJBQnUwMDQyY2NeXnUwMDQyQnZ2JSVCdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOyBfX3NwbGl0WzFdID09PSAiQUJBQkEiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludCIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiBhbmQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnNwbGl0KF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5zcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function and valueOf function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBvYmplY3QsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIuCiAqIE9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gcmVnZXhwCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIC9cdTAwMzdcdTAwMzcvZzt9fTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnRyeSB7CiAgdmFyIF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX29iaik7CiAgJEZBSUwoJyMxOiAiX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fb2JqKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is object, and instance is Number.\nObject have overrided toString function, that return regexp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19yZSA9IC9cdTAwMzdcdTAwMzcvZzsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCl9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiNiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0WzBdID09PSAiNiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAiNjc2NzYiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fcmUgPSAvdTAwMzd1MDAzNy9nOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIjY3Njc2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3BsaXRbMl0gIT09ICIuMDA2IikgewogICRFUlJPUignIzY6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICIuMDA2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcKaWYgKF9fc3BsaXRbM10gIT09ICIxIikgewogICRFUlJPUignIzc6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbM10gPT09ICIxIi4gQWN0dWFsOiAnK19fc3BsaXRbM10gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is regexp, and instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKdmFyIF9fcmUgPSAgbmV3IFJlZ0V4cCgiMDAiKTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSwgZXZhbCgiXCIxXCIiKSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZSA9ICBuZXcgUmVnRXhwKCIwMCIpOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlLCBldmFsKCIiMSIiKSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjY3NzY3Njc2NzcuIikgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdFswXSA9PT0gIjY3NzY3Njc2NzcuIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBleHByZXNzaW9uLCBmdW5jdGlvbiBjYWxsIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoIkEiIT09InUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are boolean expression, function call and null, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0LmJpbmQodGhpcyk7Cgp2YXIgX19vYmpfX2xpbSA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDU7fX07Cgp0cnkgewogICAgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp9IGNhdGNoKGUpIHsgOyB9CgovL0NoZWNrcyBhcmUgb25seSB2YWxpZCBpZiB3ZSBjYW4gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb2JqZWN0J3MgdG9TdHJpbmcgbWV0aG9kCi8vKHdoaWNoIEVTNSBkb2Vzbid0IGV2ZW4gcmVxdWlyZSB0byBleGlzdCkKaWYgKHRvU3RyaW5nPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICAgdmFyIF9fY2xhc3NfXyA9IHRvU3RyaW5nKCk7CgogICAgdmFyIF9fc3BsaXQgPSBzcGxpdChldmFsKCJcIltcIiIpLF9fb2JqX19saW0pOwoKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjMTogdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIAogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICAgICAgICRFUlJPUignIzI6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgICAgICAgJEVSUk9SKCcjMzogX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXRbMV0uc3Vic3RyaW5nKDAsNikgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjNDogX19zcGxpdFsxXS5zdWJzdHJpbmcoMCw2KSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJytfX3NwbGl0WzFdLnN1YnN0cmluZygwLDYpICk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3BsaXQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgovL3NpbmNlIFRvU3RyaW5nKCkgZXZhbHVhdGVzIHRvICIiIHNwbGl0KCkgZXZhbHVhdGVzIHRvIHNwbGl0KCIiLDApCnZhciBfX3NwbGl0ID0gIiIuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gIiIuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Call split without arguments, and instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIHNwbGl0KG51bGwpIGV2YWx1YXRlcyB0byBzcGxpdCgibnVsbCIsMCkKdmFyIF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJnIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzBdID09PSAiZyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAidW5hIikgewogICRFUlJPUignIzU6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzFdID09PSAidW5hIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is null, and instance is function call that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHgsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgc3BsaXQodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gc3BsaXQoIiIsMCkKdmFyIF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFswXSAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXRbMF0gPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is x, and instance is new String. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCnZhciBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkZCIpIHsKICAkRVJST1IoJyM0OiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdFswXSA9PT0gInVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX3NwbGl0ID0gU3RyaW5nKF9fb2JqKS5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fc3BsaXQgPSBTdHJpbmcoX19vYmopLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdFswXSAhPT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uKCl7fSgpLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIgp2YXIgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is function(){}(), and instance is String(object), object have overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIsIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\",\"), instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxMjMpLCBpbnN0YW5jZSBpcyAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCIKICovCgp2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7CnZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgxMjMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yICggdmFyIGkgPSAwOyBpIDwgX19leHBlY3RlZC5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX2V4cGVjdGVkW2ldIT09X19zcGxpdFtpXSkgewogICAgICAkRVJST1IoJyMzLicraSsnOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19leHBlY3RlZFsnK2krJ109PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(123), instance is \"this123is123a123string123object\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiOiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xLHR3by0yLGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSx0d28tMixmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\":\"), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgici00MiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xIHR3by0yIGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"r-42\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiLTQiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUtMSB0d28tMiBmb3VyIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCItNCIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"-4\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgib24iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJlLTEgdHdvLTIgZm91ci00IikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXRbMV0gPT09ICJlLTEgdHdvLTIgZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"on\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIFN0cmluZygiICIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiAiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAiICIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19zdHJpbmcgPSAiIjsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9ICIiOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIgIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdChuZXcgUmVnRXhwKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG5ldyBSZWdFeHApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChuZXcgUmVnRXhwKTsgX19zcGxpdC5sZW5ndGggPT09IF9fc3RyaW5nLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fc3RyaW5nLmxlbmd0aDsgaSsrICkgewogICAgaWYgKF9fc3RyaW5nLmNoYXJBdChpKSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7IF9fc3RyaW5nLmNoYXJBdCgnK2krJyk9PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLmNoYXJBdChpKSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(new RegExp)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibGwiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImxsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdFswXSA9PT0gImhlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsbCIpOyBfX3NwbGl0WzFdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"ll\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMV0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAibyIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJ4Iik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImgiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gImVsbG8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoIik7IF9fc3BsaXRbMV0gPT09ICJlbGxvIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"h\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibyIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdFswXSA9PT0gImhlbGwiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"o\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG8iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7IF9fc3BsaXRbMF0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hello\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCh1bmRlZmluZWQpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(undefined), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG90aGVyZSIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvdGhlcmUiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoZWxsb3RoZXJlIik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hellothere\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8gLywyKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0WzBdID09PSAib25lIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJ0d28iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/ /,2), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDIpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMik7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiMDAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,2), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDApLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMCk7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEwMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSwxMDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,100), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLHZvaWQgMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSx2b2lkIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzM6IF9fc3BsaXRbaW5kZXhdID09PSBfX2V4cGVjdGVkW2luZGV4XS4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,void 0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1, Math.pow(2,32)-1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCJib28iKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAiYm9vIik7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,\"boo\"), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLC1NYXRoLnBvdygyLDMyKSsxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAtTWF0aC5wb3coMiwzMikrMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,-Math.pow(2,32)+1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsTmFOKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCBOYU4pOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIE5hTik7IF9fZXhwZWN0ZWQgPSBbXTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsgX19leHBlY3RlZCA9IFtdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",NaN), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",0), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAibiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMV0gPT09ICJuIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMTFdICE9PSAiZSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMTFdID09PSAiZSIuIEFjdHVhbDogJytfX3NwbGl0WzExXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zcGxpdFsxMl0gIT09ICJlIikgewogICRFUlJPUignIzY6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdFsxMl0gPT09ICJlIi4gQWN0dWFsOiAnK19fc3BsaXRbMTJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\"one two three\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMSksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAxKTsgX19leHBlY3RlZCA9IFsiaGUiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMSk7IF9fZXhwZWN0ZWQgPSBbImhlIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOyBfX2V4cGVjdGVkID0gWyJoZSJdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",1), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMiksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDIpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMik7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",2), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0Mi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMyksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDMpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMyk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",3), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0My5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsNCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDQpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgNCk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",4), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8sLyksIGluc3RhbmNlIGlzIFN0cmluZygib25lLTEsdHdvLTIsZm91ci00IikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAib25lLTEiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzBdID09PSAib25lLTEiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3by0yIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsgX19zcGxpdFsxXSA9PT0gInR3by0yIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJmb3VyLTQiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzJdID09PSAiZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/,/), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCcnKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoJycpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChcJ1wnKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19zdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoXCdcJyk7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IgKCB2YXIgaSA9IDA7IGkgPCBfX3N0cmluZy5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX3NwbGl0W2ldIT09X19zdHJpbmcuY2hhckF0KGkpKSB7CiAgICAgICRFUlJPUignIzMuJytpKyc6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KFwnXCcpOyBfX3NwbGl0WycraSsnXT09PV9fc3RyaW5nLmNoYXJBdCgnK2krJykuIEFjdHVhbDogJytfX3NwbGl0W2ldKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(''), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHZvaWQgMCksIGluc3RhbmNlIGlzICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IgogKi8KCnZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbX19zdHJpbmddOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodm9pZCAwKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(void 0), instance is \"thisundefinedisundefinedaundefinedstringundefinedobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KG51bGwpLCBpbnN0YW5jZSBpcyAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzbnVsbGlzbnVsbGFudWxsc3RyaW5nbnVsbG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChudWxsKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(null), instance is \"thisnullisnullanullstringnullobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHRydWUpLCBpbnN0YW5jZSBpcyAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdHJ1ZWlzdHJ1ZWF0cnVlc3RyaW5ndHJ1ZW9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodHJ1ZSk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh0cnVlKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(true), instance is \"thistrueistrueatruestringtrueobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIgIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09ICIgIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE9iamVjdCgpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Object()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIGZ1bmN0aW9uKCl7fQogKi8KCnZhciBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcrX19zcGxpdFswXS5zdWJzdHJpbmcoMCw4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is function(){}","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcihOYU4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiTmFOIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMTIzNDU2Nzg5MCkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xMjM0NTY3ODkwKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIi0xMjM0NTY3ODkwIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigtMTIzNDU2Nzg5MCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiLTEyMzQ1Njc4OTAiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1234567890)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMWUyMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19pbnN0YW5jZS50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09IF9faW5zdGFuY2UudG9TdHJpbmcoKS4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1e21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE1hdGgKICovCgp2YXIgX19pbnN0YW5jZSA9IE1hdGg7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIltvYmplY3QgTWF0aF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIltvYmplY3QgTWF0aF0iLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Math","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEFycmF5KDEsMiwzLDQsNSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Array(1,2,3,4,5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEJvb2xlYW4KICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHJlZ2V4cCAvbC8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSAvbC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdC5sZW5ndGggPT09IDMuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICJvIi4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /l/, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBuZXcgUmVnRXhwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gbmV3IFJlZ0V4cDsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsImUiLCJsIiwibCIsIm8iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is new RegExp, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAwKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDEsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAxKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAyKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDMsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAzKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDQsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCA0KTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCIgLCJsIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kICJoaSIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAiaGkiKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xzLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvXHMvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsKCnZhciBfX2V4cGVjdGVkID0gWyJhIiwiYiIsImMiLCJkZSIsImYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\s/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHJlZ2V4cCAvXHMvIGFuZCAzLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJhIGIgYyBkZSBmIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhIGIgYyBkZSBmIik7Cgp2YXIgX19yZSA9IC9ccy87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsMyk7Cgp2YXIgX19leHBlY3RlZCA9IFsiYSIsImIiLCJjIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /\\s/ and 3, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xYLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvWC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImEgYiBjIGRlIGYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19leHBlY3RlZFswXSkgewogICRFUlJPUignIzM6IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\X/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xkKy8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSAvXGQrLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiZGZlIiwiaXUgIiwiID0rIiwiLS0iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\d+/, and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgUmVnRXhwKCdcXGQrJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwKCdcXGQrJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImRmZSIsIml1ICIsIiA9KyIsIi0tIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp RegExp('\\\\d+'), and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1thLXpdLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYWJjIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhYmMiKTsKCnZhciBfX3JlID0gL1thLXpdLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiIiwiIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /[a-z]/, and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBSZWdFeHAoJ1thLXpdJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImFiYyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYWJjIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoJ1thLXpdJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIiIsIiIsIiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is RegExp('[a-z]'), and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgNCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgImhpIiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsICJoaSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0LnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split has not prototype property","description":"Checking String.prototype.split.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","commentary":"String.prototype.split can't be used as constructor","description":"Checking if creating the String.prototype.split object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc3BsaXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.split.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.split.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.substring.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzdWJzdHJpbmcgbWV0aG9kIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the substring method is 2","description":"Checking String.prototype.substring.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgIT09ICJ0IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZmFsc2UsIHRydWUpID09PSAidCIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0IGFuZCBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07Cgp2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07IHZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7IHN1YnN0cmluZyhfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc3Vic3RyaW5nKDAsMSk7fSgpKSA9PT0gIkJCQiIuIEFjdHVhbDogJytzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZywgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0ge3N0cl9fOiJBQkJcdTAwNDFCQUJBQiJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHdpdGgoc3RyX18pewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgeCA9IHN1YnN0cmluZyhfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzdWJzdHJpbmcoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvdyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24gYW5kIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zdGFydCI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzdWJzdHJpbmcoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3Vic3RyaW5nKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09Imluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaiwgX19vYmoyKTsKICAgICRGQUlMKCcjMTogdmFyIHggPSAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaixfX29iajIpIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgb25lIGFyZ3VtZW50LCB0aGF0IGlzIGZ1bmN0aW9uKCl7fSgpLiBJbnN0YW5jZSBpcyBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgicmVwb3J0Ii5zdWJzdHJpbmcoZnVuY3Rpb24oKXt9KCkpICE9PSAicmVwb3J0IikgewogICRFUlJPUignIzE6ICJyZXBvcnQiLnN1YnN0cmluZyhmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3Vic3RyaW5nIHdpdGhvdXQgYXJndW1lbnRzLiBJbnN0YW5jZSBpcyBOdW1iZXIgd2l0aCBwcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcKICovCgp2YXIgX19udW0gPSAxMS4wMDEwMDI7CgpOdW1iZXIucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnN1YnN0cmluZygpIT09IjExLjAwMTAwMiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19udW0gPSAxMS4wMDEwMDI7IE51bWJlci5wcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9fbnVtLnN1YnN0cmluZygpPT09IjExLjAwMTAwMiIuIEFjdHVhbDogJytfX251bS5zdWJzdHJpbmcoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Call substring without arguments. Instance is Number with prototype.substring = String.prototype.substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmdW5jdGlvbiBjYWxsIGFuZCB4LCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbi4geCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICE9PSAiYWxzZSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgPT09ICJhbHNlIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsLCB0aGF0IHJldHVybmVkIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3Vic3RyaW5nKG51bGwsIC0zKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnN1YnN0cmluZyhudWxsLCAtMykgPT09ICIiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zdWJzdHJpbmcobnVsbCwgLTMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBGdW5jdGlvbigpLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gb2JqZWN0LCB0aGF0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24KICovCgpfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zdWJzdHJpbmc9U3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsgRnVuY3Rpb24ucHJvdG90eXBlLnN1YnN0cmluZz1TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgZnVuY3Rpb24gX19mdW5jKCl7fTsgX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSA9PT0gIiIuIEFjdHVhbDogJytfX2Z1bmMuc3Vic3RyaW5nKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and Function(), and instance is function object, that have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB4IGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLCB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnN1YnN0cmluZyh4LDMpICE9PSAidW5kIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSA9PT0gInVuZCIuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBzeW1ib2wgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnN1YnN0cmluZygiZSIsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5zdWJzdHJpbmcoImUiLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkuc3Vic3RyaW5nKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBuZWdhdGl2ZSBudW1iZXIgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC00LHZvaWQgMCkgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLTQsdm9pZCAwKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnN1YnN0cmluZygtNCx2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB1bmRlZmluZWQgYW5kIG9iamVjdCwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcob2JqZWN0KSwgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucwogKi8KCnZhciBfX29iaiA9IHsKICAgIHZhbHVlT2Y6ZnVuY3Rpb24oKXt9LAogICAgdG9TdHJpbmc6dm9pZCAwCn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are undefined and object, and instance is new String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIHN1YnN0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyt0eXBlb2YgX19zdHJpbmcuc3Vic3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Checking type of substring()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgaXMgMCwgZW5kIGlzIDgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzX2lzX2Ffc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgIT09ICJ0aGlzX2lzXyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXNfaXNfYV9zdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygwLDgpID09PSAidGhpc19pc18iLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is 0, end is 8","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBOYU4sIGVuZCBpcyBJbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoJ3RoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Jyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoTmFOLCBJbmZpbml0eSkgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoXCd0aGlzIGlzIGEgc3RyaW5nIG9iamVjdFwnKTsgX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHN1YnN0cmluZyBmcm9tIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnN1YnN0cmluZygxLDApID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZygxLDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Call substring from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSA9PT0gInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Ii4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgSW5maW5pdHkpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBuZWdhdGl2ZSBmbG9hdCBudW1iZXIsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zdWJzdHJpbmcoLTAuMDEsMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCwgZW5kIGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCsxLCBlbmQgaXMgMAogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyAtSW5maW5pdHksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgLUluZmluaXR5CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICE9PSAiMSwyLDMsNCw1IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEZ1bmN0aW9uIG9iamVjdCBpbnN0YW5jZSBwYXNzZXMKICovCgpfX0ZBQ1RPUlkucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoMCwgMTAwKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlLnN1YnN0cmluZygwLCAxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKDAsIDEwMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSggdmFsdWUgKSB7CiAgICB0aGlzLnZhbHVlID0gdmFsdWU7CiAgICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLnZhbHVlKycnOyB9Cn0KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Checknig if applying String.prototype.substring to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEJvb2xlYW4gaW5zdGFuY2UuIFN0YXJ0IGlzIG5ldyBBcnJheSgpLCBlbmQgaXMgbmV3IEJvb2xlYW4oMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKCk7CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKG5ldyBBcnJheSgpLCBuZXcgQm9vbGVhbigxKSkgIT09ICJmIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbigpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSA9PT0gImYiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Boolean instance. Start is new Array(), end is new Boolean(1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIDksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg5LC1JbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is 9, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIHRydWUsIGVuZCBpcyBmYWxzZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKHRydWUsIGZhbHNlKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is true, end is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzICc0JywgZW5kIGlzICc1JwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoJzQnLCAnNScpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKFwnNFwnLCBcJzVcJykgPT09ICIzIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKCc0JywgJzUnKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is '4', end is '5'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgMAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsMCkgIT09ICJbb2JqZWN0ICIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LDApID09PSAiW29iamVjdCAiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgbGVuZ3RoIG9mIG9iamVjdC50b1N0cmluZwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsIF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICE9PSAiT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LCBfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwgX19pbnN0YW5jZS50b1N0cmluZygpLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is length of object.toString","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBDYWxsIGluc3RhbmNlLnN1YnN0cmluZyguLi4pLnN1YnN0cmluZyguLi4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKC1JbmZpbml0eSw4KSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7ICBfX2luc3RhbmNlLnN1YnN0cmluZygtSW5maW5pdHksOCkgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg4LEluZmluaXR5KS5zdWJzdHJpbmcoLUluZmluaXR5LDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Call instance.substring(...).substring(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTnVtYmVyIGluc3RhbmNlLiBTdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOwogCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgPT09ICJOYU4iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Number instance. Start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTWF0aCBpbnN0YW5jZS4gU3RhcnQgaXMgTWF0aC5QSSwgZW5kIGlzIC0xMAogKi8KCnZhciBfX2luc3RhbmNlID0gTWF0aDsKIApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSAhPT0gIltvYiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgIF9faW5zdGFuY2Uuc3Vic3RyaW5nKE1hdGguUEksIC0xMCkgPT09ICJbb2IiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Math instance. Start is Math.PI, end is -10","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring has not prototype property","description":"Checking String.prototype.substring.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHVuZGVmaW5lZCA9IDEgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.substring can't be used as constructor","description":"Checking if creating the String.prototype.substring object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAodmFyIHAgaW4gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLowerCase method is 0","description":"Checking String.prototype.toLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09ImFiIikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKSA9PT0iYWIiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Override toString function, toString throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IF9fb2JqLnRvTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19yZWcudG9Mb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgpfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7ICBfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgTmFOLnRvTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IEluZmluaXR5LnRvTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PW5ldyBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE2L1MxNS41LjQuMTZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase has not prototype property","description":"Checking String.prototype.toLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93cyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfTsKCgo=","commentary":"String.prototype.toLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZUxvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleLowerCase method is 0","description":"Checking String.prototype.toLocaleLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0iYWIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSJhYiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString function, toString throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19yZWcudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb2NhbGVMb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PV9fZXhwZWN0ZWRbMF0uIEFjdHVhbDogJytfX2xvd2VyQ2FzZVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVMb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVMb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVMb3dlckNhc2UoKTsKCgp2YXIgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19sb3dlckNhc2UubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19sb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2xvd2VyQ2FzZS5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2xvd2VyQ2FzZS5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19sb3dlckNhc2VbaW5kZXhdIT09X19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQuJytpbmRleCsnOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19sb3dlckNhc2UgPSBuZXcgU3RyaW5nKF9fb2JqKS50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgX19sb3dlckNhc2VbJytpbmRleCsnXT09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX2xvd2VyQ2FzZVtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIikpIHsKICAkRVJST1IoJyMzOiAiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gbmV3IFN0cmluZygiaGVsbG8sIHdvcmxkISIpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE3L1MxNS41LjQuMTdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase has not prototype property","description":"Checking String.prototype.toLocaleLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAidmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiB0aHJvdyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KICAkUFJJTlQoZSk7Cn0KCg==","commentary":"String.prototype.toLocaleLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1VwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toUpperCase method is 0","description":"Checking String.prototype.toUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9VcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9VcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBfX29iai50b1VwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCk7CiAgIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Override toString function, toString throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b1VwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9VcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvVXBwZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fb2JqLnRvVXBwZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9VcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBSZWdFeHAgb2JqZWN0CiAqLwoKdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiYWJjIik7Cl9fcmVnLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19yZWcudG9VcHBlckNhc2UoKSAhPT0gIi9BQkMvIikgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOyBfX3JlZy50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fcmVnLnRvVXBwZXJDYXNlKCkgPT09ICIvQUJDLyIuIEFjdHVhbDogJytfX3JlZy50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgTmFOLnRvVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9VcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5OwogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKaWYgKEluZmluaXR5LnRvVXBwZXJDYXNlKCkhPT0gIklORklOSVRZIikgewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBJbmZpbml0eS50b1VwcGVyQ2FzZSgpPT09ICJJTkZJTklUWSIuIEFjdHVhbDogJytJbmZpbml0eS50b1VwcGVyQ2FzZSgpKTsKfQoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3VwcGVyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3VwcGVyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fdXBwZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fdXBwZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3VwcGVyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3VwcGVyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX3VwcGVyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX191cHBlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE4L1MxNS41LjQuMThfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase has not prototype property","description":"Checking String.prototype.toUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVVwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleUpperCase method is 0","description":"Checking String.prototype.toLocaleUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCk7CiAgJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString function, toString throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0iMSIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOwpfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fcmVnLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICIvQUJDLyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCJhYmMiKTsgX19yZWcudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiL0FCQy8iLiBBY3R1YWw6ICcrX19yZWcudG9Mb2NhbGVVcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOwp2YXIgX19leHBlY3RlZCA9ICIiOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbG93ZXJDYXNlLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19sb3dlckNhc2UuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5kZXggPT09IF9fZXhwZWN0ZWQuaW5kZXguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19sb3dlckNhc2UuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5wdXQgPT09IF9fZXhwZWN0ZWQuaW5wdXQuIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19sb3dlckNhc2VbMF0hPT1fX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjNDogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVVcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVVcHBlckNhc2UoKSE9PSAiSU5GSU5JVFkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIklORklOSVRZIi4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE5L1MxNS41LjQuMTlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase has not prototype property","description":"Checking String.prototype.toLocaleUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMTogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgIE9iamVjdCBoYXMgbm8gY29uc3RydWN0IGxlYWQgIGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toLocaleUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBTdHJpbmcucHJvdG90eXBlLnRyaW07DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim must exist as a function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim must exist as a function taking 0 parameters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHVuZGVmaW5lZCk7IA0KICAgIHJldHVybiBmYWxzZTsgDQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim throws TypeError when string is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChudWxsKTsgIA0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim throws TypeError when string is null","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGlmKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHRydWUpID09ICJ0cnVlIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for primitive type boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT0gIjAiKSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for primitive type number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoe30pPT0iW29iamVjdCBPYmplY3RdIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for an Object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IFN0cmluZygpKSA9PSAiIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for an String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoImFiYyIpID09PSAiYWJjIikgIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for a primitive string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZyAodmFsdWUgaXMgJyAgICBhYmMnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gU3RyaW5nKCIgICAgYWJjIik7DQogICAgICAgIHJldHVybiAiYWJjIiA9PT0gc3RyT2JqLnRyaW0oKSAmJiBzdHJPYmoudG9TdHJpbmcoKSA9PT0gIiAgICBhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim works for a primitive string (value is ' abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgU3RyaW5nIG9iamVjdCB3aGljaCB2YWx1ZSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZyh1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gc3RyT2JqLnRyaW0oKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for a String object which value is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZhbHNlKSA9PT0gImZhbHNlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICtJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoK0luZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoLUluZmluaXR5KSA9PT0gIi1JbmZpbml0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwKSA9PT0gIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIxIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCkgPT09ICIxZSsyMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIyIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlKzIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxZSsyMCkgPT09ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjEpID09PSAiMWUrMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjIpID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwLjAwMDAwMSkgPT09ICIwLjAwMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMC4wMDAwMDAxKSA9PT0gIjFlLTciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument argument 'this' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodHJ1ZSkgPT09ICJ0cnVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is true","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDAuMDAwMDAwMDEpID09PSAiMWUtOCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTcpID09PSAiMWUtNyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTYpID09PSAiMC4wMDAwMDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTUpID09PSAiMC4wMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGludGVnZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMpID09PSAiMTIzIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgZGVjaW1hbCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuNDU2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuNDU2KSA9PT0gIjEyMy40NTYiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKS4xMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpID09PSAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros).123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy4xMjM0NTY3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuMTIzNDU2NykgPT09ICIxMjMuMTIzNDU2NyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIiIpID09PSAiIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is an empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdBQg0KICogXGNkJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIkFCXG5cXGNkIikgPT09ICJBQlxuXFxjZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'AB\n\\cd')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKE5hTikgPT09ICJOYU4iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICd1bmRlZmluZWQnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoInVuZGVmaW5lZCIpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'undefined')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdudWxsJykgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCJudWxsIikgPT09ICJudWxsIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'null')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxMjMjJCVhYmMnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiMTIzIyQlYWJjIikgPT09ICIxMjMjJCVhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '123#$%abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIjEiKSA9PT0gIjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '1')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIGFycmF5IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKFsxXSkgPT09ICcxJyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an array that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgU3RyaW5nIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5nKCJhYmMiKSkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a String Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQm9vbGVhbiBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gImZhbHNlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgTnVtYmVyIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgTnVtYmVyKDEyMykpID09PSAiMTIzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a Number Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG9iaikgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiW29iamVjdCBPYmplY3RdIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own valueOf method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT09ICIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiYWJjIikgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is an object that has an own toString method that returns an object and valueOf method that returns a primitive value","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImNlZiI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKSA9PT0gImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString and valueOf method.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gVHlwZUVycm9yIGV4Y2VwdGlvbiB3YXMgdGhyb3duICB3aGVuICd0aGlzJyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIHdvdWxkbid0IHJldHVybiBwcmltaXRpdmUgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - TypeError exception was thrown when 'this' is an object that both toString and valueOf wouldn't return primitive value.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB2YWx1ZU9mIGFuZCBpbmhlcml0ZWQgdG9TdHJpbmcgbWV0aG9kcyB3aXRoIGhpbnQgc3RyaW5nLCB2ZXJpZnkgaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBmaXJzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJlZmciOw0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGNoaWxkKSA9PT0gImFiYyIpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object with an own valueOf and inherited toString methods with hint string, verify inherited toString method will be called first","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgZWFzdCBBc2lhbiBjaGFyYWN0ZXJzICh2YWx1ZSBpcyAnU0TlkpXlmZwnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiU0TlkpXlmZwiOw0KICAgICAgICByZXR1cm4gc3RyLnRyaW0oKSA9PT0gc3RyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a string that contains east Asian characters (value is 'SD\u5495\u565c')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgd2hpdGUgc3BhY2UsIGNoYXJhY3RlciwgbnVtYmVyLCBvYmplY3QgYW5kIG51bGwgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArICIgICAiICsgMTIzICsgIiAgICIgKyB7fSArICIgICAgIiArICJcdTAwMDAiOw0KICAgICAgICB2YXIgc3RyMSA9ICIgICAgIiArIHN0ciArICIgICAgIjsNCiAgICAgICAgcmV0dXJuIHN0cjEudHJpbSgpID09PSBzdHI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a string that contains white space, character, number, object and null characters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRnVuY3Rpb24gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9Ow0KICAgICAgICByZXR1cm4gdHlwZW9mKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZ1bk9iaikpID09PSAic3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Function Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgb2JqZWN0IE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHt9KSA9PT0gIltvYmplY3QgT2JqZWN0XSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a object Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgUmVnRXhwIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoL3Rlc3QvKTsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHJlZ09iaikgPT09ICIvdGVzdC8iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a RegExp Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCswKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRXJyb3IgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChlcnJPYmopID09PSAiRXJyb3I6IHRlc3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a Error Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQXJndW1lbnRzIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSAoMSwgMiwgdHJ1ZSk7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChhcmdPYmopID09PSAiW29iamVjdCBBcmd1bWVudHNdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Arguments Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKC0wKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgzMCkgPT09ICIzMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgtMjApID09PSAiLTIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKEluZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgcmV0dXJuIChsaW5lVGVybWluYXRvcnNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHdpdGggbnVsbCBjaGFyYWN0ZXIgKCdcdTAwMDAnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXHUwMDAwIi50cmltKCkgPT09ICJcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\u0000')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwYWJjIi50cmltKCkgPT09ICJcMFx1MDAwMGFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgZW5kcyB3aXRoIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICJhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiYWJjXDBcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXIgYW5kIGVuZHMgd2l0aCBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXDBcdTAwMDBhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiXDBcdTAwMDBhYmNcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character and ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgaGFzIG51bGwgY2hhcmFjdGVyIGluIHRoZSBtaWRkbGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhXDBcdTAwMDBiYyIudHJpbSgpID09PSAiYVwwXHUwMDAwYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that has null character in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHJldHVybiAod2hpdGVTcGFjZXNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgdW5pb24gb2YgV2hpdGVTcGFjZSBhbmQgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all union of WhiteSpace and LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgZW5kIHdpdGggdW5pb24gb2YgYWxsIExpbmVUZXJtaW5hdG9yIGFuZCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArIHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyIDsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlIGFuZCBlbmQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0cjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace and end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCB1bmlvbiBvZiBMaW5lVGVybWluYXRvciBhbmQgV2hpdGVTcGFjZSBpbiB0aGUgbWlkZGxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9ICJhYiIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0ciArICJjZCI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string that union of LineTerminator and WhiteSpace in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwIi50cmltKCkgPT09ICJcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with all null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBudWxsIGNoYXJhY3RlciAoJ1wwJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJcMCIudHJpbSgpID09PSAiXDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\0')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyBtdWx0aWxpbmUgc3RyaW5nIHdpdGggd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIHMgPSAiXHUwMDA5YSBiXA0KYyBcdTAwMDkiDQoNCiAgICAgICAgICAgIA0KICBpZiAocy50cmltKCkgPT09ICJhIGJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles multiline string with whitepace and lineterminators","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRmFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRmFiYyIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFFabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiY1x1RkVGRiIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOWFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOWFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoIFx1MDAwOWFiYyBcdTAwMDkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCIgXHUwMDA5YWJjIFx1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators ( \\u0009abc \\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQmFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQmFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ2FiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ2FiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMGFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMGFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOVx1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOVx1MDAwOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQlx1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQlx1MDAwQiIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000B\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ1x1MDAwQyIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000C\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDA5YWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDA5YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMFx1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMFx1MDAyMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMFx1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMFx1MDBBMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRlx1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRlx1RkVGRiIudHJpbSgpID09PSAiIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFF\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDA5YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDA5YyIudHJpbSgpID09PSAiYWJcdTAwMDljIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0009c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBCYyIudHJpbSgpID09PSAiYWJcdTAwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBDYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBDYyIudHJpbSgpID09PSAiYWJcdTAwMENjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Cc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDIwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDIwYyIudHJpbSgpID09PSAiYWJcdTAwMjBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0020c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDg1YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiXHUwMDg1YyIudHJpbSgpID09PSAiYWJcdTAwODVjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0085c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBCYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBCYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMEEwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMEEwYyIudHJpbSgpID09PSAiYWJcdTAwQTBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u00A0c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUyMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUyMDBCYyIudHJpbSgpID09PSAiYWJcdTIwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u200Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHVGRUZGYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHVGRUZGYyIudHJpbSgpID09PSAiYWJcdUZFRkZjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\uFEFFc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBDYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBDYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQVx1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQVx1MDAwQSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000A\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRFx1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRFx1MDAwRCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000D\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOFx1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOFx1MjAyOCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOVx1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOVx1MjAyOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYyBhcyBhIG11bHRpbGluZSBzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSAiXHUyMDI5XA0KICAgICAgICAgICBhYmMiOw0KICBpZiAocy50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc as a multiline string)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDIwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDIwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKHN0cmluZyB3aXRoIGp1c3QgYmxhbmtzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiICAgICIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (string with just blanks)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMEEwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMEEwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCgpIGNhbiBhY2NlcHQgbWFueSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpeyByZXR1cm4gIndpemFyZCI7fTt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogIGlmIChfX2luc3RhbmNlLmNoYXJBdChldmFsKCIxIiksdHJ1ZSxudWxsLHt9KSE9PSAiaSIpIHsKICAgICRFUlJPUignIzE6IF9faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09ICJpIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.charAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the charAt method is 1","description":"Checking String.prototype.charAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpID09PSAiNDIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQXQoKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGNoYXJBdChfX29iaikgIT09ICJlIikgewogICAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IHZhciBfX3N0ciA9ICJsZWdvIjsgY2hhckF0KF9fb2JqKSA9PT0gImUiLiBBY3R1YWw6IGNoYXJBdChfX29iaikgPT09JytjaGFyQXQoX19vYmopICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdChmYWxzZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSsxKSAhPT0gImZhbCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7ICBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7IF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpID09PSAiZmFsIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIoKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmICgibGVnbyIuY2hhckF0KCkgIT09ICJsIikgewogICRFUlJPUignIzE6ICJsZWdvIi5jaGFyQXQoKSA9PT0gImwiLiBBY3R1YWw6ICJsZWdvIi5jaGFyQXQoKSA9PT0nKygibGVnbyIuY2hhckF0KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKG51bGwpIGV2YWx1YXRlcyB0byAwIGNoYXJBdCgpIGV2YWx1YXRlcyB0byBjaGFyQXQoMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgIT09ICJsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgPT09ICJsIi4gQWN0dWFsOiBmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckF0KG51bGwpID09PScrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJBdChudWxsKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAobmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSAhPT0gImwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQXQoeCkgPT09ICJsIi4gQWN0dWFsOiBuZXcgU3RyaW5nKCJsZWdvIikuY2hhckF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgIT09ICJsIikgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJBdCh1bmRlZmluZWQpID09PSAibCIuIEFjdHVhbDogU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQXQodW5kZWZpbmVkKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHZvaWQgMCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSAhPT0gIjQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSA9PT0gIjQiLiBBY3R1YWw6IFN0cmluZyg0MikuY2hhckF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJBdCh2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmIChuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpICE9PSAiNCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNCIuIEFjdHVhbDogbmV3IFN0cmluZyg0MikuY2hhckF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJBdChmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbGVzcyB0aGFuIDAgdGhlIGVtcHR5IHN0cmluZyByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdChwb3MpIHdpdGggbmVnYXRpdmUgcG9zCiAqLwoKZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgtMSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQXQoLTEpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgtMSkgPT09JytfX2luc3RhbmNlLmNoYXJBdCgtMSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) less than 0 the empty string returns","description":"Call charAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbm90IGxlc3MgdGhhbiBUb1N0cmluZyh0aGlzIHZhbHVlKSB0aGUgZW1wdHkgc3RyaW5nIHJldHVybnMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTMuanMKICogQGRlc2NyaXB0aW9uIHBvcyBpcyBiaWdnZXIgb2Ygc3RyaW5nIGxlbmd0aAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgzKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IF9faW5zdGFuY2UuY2hhckF0KDMpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgzKSA9PT0nK19faW5zdGFuY2UuY2hhckF0KDMpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) not less than ToString(this value) the empty string returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKHZhciBpPTA7IGk8NjsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJytpKyc6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDNBQkMiLnN1YnN0cmluZygnK2krJywgJysoaSsxKSsnKS4gQWN0dWFsOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PScrKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSkgKTsgCiAgICB9Cn0KICAgIAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgc21hbGxlciBvZiB6ZXJvCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IodmFyIGk9LTI7IGk8MDsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJysoaSsyKSsnOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PSAiXFx1MDA0MVxcdTAwNDJcXHUwMDQzQUJDIi5zdWJzdHJpbmcoJytpKycsICcrKGkrMSkrJykuIEFjdHVhbDogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0nKygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkpICk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is smaller of zero","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgYmlnZ2VyIHN0cmluZyBsZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaT02OyBpPDg7IGkrKykgewogIGlmICgiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkgIT09ICJcdTAwNDFcdTAwNDJcdTAwNDNBQkMiLnN1YnN0cmluZyhpLCBpKzEpKSB7CiAgICAgICRFUlJPUignIycrKGktNSkrJzogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0gIlxcdTAwNDFcXHUwMDQyXFx1MDA0M0FCQyIuc3Vic3RyaW5nKCcraSsnLCAnKyhpKzEpKycpLiBBY3R1YWw6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09JysoIkFCQ1x1MDA0MVx1MDA0Mlx1MDA0MyIuY2hhckF0KGkpKSk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is bigger string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgZmlyc3QgY2FsbHMgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB0b1N0cmluZyBmdW5jdGlvbiwgaXQgdHJvdyBleGNlcHRpb24sIGFuZCBjYWxsIGNoYXJBdCgpCiAqLwoKdmFyIF9fb2JqPXsKICAgIHZhbHVlT2Y6MSwKICAgIHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2ludG9zdHJpbmcnfSwKICAgIGNoYXJBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJBdAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai5jaGFyQXQoKTsKICAkRkFJTCgnIzE6IF9fb2JqPXt2YWx1ZU9mOjEsdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcJ2ludG9zdHJpbmdcJ30sY2hhckF0OlN0cmluZy5wcm90b3R5cGUuY2hhckF0fTsgInZhciB4ID0gX19vYmouY2hhckF0KCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gJ2ludG9zdHJpbmcnKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gXCdpbnRvc3RyaW5nXCcuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSApOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC40L1MxNS41LjQuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt has not prototype property","description":"Checking String.prototype.charAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB1bmRlZmluZWQgPSAxIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.charAt can't be used as constructor","description":"Checking if creating the String.prototype.charAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogY291bnQgPT09Jytjb3VudCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQoKSBjYW4gYWNjZXB0IG1hbnkgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKXsgcmV0dXJuICJ3aXphcmQiO307fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgCiAgICBpZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pIT09IDB4NjkpIHsKICAgICAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09IDB4NjkuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09JytfX2luc3RhbmNlLmNoYXJDb2RlQXQoZXZhbCgiMSIpLHRydWUsbnVsbCx7fSkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.charCodeAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charCodeAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQ29kZUF0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the charCodeAt method is 1","description":"Checking String.prototype.charCodeAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsKCl9faW5zdGFuY2UuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpICE9PSA1Mil8fChfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSkgIT09IDUwKSkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyAgX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0gNTIgYW5kIF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKSA9PT0gNTAuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0nK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkrJyBhbmQgX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpID09PScrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY2hhckNvZGVBdCgpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX0KdmFyIF9fc3RyID0gImxlZ28iOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICBpZiAoY2hhckNvZGVBdChfX29iaikgIT09IDB4NjUpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNoYXJDb2RlQXQoX19vYmopID09PSAweDY1LiBBY3R1YWw6IGNoYXJDb2RlQXQoX19vYmopID09PScrY2hhckNvZGVBdChfX29iaikgKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGVxdWF0aW9uIHdpdGggZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpIT09MHg2NikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpPT09MHg2Ni4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkpOyAgIAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpIT09MHg2MSkgewogICRFUlJPUignIzI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSk9PT0weDYxLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMzogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7IF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpID09PSAweDZDLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUrMSkgKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIE51bWJlcigpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAoInNtYXJ0Ii5jaGFyQ29kZUF0KCkgIT09IDB4NzMpIHsKICAkRVJST1IoJyMxOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0gMHg3My4gQWN0dWFsOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0nKygic21hcnQiLmNoYXJDb2RlQXQoKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgZXZhbHVhdGVzIHRvIDAgY2hhckNvZGVBdCgpIGV2YWx1YXRlcyB0byBjaGFyQ29kZUF0KDApCmlmIChmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckNvZGVBdChudWxsKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQ29kZUF0KG51bGwpID09PSAweDZDLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJDb2RlQXQobnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PSAweDZDLiBBY3R1YWw6IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQoeCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSA9PT0gMHg2Qy4gQWN0dWFsOiBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodm9pZCAwKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZyg0MikuY2hhckNvZGVBdCh2b2lkIDApICE9PSAweDM0KSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09IDB4MzQuIEFjdHVhbDogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJDb2RlQXQodm9pZCAwKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvSW50ZWdlcih1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAobmV3IFN0cmluZyg0MikuY2hhckNvZGVBdChmdW5jdGlvbigpe30oKSkgIT09IDB4MzQpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0gMHgzNC4gQWN0dWFsOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJDb2RlQXQoZnVuY3Rpb24oKXt9KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIGxlc3MgdGhhbiAwIHRoZSBOYU4gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KHBvcykgd2l0aCBuZWdhdGl2ZSBwb3MKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgtMSkpKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsgX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgaXNOYU4oX19pbnN0YW5jZS5jaGFyQ29kZUF0KC0xKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoLTEpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) less than 0 the NaN returns","description":"Call charCodeAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIG5vdCBsZXNzIHRoYW4gVG9TdHJpbmcodGhpcyB2YWx1ZSkgdGhlIE5hTiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgYmlnZ2VyIG9mIHN0cmluZyBsZW5ndGgKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IGlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoMykpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) not less than ToString(this value) the NaN returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGZpcnN0IGNhbGxzIFRvU3RyaW5nLCBnaXZpbmcgaXQgdGhlIHRoaXMgdmFsdWUgYXMgaXRzIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdG9TdHJpbmcgZnVuY3Rpb24sIGl0IHRyb3cgZXhjZXB0aW9uLCBhbmQgY2FsbCBjaGFyQ29kZUF0KCkKICovCgp2YXIgX19vYmo9ewogICAgdmFsdWVPZjoxLAogICAgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAnaW50b3N0cmluZyd9LAogICAgY2hhckNvZGVBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmouY2hhckNvZGVBdCgpOwogICRGQUlMKCcjMTogICJ2YXIgeCA9IF9fb2JqLmNoYXJDb2RlQXQoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAnaW50b3N0cmluZycpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSBcJ2ludG9zdHJpbmdcJy4gQWN0dWFsOiBleGNlcHRpb24gPT09JytlICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charCodeAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNS9TMTUuNS40LjVfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt has not prototype property","description":"Checking String.prototype.charCodeAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","commentary":"String.prototype.charCodeAt can't be used as constructor","description":"Checking if creating the String.prototype.charCodeAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiBjb3VudCA9PT0nK2NvdW50ICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjb25jYXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the concat method is 1","description":"Checking String.prototype.concat.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KGZhbHNlLHRydWUpICE9PSAiNDJmYWxzZXRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOyBfX2luc3RhbmNlLmNvbmNhdCA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OyAgX19pbnN0YW5jZS5jb25jYXQoZmFsc2UsdHJ1ZSkgPT09ICI0MmZhbHNldHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdChmYWxzZSx0cnVlKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNvbmNhdChbLFsuLi5dXSkgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDEiO319CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAoY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgIT09ICJsZWdvQXRydWU0MnVuZGVmaW5lZCIpIHsKICAgICAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxIjt9fTsgdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNvbmNhdChfX29iaiwgX19vYmoyLCBfX29iajMsIHgpID09PSAibGVnb0F0cnVlNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgiXHUwMDQxIix0cnVlLHRydWUrMSkgIT09ICJmYWxzZUF0cnVlMiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgiXFx1MDA0MSIsdHJ1ZSx0cnVlKzEpID09PSAiZmFsc2VBdHJ1ZTIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jb25jYXQoIlx1MDA0MSIsdHJ1ZSx0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Arguments are equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgY29uY2F0KCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgiIikKaWYgKCJsZWdvIi5jb25jYXQoKSAhPT0gImxlZ28iKSB7CiAgJEVSUk9SKCcjMTogImxlZ28iLmNvbmNhdCgpID09PSAibGVnbyIuIEFjdHVhbDogJysoImxlZ28iLmNvbmNhdCgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgY29uY2F0KG51bGwpIGV2YWx1YXRlcyB0byBjb25jYXQoIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNvbmNhdChudWxsKSAhPT0gImxlZ29udWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jb25jYXQobnVsbCkgPT09ICJsZWdvbnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY29uY2F0KG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKCJsZWdvIikuY29uY2F0KHgpICE9PSAibGVnb3VuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSA9PT0gImxlZ291bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoImxlZ28iKS5jb25jYXQodW5kZWZpbmVkKSAhPT0gImxlZ291bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJsZWdvIikuY29uY2F0KHVuZGVmaW5lZCkgPT09ICJsZWdvdW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZygibGVnbyIpLmNvbmNhdCh1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHZvaWQgMCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh2b2lkIDApIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoNDIpLmNvbmNhdCh2b2lkIDApICE9PSAiNDJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jb25jYXQodm9pZCAwKSA9PT0gIjQydW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyg0MikuY29uY2F0KHZvaWQgMCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgY29uY2F0KHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoNDIpLmNvbmNhdChmdW5jdGlvbigpe30oKSkgIT09ICI0MnVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jb25jYXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyg0MikuY29uY2F0KGZ1bmN0aW9uKCl7fSgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuIGFjY2VwdCBhdCBsZWFzdCAxMjgKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoKTsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RgopICE9PSAiMDAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1IikgewogICRFUlJPUignIzE6IENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBhbnkgZXJyb3JzJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.concat([,[...]]) can accept at least 128","description":"Call concat([,[...]]) function with 128 arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuJ3QgY2hhbmdlIHRoZSBpbnN0YW5jZSB0byBiZSBhcHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBpbnN0YW5jZSB0aGF0IGlzIGFwcGxpZWQgZmFpbHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOwoKX19pbnN0YW5jZS5jb25jYXQoInR3byIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZSAhPSAib25lIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJvbmUiKTsgX19pbnN0YW5jZS5jb25jYXQoInR3byIpOyAgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOyBfX2luc3RhbmNlLmNvbmNhdCgidHdvIik7IF9faW5zdGFuY2UgPT0gIm9uZSIuIEFjdHVhbDogJytfX2luc3RhbmNlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]]) can't change the instance to be applied","description":"Checking if varying the instance that is applied fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAib25lIn19OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KCJ0d28iLHgpICE9PSAib25ldHdvdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJvbmUifX07IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSA9PT0gIm9uZXR3b3VuZGVmaW5lZCIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCgo=","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24gb250byBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyaW5nIjt9fTsKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZmlyc3RhcmciO319OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KTsKICAkRkFJTCgnIzE6ICJTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAiaW50b3N0cmluZyIpIHsKICAgICRFUlJPUignIzE6IGUgPT09ICJpbnRvc3RyaW5nIi4gQWN0dWFsOiAnK2UgKTsgCiAgfQp9IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBub3RleGlzdDsKCgoKCg==","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function onto function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat has not prototype property","description":"Checking String.prototype.concat.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","commentary":"String.prototype.concat can't be used as constructor","description":"Checking if creating the String.prototype.concat object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQgPSAwOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudCA9IDA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.concat.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBpbmRleE9mIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the indexOf method is 1","description":"Checking String.prototype.indexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsgIF9faW5zdGFuY2UuaW5kZXhPZih0cnVlLCBmYWxzZSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChpbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSAzKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgaW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gMy4gQWN0dWFsOiAnK2luZGV4T2YoX19vYmosIF9fb2JqMikgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBEYXRlKDApIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IERhdGUoMCk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoJzMxJykgOiBfX2luc3RhbmNlLmluZGV4T2YoJzAxJykpICE9PSA4KSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBEYXRlKDApOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICAoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoXCczMVwnKSA6IF9faW5zdGFuY2UuaW5kZXhPZihcJzAxXCcpKSA9PT0gOC4gQWN0dWFsOiAnKyhfX2luc3RhbmNlLmdldFRpbWV6b25lT2Zmc2V0KCk+MCA/IF9faW5zdGFuY2UuaW5kZXhPZignMzEnKSA6IF9faW5zdGFuY2UuaW5kZXhPZignMDEnKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Instance is Date(0) object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBzdHJpbmcsIGFuZCBpbnN0YW5jZSBpcyBhcnJheSBvZiBzdHJpbmdzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoJ25ldycsJ3pvbycsJ3JldnVlJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoJ25ldycpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5pbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5pbmRleE9mKCduZXcnKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuaW5kZXhPZignem9vJykgIT09IDEpIHsKICAkRVJST1IoJyMyOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmluZGV4T2YoXCd6b29cJykgPT09IDEuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YoJ3pvbycpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBlcXVhdGlvbiwgZnVuY3Rpb24gYW5kIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09Ilx1MDA0MSIsIGZ1bmN0aW9uKCl7cmV0dXJuIDA7fSgpLG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICBfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09IlxcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2UuaW5kZXhPZigiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50cyBvZiBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgaW5kZXhPZigpIGV2YWx1YXRlcyB0byBpbmRleE9mKCIiLDApCmlmICgiIi5pbmRleE9mKCkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogIiIuaW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5pbmRleE9mKCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgaW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpID09PSAxLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICIiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBTdHJpbmcoInVuZGVmaW5lZCIpLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgaW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBpbmRleE9mKCJ1bmRlZmluZWQiKQppZiAoU3RyaW5nKF9fb2JqKS5pbmRleE9mKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLmluZGV4T2Yodm9pZCAwKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZyhfX29iaikuaW5kZXhPZih2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuaW5kZXhPZihmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIikpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\") and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDApIGFuZCBjaGVjayByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSE9PS0xKSB7CiAgJEVSUk9SKCcjMTogImFiY2QiLmluZGV4T2YoImFiY2RhYiIsMCk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",0) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDk5KSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIsOTkpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",99) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikhPT0tMSkgewogICRFUlJPUignIzE6ICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKT09PTIuIEFjdHVhbDogJysoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXCItOTlcIiIpKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixldmFsKCJcIi05OVwiIikpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXFwiLTk5XFwiIikpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLGV2YWwoIlwiLTk5XCIiKSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",eval(\"\\\"-99\\\"\")) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZnVuY3Rpb24oKXtyZXR1cm4gLUluZmluaXR5O30oKSkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLCBmdW5jdGlvbigpe3JldHVybiAtSW5maW5pdHk7fSgpKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",function(){return -Infinity;}()) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludGVnZXIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB3aXRoKHN0cl9fKXsKICAgICAgICB0cnkgewogICAgICAgICAgdmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHNlY29uZCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpIT09MykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fTsgIkFCQlxcdTAwNDFCQUJBQiIuaW5kZXhPZihfX29iaiwgX19vYmoyKT09PTMuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGFuZCB0aGV5IHRocm93IGV4Y2VwdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5pbmRleE9mPVN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGZpcnN0IGFuZCBzZWNvbmQgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19GQUNUT1JZKCB2YWx1ZSApIHsKICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICAgIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldyBOdW1iZXI7IH07CiAgICB0aGlzLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZSsiIn07Cn0KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gYmVnaW4gb2Ygc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbiBpbiB0aGUgc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgayApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoaSksIGsgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbisxIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdlOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpLCBrKzEgKSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoJytpKycpLCAnKyhrKzEpKycgKT09PS0xLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBiZWdpbiBvZiBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICh2YXIgayA9IDAsIGkgPSAweDAwMjA7IGkgPCAweDAwN2Q7IGkrKywgaysrICkgewogICAgaWYgKFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCAwICkhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsyKSksIDAgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search substring from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdkOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLGsgKSAhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCBrICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uKzEgaW4gdGhlIHN0cmluZwogKi8KCnZhciBURVNUX1NUUklORyA9IG5ldyBTdHJpbmcoICIgIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+IiApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IgKHZhciBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZDsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKCcraSsnKSsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzEpKycpICsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzIpKycpKSwgJysoaysxKSsnICk9PT0gLTEuIEFjdHVhbDogJytURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf has not prototype property","description":"Checking String.prototype.indexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiB2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.indexOf can't be used as constructor","description":"Checking if creating the String.prototype.indexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIGNvdW50PTA7Cgpmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.indexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcmF0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGg7CgpTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.lastIndexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsYXN0SW5kZXhPZiBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the lastIndexOf method is 1","description":"Checking String.prototype.lastIndexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKHRydWUsIGZhbHNlKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsgIF9faW5zdGFuY2UubGFzdEluZGV4T2YodHJ1ZSwgZmFsc2UpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZih0cnVlLCBmYWxzZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBsYXN0SW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudHMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBOYU47fX0KdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSA3KSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIE5hTjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjtsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gNy4gQWN0dWFsOiAnK2xhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgc3RyaW5nLCBhbmQgaW5zdGFuY2UgaXMgYXJyYXkgb2Ygc3RyaW5ncwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KCduZXcnLCd6b28nLCdyZXZ1ZScpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZihcJ3pvb1wnKSA9PT0gMS4gQWN0dWFsOiAnK19faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGJvb2xlYW4gZXF1YXRpb24sIGZ1bmN0aW9uIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7ICBfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBsYXN0SW5kZXhPZigpIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigiIiwwKQppZiAoIiIubGFzdEluZGV4T2YoKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiAiIi5sYXN0SW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5sYXN0SW5kZXhPZigpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBsYXN0SW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICE9PSAxMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpID09PSAxMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YoeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoInVuZGVmaW5lZCIsMCkKaWYgKFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh2b2lkIDApIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBsYXN0SW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHsKICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBpbmRleE9mKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGluZGV4T2YoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZihmdW5jdGlvbigpe30oKSkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBzZWNvbmQgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludGVnZXIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpIT09NykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7fX07ICJBQkJcXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpPT09Ny4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBhbmQgdGhleSB0aHJvdyBleGNlcHRpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07CnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAwMS4xMDAwMSk7Ck51bWJlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9U3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBmaXJzdCBhbmQgc2Vjb25kIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fTsKCnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX07CgpfX0ZBQ1RPUlkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAkRkFJTCgnIzE6IHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm90b3R5cGUgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf has not prototype property","description":"Checking String.prototype.lastIndexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.lastIndexOf can't be used as constructor","description":"Checking if creating the String.prototype.lastIndexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZil7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.localeCompare.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsb2NhbGVDb21wYXJlIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the localeCompare method is 1","description":"Checking String.prototype.localeCompare.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoaXMgc3RyaW5nIGlzIHN5bWJvbCBhbmQgYXJndW1lbnRzIGFyZSBzeW1ib2xzCiAqLwoKdmFyIHN0cjEgPSBuZXcgU3RyaW5nKCJoIik7IAovL0NIRUNLIzEKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiXHg2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzE6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHg2OCIpOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0wLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoKLy9DSEVDSyMyCnZhciBzdHIyID0gbmV3IFN0cmluZyAoIlx1MDA2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzI6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHUwMDY4Iik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9CgovL0NIRUNLIzMKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiaCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzM6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJoIik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9Cgo=","commentary":"String.prototype.localeCompare(that)","description":"This string is symbol and arguments are symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3RyaW5nXzEubG9jYWxlQ29tcGFyZShzdHJpbmdfMikgaXMgZXF1YWwgLXN0cmluZ18yLmxvY2FsZUNvbXBhcmUoc3RyaW5nXzEpCiAqLwoKLy9DSEVDSyMxCnZhciBzdHIxID0gImgiOwp2YXIgc3RyMiA9ICJIIjsKaWYgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PS1zdHIyLmxvY2FsZUNvbXBhcmUoc3RyMSkpewogICRFUlJPUignIzEuMTogdmFyIHN0cjEgPSAiaCI7IHZhciBzdHIyID0gIkgiOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0tc3RyMi5sb2NhbGVDb21wYXJlKHN0cjEpLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoK","commentary":"String.prototype.localeCompare(that)","description":"Call string_1.localeCompare(string_2) is equal -string_2.localeCompare(string_1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.localeCompare has not prototype property","description":"Checking String.prototype.localeCompare.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmU7IF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Cgo=","commentary":"String.prototype.localeCompare can't be used as constructor","description":"Checking if creating the String.prototype.localeCompare object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgY29udGFpbnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBTdHJpbmcgdmFsdWUgcmVwcmVzZW50ZWQgYnkgdGhpcyBTdHJpbmcgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5ncyBhbmQgY2hlY2sgaXRzIGxlbmd0aAogKi8KCnZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDYsIHdoZXJlIF9fc3RyX19pbnN0YW5jZSBpcyBuZXcgU3RyaW5nKCJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZzsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gMCwgd2hlcmUgX19zdHJfX2luc3RhbmNlIGlzIG5ldyBTdHJpbmcuIEFjdHVhbDogX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0nK19fc3RyX19pbnN0YW5jZS5sZW5ndGggKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"length property contains the number of characters in the String value represented by this String object","description":"Create strings and check its length","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHByb3AgaW4gX19zdHJfX2luc3RhbmNlKXsKICAgIGlmIChwcm9wID09PSAibGVuZ3RoIikgewogICAgICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0nKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontEnum}","description":"Checking if enumerating the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjUuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIF9fc3RyX19pbnN0YW5jZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBkZWxldGUgX19zdHJfX2luc3RhbmNlICE9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IGRlbGV0ZSBfX3N0cl9faW5zdGFuY2U7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontDelete}","description":"Checking if deleting the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX2luc3RhbmNlLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gOChhZnRlciByZWRlZmluZSBsZW5ndGggcHJvcGVydHkpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKd2l0aChfX3N0cl9faW5zdGFuY2UpCiAgICBsZW5ndGggPSAwOwogICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgd2l0aChfX3N0cl9faW5zdGFuY2UpIGxlbmd0aCA9IDA7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDgoYWZ0ZXIgcmVkZWZpbmUgbGVuZ3RoIHByb3BlcnR5IHdpdGggdXNpbmcgIndpdGgiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZS5sZW5ndGgrKzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCsrOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4KGFmdGVyIHJlZGVmaW5lIGxlbmd0aCBwcm9wZXJ0eSB3aXRoIHVzaW5nICIrKyIpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"length property has the attributes {ReadOnly}","description":"Checking if varying the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmNlIGEgU3RyaW5nIG9iamVjdCBpcyBjcmVhdGVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHVuY2hhbmdpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB2YWx1ZU9mIGFuZCB0b1N0cmluZyBvZiBTdHJpbmcgb2JqZWN0IGFuZCBjaGVjayBsZW5ndGggcHJvcGVydHkKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLnZhbHVlT2YgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsKX19zdHJfX2luc3RhbmNlLnRvU3RyaW5nID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UgIT0iZWQiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UudmFsdWVPZiA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UudG9TdHJpbmcgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsgX19zdHJfX2luc3RhbmNlID09ImVkIi4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UgPT0nK19fc3RyX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS52YWx1ZU9mID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07IF9fc3RyX19pbnN0YW5jZS50b1N0cmluZyA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Once a String object is created, the length property is unchanging","description":"Change valueOf and toString of String object and check length property","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nIGFuZCB0cnkgY2FsbCBpdAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgX19zdHIoKTsKICAkRkFJTCgnIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[call]] property","description":"Create new String and try call it","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIG5ldyAiU3RyaW5nKCJhfGIiKSgpIiBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcoImF8YiIpKCk7CiAgJEZBSUwoJyMxOiBTdHJpbmcoImF8YiIpKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[call]] property","description":"Checking if creating new \"String(\"a|b\")()\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBzdHJpbmcgb2JqZWN0IGFuZCB0cnkgbmV3IGNyZWF0ZWRfc3RyaW5nCiAqLwoKdmFyIF9fc3RyID0gbmV3IE9iamVjdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgbmV3IF9fc3RyOwogICRGQUlMKCcjMTogX19zdHIgPSBuZXcgT2JqZWN0KCIiKTsgIm5ldyBfX3N0ciIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[construct]] property","description":"Create new string object and try new created_string","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBTdHJpbmciIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyBuZXcgU3RyaW5nOwogICRGQUlMKCcjMTogIm5ldyBuZXcgU3RyaW5nIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[construct]] property","description":"Checking if creating \"new String\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBzdXBwb3J0cyBicmFja2V0IG5vdGF0aW9uIHRvIGxvb2t1cCBvZiBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIHMuZm9vID0gMTsNCiAgDQogIGlmIChzWyJmb28iXSA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object supports bracket notation to lookup of data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIHN1cHBvcnRzIGJyYWNrZXQgbm90YXRpb24gdG8gbG9va3VwIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value supports bracket notation to lookup data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbWlzc2luZyBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIA0KICBpZiAoc1siZm9vIl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGZvciBtaXNzaW5nIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoTmFOKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbTmFOXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (NaN) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoSW5maW5pdHkpIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tJbmZpbml0eV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (Infinity) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy01LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoIDJeMzItMSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBuZXcgU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW01hdGgucG93KDIsIDMyKS0xXT09PXVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index ( 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy02LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW05hTl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index (NaN) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy03LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbSW5maW5pdHldID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index (Infinity) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy04LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4ICggPj0gMl4zMi0xKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tNYXRoLnBvdygyLCAzMiktMV09PT11bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index ( >= 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBsZXNzIHRoYW4gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1stMV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGxlc3MgdGhhbiAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbLTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBncmVhdGVyIHRoYW4gdGhlIHN0cmluZyBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbMTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3RyaW5nIGxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzWzExXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined if the numeric index is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFsdWVzIDEsIG5ldyBTdHJpbmcoIjEiKSwgbmV3IE9iamVjdCgxKSBhbmQgY2FsbGVkIHdpdGhvdXQgYXJndW1lbnQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBCb29sZWFuKCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgQm9vbGVhbigpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4oMSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgQm9vbGVhbigxKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oMSkrJyInKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbihuZXcgU3RyaW5nKCIxIikpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSsnIicpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW4obmV3IE9iamVjdCgxKSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpKyciJyk7Cn0KCgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used values 1, new String(\"1\"), new Object(1) and called without argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBudW1iZXIgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oMCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKDApKyciJyk7Cn0KaWYoIEJvb2xlYW4oMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbigwKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oMCkpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKC0xKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4oLTEpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigtMSkrJyInKTsKfQppZiggQm9vbGVhbigtMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMi4yOiBCb29sZWFuKC0xKSBzaG91bGQgYmUgdHJ1ZSwgYWN0dWFsIGlzICcrQm9vbGVhbigtMSkpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkrJyInKTsKfQppZiggQm9vbGVhbigtSW5maW5pdHkpICE9PSB0cnVlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbigtSW5maW5pdHkpIHNob3VsZCBiZSB0cnVlLCBhY3R1YWwgaXMgJytCb29sZWFuKC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKE5hTikgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKE5hTikgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKE5hTikrJyInKTsKfQppZiggQm9vbGVhbihOYU4pICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oTmFOKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oTmFOKSk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various number values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBzdHJpbmcgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigiMCIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbigiMCIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMCIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjAiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxLjI6IEJvb2xlYW4oIjAiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKCItMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMi4xOiB0eXBlb2YgQm9vbGVhbigiLTEiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oIi0xIikrJyInKTsKfQppZiggQm9vbGVhbigiLTEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyLjI6IEJvb2xlYW4oIi0xIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbigiMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMy4xOiB0eXBlb2YgQm9vbGVhbigiMSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oIjEiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKCJmYWxzZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNC4xOiB0eXBlb2YgQm9vbGVhbigiZmFsc2UiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oImZhbHNlIikrJyInKTsKfQppZiggQm9vbGVhbigiZmFsc2UiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oImZhbHNlIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigidHJ1ZSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oInRydWUiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM1LjI6IEJvb2xlYW4oInRydWUiKSBzaG91bGQgYmUgdHJ1ZScpOwp9Cgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various string values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyB1bmRlZmluZWQgdmFsdWVzIGFuZCBudWxsIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpKyciJyk7Cn0KaWYoIEJvb2xlYW4odW5kZWZpbmVkKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjMS4yOiBCb29sZWFuKHVuZGVmaW5lZCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4odm9pZCAwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4odm9pZCAwKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4odm9pZCAwKSsnIicpOwp9CmlmKCBCb29sZWFuKHZvaWQgMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih2b2lkIDApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKGZ1bmN0aW9uKCl7fSgpKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzMuMTogdHlwZW9mIEJvb2xlYW4oZnVuY3Rpb24oKXt9KCkpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihmdW5jdGlvbigpe30oKSkrJyInKTsKfQppZiggQm9vbGVhbihmdW5jdGlvbigpe30oKSkgIT09IGZhbHNlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbihmdW5jdGlvbigpe30oKSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4obnVsbCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKG51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihudWxsKSsnIicpOwp9CmlmKCBCb29sZWFuKG51bGwpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4obnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiggdHlwZW9mIEJvb2xlYW4oeCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM1LjE6IHZhciB4OyB0eXBlb2YgQm9vbGVhbih4KSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeCkrJyInKTsKfQppZiggQm9vbGVhbih4KSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiB2YXIgeDsgQm9vbGVhbih4KSBzaG91bGQgYmUgZmFsc2UnKTsKfQp2YXIgeDsKCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various undefined values and null as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBhc3NpZ25pbmcgdmFsdWVzIHRvIGFueSB2YXJpYWJsZSBhcyBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oeD0wKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oeD0wKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD0wKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9MCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbih4PTApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKHg9MSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyLjE6IHR5cGVvZiBCb29sZWFuKHg9MSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKHg9MSkrJyInKTsKfQppZiggQm9vbGVhbih4PTEpICE9PSB0cnVlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih4PTEpIHNob3VsZCBiZSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIEJvb2xlYW4oeD1mYWxzZSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKHg9ZmFsc2UpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PWZhbHNlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9ZmFsc2UpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oeD1mYWxzZSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4oeD10cnVlKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzQuMTogdHlwZW9mIEJvb2xlYW4oeD10cnVlKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD10cnVlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9dHJ1ZSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNC4yOiBCb29sZWFuKHg9dHJ1ZSkgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbih4PW51bGwpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbih4PW51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PW51bGwpKyciJyk7Cn0KaWYoIEJvb2xlYW4oeD1udWxsKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiBCb29sZWFuKHg9bnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various assigning values to any variable as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuKCkgcmV0dXJucyBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4xL1MxNS42LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBCb29sZWFuKCkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuKCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKCkrJyInKTsKfQoKLy9DSEVDSyMyCmlmKCBCb29sZWFuKCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzI6IEJvb2xlYW4oKSBzaG91bGQgYmUgZmFsc2UnKTsKfQoK","commentary":"Boolean() returns false","description":"Call Boolean() and check result","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEJvb2xlYW4gaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IGFuZCBpdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCIjMTogdHlwZW9mIG5ldyBCb29sZWFuKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4oKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjMjogbmV3IEJvb2xlYW4oKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDQgPSBuZXcgQm9vbGVhbigpOwppZih4NCA9PT0gdW5kZWZpbmVkKXsKICAkRVJST1IoIiM0OiBuZXcgQm9vbGVhbigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgQm9vbGVhbigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oMSkgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUigiIzY6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNwp2YXIgeDcgPSBuZXcgQm9vbGVhbigxKTsKaWYodHlwZW9mIHg3ICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjNzogdHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAnb2JqZWN0JyIpOwp9CgovL0NIRUNLIzgKdmFyIHg4ID0gbmV3IEJvb2xlYW4oMSk7CmlmKHg4ID09PSB1bmRlZmluZWQpewogICRFUlJPUigiIzg6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Boolean is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgQm9vbGVhbi5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICovCgovLyBDSEVDSyMxCnZhciB4MSA9IG5ldyBCb29sZWFuKDEpOwppZiAodHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgeDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgovL0NIRUNLIzIKdmFyIHgyID0gbmV3IEJvb2xlYW4oMik7CmlmICghQm9vbGVhbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MikpIHsKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKScpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oMyk7CmlmIChCb29sZWFuLnByb3RvdHlwZSAhPT0geDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMzogQm9vbGVhbi5wcm90b3R5cGUgPT09IHgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Boolean prototype object, the one that is the\ninitial value of Boolean.prototype","description":"Checking prototype property of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IEJvb2xlYW4oMSk7CmlmICh4MS52YWx1ZU9mKCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDEgPSBuZXcgQm9vbGVhbigxKTsgeDEudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgQm9vbGVhbigpOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4MiA9IG5ldyBCb29sZWFuKCk7IHgyLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCnZhciB4MiA9IG5ldyBCb29sZWFuKDApOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4MiA9IG5ldyBCb29sZWFuKDApOyB4Mi52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDIgPSBuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpOwppZiAoeDIudmFsdWVPZigpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHgyID0gbmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKTsgeDIudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nis set to ToBoolean(value)","description":"Checking value of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJCb29sZWFuIgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4yL1MxNS42LjIuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdG9TdHJpbmcgZnVuY3Rpb24gaXMgdXNlZAogKi8KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCnZhciBvYmogPSBuZXcgQm9vbGVhbigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgQm9vbGVhbl0iKSB7CiAgJEVSUk9SKCcjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiQm9vbGVhbiInKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Boolean\"","description":"For testing toString function is used","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvUzE1LjYuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKi8KCmlmKCFCb29sZWFuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Boolean constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMy9TMTUuNi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgdGhlIEJvb2xlYW4gY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbikpKSB7CiAgJEVSUk9SKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Boolean\nconstructor is the Function prototype object","description":"Checking prototype of the Boolean constructor","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zL1MxNS42LjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4ubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghQm9vbGVhbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogQm9vbGVhbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Boolean constructor has length property whose value is 1","description":"Checking Boolean.length property","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZSBpcyB0aGUgQm9vbGVhbgogKiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuLnByb3RvdHlwZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The initial value of Boolean.prototype is the Boolean\nprototype object","description":"Checking Boolean.prototype property","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCnggPSBCb29sZWFuLnByb3RvdHlwZTsKQm9vbGVhbi5wcm90b3R5cGUgPSAxOwppZiAoQm9vbGVhbi5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute ReadOnly","description":"Checking if varying the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute DontDelete","description":"Checking if deleting the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEJvb2xlYW4ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih4IGluIEJvb2xlYW4pIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCmlmIChCb29sZWFuLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Boolean.prototype has the attribute DontEnum","description":"Checking if enumerating the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogYnVpbHQtaW4gQm9vbGVhbiBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIEJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYoQm9vbGVhbi5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEJvb2xlYW4pewogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBCb29sZWFuJyk7Cn0KCg==","commentary":"The initial value of Boolean.prototype.constructor is the\nbuilt-in Boolean constructor","description":"Compare Boolean.prototype.constructor with Boolean","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiZmFsc2UiKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudG9TdHJpbmcoKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoKSAhPT0gInRydWUiKXsKICAkRVJST1IoJyM0OiAobmV3IEJvb2xlYW4odHJ1ZSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS50b1N0cmluZygpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoKSA9PT0gInRydWUiJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4oMCkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcoKSA9PT0gImZhbHNlIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9Cgo=","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIHdpdGggc29tZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKHRydWUpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oZmFsc2UpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS50b1N0cmluZyhmYWxzZSkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKGZhbHNlKSA9PT0gInRydWUiJyk7Cn0KCg==","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"with some argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgTnVtYmVyIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBOdW1iZXIoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbigwKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKDApKS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbigtMSkpLnZhbHVlT2YoKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpICE9PSB0cnVlKXsKICAkRVJST1IoJyM2OiAobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgd2l0aCBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKC0xKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNjogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnZhbHVlT2YoZmFsc2UpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"calling with argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBOdW1iZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE51bWJlcigpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEJvb2xlYW4gb2JqZWN0CiAqIChpdHMgW1tDbGFzc11dIGlzICJCb29sZWFuIikgd2hvc2UgdmFsdWUgaXMgZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The Boolean prototype object is itself a Boolean object\n(its [[Class]] is \"Boolean\") whose value is false","description":"Checking type and value of Boolean.prototype","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbi5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmICghT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEJvb2xlYW4ucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Boolean\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Boolean.prototype)","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoW3ZhbHVlXSkgcmV0dXJucyBhIG51bWJlciB2YWx1ZSAobm90IGEgTnVtYmVyIG9iamVjdCkgY29tcHV0ZWQgYnkgVG9OdW1iZXIodmFsdWUpIGlmIHZhbHVlIHdhcyBzdXBwbGllZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4xL1MxNS43LjEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCB2YWx1ZXMgIjEwIiwgMTAsIG5ldyBTdHJpbmcoIjEwIiksIG5ldyBPYmplY3QoMTApIGFuZCAiYWJjIgogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIE51bWJlcigiMTAiKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigiMTAiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCIxMCIpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIE51bWJlcigxMCkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXIoMTApIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoMTApKyciJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKG5ldyBTdHJpbmcoIjEwIikpKyciJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIE51bWJlcihuZXcgT2JqZWN0KDEwKSkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzQ6IHR5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpKyciJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYoIHR5cGVvZiBOdW1iZXIoImFiYyIpICE9PSAibnVtYmVyIiApIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTnVtYmVyKCJhYmMiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCJhYmMiKSsnIicpOwp9CgovL0NIRUNLICM2CmlmKCAhaXNOYU4oTnVtYmVyKCJhYmMiKSkpIHsKCSRFUlJPUignIzY6IE51bWJlcigiYWJjIikpIHNob3VsZCBiZSBOYU4nKTsKfQoK","commentary":"Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied","description":"Used values \"10\", 10, new String(\"10\"), new Object(10) and \"abc\"","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoKSByZXR1cm5zICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjEvUzE1LjcuMS4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIE51bWJlcigpIGFuZCBjaGVjayByZXN1bHQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBOdW1iZXIoKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoKSsnIicpOwp9CgovL0NIRUNLIzIKaWYoIE51bWJlcigpICE9PSAwICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSAwLCBhY3R1YWwgaXMgJytOdW1iZXIoKSk7Cn0gZWxzZSBpZiggMS9OdW1iZXIoKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSArMCwgYWN0dWFsIGlzICcrTnVtYmVyKCkpOwp9CgoK","commentary":"Number() returns +0","description":"Call Number() and check result","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIE51bWJlciBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uIGl0IGlzCiAqIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4yL1MxNS43LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdHlwZSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QgYW5kIGl0IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbmV3IE51bWJlcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzE6IHR5cGVvZiBuZXcgTnVtYmVyKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigpID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoIiMyOiBuZXcgTnVtYmVyKCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBOdW1iZXIoKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM0CnZhciB4NCA9IG5ldyBOdW1iZXIoKTsKaWYoeDQgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjNDogbmV3IE51bWJlcigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBOdW1iZXIoMTApICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgTnVtYmVyKDEwKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjNjogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyM3CnZhciB4NyA9IG5ldyBOdW1iZXIoMTApOwppZih0eXBlb2YgeDcgIT09ICJvYmplY3QiKXsKICAkRVJST1IoIiM3OiB0eXBlb2YgbmV3IE51bWJlcigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjOAp2YXIgeDggPSBuZXcgTnVtYmVyKDEwKTsKaWYoeDggPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjODogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Number is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUKICogaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cwogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IE51bWJlcigxKTsKaWYgKHR5cGVvZiB4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCnZhciB4MiA9IG5ldyBOdW1iZXIoMik7CmlmICghTnVtYmVyLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKSkgewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MiknKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoMyk7CmlmIChOdW1iZXIucHJvdG90eXBlICE9PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlID09PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Number prototype object, the one that is the\ninitial value of Number.prototype","description":"Checking prototype property of the newly created objects","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvTnVtYmVyKHZhbHVlKSBpZiB2YWx1ZSB3YXMgc3VwcGxpZWQsIGVsc2UgdG8gKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMi9TMTUuNy4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDEgPSBuZXcgTnVtYmVyKDEpOwppZiAoeDEudmFsdWVPZigpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHgxID0gbmV3IE51bWJlcigxKTsgeDEudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgTnVtYmVyKCk7CmlmICh4Mi52YWx1ZU9mKCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSAwJyk7Cn0gZWxzZSBpZiggMS94Mi52YWx1ZU9mKCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMyLjI6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSArMCcpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set to ToNumber(value) if value was supplied, else to +0","description":"Checking value of the newly created object","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJOdW1iZXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBGb3IgdGVzdGluZyB0b1N0cmluZyBmdW5jdGlvbiBpcyB1c2VkCiAqLwoKZGVsZXRlIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7Cgp2YXIgb2JqID0gbmV3IE51bWJlcigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Number\"","description":"For testing toString function is used","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0ICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpOw0KICBpZiAocCA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object (using getPrototypeOf)","path":"TestCases/ch15/15.7/15.7.3/15.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Number constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1BWF9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNQVhfVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUFYX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUFYX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MAX_VALUE\"","description":"Checking existence of the property \"MAX_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1JTl9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNSU5fVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUlOX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUlOX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MIN_VALUE\"","description":"Checking existence of the property \"MIN_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJOYU4iCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTmFOIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTmFOIicpOwp9CgoK","commentary":"The Number constructor has the property \"NaN\"","description":"Checking existence of the property \"NaN\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIk5FR0FUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTkVHQVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"NEGATIVE_INFINITY\"","description":"Checking existence of the property \"NEGATIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIlBPU0lUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiUE9TSVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"POSITIVE_INFINITY\"","description":"Checking existence of the property \"POSITIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTnVtYmVyKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nconstructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Number)","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvUzE1LjcuM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IE51bWJlciBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE51bWJlciBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Number constructor has length property whose value is 1","description":"Checking Number.length property","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAncHJvdG90eXBlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Number.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUsIGluaXRpYWwgdmFsdWUgaXMgdGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gYXNzdW1lIHRoYXQgTnVtYmVyLnByb3RvdHlwZSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuDQogIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IE51bWJlcig0MikpPT09TnVtYmVyLnByb3RvdHlwZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number.prototype, initial value is the Number prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBOdW1iZXIucHJvdG90eXBlOwpOdW1iZXIucHJvdG90eXBlID0gMTsKaWYgKE51bWJlci5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if varying the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghTnVtYmVyLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkgewogICRGQUlMKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if deleting the Number.prototype property fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCg==","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if enumerating the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIGRlbGV0aW5nIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\ndeleting Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIG92ZXJ3cml0aW5nIG9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\noverwriting of Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIHZhbHVlIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9Cgo=","commentary":"Number.prototype value is +0","description":"Checking value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgMS43OTc2OTMxMzQ4NjIzMTU3ZTMwOAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy4yL1MxNS43LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLk1BWF9WQUxVRSB2YWx1ZQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChOdW1iZXIuTUFYX1ZBTFVFLCAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgYXBwcm94aW1hdGVseSBlcXVhbCB0byAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is approximately 1.7976931348623157e308","description":"Checking Number.MAX_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1BWF9WQUxVRTsKTnVtYmVyLk1BWF9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUFYX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NQVhfVkFMVUU7IE51bWJlci5NQVhfVkFMVUUgPSAxOyBOdW1iZXIuTUFYX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is ReadOnly","description":"Checking if varying Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMi9TMTUuNy4zLjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.MAX_VALUE is DontDelete","description":"Checking if deleting Number.MAX_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUFYX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUFYX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1BWF9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUFYX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MAX_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgNWUtMzI0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIuTUlOX1ZBTFVFIHZhbHVlCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE51bWJlci5NSU5fVkFMVUUsIDVlLTMyNCkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUlOX1ZBTFVFIGFwcHJveGltYXRlbHkgZXF1YWwgdG8gNWUtMzI0Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is approximately 5e-324","description":"Checking Number.MIN_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1JTl9WQUxVRTsKTnVtYmVyLk1JTl9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUlOX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NSU5fVkFMVUU7IE51bWJlci5NSU5fVkFMVUUgPSAxOyBOdW1iZXIuTUlOX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is ReadOnly","description":"Checking if varying Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMy9TMTUuNy4zLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.MIN_VALUE is DontDelete","description":"Checking if deleting Number.MIN_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUlOX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUlOX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1JTl9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUlOX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MIN_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIE5vdC1hLU51bWJlcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy40L1MxNS43LjMuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4oTnVtYmVyLk5hTikKICovCgovLyBDSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=","commentary":"Number.NaN is Not-a-Number","description":"Checking isNaN(Number.NaN)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5OYU4gZmFpbHMKICovCgovLyBDSEVDSyMxCk51bWJlci5OYU4gPSAxOwppZiAoaXNOYU4oTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOID0gMTsgTnVtYmVyLk5hTiA9PT0gTm90LWEtTnVtYmVyJyk7Cn0KCg==","commentary":"Number.NaN is ReadOnly","description":"Checking if varying Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNC9TMTUuNy4zLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5OYU4gZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5OYU4gIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.NaN is DontDelete","description":"Checking if deleting Number.NaN fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTmFOIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTmFOIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5hTiBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTmFOJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NaN has the attribute DontEnum","description":"Checking if enumerating Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjUvUzE1LjcuMy41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IC1JbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.NEGATIVE_INFINITY is -Infinity","description":"Checking sign and finiteness of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gLUluZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSAtSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY is ReadOnly","description":"Checking if varying Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy41L1MxNS43LjMuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.NEGATIVE_INFINITY is DontDelete","description":"Checking if deleting Number.NEGATIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIk5FR0FUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdORUdBVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjYvUzE1LjcuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09ICtJbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.POSITIVE_INFINITY is +Infinity","description":"Checking sign and finiteness of Number.POSITIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gK0luZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSArSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.POSITIVE_INFINITY is ReadOnly","description":"Checking if varying Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy42L1MxNS43LjMuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.POSITIVE_INFINITY is DontDelete","description":"Checking if deleting Number.POSITIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIlBPU0lUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdQT1NJVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.POSITIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgcHJvdG90eXBlIG9iamVjdDogaXRzIFtbQ2xhc3NdXSBtdXN0IGJlICdOdW1iZXInDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG51bVByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKTsNCiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVtUHJvdG8gKTsNCiAgcmV0dXJuIChzID09PSAnW29iamVjdCBOdW1iZXJdJykgOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number prototype object: its [[Class]] must be 'Number'","path":"TestCases/ch15/15.7/15.7.4/15.7.4-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgTnVtYmVyIG9iamVjdAogKiAoaXRzIFtbQ2xhc3NdXSBpcyAiTnVtYmVyIikgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC9TMTUuNy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The Number prototype object is itself a Number object\n(its [[Class]] is \"Number\") whose value is +0","description":"Checking type and value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKQogKi8KCi8vQ0hFQ0sjMQppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Number.prototype)","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcicpOwp9CgoK","commentary":"The Number prototype object has the property constructor","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toLocaleString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB2YWx1ZU9mCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy40LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWVPZicpOwp9CgoK","commentary":"The Number prototype object has the property valueOf","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0ZpeGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy41LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRml4ZWQiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9GaXhlZCcpOwp9CgoK","commentary":"The Number prototype object has the property toFixed","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0V4cG9uZW50aWFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy42LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRXhwb25lbnRpYWwiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9FeHBvbmVudGlhbCcpOwp9CgoK","commentary":"The Number prototype object has the property toExponential","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbicpOwp9CgoK","commentary":"The Number prototype object has the property toPrecision","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZQogKiBidWlsdC1pbiBOdW1iZXIgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuMS9TMTUuNy40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIE51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IE51bWJlcicpOwp9CgoK","commentary":"The initial value of Number.prototype.constructor is the\nbuilt-in Number constructor","description":"Compare Number.prototype.constructor with Number","path":"TestCases/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIHVuZGVmaW5lZCByYWRpeAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"undefined radix","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEwCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTApICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEwKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEwKSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTApID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTApICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSAhPT0gIi1JbmZpbml0eSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is 10","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIHVuZGVmaW5lZCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is undefined value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDIpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 2","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 3","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDQpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 4","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDUpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDUpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 5","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDYpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDYpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 6","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDcpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDcpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 7","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDgpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDgpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 8","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 9","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDExKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDExKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 11","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 12","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 13","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 14","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 15","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 16","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 17","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 18","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 19","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 20","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 22","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 23","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 24","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 25","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 26","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 27","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 28","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 29","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 30","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 31","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 32","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 33","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 34","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 35","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 36","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDEuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcigxKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzYKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCg==","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 1","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDM3CiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgbiA9TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzgKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 37","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIG51bGwgdmFsdWUKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is null value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDQuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDAKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygwKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 0","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgQm9vbGVhbiBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgQm9vbGVhbigpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlUb1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB3aXRob3V0IGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgIT09IDApewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigpICE9PSAtMSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS52YWx1ZU9mKCkgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudmFsdWVPZigpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgppZighaXNOYU4oKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoKSkpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCkgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSA9PT0gSW5maW5pdHknKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgPT09IC1JbmZpbml0eScpOwp9Cgo=","commentary":"Number.prototype.valueOf() returns this number value","description":"Call without argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gY2FsbGluZyB3aXRoIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gLTEpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgTnVtYmVyKDEpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYoIWlzTmFOKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCJhcmd1bWVudCIpKSl7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSBJbmZpbml0eScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAtSW5maW5pdHknKTsKfQoK","commentary":"Number.prototype.valueOf() returns this number value","description":"calling with argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBCb29sZWFuIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBCb29sZWFuKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlWYWx1ZU9mID0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDApICE9PSAiMCIpewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgIT09ICIwLjAiKXsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgPT09ICIwLjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMS4xKSAhPT0gIjAuMCIpewogICRFUlJPUignIzQ6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgxLjEpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzUKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjNTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIxIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM2OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEiKSA9PT0gIjAuMCInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMS4xIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM3OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEuMSIpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIwLjkiKSAhPT0gIjAiKXsKICAkRVJST1IoJyM4OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjAuOSIpID09PSAiMCInKTsKfQoKLy9DSEVDSyM5CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgic29tZSBzdHJpbmciKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoLTAuMSkgIT09ICIwIil7CiAgICAkRVJST1IoJyMxMDogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKC0wLjEpID09PSAiMCInKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number prototype object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgpICE9PSAiMSIpewogICRFUlJPUignIzE6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDApICE9PSAiMSIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgxKSAhPT0gIjEuMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIjEuMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEuMSkgIT09ICIxLjAiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgxLjEpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoMC45KSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgwLjkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxIikgIT09ICIxLjAiKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgiMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpICE9PSAiMS4wIil7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjAuOSIpICE9PSAiMSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjEiKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09ICIxIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSAhPT0gIjEiKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSA9PT0gIjEiJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDEuanMKICogQGRlc2NyaXB0aW9uIE5hTiBpcyBjb21wdXRlZCBieSBuZXcgTnVtYmVyKCJzdHJpbmciKQogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigiYSIpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIxLjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjAuOSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5OYU4pICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgic29tZSBzdHJpbmciKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAp0cnl7CiAgcyA9IChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoK","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"NaN is computed by new Number(\"string\")","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDIuanMKICogQGRlc2NyaXB0aW9uIGRpcmVjdCB1c2FnZSBvZiBOYU4KICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMgppZihOdW1iZXIuTmFOLnRvRml4ZWQoMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKDEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk5hTi5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM0CmlmKE51bWJlci5OYU4udG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk5hTi50b0ZpeGVkKDEuMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNQppZihOdW1iZXIuTmFOLnRvRml4ZWQoMC45KSAhPT0gIk5hTiIpewogICRFUlJPUignIzU6IE51bWJlci5OYU4udG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIxIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5OYU4udG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEuMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIwLjkiKSAhPT0gIk5hTiIpewogICRFUlJPUignIzg6IE51bWJlci5OYU4udG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZihOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM5OiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gTnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5OYU4udG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"direct usage of NaN","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDk6IElmIHggPj0gMTBeMjEsIGxldCBtID0gVG9TdHJpbmcoeCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgMTBeMjEKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoMCkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMWUyMSkpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDEuMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMS4xKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwLjkpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDAuOSkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMSIpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIxLjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMS4xIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjAuOSIpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90IHJldHVybiBOYU4nKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSl7CiAgICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 9: If x >= 10^21, let m = ToString(x)","description":"x is 10^21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0ZpeGVkIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjUvUzE1LjcuNC41X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyIHByb3RvdHlwZSBpdHNlbGYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmxlbmd0aCAhPT0gMSl7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the toFixed method is 1","description":"Checking Number prototype itself","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgImNvbnN0cnVjdG9yIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkuY29uc3RydWN0b3IgIT09IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAiY29uc3RydWN0b3IiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property constructor","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9TdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9Mb2NhbGVTdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9Mb2NhbGVTdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toLocaleString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdmFsdWVPZgogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ2YWx1ZU9mIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZiAhPT0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInZhbHVlT2YiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property valueOf","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9GaXhlZAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9GaXhlZCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0ZpeGVkIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9GaXhlZCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRml4ZWQiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toFixed","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9FeHBvbmVudGlhbAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9FeHBvbmVudGlhbCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0V4cG9uZW50aWFsIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9FeHBvbmVudGlhbCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRXhwb25lbnRpYWwiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toExponential","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9QcmVjaXNpb24KICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvUHJlY2lzaW9uIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvUHJlY2lzaW9uIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9QcmVjaXNpb24gIT09IE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9QcmVjaXNpb24iIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toPrecision","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkUgaXMgYXBwcm94aW1hdGVseSAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMS9TMTUuOC4xLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLkUgd2l0aCAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5FLCAyLjcxODI4MTgyODQ1OTA0NTIzNTQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkUgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi43MTgyODE4Mjg0NTkwNDUyMzU0XCcnKTsKfQoK","commentary":"Math.E is approximately 2.7182818284590452354","description":"Comparing Math.E with 2.7182818284590452354","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJFIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property E of the Math Object has the attribute DontEnum","description":"Checking if Math.E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjEvUzE1LjguMS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5FID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiBcJ01hdGguRSA9PT0gdHJ1ZVwnJyk7Cn0KCgo=","commentary":"Value Property E of the Math Object has the attribute DontDelete","description":"Checking if Math.E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5FO01hdGguRSA9IDE7TWF0aC5FID09PSB4XCcnKTsKfQoK","commentary":"Value Property E of the Math Object has the attribute ReadOnly","description":"Checking if Math.E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMTAgaXMgYXBwcm94aW1hdGVseSAyLjMwMjU4NTA5Mjk5NDA0NgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4xMCB3aXRoIDIuMzAyNTg1MDkyOTk0MDQ2CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4xMCwgMi4zMDI1ODUwOTI5OTQwNDYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMTAgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi4zMDI1ODUwOTI5OTQwNDZcJycpOwp9Cgo=","commentary":"Math.LN10 is approximately 2.302585092994046","description":"Comparing Math.LN10 with 2.302585092994046","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkxOMTAiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJMTjEwIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property LN10 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN10 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjIvUzE1LjguMS4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMTAgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5MTjEwID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogVmFsdWUgUHJvcGVydHkgTE4xMCBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxOMTAgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN10 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN10 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMTA7Ck1hdGguTE4xMCA9IDE7CmlmIChNYXRoLkxOMTAgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMTAgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MTjEwO01hdGguTE4xMCA9IDE7TWF0aC5MTjEwID09PSB4XCcnKTsKfQoK","commentary":"Value Property LN10 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN10 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMiBpcyBhcHByb3hpbWF0ZWx5IDAuNjkzMTQ3MTgwNTU5OTQ1MwogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4zL1MxNS44LjEuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4yIHdpdGggMC42OTMxNDcxODA1NTk5NDUzCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4yLCAwLjY5MzE0NzE4MDU1OTk0NTMpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMiBpcyBub3QgYXBwcm94aW1hdGVseSBlcXVhbCB0byAwLjY5MzE0NzE4MDU1OTk0NTNcJycpOwp9Cgo=","commentary":"Math.LN2 is approximately 0.6931471805599453","description":"Comparing Math.LN2 with 0.6931471805599453","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMTjIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxOMiJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LN2 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMy9TMTUuOC4xLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE4yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE4yID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MTjIgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN2 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMjsKTWF0aC5MTjIgPSAxOwppZiAoTWF0aC5MTjIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMiBoYXNuXCd0IFJlYWRPbmx5OiBcJ3ggPSBNYXRoLkxOMjtNYXRoLkxOMiA9IDE7TWF0aC5MTjIgPT09IHhcJycpOwp9Cgo=","commentary":"Value Property LN2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzJFIGlzIGFwcHJveGltYXRlbHkgMS40NDI2OTUwNDA4ODg5NjM0CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjQvUzE1LjguMS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5MT0cyRSB3aXRoIDEuNDQyNjk1MDQwODg4OTYzNAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLkxPRzJFLCAxLjQ0MjY5NTA0MDg4ODk2MzQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzJFIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDQyNjk1MDQwODg4OTYzNFwnJyk7Cn0KCg==","commentary":"Math.LOG2E is approximately 1.4426950408889634","description":"Comparing Math.LOG2E with 1.4426950408889634","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiTE9HMkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iTE9HMkUifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property LOG2E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG2E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS40L1MxNS44LjEuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MT0cyRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkxPRzJFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxPRzJFID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property LOG2E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG2E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguTE9HMkU7Ck1hdGguTE9HMkUgPSAxOwppZiAoTWF0aC5MT0cyRSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguTE9HMkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cyRTtNYXRoLkxPRzJFID0gMTtNYXRoLkxPRzJFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG2E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG2E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzEwRSBpcyBhcHByb3hpbWF0ZWx5IDAuNDM0Mjk0NDgxOTAzMjUxOAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS41L1MxNS44LjEuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE9HMTBFIHdpdGggMC40MzQyOTQ0ODE5MDMyNTE4CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE9HMTBFLCAwLjQzNDI5NDQ4MTkwMzI1MTgpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzEwRSBpcyBub3QgYXBwcm94aW1hdGxleSBlcXVhbCB0byAgMC40MzQyOTQ0ODE5MDMyNTE4XCcnKTsKfQoK","commentary":"Math.LOG10E is approximately 0.4342944819032518","description":"Comparing Math.LOG10E with 0.4342944819032518","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMT0cxMEUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxPRzEwRSJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LOG10E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG10E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNS9TMTUuOC4xLjVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMTBFIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE9HMTBFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MT0cxMEUgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LOG10E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG10E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTWF0aC5MT0cxMEU7Ck1hdGguTE9HMTBFID0gMTsKaWYgKE1hdGguTE9HMTBFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogTWF0aC5MT0cxMEUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cxMEU7TWF0aC5MT0cxMEUgPSAxO01hdGguTE9HMTBFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG10E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG10E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlBJIGlzIGFwcHJveGltYXRlbHkgMy4xNDE1OTI2NTM1ODk3OTMyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjYvUzE1LjguMS42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5QSSB3aXRoIDMuMTQxNTkyNjUzNTg5NzkzMgogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlBJLCAzLjE0MTU5MjY1MzU4OTc5MzIpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlBJIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDMuMTQxNTkyNjUzNTg5NzkzMlwnJyk7Cn0KCgo=","commentary":"Math.PI is approximately 3.1415926535897932","description":"Comparing Math.PI with 3.1415926535897932","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiUEkiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iUEkifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property PI of the Math Object has the attribute DontEnum","description":"Checking if Math.PI property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS42L1MxNS44LjEuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5QSSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlBJID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlBJID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property PI of the Math Object has the attribute DontDelete","description":"Checking if Math.PI property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguUEk7Ck1hdGguUEkgPSAxOwppZiAoTWF0aC5QSSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguUEkgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5QSTtNYXRoLlBJID0gMTtNYXRoLlBJID09PSB4XCcnKTsKfQoK","commentary":"Value Property PI of the Math Object has the attribute ReadOnly","description":"Checking if Math.PI property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQxXzIgaXMgYXBwcm94aW1hdGVseSAwLjcwNzEwNjc4MTE4NjU0NzYKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNy9TMTUuOC4xLjdfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLlNRUlQxXzIgd2l0aCAwLjcwNzEwNjc4MTE4NjU0NzYKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5TUVJUMV8yLCAwLjcwNzEwNjc4MTE4NjU0NzYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQxXzIgaXMgbm90IGFwcHJveGltYXRsZXkgZXF1YWwgdG8gIDAuNzA3MTA2NzgxMTg2NTQ3NlwnJyk7Cn0KCgo=","commentary":"Math.SQRT1_2 is approximately 0.7071067811865476","description":"Comparing Math.SQRT1_2 with 0.7071067811865476","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIlNRUlQxXzIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJTUVJUMV8yIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT1_2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjcvUzE1LjguMS43X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLlNRUlQxXzIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5TUVJUMV8yID09PSB0cnVlKSB7CiAgJEVSUk9SKCIjMTogVmFsdWUgUHJvcGVydHkgU1FSVDFfMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzbid0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiAnTWF0aC5TUVJUMV8yID09PSB0cnVlJyIpOwp9CgoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT1_2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLlNRUlQxXzI7Ck1hdGguU1FSVDFfMiA9IDE7CmlmIChNYXRoLlNRUlQxXzIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLlNRUlQxXzIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMV8yO01hdGguU1FSVDFfMiA9IDE7TWF0aC5TUVJUMV8yID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT1_2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQyIGlzIGFwcHJveGltYXRlbHkgMS40MTQyMTM1NjIzNzMwOTUxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjgvUzE1LjguMS44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5TUVJUMiB3aXRoIDEuNDE0MjEzNTYyMzczMDk1MQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlNRUlQyLCAxLjQxNDIxMzU2MjM3MzA5NTEpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQyIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDE0MjEzNTYyMzczMDk1MVwnJyk7Cn0KCgo=","commentary":"Math.SQRT2 is approximately 1.4142135623730951","description":"Comparing Math.SQRT2 with 1.4142135623730951","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiU1FSVDIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iU1FSVDIifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property SQRT2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS44L1MxNS44LjEuOF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlNRUlQyID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlNRUlQyID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property SQRT2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguU1FSVDI7Ck1hdGguU1FSVDIgPSAxOwppZiAoTWF0aC5TUVJUMiAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguU1FSVDIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMjtNYXRoLlNRUlQyID0gMTtNYXRoLlNRUlQyID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hYnMoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicyhOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5hYnMoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFicyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.abs(x) is NaN","description":"Checking if Math.abs(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmFicyh4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xL1MxNS44LjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hYnMoLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguYWJzKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmFicyh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is -0, Math.abs(x) is +0","description":"Checking if Math.abs(-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5hYnMoeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicygtSW5maW5pdHkpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSciKTsKfQoK","commentary":"If x is -Infinity, Math.abs(x) is +Infinity","description":"Checking if Math.abs(-Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5sb2coeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.log(x) is NaN","description":"Checking if Math.log(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAwLCBNYXRoLmxvZyh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGxlc3MgdGhhbiAwCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMC4wMDAwMDAwMDAwMDAwMDE7IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0xOwppZiAoIWlzTmFOKE1hdGgubG9nKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0xOyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5sb2coeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LUluZmluaXR5OyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than 0, Math.log(x) is NaN","description":"Checking if Math.log(x) is NaN, where x is less than 0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIG9yIC0wLCBNYXRoLmxvZyh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coKzApIGFuZCBNYXRoLmxvZygtMCkgZXF1YWxzIHRvIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGgubG9nKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSciKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgeCA9IC0wOwppZiAoTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmxvZyh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +0 or -0, Math.log(x) is -Infinity","description":"Checking if Math.log(+0) and Math.log(-0) equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIDEsIE1hdGgubG9nKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKDEpIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAxOwppZiAoTWF0aC5sb2coeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9MTsgTWF0aC5sb2coeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is 1, Math.log(x) is +0","description":"Checking if Math.log(1) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5sb2coeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKCtJbmZpbml0eSkgZXF1YWxzIHRvICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmIChNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5KQp7CgkkRVJST1IoIiMxOiAndmFyIHg9K0luZmluaXR5OyBNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.log(x) is +Infinity","description":"Checking if Math.log(+Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmxvZywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMC9TMTUuOC4yLjEwX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmxvZyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeFsxXSA9IDAuMjUzOTY4MjUzOTY4MjUzOTUwMDA7CnhbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4WzNdID0gMC43NjE5MDQ3NjE5MDQ3NjE4NjAwMDsKeFs0XSA9IDEuMDE1ODczMDE1ODczMDE1ODAwMDA7CnhbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4WzZdID0gMS41MjM4MDk1MjM4MDk1MjM3MDAwMDsKeFs3XSA9IDEuNzc3Nzc3Nzc3Nzc3Nzc3NzAwMDA7CnhbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4WzldID0gMi4yODU3MTQyODU3MTQyODU2MDAwMDsKeFsxMF0gPSAyLjUzOTY4MjUzOTY4MjUzOTUwMDAwOwp4WzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CnhbMTJdID0gMy4wNDc2MTkwNDc2MTkwNDc0MDAwMDsKeFsxM10gPSAzLjMwMTU4NzMwMTU4NzMwMTQwMDAwOwp4WzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CnhbMTVdID0gMy44MDk1MjM4MDk1MjM4MDkzMDAwMDsKeFsxNl0gPSA0LjA2MzQ5MjA2MzQ5MjA2MzMwMDAwOwp4WzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CnhbMThdID0gNC41NzE0Mjg1NzE0Mjg1NzEyMDAwMDsKeFsxOV0gPSA0LjgyNTM5NjgyNTM5NjgyNTEwMDAwOwp4WzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CnhbMjFdID0gNS4zMzMzMzMzMzMzMzMzMzMwMDAwMDsKeFsyMl0gPSA1LjU4NzMwMTU4NzMwMTU4NzAwMDAwOwp4WzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CnhbMjRdID0gNi4wOTUyMzgwOTUyMzgwOTQ5MDAwMDsKeFsyNV0gPSA2LjM0OTIwNjM0OTIwNjM0ODkwMDAwOwp4WzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CnhbMjddID0gNi44NTcxNDI4NTcxNDI4NTY4MDAwMDsKeFsyOF0gPSA3LjExMTExMTExMTExMTExMDcwMDAwOwp4WzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CnhbMzBdID0gNy42MTkwNDc2MTkwNDc2MTg2MDAwMDsKeFszMV0gPSA3Ljg3MzAxNTg3MzAxNTg3MjYwMDAwOwp4WzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CnhbMzNdID0gOC4zODA5NTIzODA5NTIzODE0MDAwMDsKeFszNF0gPSA4LjYzNDkyMDYzNDkyMDYzNDQwMDAwOwp4WzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbMzZdID0gOS4xNDI4NTcxNDI4NTcxNDIzMDAwMDsKeFszN10gPSA5LjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4WzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CnhbMzldID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeFs0MF0gPSAxMC4xNTg3MzAxNTg3MzAxNTgwMDAwMDsKeFs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeFs0Ml0gPSAxMC42NjY2NjY2NjY2NjY2NjYwMDAwMDsKeFs0M10gPSAxMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeFs0NV0gPSAxMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeFs0Nl0gPSAxMS42ODI1Mzk2ODI1Mzk2ODIwMDAwMDsKeFs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs0OF0gPSAxMi4xOTA0NzYxOTA0NzYxOTAwMDAwMDsKeFs0OV0gPSAxMi40NDQ0NDQ0NDQ0NDQ0NDUwMDAwMDsKeFs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeFs1MV0gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs1Ml0gPSAxMy4yMDYzNDkyMDYzNDkyMDYwMDAwMDsKeFs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeFs1NF0gPSAxMy43MTQyODU3MTQyODU3MTQwMDAwMDsKeFs1NV0gPSAxMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeFs1N10gPSAxNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeFs1OF0gPSAxNC43MzAxNTg3MzAxNTg3MjkwMDAwMDsKeFs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFs2MF0gPSAxNS4yMzgwOTUyMzgwOTUyMzcwMDAwMDsKeFs2MV0gPSAxNS40OTIwNjM0OTIwNjM0OTIwMDAwMDsKeFs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeFs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjM3MDU0NjAwNDE1MTc1MTQwMDAwOwp5WzJdID0gLTAuNjc3Mzk4ODIzNTkxODA2MTQwMDA7CnlbM10gPSAtMC4yNzE5MzM3MTU0ODM2NDE4MTAwMDsKeVs0XSA9IDAuMDE1NzQ4MzU2OTY4MTM5MTEyMDA7CnlbNV0gPSAwLjIzODg5MTkwODI4MjM0ODg4MDAwOwp5WzZdID0gMC40MjEyMTM0NjUwNzYzMDM0NzAwMDsKeVs3XSA9IDAuNTc1MzY0MTQ0OTAzNTYxODAwMDA7CnlbOF0gPSAwLjcwODg5NTUzNzUyODA4NDQzMDAwOwp5WzldID0gMC44MjY2Nzg1NzMxODQ0Njc5MTAwMDsKeVsxMF0gPSAwLjkzMjAzOTA4ODg0MjI5NDE0MDAwOwp5WzExXSA9IDEuMDI3MzQ5MjY4NjQ2NjE5MDAwMDA7CnlbMTJdID0gMS4xMTQzNjA2NDU2MzYyNDg3MDAwMDsKeVsxM10gPSAxLjE5NDQwMzM1MzMwOTc4NTMwMDAwOwp5WzE0XSA9IDEuMjY4NTExMzI1NDYzNTA3MjAwMDA7CnlbMTVdID0gMS4zMzc1MDQxOTY5NTA0NTg2MDAwMDsKeVsxNl0gPSAxLjQwMjA0MjcxODA4ODAyOTcwMDAwOwp5WzE3XSA9IDEuNDYyNjY3MzM5OTA0NDY0NTAwMDA7CnlbMThdID0gMS41MTk4MjU3NTM3NDQ0MTMxMDAwMDsKeVsxOV0gPSAxLjU3Mzg5Mjk3NTAxNDY4OTEwMDAwOwp5WzIwXSA9IDEuNjI1MTg2MjY5NDAyMjM5NDAwMDA7CnlbMjFdID0gMS42NzM5NzY0MzM1NzE2NzE2MDAwMDsKeVsyMl0gPSAxLjcyMDQ5NjQ0OTIwNjU2NDQwMDAwOwp5WzIzXSA9IDEuNzY0OTQ4MjExNzc3Mzk4MjAwMDA7CnlbMjRdID0gMS44MDc1MDc4MjYxOTYxOTQxMDAwMDsKeVsyNV0gPSAxLjg0ODMyOTgyMDcxNjQ0OTEwMDAwOwp5WzI2XSA9IDEuODg3NTUwNTMzODY5NzMwNTAwMDA7CnlbMjddID0gMS45MjUyOTA4NjE4NTI1Nzc1MDAwMDsKeVsyOF0gPSAxLjk2MTY1ODUwNjAyMzQ1MjQwMDAwOwp5WzI5XSA9IDEuOTk2NzQ5ODI1ODM0NzIyNTAwMDA7CnlbMzBdID0gMi4wMzA2NTEzNzc1MTA0MDQwMDAwMDsKeVszMV0gPSAyLjA2MzQ0MTIwMDMzMzM5NDgwMDAwOwp5WzMyXSA9IDIuMDk1MTg5ODk4NjQ3OTc1MTAwMDA7CnlbMzNdID0gMi4xMjU5NjE1NTczMTQ3Mjg4MDAwMDsKeVszNF0gPSAyLjE1NTgxNDUyMDQ2NDQwOTcwMDAwOwp5WzM1XSA9IDIuMTg0ODAyMDU3MzM3NjYyMTAwMDA7CnlbMzZdID0gMi4yMTI5NzI5MzQzMDQzNTg1MDAwMDsKeVszN10gPSAyLjI0MDM3MTkwODQ5MjQ3MjkwMDAwOwp5WzM4XSA9IDIuMjY3MDQwMTU1NTc0NjM0MjAwMDA7CnlbMzldID0gMi4yOTMwMTU2NDE5Nzc4OTQ5MDAwMDsKeVs0MF0gPSAyLjMxODMzMzQ0OTk2MjE4NDgwMDAwOwp5WzQxXSA9IDIuMzQzMDI2MDYyNTUyNTU2NTAwMDA7CnlbNDJdID0gMi4zNjcxMjM2MTQxMzE2MTcwMDAwMDsKeVs0M10gPSAyLjM5MDY1NDExMTU0MTgxMTAwMDAwOwp5WzQ0XSA9IDIuNDEzNjQzNjI5NzY2NTA5NjAwMDA7CnlbNDVdID0gMi40MzYxMTY0ODU2MTg1NjgyMDAwMDsKeVs0Nl0gPSAyLjQ1ODA5NTM5MjMzNzM0MzYwMDAwOwp5WzQ3XSA9IDIuNDc5NjAxNTk3NTU4MzA3MDAwMDA7CnlbNDhdID0gMi41MDA2NTUwMDY3NTYxMzkzMDAwMDsKeVs0OV0gPSAyLjUyMTI3NDI5Mzk1ODg3NTAwMDAwOwp5WzUwXSA9IDIuNTQxNDc3MDAxMjc2Mzk0NTAwMDA7CnlbNTFdID0gMi41NjEyNzk2Mjg1NzI1NzQzMDAwMDsKeVs1Ml0gPSAyLjU4MDY5NzcxNDQyOTY3NTcwMDAwOwp5WzUzXSA9IDIuNTk5NzQ1OTA5NDAwMzcwNTAwMDA7CnlbNTRdID0gMi42MTg0MzgwNDI0MTI1MjMxMDAwMDsKeVs1NV0gPSAyLjYzNjc4NzE4MTA4MDcxOTMwMDAwOwp5WzU2XSA9IDIuNjU0ODA1Njg2NTgzMzk3ODAwMDA7CnlbNTddID0gMi42NzI1MDUyNjM2ODI3OTg4MDAwMDsKeVs1OF0gPSAyLjY4OTg5NzAwNjM5NDY2NzcwMDAwOwp5WzU5XSA9IDIuNzA2OTkxNDM5NzUzOTY3ODAwMDA7CnlbNjBdID0gMi43MjM3OTg1NTgwNzAzNDkwMDAwMDsKeVs2MV0gPSAyLjc0MDMyNzg2MDAyMTU1OTkwMDAwOwp5WzYyXSA9IDIuNzU2NTg4MzgwODkzMzQwMjAwMDA7CnlbNjNdID0gMi43NzI1ODg3MjIyMzk3ODExMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLmxvZyh4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLmxvZyh4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5sb2coeCkgPSAiICsgTWF0aC5sb2coeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLmxvZyh4KSAtIE1hdGgubG9nKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.log, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.log is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExLzE1LjguMi4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5tYXgoe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWF4KHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.max({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/15.8.2.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1heCgpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heCgpIGVxdWFscyB0byAtSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1heCgpICE9IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWF4KCkgIT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.max() is -Infinity","description":"Checking if Math.max() equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWF4IGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWF4IGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWF4KE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5tYXgoTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1heChhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5tYXgoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.max is NaN","description":"The script tests Math.max giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExL1MxNS44LjIuMTFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gKzAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09ICswKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gKzAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heC5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5tYXggIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWF4IG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5tYXgubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWF4IG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5tYXgubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.max method is 2","description":"Checking if Math.max.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyLzE1LjguMi4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5taW4oe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWluKHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.min({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/15.8.2.12-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1pbigpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbigpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1pbigpICE9ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWluKCkgIT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.min() is +Infinity","description":"Checking if Math.min() equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWluIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWluIGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWluKE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5taW4oTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1pbihhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5taW4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.min is NaN","description":"The script tests Math.min giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyL1MxNS44LjIuMTJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byAtMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gLTAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09IC0wKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gLTAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbi5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5taW4gIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWluIG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5taW4ubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWluIG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5taW4ubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.min method is 2","description":"Checking if Math.min.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBpcyBOYU4sIHdoZXJlIHkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9IE5hTjsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAtMDsKeFs0XSA9ICswCnhbNV0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeFs2XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbN10gPSArSW5maW5pdHk7CnhbOF0gPSBOYU47CnhudW0gPSA5OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHkpKSkKCXsKCQkkRVJST1IoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If y is NaN, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where y is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)<1 and y is -Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)<1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeT4wLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzICtJbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9ICtJbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzNdID0gSW5maW5pdHk7CnlbMl0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzFdID0gMTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5bnVtID0gNDsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is +Infinity and y>0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeTwwLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyArSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTE7CnlbM10gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnludW0gPSA0OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is +Infinity and y<0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gLUluZmluaXR5LCB3aGVyZSB4IGlzIC1JbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC1JbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMTsKeVsxXSA9IDExMTsKeVsyXSA9IDExMTExMTsKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gLUluZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLUluZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y>0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk+MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMjsKeVsyXSA9IE1hdGguUEk7CnlbM10gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzRdID0gK0luZmluaXR5Owp5bnVtID0gNTsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -Infinity and y>0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtMCwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09IC0wIik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y<0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIHggaXMgLUluZmluaXR5IGFuZCB5PDAKICovCgovLyBDSEVDSyMxCgp4ID0gLUluZmluaXR5Owp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -Infinity and y<0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PjAsIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gKzA7CnkgPSBuZXcgQXJyYXkoKTsKeVszXSA9IEluZmluaXR5Owp5WzJdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeVsxXSA9IDE7CnlbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gKzApCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArMCIpOwoJfQp9Cgo=","commentary":"If x is +0 and y>0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PDAsIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIHggaXMgKzAgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLUluZmluaXR5Owp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMl0gPSAtMTsKeVszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gK0luZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gK0luZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is +0 and y<0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +0 and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDE7CnlbMV0gPSAxMTE7CnlbMl0gPSAxMTExMTE7CnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09IC0wKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLTAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeSBpcyArMCBhbmQgeCBpcyBudW1iZXIgb3IgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09IDEiKTsKCX0KfQoK","commentary":"If y is +0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where y is +0 and x is number or NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyAtMCBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnggPSAtMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbMV0gPSAyOwp5WzJdID0gTWF0aC5QSTsKeVszXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnlbNF0gPSArSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -0 and y>0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtSW5maW5pdHksIHdoZXJlIHggaXMgLTAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSAtSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -0 and y<0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -0 and y is an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC0wOwp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If x is -0 and y<0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -0 and y<0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgaXMgTmFOLCB3aGVyZSB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnkgPSBOYU47CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzFdID0gLU1hdGguUEk7CnhbMl0gPSAtMTsKeFszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeG51bSA9IDQ7Cgp5WzBdID0gLU1hdGguUEk7CnlbMV0gPSAtTWF0aC5FOwp5WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNV0gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeVs2XSA9IE1hdGguRTsKeVs3XSA9IE1hdGguUEk7CnludW0gPSA4OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKCWZvciAoaiA9IDA7IGogPCB5bnVtOyBqKyspCgkJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHlbal0pKSkKCQkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHhbaV0gKyAiLCAiICsgeVtqXSArICIpKSA9PT0gZmFsc2UiKTsKCg==","commentary":"If x<0 and x is finite and y is finite and y is not an integer, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x<0 and x is finite and y is finite and y is not an integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnBvdywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coYXJndW1lbnQxLCBhcmd1bWVudDIpIGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWUgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudDEgdmFsdWVzIGFuZCA2NCBhcmd1bWVudDIgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4MSA9IG5ldyBBcnJheSgpOwp4MVswXSA9IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CngxWzFdID0gMC4yNTM5NjgyNTM5NjgyNTM5NTAwMDsKeDFbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4MVszXSA9IDAuNzYxOTA0NzYxOTA0NzYxODYwMDA7CngxWzRdID0gMS4wMTU4NzMwMTU4NzMwMTU4MDAwMDsKeDFbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4MVs2XSA9IDEuNTIzODA5NTIzODA5NTIzNzAwMDA7CngxWzddID0gMS43Nzc3Nzc3Nzc3Nzc3Nzc3MDAwMDsKeDFbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4MVs5XSA9IDIuMjg1NzE0Mjg1NzE0Mjg1NjAwMDA7CngxWzEwXSA9IDIuNTM5NjgyNTM5NjgyNTM5NTAwMDA7CngxWzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CngxWzEyXSA9IDMuMDQ3NjE5MDQ3NjE5MDQ3NDAwMDA7CngxWzEzXSA9IDMuMzAxNTg3MzAxNTg3MzAxNDAwMDA7CngxWzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CngxWzE1XSA9IDMuODA5NTIzODA5NTIzODA5MzAwMDA7CngxWzE2XSA9IDQuMDYzNDkyMDYzNDkyMDYzMzAwMDA7CngxWzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CngxWzE4XSA9IDQuNTcxNDI4NTcxNDI4NTcxMjAwMDA7CngxWzE5XSA9IDQuODI1Mzk2ODI1Mzk2ODI1MTAwMDA7CngxWzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CngxWzIxXSA9IDUuMzMzMzMzMzMzMzMzMzMzMDAwMDA7CngxWzIyXSA9IDUuNTg3MzAxNTg3MzAxNTg3MDAwMDA7CngxWzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CngxWzI0XSA9IDYuMDk1MjM4MDk1MjM4MDk0OTAwMDA7CngxWzI1XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4OTAwMDA7CngxWzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CngxWzI3XSA9IDYuODU3MTQyODU3MTQyODU2ODAwMDA7CngxWzI4XSA9IDcuMTExMTExMTExMTExMTEwNzAwMDA7CngxWzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CngxWzMwXSA9IDcuNjE5MDQ3NjE5MDQ3NjE4NjAwMDA7CngxWzMxXSA9IDcuODczMDE1ODczMDE1ODcyNjAwMDA7CngxWzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CngxWzMzXSA9IDguMzgwOTUyMzgwOTUyMzgxNDAwMDA7CngxWzM0XSA9IDguNjM0OTIwNjM0OTIwNjM0NDAwMDA7CngxWzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngxWzM2XSA9IDkuMTQyODU3MTQyODU3MTQyMzAwMDA7CngxWzM3XSA9IDkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CngxWzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CngxWzM5XSA9IDkuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CngxWzQwXSA9IDEwLjE1ODczMDE1ODczMDE1ODAwMDAwOwp4MVs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeDFbNDJdID0gMTAuNjY2NjY2NjY2NjY2NjY2MDAwMDA7CngxWzQzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeDFbNDVdID0gMTEuNDI4NTcxNDI4NTcxNDI5MDAwMDA7CngxWzQ2XSA9IDExLjY4MjUzOTY4MjUzOTY4MjAwMDAwOwp4MVs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeDFbNDhdID0gMTIuMTkwNDc2MTkwNDc2MTkwMDAwMDA7CngxWzQ5XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4MVs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeDFbNTFdID0gMTIuOTUyMzgwOTUyMzgwOTUzMDAwMDA7CngxWzUyXSA9IDEzLjIwNjM0OTIwNjM0OTIwNjAwMDAwOwp4MVs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeDFbNTRdID0gMTMuNzE0Mjg1NzE0Mjg1NzE0MDAwMDA7CngxWzU1XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4MVs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeDFbNTddID0gMTQuNDc2MTkwNDc2MTkwNDc2MDAwMDA7CngxWzU4XSA9IDE0LjczMDE1ODczMDE1ODcyOTAwMDAwOwp4MVs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeDFbNjBdID0gMTUuMjM4MDk1MjM4MDk1MjM3MDAwMDA7CngxWzYxXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4MVs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeDFbNjNdID0gMTYuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKCnZhciB4MiA9IG5ldyBBcnJheSgpOwp4MlswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDJbMV0gPSAtMTUuNDkyMDYzNDkyMDYzNDkyMDAwMDA7CngyWzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4MlszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeDJbNF0gPSAtMTMuOTY4MjUzOTY4MjUzOTY4MDAwMDA7CngyWzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4Mls2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbN10gPSAtMTIuNDQ0NDQ0NDQ0NDQ0NDQ1MDAwMDA7CngyWzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4Mls5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeDJbMTBdID0gLTEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MlsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4MlsxM10gPSAtOS4zOTY4MjUzOTY4MjUzOTcyMDAwMDsKeDJbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngyWzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4MlsxNl0gPSAtNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CngyWzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4MlsxOV0gPSAtNi4zNDkyMDYzNDkyMDYzNDk3MDAwMDsKeDJbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CngyWzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4MlsyMl0gPSAtNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CngyWzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4MlsyNV0gPSAtMy4zMDE1ODczMDE1ODczMDIzMDAwMDsKeDJbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CngyWzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4MlsyOF0gPSAtMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CngyWzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4MlszMV0gPSAtMC4yNTM5NjgyNTM5NjgyNTQ4NDAwMDsKeDJbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeDJbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeDJbMzRdID0gMS4yNjk4NDEyNjk4NDEyNjg5MDAwMDsKeDJbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeDJbMzddID0gMi43OTM2NTA3OTM2NTA3OTQ0MDAwMDsKeDJbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeDJbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeDJbNDBdID0gNC4zMTc0NjAzMTc0NjAzMTYzMDAwMDsKeDJbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeDJbNDNdID0gNS44NDEyNjk4NDEyNjk4NDE4MDAwMDsKeDJbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeDJbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeDJbNDZdID0gNy4zNjUwNzkzNjUwNzkzNjM4MDAwMDsKeDJbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeDJbNDldID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeDJbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeDJbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDJbNTJdID0gMTAuNDEyNjk4NDEyNjk4NDExMDAwMDA7CngyWzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4Mls1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeDJbNTVdID0gMTEuOTM2NTA3OTM2NTA3OTM3MDAwMDA7CngyWzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4Mls1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbNThdID0gMTMuNDYwMzE3NDYwMzE3NDU5MDAwMDA7CngyWzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4Mls2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeDJbNjFdID0gMTQuOTg0MTI2OTg0MTI2OTg0MDAwMDA7CngyWzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4Mls2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gK0luZmluaXR5Owp5WzFdID0gMTY2NDE1ODk3OS4xMTA5NjI5MDAwMDAwMDAwMDAwMDsKeVsyXSA9IDI1NTk2Ljk4ODYyMjA2NDI0NzAwMDAwMDAwOwp5WzNdID0gNTEuMjQyMjQzNjAzMzIyMDU5MDAwMDA7CnlbNF0gPSAwLjgwMjUzNzIxNjIxMDAxMjczMDAwOwp5WzVdID0gMC4wNDAxMzI4MTYwNDE4NDI0MDYwMDsKeVs2XSA9IDAuMDA0MjcxODExNjc0NjY5NjgyNTA7CnlbN10gPSAwLjAwMDc3Njk4Njg0NjI5MzA3ODM5Owp5WzhdID0gMC4wMDAyMTE0MDQ0OTc1MTI4ODg1MjsKeVs5XSA9IDAuMDAwMDc4ODY2NDEyMTYyNzU4MjA7CnlbMTBdID0gMC4wMDAwMzc5Nzk3MDQ5NTYyNTkwNDsKeVsxMV0gPSAwLjAwMDAyMjYwMTg2NTc2OTQ0Mzg0Owp5WzEyXSA9IDAuMDAwMDE2MDg3MzU3MDQ2NzU5OTQ7CnlbMTNdID0gMC4wMDAwMTMzNTUyNjYzOTQ0MDg0MDsKeVsxNF0gPSAwLjAwMDAxMjY3NzgyNDA3ODI1MDAyOwp5WzE1XSA9IDAuMDAwMDEzNTQ0MTA3MzkzMDcyOTg7CnlbMTZdID0gMC4wMDAwMTYwNzQwNDcwMDA3NzIxNDsKeVsxN10gPSAwLjAwMDAyMDk2NDg5Nzk4OTQ5ODU4Owp5WzE4XSA9IDAuMDAwMDI5NzgwMzM0MTEzMTY4NzI7CnlbMTldID0gMC4wMDAwNDU3MjAxNTc2OTMyNjcwNzsKeVsyMF0gPSAwLjAwMDA3NTM2NjIwODg0ODk2ODI3Owp5WzIxXSA9IDAuMDAwMTMyNjM5Njc1NTg4ODI2ODc7CnlbMjJdID0gMC4wMDAyNDgwMDA5MTk1MDkxNzc5NjsKeVsyM10gPSAwLjAwMDQ5MDQ5NTc4NzcyMDUyNjgwOwp5WzI0XSA9IDAuMDAxMDIyMjU1MjEyMzg4ODU0OTA7CnlbMjVdID0gMC4wMDIyMzc0NDE0NzM1NjY2MTg4MDsKeVsyNl0gPSAwLjAwNTEyNzM5NzU1ODc4NTg3OTIwOwp5WzI3XSA9IDAuMDEyMjY5MTgwMzA3NTQ4NjMwMDA7CnlbMjhdID0gMC4wMzA1ODA0OTQ3NTQyNzQwOTQwMDsKeVsyOV0gPSAwLjA3OTIxNzcxNDcyNTY5OTY2MjAwOwp5WzMwXSA9IDAuMjEyODUwOTg2MDExNjc0NTcwMDA7CnlbMzFdID0gMC41OTIxMTg0NjIzMzg2MDMyMTAwMDsKeVszMl0gPSAxLjcwMjUyMzc2OTE5NDA3NzMwMDAwOwp5WzMzXSA9IDUuMDUxOTc5OTQxODYzNTA5MjAwMDA7CnlbMzRdID0gMTUuNDQ4OTY4NjY3NTg4Mjc3MDAwMDA7CnlbMzVdID0gNDguNjIyNzk5NDk4MTYxNDc3MDAwMDA7CnlbMzZdID0gMTU3LjMxMDg2MDMzMTM5MDM5MDAwMDAwOwp5WzM3XSA9IDUyMi42MDAyMTI3NzQ3Njc2NzAwMDAwMDsKeVszOF0gPSAxNzgwLjgyMzE2NzEzNDI2OTkwMDAwMDAwOwp5WzM5XSA9IDYyMTguNTg1MDk4NDYzMzc3MTAwMDAwMDA7CnlbNDBdID0gMjIyMzIuNTQ5MTY4OTgwMjU1MDAwMDAwMDA7CnlbNDFdID0gODEzMTAuNTA2OTU4MTQ4NDQyMDAwMDAwMDA7CnlbNDJdID0gMzAzOTYyLjM5NTk5OTk0OTE5MDAwMDAwMDAwOwp5WzQzXSA9IDExNjA2MDkuMzkxNTE4MzU4MTAwMDAwMDAwMDA7CnlbNDRdID0gNDUyMzE2MC4xNjM5NjE4MzUyMDAwMDAwMDAwMDsKeVs0NV0gPSAxNzk4MDUwNi41MzEwNTY4NjYwMDAwMDAwMDAwMDsKeVs0Nl0gPSA3Mjg2MTI2MC42MzE0MDA4NTMwMDAwMDAwMDAwMDsKeVs0N10gPSAzMDA3OTU5NjUuMTgzNzI4MDQwMDAwMDAwMDAwMDA7CnlbNDhdID0gMTI2NDQwODg0My44ODYzNjI2MDAwMDAwMDAwMDAwMDsKeVs0OV0gPSA1NDA4OTgzNzA1LjgyNTk1OTIwMDAwMDAwMDAwMDAwOwp5WzUwXSA9IDIzNTM2NDM4NDg1LjMyMzI0NjAwMDAwMDAwMDAwMDAwOwp5WzUxXSA9IDEwNDEyNTcyNDIwMS43Nzg4ODAwMDAwMDAwMDAwMDAwMDsKeVs1Ml0gPSA0NjgxMzcwNzk0MDkuMTc0NjIwMDAwMDAwMDAwMDAwMDA7CnlbNTNdID0gMjEzNzk2NTg2NTkxMy45MTI2MDAwMDAwMDAwMDAwMDAwMDsKeVs1NF0gPSA5OTE0MzY4NjQzODA4LjI1MjAwMDAwMDAwMDAwMDAwMDAwOwp5WzU1XSA9IDQ2NjY1NzI2OTk1MzE3Ljg5ODAwMDAwMDAwMDAwMDAwMDAwOwp5WzU2XSA9IDIyMjg2Mzc4NjQwOTAzOS44NzAwMDAwMDAwMDAwMDAwMDAwMDsKeVs1N10gPSAxMDc5NTM0NDQzNzAyMDY1LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzU4XSA9IDUzMDIwMzc4NTAzMjk5NTIuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNTldID0gMjYzOTQ4MTMzMTM3NTEwODQuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNjBdID0gMTMzMTQ2NTQzMjM1MDI0NzIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYxXSA9IDY4MDM3NTA4MjM1MTg4NTk1MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVs2Ml0gPSAzNTIwODc4NTQyNDQ3ODIzOTAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYzXSA9IDE4NDQ2NzQ0MDczNzA5NTUyMDAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbngxID0gIiArIHgxW2ldICsgIlxueDIgPSAiICsgeDJbaV0gKyAiXG5saWJjLnBvdyh4MSx4MikgPSAiICsgeVtpXSArICJcbk1hdGgucG93KHgxLHgyKSA9ICIgKyBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pICsgIlxuTWF0aC5hYnMobGliYy5wb3coeDEseDIpIC0gTWF0aC5wb3coeDEseDIpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.pow, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.pow(argument1, argument2) is approximately equals to its mathematical value on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeCBpcyBudW1iZXIgb3IgTmFOIGFuZCB5IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsIC0wKSAhPT0gMSIpOwoJfQp9Cgo=","commentary":"If y is -0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where x is number or NaN and y is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiBhbmQgeSBpcyBub256ZXJvLCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgeCBpcyBOYU4gYW5kIHkgaXMgbm9uemVybwogKi8KCi8vIENIRUNLIzEKCnggPSBOYU47CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzVdID0gK0luZmluaXR5Owp5WzZdID0gTmFOOwp5bnVtID0gNzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeCx5W2ldKSkpCgl7CgkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpKSA9PT0gZmFsc2UiKTsKCX0KfQoK","commentary":"If x is NaN and y is nonzero, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x is NaN and y is nonzero","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgYWJzKHgpPjEgYW5kIHkgaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICtJbmZpbml0eTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMS4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeFs0XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbNV0gPSArSW5maW5pdHk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)>1 and y is +Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)>1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KT4xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC1JbmZpbml0eTsKeFsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp4WzNdID0gMS4wMDAwMDAwMDAwMDAwMDE7CnhbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp4WzVdID0gK0luZmluaXR5Owp4bnVtID0gNjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4W2ldLHkpICE9PSArMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICswIik7Cgl9Cn0KCg==","commentary":"If abs(x)>1 and y is -Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)>1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgK0luZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is +Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgLUluZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is -Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4W2ldICsgIiwgIiArIHkgKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If abs(x)<1 and y is +Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)<1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnJhbmRvbSgpIHJldHVybnMgYSBudW1iZXIgdmFsdWUgd2l0aCBwb3NpdGl2ZSBzaWduLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCBidXQgbGVzcyB0aGFuIDEKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTQvUzE1LjguMi4xNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yYW5kb20oKSBpcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIGNhbGxpbmcgTWF0aC5yYW5kb20oKSAxMDAgdGltZXMKICovCgovLyBDSEVDSyMxCmZvciAoaSA9IDA7IGkgPCAxMDA7IGkrKykKewoJdmFsID0gTWF0aC5yYW5kb20oKTsKCWlmICh2YWwgPCAwIHx8IHZhbCA+PSAxKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucmFuZG9tKCkgPSAiICsgdmFsKTsKCX0KfQoK","commentary":"Math.random() returns a number value with positive sign, greater than or equal to 0 but less than 1","description":"Checking if Math.random() is a number between 0 and 1, calling Math.random() 100 times","path":"TestCases/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5yb3VuZCh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBOYU4sIHdoZXJlIHggaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnJvdW5kKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PU5hTjsgaXNOYU4oTWF0aC5yb3VuZCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.round(x) is NaN","description":"Checking if Math.round(x) is NaN, where x is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLnJvdW5kKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5yb3VuZCh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.round(x) is +0","description":"Checking if Math.round(x) equals to +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnJvdW5kKHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMDsgTWF0aC5yb3VuZCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.round(x) is -0","description":"Checking if Math.round(x) equals to -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHksIHdoZXJlIHggaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PStJbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.round(x) is +Infinity","description":"Checking if Math.round(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHksIHdoZXJlIHggaXMgLUluZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.round(x) is -Infinity","description":"Checking if Math.round(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvIDAgb3IgZ3JlYXRlciB0aGFuIDAsIG9yIGlmIHggaXMgbGVzcyB0aGFuIC0wLjUsIE1hdGgucm91bmQoeCkgaXMgZXF1YWwgdG8gTWF0aC5mbG9vcih4KzAuNSkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byBNYXRoLmZsb29yKHgrMC41KSwgd2hlcmUgeCBlcXVhbHMgdG8gMCwgZ3JlYXRlciB0aGFuIDAsIG9yIGlzIGxlc3MgdGhhbiAtMC41OyB0aGlzIGNoZWNrIGlzIHBlcmZvcm1lZCBvbiAyMDAwIGFyZ3VtZW50IHggdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKGkgPSAwOyBpIDw9IDEwMDA7IGkrKykKewoJeCA9IGkvMTAuMDsKCWlmIChNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpKQoJewoJCSRFUlJPUigiIzE6ICd4ID0gIiArIHggKyAiOyBNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpJyIpCgl9Cn0KCmZvciAoaSA9IC01OyBpID49IC0xMDAwOyBpLS0pCnsKCWlmIChpID09PSAtNSkKCXsKCQl4ID0gLTAuNTAwMDAwMDAwMDAwMDAxOwoJfSBlbHNlCgl7CgkJeCA9IGkvMTAuMDsKCX0KCQoJaWYgKE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSkpCgl7CgkJJEVSUk9SKCIjMjogJ3ggPSAiICsgeCArICI7IE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSknIikKCX0KfQoK","commentary":"If x is equal to 0 or greater than 0, or if x is less than -0.5, Math.round(x) is equal to Math.floor(x+0.5)","description":"Checking if Math.round(x) is equal to Math.floor(x+0.5), where x equals to 0, greater than 0, or is less than -0.5; this check is performed on 2000 argument x values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMCBhbmQgeCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTAuNSwgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNS9TMTUuOC4yLjE1X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnJvdW5kKHgpIGlzIGVxdWFsIC0wLCB3aGVyZSB4IGlzIGVxdWFsIHRvIDAsIGVxdWFsIHRvIC0wLjUsIG9yIGxlc3MgdGhhbiAtMCB3aGlsZSBncmVhdGVyIHRoYW4gLTAuNQogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgucm91bmQoLTApICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ01hdGgucm91bmQoLTApICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMgppZiAoTWF0aC5yb3VuZCgtMC41KSAhPT0gLTApCnsKCSRFUlJPUigiIzI6ICdNYXRoLnJvdW5kKC0wLjUpICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wKQp7CgkkRVJST1IoIiMzOiAnTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is less than or equal to -0 and x is greater than or equal to -0.5, Math.round(x) is equal to -0","description":"Checking if Math.round(x) is equal -0, where x is equal to 0, equal to -0.5, or less than -0 while greater than -0.5","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGguc2luKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.sin(x) is NaN","description":"Checking if Math.sin(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnNpbih4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNi9TMTUuOC4yLjE2X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNpbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5zaW4oeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5zaW4oeCkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is -0, Math.sin(x) is -0","description":"Checking if Math.sin(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKCtJbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgaXNOYU4oTWF0aC5zaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is +Infinity, Math.sin(x) is NaN","description":"Checking if Math.sin(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKC1JbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgaXNOYU4oTWF0aC5zaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is -Infinity, Math.sin(x) is NaN","description":"Checking if Math.sin(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5lIGlzIGEgcGVyaW9kaWMgZnVuY3Rpb24gd2l0aCBwZXJpb2QgMipQSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNi9TMTUuOC4yLjE2X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNpbih4KSBlcXVhbHMgdG8gTWF0aC5zaW4oeCtuKjIqTWF0aC5QSSkgd2l0aCBwcmVjaXNpb24gMC4wMDAwMDAwMDAwMDMsIHdoZXJlIG4gaXMgYW4gaW50ZWdlciBmcm9tIDEgdG8gMTAwIGFuZCB4IGlzIG9uZSBvZiAxMCBmbG9hdCBwb2ludCB2YWx1ZXMgZnJvbSAwIHRvIDIqTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMDM7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDAxOwpwZXJpb2QgPSAyKk1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kOwpiID0gcGVybnVtICogcGVyaW9kOwpzbnVtID0gOTsgCnN0ZXAgPSBwZXJpb2Qvc251bSArIDAuMDsKeCA9IG5ldyBBcnJheSgpOwpmb3IgKGkgPSAwOyBpIDwgc251bTsgaSsrKQp7Cgl4W2ldID0gYSArIGkqc3RlcDsKfQp4WzldID0gYSArIHBlcmlvZDsKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC5zaW4oeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGguc2luKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiBzaW4gaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLnNpbigiICsgeFtpXSArICIpIC0gTWF0aC5zaW4oIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGguc2luKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC5zaW4oIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGguc2luKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Sine is a periodic function with period 2*PI","description":"Checking if Math.sin(x) equals to Math.sin(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to 2*Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnNpbiBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luIGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWVzIG9uIHRoZSBzZXQgb2YgNjQgYXJndW1lbnQgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gMC4wOTk3MzMxMDAxMTM5NjE2OTIwMDsKeFsyXSA9IDAuMTk5NDY2MjAwMjI3OTIzMzgwMDA7CnhbM10gPSAwLjI5OTE5OTMwMDM0MTg4NTA4MDAwOwp4WzRdID0gMC4zOTg5MzI0MDA0NTU4NDY3NzAwMDsKeFs1XSA9IDAuNDk4NjY1NTAwNTY5ODA4NDEwMDA7CnhbNl0gPSAwLjU5ODM5ODYwMDY4Mzc3MDE1MDAwOwp4WzddID0gMC42OTgxMzE3MDA3OTc3MzE3OTAwMDsKeFs4XSA9IDAuNzk3ODY0ODAwOTExNjkzNTQwMDA7CnhbOV0gPSAwLjg5NzU5NzkwMTAyNTY1NTE4MDAwOwp4WzEwXSA9IDAuOTk3MzMxMDAxMTM5NjE2ODEwMDA7CnhbMTFdID0gMS4wOTcwNjQxMDEyNTM1Nzg0MDAwMDsKeFsxMl0gPSAxLjE5Njc5NzIwMTM2NzU0MDMwMDAwOwp4WzEzXSA9IDEuMjk2NTMwMzAxNDgxNTAxOTAwMDA7CnhbMTRdID0gMS4zOTYyNjM0MDE1OTU0NjM2MDAwMDsKeFsxNV0gPSAxLjQ5NTk5NjUwMTcwOTQyNTIwMDAwOwp4WzE2XSA9IDEuNTk1NzI5NjAxODIzMzg3MTAwMDA7CnhbMTddID0gMS42OTU0NjI3MDE5MzczNDg3MDAwMDsKeFsxOF0gPSAxLjc5NTE5NTgwMjA1MTMxMDQwMDAwOwp4WzE5XSA9IDEuODk0OTI4OTAyMTY1MjcyMDAwMDA7CnhbMjBdID0gMS45OTQ2NjIwMDIyNzkyMzM2MDAwMDsKeFsyMV0gPSAyLjA5NDM5NTEwMjM5MzE5NTcwMDAwOwp4WzIyXSA9IDIuMTk0MTI4MjAyNTA3MTU2OTAwMDA7CnhbMjNdID0gMi4yOTM4NjEzMDI2MjExMTg1MDAwMDsKeFsyNF0gPSAyLjM5MzU5NDQwMjczNTA4MDYwMDAwOwp4WzI1XSA9IDIuNDkzMzI3NTAyODQ5MDQyMzAwMDA7CnhbMjZdID0gMi41OTMwNjA2MDI5NjMwMDM5MDAwMDsKeFsyN10gPSAyLjY5Mjc5MzcwMzA3Njk2NTUwMDAwOwp4WzI4XSA9IDIuNzkyNTI2ODAzMTkwOTI3MjAwMDA7CnhbMjldID0gMi44OTIyNTk5MDMzMDQ4ODg4MDAwMDsKeFszMF0gPSAyLjk5MTk5MzAwMzQxODg1MDQwMDAwOwp4WzMxXSA9IDMuMDkxNzI2MTAzNTMyODEyMTAwMDA7CnhbMzJdID0gMy4xOTE0NTkyMDM2NDY3NzQyMDAwMDsKeFszM10gPSAzLjI5MTE5MjMwMzc2MDczNTgwMDAwOwp4WzM0XSA9IDMuMzkwOTI1NDAzODc0Njk3NDAwMDA7CnhbMzVdID0gMy40OTA2NTg1MDM5ODg2NTkxMDAwMDsKeFszNl0gPSAzLjU5MDM5MTYwNDEwMjYyMDcwMDAwOwp4WzM3XSA9IDMuNjkwMTI0NzA0MjE2NTgyMzAwMDA7CnhbMzhdID0gMy43ODk4NTc4MDQzMzA1NDQwMDAwMDsKeFszOV0gPSAzLjg4OTU5MDkwNDQ0NDUwNTYwMDAwOwp4WzQwXSA9IDMuOTg5MzI0MDA0NTU4NDY3MzAwMDA7CnhbNDFdID0gNC4wODkwNTcxMDQ2NzI0Mjg0MDAwMDsKeFs0Ml0gPSA0LjE4ODc5MDIwNDc4NjM5MTQwMDAwOwp4WzQzXSA9IDQuMjg4NTIzMzA0OTAwMzUyNjAwMDA7CnhbNDRdID0gNC4zODgyNTY0MDUwMTQzMTM4MDAwMDsKeFs0NV0gPSA0LjQ4Nzk4OTUwNTEyODI3NTkwMDAwOwp4WzQ2XSA9IDQuNTg3NzIyNjA1MjQyMjM3MTAwMDA7CnhbNDddID0gNC42ODc0NTU3MDUzNTYxOTkyMDAwMDsKeFs0OF0gPSA0Ljc4NzE4ODgwNTQ3MDE2MTIwMDAwOwp4WzQ5XSA9IDQuODg2OTIxOTA1NTg0MTIyNDAwMDA7CnhbNTBdID0gNC45ODY2NTUwMDU2OTgwODQ1MDAwMDsKeFs1MV0gPSA1LjA4NjM4ODEwNTgxMjA0NTcwMDAwOwp4WzUyXSA9IDUuMTg2MTIxMjA1OTI2MDA3ODAwMDA7CnhbNTNdID0gNS4yODU4NTQzMDYwMzk5Njk5MDAwMDsKeFs1NF0gPSA1LjM4NTU4NzQwNjE1MzkzMTEwMDAwOwp4WzU1XSA9IDUuNDg1MzIwNTA2MjY3ODkzMTAwMDA7CnhbNTZdID0gNS41ODUwNTM2MDYzODE4NTQzMDAwMDsKeFs1N10gPSA1LjY4NDc4NjcwNjQ5NTgxNTUwMDAwOwp4WzU4XSA9IDUuNzg0NTE5ODA2NjA5Nzc3NjAwMDA7CnhbNTldID0gNS44ODQyNTI5MDY3MjM3Mzk3MDAwMDsKeFs2MF0gPSA1Ljk4Mzk4NjAwNjgzNzcwMDkwMDAwOwp4WzYxXSA9IDYuMDgzNzE5MTA2OTUxNjYzMDAwMDA7CnhbNjJdID0gNi4xODM0NTIyMDcwNjU2MjQyMDAwMDsKeFs2M10gPSA2LjI4MzE4NTMwNzE3OTU4NjIwMDAwOwoKCnZhciB5ID0gbmV3IEFycmF5KCk7CnlbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzFdID0gMC4wOTk1Njc4NDY1OTU4MTY2NjEwMDsKeVsyXSA9IDAuMTk4MTQ2MTQzMTk5Mzk3NTgwMDA7CnlbM10gPSAwLjI5NDc1NTE3NDQxMDkwNDIxMDAwOwp5WzRdID0gMC4zODg0MzQ3OTYyNzQ2OTQ3NDAwMDsKeVs1XSA9IDAuNDc4MjUzOTc4NjIxMzE4MTkwMDA7CnlbNl0gPSAwLjU2MzMyMDA1ODA2MzYyMjA2MDAwOwp5WzddID0gMC42NDI3ODc2MDk2ODY1MzkyNTAwMDsKeVs4XSA9IDAuNzE1ODY2ODQ5MjU5NzE4NDQwMDA7CnlbOV0gPSAwLjc4MTgzMTQ4MjQ2ODAyOTgwMDAwOwp5WzEwXSA9IDAuODQwMDI1OTIzMTUwNzcxNDAwMDA7CnlbMTFdID0gMC44ODk4NzE4MDg4MTE0Njg1NTAwMDsKeVsxMl0gPSAwLjkzMDg3Mzc0ODY0NDIwNDI1MDAwOwp5WzEzXSA9IDAuOTYyNjI0MjQ2OTUwMDEyMDMwMDA7CnlbMTRdID0gMC45ODQ4MDc3NTMwMTIyMDgwMjAwMDsKeVsxNV0gPSAwLjk5NzIwMzc5NzE4MTE4MDEzMDAwOwp5WzE2XSA9IDAuOTk5Njg5MTgyMDAwODE2MjUwMDA7CnlbMTddID0gMC45OTIyMzkyMDY2MDAxNzIwNjAwMDsKeVsxOF0gPSAwLjk3NDkyNzkxMjE4MTgyMzYyMDAwOwp5WzE5XSA9IDAuOTQ3OTI3MzQ2MTY3MTMxODEwMDA7CnlbMjBdID0gMC45MTE1MDU4NTIzMTE2NzMyNTAwMDsKeVsyMV0gPSAwLjg2NjAyNTQwMzc4NDQzODQ5MDAwOwp5WzIyXSA9IDAuODExOTM4MDA1NzE1ODU2NjEwMDA7CnlbMjNdID0gMC43NDk3ODEyMDI5Njc3MzQ0MzAwMDsKeVsyNF0gPSAwLjY4MDE3MjczNzc3MDkxOTM2MDAwOwp5WzI1XSA9IDAuNjAzODA0NDEwMzI1NDc3MzgwMDA7CnlbMjZdID0gMC41MjE0MzUyMDMzNzk0OTgxMTAwMDsKeVsyN10gPSAwLjQzMzg4MzczOTExNzU1ODIzMDAwOwp5WzI4XSA9IDAuMzQyMDIwMTQzMzI1NjY4ODgwMDA7CnlbMjldID0gMC4yNDY3NTczOTc2OTAyOTM4NDAwMDsKeVszMF0gPSAwLjE0OTA0MjI2NjE3NjE3NDcyMDAwOwp5WzMxXSA9IDAuMDQ5ODQ1ODg1NjYwNjk3NDgyMDA7CnlbMzJdID0gLTAuMDQ5ODQ1ODg1NjYwNjk3MjMzMDA7CnlbMzNdID0gLTAuMTQ5MDQyMjY2MTc2MTc0NDcwMDA7CnlbMzRdID0gLTAuMjQ2NzU3Mzk3NjkwMjkzNjIwMDA7CnlbMzVdID0gLTAuMzQyMDIwMTQzMzI1NjY4NjYwMDA7CnlbMzZdID0gLTAuNDMzODgzNzM5MTE3NTU4MDEwMDA7CnlbMzddID0gLTAuNTIxNDM1MjAzMzc5NDk3ODkwMDA7CnlbMzhdID0gLTAuNjAzODA0NDEwMzI1NDc3MTYwMDA7CnlbMzldID0gLTAuNjgwMTcyNzM3NzcwOTE5MTMwMDA7CnlbNDBdID0gLTAuNzQ5NzgxMjAyOTY3NzMzOTgwMDA7CnlbNDFdID0gLTAuODExOTM4MDA1NzE1ODU1OTUwMDA7CnlbNDJdID0gLTAuODY2MDI1NDAzNzg0NDM4ODIwMDA7CnlbNDNdID0gLTAuOTExNTA1ODUyMzExNjczMTQwMDA7CnlbNDRdID0gLTAuOTQ3OTI3MzQ2MTY3MTMxNTkwMDA7CnlbNDVdID0gLTAuOTc0OTI3OTEyMTgxODIzNjIwMDA7CnlbNDZdID0gLTAuOTkyMjM5MjA2NjAwMTcxOTUwMDA7CnlbNDddID0gLTAuOTk5Njg5MTgyMDAwODE2MjUwMDA7CnlbNDhdID0gLTAuOTk3MjAzNzk3MTgxMTgwMTMwMDA7CnlbNDldID0gLTAuOTg0ODA3NzUzMDEyMjA4MTMwMDA7CnlbNTBdID0gLTAuOTYyNjI0MjQ2OTUwMDEyMDMwMDA7CnlbNTFdID0gLTAuOTMwODczNzQ4NjQ0MjA0NDcwMDA7CnlbNTJdID0gLTAuODg5ODcxODA4ODExNDY4NjYwMDA7CnlbNTNdID0gLTAuODQwMDI1OTIzMTUwNzcxMjkwMDA7CnlbNTRdID0gLTAuNzgxODMxNDgyNDY4MDI5OTEwMDA7CnlbNTVdID0gLTAuNzE1ODY2ODQ5MjU5NzE4MzMwMDA7CnlbNTZdID0gLTAuNjQyNzg3NjA5Njg2NTM5NTgwMDA7CnlbNTddID0gLTAuNTYzMzIwMDU4MDYzNjIyNzMwMDA7CnlbNThdID0gLTAuNDc4MjUzOTc4NjIxMzE4NTgwMDA7CnlbNTldID0gLTAuMzg4NDM0Nzk2Mjc0Njk0NzQwMDA7CnlbNjBdID0gLTAuMjk0NzU1MTc0NDEwOTA0NzEwMDA7CnlbNjFdID0gLTAuMTk4MTQ2MTQzMTk5Mzk3NzIwMDA7CnlbNjJdID0gLTAuMDk5NTY3ODQ2NTk1ODE3Mjg2MDA7CnlbNjNdID0gLTAuMDAwMDAwMDAwMDAwMDAwMjQ0OTI5MzU5ODI5NDcwNjQwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnNpbih4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLnNpbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5zaW4oeCkgPSAiICsgTWF0aC5zaW4oeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLnNpbih4KSAtIE1hdGguc2luKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.sin it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.sin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5zcXJ0KHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNy9TMTUuOC4yLjE3X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNxcnQoTmFOKSBpcyBOYU4KICovCgovLyBDSEVDSyMxCnZhciB4ID0gTmFOOwppZiAoIWlzTmFOKE1hdGguc3FydCh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGguc3FydCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.sqrt(x) is NaN","description":"Checking if Math.sqrt(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGxlc3MgdGhhbiAwLCBNYXRoLnNxcnQoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE3L1MxNS44LjIuMTdfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc3FydCh4KSBpcyBOYU4sIHdoZXJlIHggaXMgbGVzcyB0aGFuIDAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguc3FydCh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMC4wMDAwMDAwMDAwMDAwMDE7IGlzTmFOKE1hdGguc3FydCh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMyCnZhciB4ID0gLTE7CmlmICghaXNOYU4oTWF0aC5zcXJ0KHgpKSkKewoJJEVSUk9SKCIjMjogJ3ZhciB4PS0xOyBpc05hTihNYXRoLnNxcnQoeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNxcnQoeCkpKQp7CgkkRVJST1IoIiMzOiAndmFyIHg9LUluZmluaXR5OyBpc05hTihNYXRoLnNxcnQoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x less than 0, Math.sqrt(x) is NaN","description":"Checking if Math.sqrt(x) is NaN, where x is less than 0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvICswLCBNYXRoLnNxcnQoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0KCswKSBlcXVhbHMgdG8gKzAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gKzA7CmlmIChNYXRoLnNxcnQoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9KzA7IE1hdGguc3FydCh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is equal to +0, Math.sqrt(x) is +0","description":"Checking if Math.sqrt(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvIC0wLCBNYXRoLnNxcnQoeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0KC0wKSBlcXVhbHMgdG8gLTAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTA7CmlmIChNYXRoLnNxcnQoeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LTA7IE1hdGguc3FydCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is equal to -0, Math.sqrt(x) is -0","description":"Checking if Math.sqrt(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5zcXJ0KHgpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNy9TMTUuOC4yLjE3X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNxcnQoK0luZmluaXR5KSBpcyArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5zcXJ0KHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rSW5maW5pdHk7IE1hdGguc3FydCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is equal to +Infinity, Math.sqrt(x) is +Infinity","description":"Checking if Math.sqrt(+Infinity) is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnNxcnQsIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTcvUzE1LjguMi4xN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5zcXJ0IGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWVzIG9uIHRoZSBzZXQgb2YgNjQgYXJndW1lbnQgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gMC4yNTM5NjgyNTM5NjgyNTM5NTAwMDsKeFsyXSA9IDAuNTA3OTM2NTA3OTM2NTA3OTEwMDA7CnhbM10gPSAwLjc2MTkwNDc2MTkwNDc2MTg2MDAwOwp4WzRdID0gMS4wMTU4NzMwMTU4NzMwMTU4MDAwMDsKeFs1XSA9IDEuMjY5ODQxMjY5ODQxMjY5ODAwMDA7CnhbNl0gPSAxLjUyMzgwOTUyMzgwOTUyMzcwMDAwOwp4WzddID0gMS43Nzc3Nzc3Nzc3Nzc3Nzc3MDAwMDsKeFs4XSA9IDIuMDMxNzQ2MDMxNzQ2MDMxNjAwMDA7CnhbOV0gPSAyLjI4NTcxNDI4NTcxNDI4NTYwMDAwOwp4WzEwXSA9IDIuNTM5NjgyNTM5NjgyNTM5NTAwMDA7CnhbMTFdID0gMi43OTM2NTA3OTM2NTA3OTM1MDAwMDsKeFsxMl0gPSAzLjA0NzYxOTA0NzYxOTA0NzQwMDAwOwp4WzEzXSA9IDMuMzAxNTg3MzAxNTg3MzAxNDAwMDA7CnhbMTRdID0gMy41NTU1NTU1NTU1NTU1NTU0MDAwMDsKeFsxNV0gPSAzLjgwOTUyMzgwOTUyMzgwOTMwMDAwOwp4WzE2XSA9IDQuMDYzNDkyMDYzNDkyMDYzMzAwMDA7CnhbMTddID0gNC4zMTc0NjAzMTc0NjAzMTcyMDAwMDsKeFsxOF0gPSA0LjU3MTQyODU3MTQyODU3MTIwMDAwOwp4WzE5XSA9IDQuODI1Mzk2ODI1Mzk2ODI1MTAwMDA7CnhbMjBdID0gNS4wNzkzNjUwNzkzNjUwNzkxMDAwMDsKeFsyMV0gPSA1LjMzMzMzMzMzMzMzMzMzMzAwMDAwOwp4WzIyXSA9IDUuNTg3MzAxNTg3MzAxNTg3MDAwMDA7CnhbMjNdID0gNS44NDEyNjk4NDEyNjk4NDA5MDAwMDsKeFsyNF0gPSA2LjA5NTIzODA5NTIzODA5NDkwMDAwOwp4WzI1XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4OTAwMDA7CnhbMjZdID0gNi42MDMxNzQ2MDMxNzQ2MDI4MDAwMDsKeFsyN10gPSA2Ljg1NzE0Mjg1NzE0Mjg1NjgwMDAwOwp4WzI4XSA9IDcuMTExMTExMTExMTExMTEwNzAwMDA7CnhbMjldID0gNy4zNjUwNzkzNjUwNzkzNjQ3MDAwMDsKeFszMF0gPSA3LjYxOTA0NzYxOTA0NzYxODYwMDAwOwp4WzMxXSA9IDcuODczMDE1ODczMDE1ODcyNjAwMDA7CnhbMzJdID0gOC4xMjY5ODQxMjY5ODQxMjY1MDAwMDsKeFszM10gPSA4LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4WzM0XSA9IDguNjM0OTIwNjM0OTIwNjM0NDAwMDA7CnhbMzVdID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeFszNl0gPSA5LjE0Mjg1NzE0Mjg1NzE0MjMwMDAwOwp4WzM3XSA9IDkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CnhbMzhdID0gOS42NTA3OTM2NTA3OTM2NTAzMDAwMDsKeFszOV0gPSA5LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzQwXSA9IDEwLjE1ODczMDE1ODczMDE1ODAwMDAwOwp4WzQxXSA9IDEwLjQxMjY5ODQxMjY5ODQxMzAwMDAwOwp4WzQyXSA9IDEwLjY2NjY2NjY2NjY2NjY2NjAwMDAwOwp4WzQzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4WzQ0XSA9IDExLjE3NDYwMzE3NDYwMzE3NDAwMDAwOwp4WzQ1XSA9IDExLjQyODU3MTQyODU3MTQyOTAwMDAwOwp4WzQ2XSA9IDExLjY4MjUzOTY4MjUzOTY4MjAwMDAwOwp4WzQ3XSA9IDExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzQ4XSA9IDEyLjE5MDQ3NjE5MDQ3NjE5MDAwMDAwOwp4WzQ5XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4WzUwXSA9IDEyLjY5ODQxMjY5ODQxMjY5ODAwMDAwOwp4WzUxXSA9IDEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzUyXSA9IDEzLjIwNjM0OTIwNjM0OTIwNjAwMDAwOwp4WzUzXSA9IDEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4WzU0XSA9IDEzLjcxNDI4NTcxNDI4NTcxNDAwMDAwOwp4WzU1XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzU2XSA9IDE0LjIyMjIyMjIyMjIyMjIyMTAwMDAwOwp4WzU3XSA9IDE0LjQ3NjE5MDQ3NjE5MDQ3NjAwMDAwOwp4WzU4XSA9IDE0LjczMDE1ODczMDE1ODcyOTAwMDAwOwp4WzU5XSA9IDE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzYwXSA9IDE1LjIzODA5NTIzODA5NTIzNzAwMDAwOwp4WzYxXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4WzYyXSA9IDE1Ljc0NjAzMTc0NjAzMTc0NTAwMDAwOwp4WzYzXSA9IDE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVsxXSA9IDAuNTAzOTUyNjMwNjc4OTY5NjcwMDA7CnlbMl0gPSAwLjcxMjY5NjY0NTA5OTc5ODM1MDAwOwp5WzNdID0gMC44NzI4NzE1NjA5NDM5Njk0NTAwMDsKeVs0XSA9IDEuMDA3OTA1MjYxMzU3OTM5MzAwMDA7CnlbNV0gPSAxLjEyNjg3MjMzOTYzODAyMjAwMDAwOwp5WzZdID0gMS4yMzQ0MjY3OTk2OTY3MzUzMDAwMDsKeVs3XSA9IDEuMzMzMzMzMzMzMzMzMzMzMzAwMDA7CnlbOF0gPSAxLjQyNTM5MzI5MDE5OTU5NjcwMDAwOwp5WzldID0gMS41MTE4NTc4OTIwMzY5MDg4MDAwMDsKeVsxMF0gPSAxLjU5MzYzODE0NTc3OTE5MTUwMDAwOwp5WzExXSA9IDEuNjcxNDIxNzg4MDc0Njg5ODAwMDA7CnlbMTJdID0gMS43NDU3NDMxMjE4ODc5Mzg5MDAwMDsKeVsxM10gPSAxLjgxNzAyNzA1MDMxNzk5MTcwMDAwOwp5WzE0XSA9IDEuODg1NjE4MDgzMTY0MTI2NzAwMDA7CnlbMTVdID0gMS45NTE4MDAxNDU4OTcwNjY0MDAwMDsKeVsxNl0gPSAyLjAxNTgxMDUyMjcxNTg3ODcwMDAwOwp5WzE3XSA9IDIuMDc3ODQ5OTI2NTk3Mjc5MDAwMDA7CnlbMThdID0gMi4xMzgwODk5MzUyOTkzOTUyMDAwMDsKeVsxOV0gPSAyLjE5NjY3ODU4OTQ2MTEwMzgwMDAwOwp5WzIwXSA9IDIuMjUzNzQ0Njc5Mjc2MDQ0MDAwMDA7CnlbMjFdID0gMi4zMDk0MDEwNzY3NTg1MDI5MDAwMDsKeVsyMl0gPSAyLjM2Mzc0NzM2MTE0MTExNTMwMDAwOwp5WzIzXSA9IDIuNDE2ODcxOTEyNDY2NTc1MjAwMDA7CnlbMjRdID0gMi40Njg4NTM1OTkzOTM0NzA2MDAwMDsKeVsyNV0gPSAyLjUxOTc2MzE1MzM5NDg0ODEwMDAwOwp5WzI2XSA9IDIuNTY5NjY0Mjk3NzU4NDg0MDAwMDA7CnlbMjddID0gMi42MTg2MTQ2ODI4MzE5MDgzMDAwMDsKeVsyOF0gPSAyLjY2NjY2NjY2NjY2NjY2NjUwMDAwOwp5WzI5XSA9IDIuNzEzODY3OTcxMTk1MjM5NDAwMDA7CnlbMzBdID0gMi43NjAyNjIyMzczNjk0MTcwMDAwMDsKeVszMV0gPSAyLjgwNTg4OTQ5NzY0ODgwNjcwMDAwOwp5WzMyXSA9IDIuODUwNzg2NTgwMzk5MTkzNDAwMDA7CnlbMzNdID0gMi44OTQ5ODc0NTc4MjI5ODM1MDAwMDsKeVszNF0gPSAyLjkzODUyMzU0Njc2OTgxMTYwMDAwOwp5WzM1XSA9IDIuOTgxNDIzOTY5OTk5NzE5NjAwMDA7CnlbMzZdID0gMy4wMjM3MTU3ODQwNzM4MTc2MDAwMDsKeVszN10gPSAzLjA2NTQyNDE3ODkzOTI1MzgwMDAwOwp5WzM4XSA9IDMuMTA2NTcyNjUzMzkwNDkzMjAwMDA7CnlbMzldID0gMy4xNDcxODMxNjk4Nzc3NzI4MDAwMDsKeVs0MF0gPSAzLjE4NzI3NjI5MTU1ODM4MzAwMDAwOwp5WzQxXSA9IDMuMjI2ODcxMzA0MDE4NTU1NzAwMDA7CnlbNDJdID0gMy4yNjU5ODYzMjM3MTA5MDQxMDAwMDsKeVs0M10gPSAzLjMwNDYzODM5NDgzNzYxMzkwMDAwOwp5WzQ0XSA9IDMuMzQyODQzNTc2MTQ5Mzc5NTAwMDA7CnlbNDVdID0gMy4zODA2MTcwMTg5MTQwNjYzMDAwMDsKeVs0Nl0gPSAzLjQxNzk3MzAzNzEyODgzMDYwMDAwOwp5WzQ3XSA9IDMuNDU0OTI1MTcwODk4NDg2NzAwMDA7CnlbNDhdID0gMy40OTE0ODYyNDM3NzU4Nzc4MDAwMDsKeVs0OV0gPSAzLjUyNzY2ODQxNDc1Mjc4NzUwMDAwOwp5WzUwXSA9IDMuNTYzNDgzMjI1NDk4OTkxNzAwMDA7CnlbNTFdID0gMy41OTg5NDE2NDMzNjk3NDk0MDAwMDsKeVs1Ml0gPSAzLjYzNDA1NDEwMDYzNTk4MzQwMDAwOwp5WzUzXSA9IDMuNjY4ODMwNTMwMzM0ODk5NDAwMDA7CnlbNTRdID0gMy43MDMyODAzOTkwOTAyMDU3MDAwMDsKeVs1NV0gPSAzLjczNzQxMjczNzIwOTI1NDAwMDAwOwp5WzU2XSA9IDMuNzcxMjM2MTY2MzI4MjUzNDAwMDA7CnlbNTddID0gMy44MDQ3NTg5MjQ4NDUzNjc1MDAwMDsKeVs1OF0gPSAzLjgzNzk4ODg5MTM1NDI2MzUwMDAwOwp5WzU5XSA9IDMuODcwOTMzNjA2MjY2OTY2ODAwMDA7CnlbNjBdID0gMy45MDM2MDAyOTE3OTQxMzI4MDAwMDsKeVs2MV0gPSAzLjkzNTk5NTg3MDQzMjcyODcwMDAwOwp5WzYyXSA9IDMuOTY4MTI2OTgyMDk1MTczMDAwMDA7CnlbNjNdID0gNC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnNxcnQoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5zcXJ0KHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLnNxcnQoeCkgPSAiICsgTWF0aC5zcXJ0KHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5zcXJ0KHgpIC0gTWF0aC5zcXJ0KHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.sqrt, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.sqrt is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.17/S15.8.2.17_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.tan(x) is NaN","description":"Checking if Math.tan(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLnRhbih4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbigrMCkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC50YW4oeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9KzA7IE1hdGgudGFuKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is +0, Math.tan(x) is +0","description":"Checking if Math.tan(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnRhbih4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC50YW4oeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LTA7IE1hdGgudGFuKHgpICE9PSAtMCciKTsKfQoK","commentary":"If x is -0, Math.tan(x) is -0","description":"Checking if Math.tan(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKCtJbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rSW5maW5pdHk7IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is +Infinity, Math.tan(x) is NaN","description":"Checking if Math.tan(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC50YW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE4L1MxNS44LjIuMThfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgudGFuKC1JbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnRhbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tSW5maW5pdHk7IGlzTmFOKE1hdGgudGFuKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is -Infinity, Math.tan(x) is NaN","description":"Checking if Math.tan(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUYW5nZW50IGlzIGEgcGVyaW9kaWMgZnVuY3Rpb24gd2l0aCBwZXJpb2QgUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTgvUzE1LjguMi4xOF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC50YW4oeCkgZXF1YWxzIHRvIE1hdGgudGFuKHgrbipNYXRoLlBJKSB3aXRoIHByZWNpc2lvbiAwLjAwMDAwMDAwMDAwMywgd2hlcmUgbiBpcyBhbiBpbnRlZ2VyIGZyb20gMSB0byAxMDAgYW5kIHggaXMgb25lIG9mIDEwIGZsb2F0IHBvaW50IHZhbHVlcyBmcm9tIDAgdG8gTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMzsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMDE7CnBlcmlvZCA9IE1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kICsgcGVyaW9kLzI7CmIgPSBwZXJudW0gKiBwZXJpb2QgLSBwZXJpb2QvMjsKc251bSA9IDk7IApzdGVwID0gcGVyaW9kLyhzbnVtICsgMik7CnggPSBuZXcgQXJyYXkoKTsKZm9yIChpID0gMDsgaSA8PSBzbnVtOyBpKyspICAgIC8vLy8gV2UgZXhsdWRlIHNwZWNpYWwgcG9pbnRzIAp7CQkJCQkJCSAgIC8vLy8gICAgICAgICAgIGluIHRoaXMgY3ljbGUuCgl4W2ldID0gYSArIChpKzEpKnN0ZXA7ICAgICAvLy8vCn0JCQkJCQkJICAgLy8vLwoKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC50YW4oeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGgudGFuKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiB0YW4gaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLnRhbigiICsgeFtpXSArICIpIC0gTWF0aC50YW4oIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGgudGFuKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC50YW4oIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGgudGFuKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Tangent is a periodic function with period PI","description":"Checking if Math.tan(x) equals to Math.tan(x+n*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from 0 to Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnRhbiwgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xOC9TMTUuOC4yLjE4X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnRhbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuNTcwNzk2MzI2Nzk0ODk2NjAwMDA7CnhbMV0gPSAtMS41MjA5Mjk3NzY3Mzc5MTU3MDAwMDsKeFsyXSA9IC0xLjQ3MTA2MzIyNjY4MDkzNDkwMDAwOwp4WzNdID0gLTEuNDIxMTk2Njc2NjIzOTU0MTAwMDA7CnhbNF0gPSAtMS4zNzEzMzAxMjY1NjY5NzMzMDAwMDsKeFs1XSA9IC0xLjMyMTQ2MzU3NjUwOTk5MjIwMDAwOwp4WzZdID0gLTEuMjcxNTk3MDI2NDUzMDExNDAwMDA7CnhbN10gPSAtMS4yMjE3MzA0NzYzOTYwMzA2MDAwMDsKeFs4XSA9IC0xLjE3MTg2MzkyNjMzOTA0OTgwMDAwOwp4WzldID0gLTEuMTIxOTk3Mzc2MjgyMDY5MDAwMDA7CnhbMTBdID0gLTEuMDcyMTMwODI2MjI1MDg4MjAwMDA7CnhbMTFdID0gLTEuMDIyMjY0Mjc2MTY4MTA3MzAwMDA7CnhbMTJdID0gLTAuOTcyMzk3NzI2MTExMTI2NDAwMDA7CnhbMTNdID0gLTAuOTIyNTMxMTc2MDU0MTQ1NTkwMDA7CnhbMTRdID0gLTAuODcyNjY0NjI1OTk3MTY0NzcwMDA7CnhbMTVdID0gLTAuODIyNzk4MDc1OTQwMTgzOTUwMDA7CnhbMTZdID0gLTAuNzcyOTMxNTI1ODgzMjAzMDIwMDA7CnhbMTddID0gLTAuNzIzMDY0OTc1ODI2MjIyMjAwMDA7CnhbMThdID0gLTAuNjczMTk4NDI1NzY5MjQxMzgwMDA7CnhbMTldID0gLTAuNjIzMzMxODc1NzEyMjYwNTYwMDA7CnhbMjBdID0gLTAuNTczNDY1MzI1NjU1Mjc5NzUwMDA7CnhbMjFdID0gLTAuNTIzNTk4Nzc1NTk4Mjk4NzAwMDA7CnhbMjJdID0gLTAuNDczNzMyMjI1NTQxMzE4MTEwMDA7CnhbMjNdID0gLTAuNDIzODY1Njc1NDg0MzM3MjkwMDA7CnhbMjRdID0gLTAuMzczOTk5MTI1NDI3MzU2MjUwMDA7CnhbMjVdID0gLTAuMzI0MTMyNTc1MzcwMzc1NDMwMDA7CnhbMjZdID0gLTAuMjc0MjY2MDI1MzEzMzk0NjEwMDA7CnhbMjddID0gLTAuMjI0Mzk5NDc1MjU2NDEzNzkwMDA7CnhbMjhdID0gLTAuMTc0NTMyOTI1MTk5NDMyOTgwMDA7CnhbMjldID0gLTAuMTI0NjY2Mzc1MTQyNDUyMTYwMDA7CnhbMzBdID0gLTAuMDc0Nzk5ODI1MDg1NDcxMzM5MDA7CnhbMzFdID0gLTAuMDI0OTMzMjc1MDI4NDkwNTIwMDA7CnhbMzJdID0gMC4wMjQ5MzMyNzUwMjg0OTA1MjAwMDsKeFszM10gPSAwLjA3NDc5OTgyNTA4NTQ3MTMzOTAwOwp4WzM0XSA9IDAuMTI0NjY2Mzc1MTQyNDUyMTYwMDA7CnhbMzVdID0gMC4xNzQ1MzI5MjUxOTk0MzI5ODAwMDsKeFszNl0gPSAwLjIyNDM5OTQ3NTI1NjQxMzc5MDAwOwp4WzM3XSA9IDAuMjc0MjY2MDI1MzEzMzk0NjEwMDA7CnhbMzhdID0gMC4zMjQxMzI1NzUzNzAzNzU0MzAwMDsKeFszOV0gPSAwLjM3Mzk5OTEyNTQyNzM1NjI1MDAwOwp4WzQwXSA9IDAuNDIzODY1Njc1NDg0MzM3MDcwMDA7CnhbNDFdID0gMC40NzM3MzIyMjU1NDEzMTc2NjAwMDsKeFs0Ml0gPSAwLjUyMzU5ODc3NTU5ODI5OTE1MDAwOwp4WzQzXSA9IDAuNTczNDY1MzI1NjU1Mjc5NzUwMDA7CnhbNDRdID0gMC42MjMzMzE4NzU3MTIyNjAzNDAwMDsKeFs0NV0gPSAwLjY3MzE5ODQyNTc2OTI0MTM4MDAwOwp4WzQ2XSA9IDAuNzIzMDY0OTc1ODI2MjIxOTgwMDA7CnhbNDddID0gMC43NzI5MzE1MjU4ODMyMDMwMjAwMDsKeFs0OF0gPSAwLjgyMjc5ODA3NTk0MDE4NDA2MDAwOwp4WzQ5XSA9IDAuODcyNjY0NjI1OTk3MTY0NjYwMDA7CnhbNTBdID0gMC45MjI1MzExNzYwNTQxNDU3MDAwMDsKeFs1MV0gPSAwLjk3MjM5NzcyNjExMTEyNjI5MDAwOwp4WzUyXSA9IDEuMDIyMjY0Mjc2MTY4MTA3MzAwMDA7CnhbNTNdID0gMS4wNzIxMzA4MjYyMjUwODg0MDAwMDsKeFs1NF0gPSAxLjEyMTk5NzM3NjI4MjA2OTAwMDAwOwp4WzU1XSA9IDEuMTcxODYzOTI2MzM5MDUwMDAwMDA7CnhbNTZdID0gMS4yMjE3MzA0NzYzOTYwMzA2MDAwMDsKeFs1N10gPSAxLjI3MTU5NzAyNjQ1MzAxMTIwMDAwOwp4WzU4XSA9IDEuMzIxNDYzNTc2NTA5OTkyMjAwMDA7CnhbNTldID0gMS4zNzEzMzAxMjY1NjY5NzMzMDAwMDsKeFs2MF0gPSAxLjQyMTE5NjY3NjYyMzk1MzkwMDAwOwp4WzYxXSA9IDEuNDcxMDYzMjI2NjgwOTM0OTAwMDA7CnhbNjJdID0gMS41MjA5Mjk3NzY3Mzc5MTU1MDAwMDsKeFs2M10gPSAxLjU3MDc5NjMyNjc5NDg5NjYwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTE2MzMxMjM5MzUzMTk1MzcwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzFdID0gLTIwLjAzNjg5Nzg4OTk3ODI4MTAwMDAwOwp5WzJdID0gLTkuOTkzNDk0OTgyNDE3NDIyMjAwMDA7CnlbM10gPSAtNi42MzQ1NjY0OTk3ODkzMTE3MDAwMDsKeVs0XSA9IC00Ljk0NjcxNDk0NDk0OTQwMDYwMDAwOwp5WzVdID0gLTMuOTI3MjQ3MTQ3NjAyNzI2OTAwMDA7CnlbNl0gPSAtMy4yNDE5MjAzNzU3NjkyODcyMDAwMDsKeVs3XSA9IC0yLjc0NzQ3NzQxOTQ1NDYyMTYwMDAwOwp5WzhdID0gLTIuMzcyMjgwMjkxODQ3ODg3NjAwMDA7CnlbOV0gPSAtMi4wNzY1MjEzOTY1NzIzMzY0MDAwMDsKeVsxMF0gPSAtMS44MzYzMDc5Mjk3MzYyMzEwMDAwMDsKeVsxMV0gPSAtMS42MzY0Mjc0NTI3MzQwMTYxMDAwMDsKeVsxMl0gPSAtMS40NjY3MzA2MTM0MjA5NzM0MDAwMDsKeVsxM10gPSAtMS4zMjAxODMzMTM2NTQ4ODQ2MDAwMDsKeVsxNF0gPSAtMS4xOTE3NTM1OTI1OTQyMTAwMDAwMDsKeVsxNV0gPSAtMS4wNzc3NDM2ODM1MTIyMjY1MDAwMDsKeVsxNl0gPSAtMC45NzUzNzI0NzE1ODIwMDI5MTAwMDsKeVsxN10gPSAtMC44ODI1MDUyMzYxNjQ2NTQ5MzAwMDsKeVsxOF0gPSAtMC43OTc0NzMzODg4ODI0MDM5MzAwMDsKeVsxOV0gPSAtMC43MTg5NTEwMzgyODc4NjA1NjAwMDsKeVsyMF0gPSAtMC42NDU4Njg0NzcyODU1Mjg4NzAwMDsKeVsyMV0gPSAtMC41NzczNTAyNjkxODk2MjU1MTAwMDsKeVsyMl0gPSAtMC41MTI2NzAwODY2NzUxNjY3ODAwMDsKeVsyM10gPSAtMC40NTEyMTcxODMxNzgzMDMyMzAwMDsKeVsyNF0gPSAtMC4zOTI0NzEwNzg4MTAxMDI0MDAwMDsKeVsyNV0gPSAtMC4zMzU5ODIxMzE0NzgxNzY2ODAwMDsKeVsyNl0gPSAtMC4yODEzNTYzNzQ1MTU5NTMyNDAwMDsKeVsyN10gPSAtMC4yMjgyNDM0NzQzOTAxNDk5NDAwMDsKeVsyOF0gPSAtMC4xNzYzMjY5ODA3MDg0NjUwMDAwMDsKeVsyOV0gPSAtMC4xMjUzMTYyNTgyMzczMDQ0MTAwMDsKeVszMF0gPSAtMC4wNzQ5Mzk2NDAwMTkwODcwMzkwMDsKeVszMV0gPSAtMC4wMjQ5Mzg0NDMwNTUwNDYxMDEwMDsKeVszMl0gPSAwLjAyNDkzODQ0MzA1NTA0NjEwMTAwOwp5WzMzXSA9IDAuMDc0OTM5NjQwMDE5MDg3MDM5MDA7CnlbMzRdID0gMC4xMjUzMTYyNTgyMzczMDQ0MTAwMDsKeVszNV0gPSAwLjE3NjMyNjk4MDcwODQ2NTAwMDAwOwp5WzM2XSA9IDAuMjI4MjQzNDc0MzkwMTQ5OTQwMDA7CnlbMzddID0gMC4yODEzNTYzNzQ1MTU5NTMyNDAwMDsKeVszOF0gPSAwLjMzNTk4MjEzMTQ3ODE3NjY4MDAwOwp5WzM5XSA9IDAuMzkyNDcxMDc4ODEwMTAyNDAwMDA7CnlbNDBdID0gMC40NTEyMTcxODMxNzgzMDMwMTAwMDsKeVs0MV0gPSAwLjUxMjY3MDA4NjY3NTE2NjIzMDAwOwp5WzQyXSA9IDAuNTc3MzUwMjY5MTg5NjI2MTgwMDA7CnlbNDNdID0gMC42NDU4Njg0NzcyODU1Mjg4NzAwMDsKeVs0NF0gPSAwLjcxODk1MTAzODI4Nzg2MDIyMDAwOwp5WzQ1XSA9IDAuNzk3NDczMzg4ODgyNDAzOTMwMDA7CnlbNDZdID0gMC44ODI1MDUyMzYxNjQ2NTQ1OTAwMDsKeVs0N10gPSAwLjk3NTM3MjQ3MTU4MjAwMjkxMDAwOwp5WzQ4XSA9IDEuMDc3NzQzNjgzNTEyMjI2NzAwMDA7CnlbNDldID0gMS4xOTE3NTM1OTI1OTQyMDk1MDAwMDsKeVs1MF0gPSAxLjMyMDE4MzMxMzY1NDg4NTEwMDAwOwp5WzUxXSA9IDEuNDY2NzMwNjEzNDIwOTczMjAwMDA7CnlbNTJdID0gMS42MzY0Mjc0NTI3MzQwMTYxMDAwMDsKeVs1M10gPSAxLjgzNjMwNzkyOTczNjIzMTkwMDAwOwp5WzU0XSA9IDIuMDc2NTIxMzk2NTcyMzM2NDAwMDA7CnlbNTVdID0gMi4zNzIyODAyOTE4NDc4ODg5MDAwMDsKeVs1Nl0gPSAyLjc0NzQ3NzQxOTQ1NDYyMTYwMDAwOwp5WzU3XSA9IDMuMjQxOTIwMzc1NzY5Mjg0NTAwMDA7CnlbNThdID0gMy45MjcyNDcxNDc2MDI3MjY5MDAwMDsKeVs1OV0gPSA0Ljk0NjcxNDk0NDk0OTQwMDYwMDAwOwp5WzYwXSA9IDYuNjM0NTY2NDk5Nzg5MzAxOTAwMDA7CnlbNjFdID0gOS45OTM0OTQ5ODI0MTc0MjIyMDAwMDsKeVs2Ml0gPSAyMC4wMzY4OTc4ODk5NzgxOTIwMDAwMDsKeVs2M10gPSAxNjMzMTIzOTM1MzE5NTM3MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnRhbih4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLnRhbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC50YW4oeCkgPSAiICsgTWF0aC50YW4oeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLnRhbih4KSAtIE1hdGgudGFuKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.tan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.tan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.18/S15.8.2.18_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hY29zKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4yL1MxNS44LjIuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hY29zKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmFjb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFjb3MoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.acos(x) is NaN","description":"Checking if Math.acos(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAxLCBNYXRoLmFjb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjIvUzE1LjguMi4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFjb3MoeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGdyZWF0ZXIgdGhhbiAxCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOyBpc05hTihNYXRoLmFjb3MoeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMgp4ID0gMjsKaWYgKCFpc05hTihNYXRoLmFjb3MoeCkpKQp7CgkkRVJST1IoIiMyOiAneCA9IDI7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hY29zKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is greater than 1, Math.acos(x) is NaN","description":"Checking if Math.acos(x) is NaN, where x is greater than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAtMSwgTWF0aC5hY29zKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4yL1MxNS44LjIuMl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hY29zKHgpIGlzIE5hTiwgd2hlcmUgeCBpcyBsZXNzIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0xLjAwMDAwMDAwMDAwMDAwMTsgaXNOYU4oTWF0aC5hY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0yOwppZiAoIWlzTmFOKE1hdGguYWNvcyh4KSkpCnsKCSRFUlJPUigiIzI6ICd4ID0gLTI7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hY29zKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguYWNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than -1, Math.acos(x) is NaN","description":"Checking if Math.acos(x) is NaN, where x is less than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGV4YWN0bHkgMSwgTWF0aC5hY29zKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjIvUzE1LjguMi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFjb3MoMSkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChNYXRoLmFjb3MoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAxOyBNYXRoLmFjb3MoeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is exactly 1, Math.acos(x) is +0","description":"Checking if Math.acos(1) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmFjb3MsIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMi9TMTUuOC4yLjJfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYWNvcyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnhbMV0gPSAtMC45NjgyNTM5NjgyNTM5NjgyNjAwMDsKeFsyXSA9IC0wLjkzNjUwNzkzNjUwNzkzNjUxMDAwOwp4WzNdID0gLTAuOTA0NzYxOTA0NzYxOTA0NzcwMDA7CnhbNF0gPSAtMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs1XSA9IC0wLjg0MTI2OTg0MTI2OTg0MTI4MDAwOwp4WzZdID0gLTAuODA5NTIzODA5NTIzODA5NTMwMDA7CnhbN10gPSAtMC43Nzc3Nzc3Nzc3Nzc3Nzc3OTAwMDsKeFs4XSA9IC0wLjc0NjAzMTc0NjAzMTc0NjA1MDAwOwp4WzldID0gLTAuNzE0Mjg1NzE0Mjg1NzE0MzAwMDA7CnhbMTBdID0gLTAuNjgyNTM5NjgyNTM5NjgyNTYwMDA7CnhbMTFdID0gLTAuNjUwNzkzNjUwNzkzNjUwODEwMDA7CnhbMTJdID0gLTAuNjE5MDQ3NjE5MDQ3NjE5MDcwMDA7CnhbMTNdID0gLTAuNTg3MzAxNTg3MzAxNTg3MzIwMDA7CnhbMTRdID0gLTAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbMTVdID0gLTAuNTIzODA5NTIzODA5NTIzODQwMDA7CnhbMTZdID0gLTAuNDkyMDYzNDkyMDYzNDkyMDkwMDA7CnhbMTddID0gLTAuNDYwMzE3NDYwMzE3NDYwMzUwMDA7CnhbMThdID0gLTAuNDI4NTcxNDI4NTcxNDI4NjAwMDA7CnhbMTldID0gLTAuMzk2ODI1Mzk2ODI1Mzk2ODYwMDA7CnhbMjBdID0gLTAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbMjFdID0gLTAuMzMzMzMzMzMzMzMzMzMzMzcwMDA7CnhbMjJdID0gLTAuMzAxNTg3MzAxNTg3MzAxNjMwMDA7CnhbMjNdID0gLTAuMjY5ODQxMjY5ODQxMjY5ODgwMDA7CnhbMjRdID0gLTAuMjM4MDk1MjM4MDk1MjM4MTQwMDA7CnhbMjVdID0gLTAuMjA2MzQ5MjA2MzQ5MjA2MzkwMDA7CnhbMjZdID0gLTAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMjddID0gLTAuMTQyODU3MTQyODU3MTQyOTAwMDA7CnhbMjhdID0gLTAuMTExMTExMTExMTExMTExMTYwMDA7CnhbMjldID0gLTAuMDc5MzY1MDc5MzY1MDc5NDE2MDA7CnhbMzBdID0gLTAuMDQ3NjE5MDQ3NjE5MDQ3NjcyMDA7CnhbMzFdID0gLTAuMDE1ODczMDE1ODczMDE1OTI4MDA7CnhbMzJdID0gMC4wMTU4NzMwMTU4NzMwMTU4MTcwMDsKeFszM10gPSAwLjA0NzYxOTA0NzYxOTA0NzY3MjAwOwp4WzM0XSA9IDAuMDc5MzY1MDc5MzY1MDc5MzA1MDA7CnhbMzVdID0gMC4xMTExMTExMTExMTExMTExNjAwMDsKeFszNl0gPSAwLjE0Mjg1NzE0Mjg1NzE0Mjc5MDAwOwp4WzM3XSA9IDAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMzhdID0gMC4yMDYzNDkyMDYzNDkyMDYyODAwMDsKeFszOV0gPSAwLjIzODA5NTIzODA5NTIzODE0MDAwOwp4WzQwXSA9IDAuMjY5ODQxMjY5ODQxMjY5NzcwMDA7CnhbNDFdID0gMC4zMDE1ODczMDE1ODczMDE2MzAwMDsKeFs0Ml0gPSAwLjMzMzMzMzMzMzMzMzMzMzI2MDAwOwp4WzQzXSA9IDAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbNDRdID0gMC4zOTY4MjUzOTY4MjUzOTY3NTAwMDsKeFs0NV0gPSAwLjQyODU3MTQyODU3MTQyODYwMDAwOwp4WzQ2XSA9IDAuNDYwMzE3NDYwMzE3NDYwMjQwMDA7CnhbNDddID0gMC40OTIwNjM0OTIwNjM0OTIwOTAwMDsKeFs0OF0gPSAwLjUyMzgwOTUyMzgwOTUyMzcyMDAwOwp4WzQ5XSA9IDAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbNTBdID0gMC41ODczMDE1ODczMDE1ODcyMTAwMDsKeFs1MV0gPSAwLjYxOTA0NzYxOTA0NzYxOTA3MDAwOwp4WzUyXSA9IDAuNjUwNzkzNjUwNzkzNjUwNzAwMDA7CnhbNTNdID0gMC42ODI1Mzk2ODI1Mzk2ODI1NjAwMDsKeFs1NF0gPSAwLjcxNDI4NTcxNDI4NTcxNDE5MDAwOwp4WzU1XSA9IDAuNzQ2MDMxNzQ2MDMxNzQ2MDUwMDA7CnhbNTZdID0gMC43Nzc3Nzc3Nzc3Nzc3Nzc2ODAwMDsKeFs1N10gPSAwLjgwOTUyMzgwOTUyMzgwOTUzMDAwOwp4WzU4XSA9IDAuODQxMjY5ODQxMjY5ODQxMTcwMDA7CnhbNTldID0gMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs2MF0gPSAwLjkwNDc2MTkwNDc2MTkwNDY2MDAwOwp4WzYxXSA9IDAuOTM2NTA3OTM2NTA3OTM2NTEwMDA7CnhbNjJdID0gMC45NjgyNTM5NjgyNTM5NjgxNDAwMDsKeFs2M10gPSAxLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDMuMTQxNTkyNjUzNTg5NzkzMTAwMDA7CnlbMV0gPSAyLjg4ODk0NDkyNzMwNTIyOTkwMDAwOwp5WzJdID0gMi43ODMzMzE0MzUwNzcxNzY1MDAwMDsKeVszXSA9IDIuNzAxNjE2Njk4Nzk4ODc0MzAwMDA7CnlbNF0gPSAyLjYzMjE0ODgwNDc3NzkwMDMwMDAwOwp5WzVdID0gMi41NzA0MjQxNTUwMjQyNTU3MDAwMDsKeVs2XSA9IDIuNTE0MTM2ODgwNjY2NjAyNTAwMDA7CnlbN10gPSAyLjQ2MTkxODgzNDY4MTU0OTUwMDAwOwp5WzhdID0gMi40MTI4NzkyMDI4NDYzODc1MDAwMDsKeVs5XSA9IDIuMzY2Mzk5MjgwMjc5NDMyMDAwMDA7CnlbMTBdID0gMi4zMjIwMjgzMjU5MjE1MzI0MDAwMDsKeVsxMV0gPSAyLjI3OTQyNTU5ODM1NzI4MDQwMDAwOwp5WzEyXSA9IDIuMjM4MzI1NzcxNDMwNzI5NjAwMDA7CnlbMTNdID0gMi4xOTg1MTcxNDQ0NTI4MDkxMDAwMDsKeVsxNF0gPSAyLjE1OTgyNzI5NzAxMTE3MDcwMDAwOwp5WzE1XSA9IDIuMTIyMTEzMjk1OTI2Nzc5MjAwMDA7CnlbMTZdID0gMi4wODUyNTQ4MDIzNTYwODMzMDAwMDsKeVsxN10gPSAyLjA0OTE0OTA5MTQ0NDE1NDQwMDAwOwp5WzE4XSA9IDIuMDEzNzA3MzcwODY4NTM1NjAwMDA7CnlbMTldID0gMS45Nzg4NTIwMDQwOTYxNzUyMDAwMDsKeVsyMF0gPSAxLjk0NDUxNDM3NzczNzgxMDQwMDAwOwp5WzIxXSA9IDEuOTEwNjMzMjM2MjQ5MDE4NjAwMDA7CnlbMjJdID0gMS44NzcxNTMzNjEzNTE4MTU5MDAwMDsKeVsyM10gPSAxLjg0NDAyNDUwOTMzNTUzNDUwMDAwOwp5WzI0XSA9IDEuODExMjAwNTQzNTY0MTU2MTAwMDA7CnlbMjVdID0gMS43Nzg2Mzg3MTYxNDgyNDMzMDAwMDsKeVsyNl0gPSAxLjc0NjI5OTA2NDM3MDYxOTMwMDAwOwp5WzI3XSA9IDEuNzE0MTQzODk1NzAwMjYxOTAwMDA7CnlbMjhdID0gMS42ODIxMzczNDExMzU4NjA3MDAwMDsKeVsyOV0gPSAxLjY1MDI0NDk2MDg4MDAzMzgwMDAwOwp5WzMwXSA9IDEuNjE4NDMzMzg5NDE5Mjk5NzAwMDA7CnlbMzFdID0gMS41ODY2NzAwMDkyODQ4NTI1MDAwMDsKeVszMl0gPSAxLjU1NDkyMjY0NDMwNDk0MTEwMDAwOwp5WzMzXSA9IDEuNTIzMTU5MjY0MTcwNDkzNDAwMDA7CnlbMzRdID0gMS40OTEzNDc2OTI3MDk3NTk1MDAwMDsKeVszNV0gPSAxLjQ1OTQ1NTMxMjQ1MzkzMjcwMDAwOwp5WzM2XSA9IDEuNDI3NDQ4NzU3ODg5NTMxNDAwMDA7CnlbMzddID0gMS4zOTUyOTM1ODkyMTkxNzM4MDAwMDsKeVszOF0gPSAxLjM2Mjk1MzkzNzQ0MTU1MDAwMDAwOwp5WzM5XSA9IDEuMzMwMzkyMTEwMDI1NjM3MzAwMDA7CnlbNDBdID0gMS4yOTc1NjgxNDQyNTQyNTg4MDAwMDsKeVs0MV0gPSAxLjI2NDQzOTI5MjIzNzk3NzUwMDAwOwp5WzQyXSA9IDEuMjMwOTU5NDE3MzQwNzc0NzAwMDA7CnlbNDNdID0gMS4xOTcwNzgyNzU4NTE5ODI3MDAwMDsKeVs0NF0gPSAxLjE2Mjc0MDY0OTQ5MzYxODMwMDAwOwp5WzQ1XSA9IDEuMTI3ODg1MjgyNzIxMjU3NTAwMDA7CnlbNDZdID0gMS4wOTI0NDM1NjIxNDU2MzkwMDAwMDsKeVs0N10gPSAxLjA1NjMzNzg1MTIzMzcwOTgwMDAwOwp5WzQ4XSA9IDEuMDE5NDc5MzU3NjYzMDEzOTAwMDA7CnlbNDldID0gMC45ODE3NjUzNTY1Nzg2MjI3NDAwMDsKeVs1MF0gPSAwLjk0MzA3NTUwOTEzNjk4NDAxMDAwOwp5WzUxXSA9IDAuOTAzMjY2ODgyMTU5MDYzNTkwMDA7CnlbNTJdID0gMC44NjIxNjcwNTUyMzI1MTI4MDAwMDsKeVs1M10gPSAwLjgxOTU2NDMyNzY2ODI2MDgyMDAwOwp5WzU0XSA9IDAuNzc1MTkzMzczMzEwMzYxNDIwMDA7CnlbNTVdID0gMC43Mjg3MTM0NTA3NDM0MDU1NDAwMDsKeVs1Nl0gPSAwLjY3OTY3MzgxODkwODI0NDA4MDAwOwp5WzU3XSA9IDAuNjI3NDU1NzcyOTIzMTkwNzcwMDA7CnlbNThdID0gMC41NzExNjg0OTg1NjU1Mzc3NTAwMDsKeVs1OV0gPSAwLjUwOTQ0Mzg0ODgxMTg5Mjk3MDAwOwp5WzYwXSA9IDAuNDM5OTc1OTU0NzkwOTE5MTcwMDA7CnlbNjFdID0gMC4zNTgyNjEyMTg1MTI2MTY3NzAwMDsKeVs2Ml0gPSAwLjI1MjY0NzcyNjI4NDU2Mzk0MDAwOwp5WzYzXSA9IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLmFjb3MoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5hY29zKHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLmFjb3MoeCkgPSAiICsgTWF0aC5hY29zKHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5hY29zKHgpIC0gTWF0aC5hY29zKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.acos, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.acos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.2/S15.8.2.2_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hc2luKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4zL1MxNS44LjIuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hc2luKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmFzaW4oeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFzaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.asin(x) is NaN","description":"Checking if Math.asin(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAxLCBNYXRoLmFzaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjMvUzE1LjguMi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFzaW4oeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGdyZWF0ZXIgdGhhbiAxCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IDEuMDAwMDAwMDAwMDAwMDAxOyBpc05hTihNYXRoLmFzaW4oeCkpID09PSBmYWxzZSciKTsKfQoKLy8gQ0hFQ0sjMgp4ID0gMjsKaWYgKCFpc05hTihNYXRoLmFzaW4oeCkpKQp7CgkkRVJST1IoIiMyOiAneCA9IDI7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hc2luKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is greater than 1, Math.asin(x) is NaN","description":"Checking if Math.asin(x) is NaN, where x is greater than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAtMSwgTWF0aC5hc2luKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4zL1MxNS44LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hc2luKHgpIGlzIE5hTiwgd2hlcmUgeCBpcyBsZXNzIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTEuMDAwMDAwMDAwMDAwMDAxOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0xLjAwMDAwMDAwMDAwMDAwMTsgaXNOYU4oTWF0aC5hc2luKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0yOwppZiAoIWlzTmFOKE1hdGguYXNpbih4KSkpCnsKCSRFUlJPUigiIzI6ICd4ID0gLTI7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5hc2luKHgpKSkKewoJJEVSUk9SKCIjMzogJ3ggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguYXNpbih4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than -1, Math.asin(x) is NaN","description":"Checking if Math.asin(x) is NaN, where x is less than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmFzaW4oeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbigrMCkgZXF1YWxzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5hc2luKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gKzA7IE1hdGguYXNpbih4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.asin(x) is +0","description":"Checking if Math.asin(+0) equals +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmFzaW4oeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5hc2luKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTA7IE1hdGguYXNpbih4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.asin(x) is -0","description":"Checking if Math.asin(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmFzaW4sIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMy9TMTUuOC4yLjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXNpbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnhbMV0gPSAtMC45NjgyNTM5NjgyNTM5NjgyNjAwMDsKeFsyXSA9IC0wLjkzNjUwNzkzNjUwNzkzNjUxMDAwOwp4WzNdID0gLTAuOTA0NzYxOTA0NzYxOTA0NzcwMDA7CnhbNF0gPSAtMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs1XSA9IC0wLjg0MTI2OTg0MTI2OTg0MTI4MDAwOwp4WzZdID0gLTAuODA5NTIzODA5NTIzODA5NTMwMDA7CnhbN10gPSAtMC43Nzc3Nzc3Nzc3Nzc3Nzc3OTAwMDsKeFs4XSA9IC0wLjc0NjAzMTc0NjAzMTc0NjA1MDAwOwp4WzldID0gLTAuNzE0Mjg1NzE0Mjg1NzE0MzAwMDA7CnhbMTBdID0gLTAuNjgyNTM5NjgyNTM5NjgyNTYwMDA7CnhbMTFdID0gLTAuNjUwNzkzNjUwNzkzNjUwODEwMDA7CnhbMTJdID0gLTAuNjE5MDQ3NjE5MDQ3NjE5MDcwMDA7CnhbMTNdID0gLTAuNTg3MzAxNTg3MzAxNTg3MzIwMDA7CnhbMTRdID0gLTAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbMTVdID0gLTAuNTIzODA5NTIzODA5NTIzODQwMDA7CnhbMTZdID0gLTAuNDkyMDYzNDkyMDYzNDkyMDkwMDA7CnhbMTddID0gLTAuNDYwMzE3NDYwMzE3NDYwMzUwMDA7CnhbMThdID0gLTAuNDI4NTcxNDI4NTcxNDI4NjAwMDA7CnhbMTldID0gLTAuMzk2ODI1Mzk2ODI1Mzk2ODYwMDA7CnhbMjBdID0gLTAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbMjFdID0gLTAuMzMzMzMzMzMzMzMzMzMzMzcwMDA7CnhbMjJdID0gLTAuMzAxNTg3MzAxNTg3MzAxNjMwMDA7CnhbMjNdID0gLTAuMjY5ODQxMjY5ODQxMjY5ODgwMDA7CnhbMjRdID0gLTAuMjM4MDk1MjM4MDk1MjM4MTQwMDA7CnhbMjVdID0gLTAuMjA2MzQ5MjA2MzQ5MjA2MzkwMDA7CnhbMjZdID0gLTAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMjddID0gLTAuMTQyODU3MTQyODU3MTQyOTAwMDA7CnhbMjhdID0gLTAuMTExMTExMTExMTExMTExMTYwMDA7CnhbMjldID0gLTAuMDc5MzY1MDc5MzY1MDc5NDE2MDA7CnhbMzBdID0gLTAuMDQ3NjE5MDQ3NjE5MDQ3NjcyMDA7CnhbMzFdID0gLTAuMDE1ODczMDE1ODczMDE1OTI4MDA7CnhbMzJdID0gMC4wMTU4NzMwMTU4NzMwMTU4MTcwMDsKeFszM10gPSAwLjA0NzYxOTA0NzYxOTA0NzY3MjAwOwp4WzM0XSA9IDAuMDc5MzY1MDc5MzY1MDc5MzA1MDA7CnhbMzVdID0gMC4xMTExMTExMTExMTExMTExNjAwMDsKeFszNl0gPSAwLjE0Mjg1NzE0Mjg1NzE0Mjc5MDAwOwp4WzM3XSA9IDAuMTc0NjAzMTc0NjAzMTc0NjUwMDA7CnhbMzhdID0gMC4yMDYzNDkyMDYzNDkyMDYyODAwMDsKeFszOV0gPSAwLjIzODA5NTIzODA5NTIzODE0MDAwOwp4WzQwXSA9IDAuMjY5ODQxMjY5ODQxMjY5NzcwMDA7CnhbNDFdID0gMC4zMDE1ODczMDE1ODczMDE2MzAwMDsKeFs0Ml0gPSAwLjMzMzMzMzMzMzMzMzMzMzI2MDAwOwp4WzQzXSA9IDAuMzY1MDc5MzY1MDc5MzY1MTEwMDA7CnhbNDRdID0gMC4zOTY4MjUzOTY4MjUzOTY3NTAwMDsKeFs0NV0gPSAwLjQyODU3MTQyODU3MTQyODYwMDAwOwp4WzQ2XSA9IDAuNDYwMzE3NDYwMzE3NDYwMjQwMDA7CnhbNDddID0gMC40OTIwNjM0OTIwNjM0OTIwOTAwMDsKeFs0OF0gPSAwLjUyMzgwOTUyMzgwOTUyMzcyMDAwOwp4WzQ5XSA9IDAuNTU1NTU1NTU1NTU1NTU1NTgwMDA7CnhbNTBdID0gMC41ODczMDE1ODczMDE1ODcyMTAwMDsKeFs1MV0gPSAwLjYxOTA0NzYxOTA0NzYxOTA3MDAwOwp4WzUyXSA9IDAuNjUwNzkzNjUwNzkzNjUwNzAwMDA7CnhbNTNdID0gMC42ODI1Mzk2ODI1Mzk2ODI1NjAwMDsKeFs1NF0gPSAwLjcxNDI4NTcxNDI4NTcxNDE5MDAwOwp4WzU1XSA9IDAuNzQ2MDMxNzQ2MDMxNzQ2MDUwMDA7CnhbNTZdID0gMC43Nzc3Nzc3Nzc3Nzc3Nzc2ODAwMDsKeFs1N10gPSAwLjgwOTUyMzgwOTUyMzgwOTUzMDAwOwp4WzU4XSA9IDAuODQxMjY5ODQxMjY5ODQxMTcwMDA7CnhbNTldID0gMC44NzMwMTU4NzMwMTU4NzMwMjAwMDsKeFs2MF0gPSAwLjkwNDc2MTkwNDc2MTkwNDY2MDAwOwp4WzYxXSA9IDAuOTM2NTA3OTM2NTA3OTM2NTEwMDA7CnhbNjJdID0gMC45NjgyNTM5NjgyNTM5NjgxNDAwMDsKeFs2M10gPSAxLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0xLjU3MDc5NjMyNjc5NDg5NjYwMDAwOwp5WzFdID0gLTEuMzE4MTQ4NjAwNTEwMzMzMTAwMDA7CnlbMl0gPSAtMS4yMTI1MzUxMDgyODIyNzk5MDAwMDsKeVszXSA9IC0xLjEzMDgyMDM3MjAwMzk3NzgwMDAwOwp5WzRdID0gLTEuMDYxMzUyNDc3OTgzMDAzNzAwMDA7CnlbNV0gPSAtMC45OTk2Mjc4MjgyMjkzNTkwMzAwMDsKeVs2XSA9IC0wLjk0MzM0MDU1Mzg3MTcwNTkwMDAwOwp5WzddID0gLTAuODkxMTIyNTA3ODg2NjUyODEwMDA7CnlbOF0gPSAtMC44NDIwODI4NzYwNTE0OTEwMTAwMDsKeVs5XSA9IC0wLjc5NTYwMjk1MzQ4NDUzNTM2MDAwOwp5WzEwXSA9IC0wLjc1MTIzMTk5OTEyNjYzNTg1MDAwOwp5WzExXSA9IC0wLjcwODYyOTI3MTU2MjM4Mzk4MDAwOwp5WzEyXSA9IC0wLjY2NzUyOTQ0NDYzNTgzMjk3MDAwOwp5WzEzXSA9IC0wLjYyNzcyMDgxNzY1NzkxMjY2MDAwOwp5WzE0XSA9IC0wLjU4OTAzMDk3MDIxNjI3MzkzMDAwOwp5WzE1XSA9IC0wLjU1MTMxNjk2OTEzMTg4Mjc3MDAwOwp5WzE2XSA9IC0wLjUxNDQ1ODQ3NTU2MTE4NjczMDAwOwp5WzE3XSA9IC0wLjQ3ODM1Mjc2NDY0OTI1Nzc0MDAwOwp5WzE4XSA9IC0wLjQ0MjkxMTA0NDA3MzYzODk2MDAwOwp5WzE5XSA9IC0wLjQwODA1NTY3NzMwMTI3ODUxMDAwOwp5WzIwXSA9IC0wLjM3MzcxODA1MDk0MjkxMzk0MDAwOwp5WzIxXSA9IC0wLjMzOTgzNjkwOTQ1NDEyMTk4MDAwOwp5WzIyXSA9IC0wLjMwNjM1NzAzNDU1NjkxOTE1MDAwOwp5WzIzXSA9IC0wLjI3MzIyODE4MjU0MDYzNzg1MDAwOwp5WzI0XSA9IC0wLjI0MDQwNDIxNjc2OTI1OTM4MDAwOwp5WzI1XSA9IC0wLjIwNzg0MjM4OTM1MzM0Njc4MDAwOwp5WzI2XSA9IC0wLjE3NTUwMjczNzU3NTcyMjc0MDAwOwp5WzI3XSA9IC0wLjE0MzM0NzU2ODkwNTM2NTQwMDAwOwp5WzI4XSA9IC0wLjExMTM0MTAxNDM0MDk2Mzk0MDAwOwp5WzI5XSA9IC0wLjA3OTQ0ODYzNDA4NTEzNzIyMTAwOwp5WzMwXSA9IC0wLjA0NzYzNzA2MjYyNDQwMzE4MzAwOwp5WzMxXSA9IC0wLjAxNTg3MzY4MjQ4OTk1NTczNjAwOwp5WzMyXSA9IDAuMDE1ODczNjgyNDg5OTU1NjI1MDA7CnlbMzNdID0gMC4wNDc2MzcwNjI2MjQ0MDMxODMwMDsKeVszNF0gPSAwLjA3OTQ0ODYzNDA4NTEzNzExMDAwOwp5WzM1XSA9IDAuMTExMzQxMDE0MzQwOTYzOTQwMDA7CnlbMzZdID0gMC4xNDMzNDc1Njg5MDUzNjUyOTAwMDsKeVszN10gPSAwLjE3NTUwMjczNzU3NTcyMjc0MDAwOwp5WzM4XSA9IDAuMjA3ODQyMzg5MzUzMzQ2NjcwMDA7CnlbMzldID0gMC4yNDA0MDQyMTY3NjkyNTkzODAwMDsKeVs0MF0gPSAwLjI3MzIyODE4MjU0MDYzNzc0MDAwOwp5WzQxXSA9IDAuMzA2MzU3MDM0NTU2OTE5MTUwMDA7CnlbNDJdID0gMC4zMzk4MzY5MDk0NTQxMjE4NzAwMDsKeVs0M10gPSAwLjM3MzcxODA1MDk0MjkxMzk0MDAwOwp5WzQ0XSA9IDAuNDA4MDU1Njc3MzAxMjc4NDAwMDA7CnlbNDVdID0gMC40NDI5MTEwNDQwNzM2Mzg5NjAwMDsKeVs0Nl0gPSAwLjQ3ODM1Mjc2NDY0OTI1NzU4MDAwOwp5WzQ3XSA9IDAuNTE0NDU4NDc1NTYxMTg2NzMwMDA7CnlbNDhdID0gMC41NTEzMTY5NjkxMzE4ODI2NjAwMDsKeVs0OV0gPSAwLjU4OTAzMDk3MDIxNjI3MzkzMDAwOwp5WzUwXSA9IDAuNjI3NzIwODE3NjU3OTEyNTQwMDA7CnlbNTFdID0gMC42Njc1Mjk0NDQ2MzU4MzI5NzAwMDsKeVs1Ml0gPSAwLjcwODYyOTI3MTU2MjM4Mzg3MDAwOwp5WzUzXSA9IDAuNzUxMjMxOTk5MTI2NjM1ODUwMDA7CnlbNTRdID0gMC43OTU2MDI5NTM0ODQ1MzUxNDAwMDsKeVs1NV0gPSAwLjg0MjA4Mjg3NjA1MTQ5MTAxMDAwOwp5WzU2XSA9IDAuODkxMTIyNTA3ODg2NjUyNTkwMDA7CnlbNTddID0gMC45NDMzNDA1NTM4NzE3MDU5MDAwMDsKeVs1OF0gPSAwLjk5OTYyNzgyODIyOTM1ODgxMDAwOwp5WzU5XSA9IDEuMDYxMzUyNDc3OTgzMDAzNzAwMDA7CnlbNjBdID0gMS4xMzA4MjAzNzIwMDM5Nzc2MDAwMDsKeVs2MV0gPSAxLjIxMjUzNTEwODI4MjI3OTkwMDAwOwp5WzYyXSA9IDEuMzE4MTQ4NjAwNTEwMzMyNzAwMDA7CnlbNjNdID0gMS41NzA3OTYzMjY3OTQ4OTY2MDAwMDsKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hc2luKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuYXNpbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hc2luKHgpID0gIiArIE1hdGguYXNpbih4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuYXNpbih4KSAtIE1hdGguYXNpbih4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.asin, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.asin is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.3/S15.8.2.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hdGFuKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi40L1MxNS44LjIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmF0YW4oeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmF0YW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.atan(x) is NaN","description":"Checking if Math.atan(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmF0YW4oeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbigrMCkgZXF1YWxzIHRvICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5hdGFuKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gKzA7IE1hdGguYXRhbih4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.atan(x) is +0","description":"Checking if Math.atan(+0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmF0YW4oeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5hdGFuKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTA7IE1hdGguYXRhbih4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.atan(x) is -0","description":"Checking if Math.atan(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5hdGFuKHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvICtQSS8yCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjQvUzE1LjguMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4oK0luZmluaXR5KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS8yCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQoKdmFyIHggPSArSW5maW5pdHk7CmlmICghaXNFcXVhbChNYXRoLmF0YW4oeCksTWF0aC5QSS8yKSkKewoJJEVSUk9SKCIjMTogJyFpc0VxdWFsKE1hdGguYXRhbigrSW5maW5pdHkpLCBNYXRoLlBJLzIpJyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.atan(x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan(+Infinity) is an approximation to +PI/2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5hdGFuKHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvIC1QSS8yCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjQvUzE1LjguMi40X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4oLUluZmluaXR5KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS8yCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQoKdmFyIHggPSAtSW5maW5pdHk7CmlmICghaXNFcXVhbChNYXRoLmF0YW4oeCksIC1NYXRoLlBJLzIpKQp7CgkkRVJST1IoIiMxOiAnIWlzRXF1YWwoTWF0aC5hdGFuKC1JbmZpbml0eSksIC1NYXRoLlBJLzIpJyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.atan(x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan(-Infinity) is an approximation to -PI/2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmF0YW4sIHJlY29tbWVuZGVkIHRoYXQgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgYXBwcm94aW1hdGlvbiBhbGdvcml0aG1zIGZvciBJRUVFIDc1NCBhcml0aG1ldGljIGNvbnRhaW5lZCBpbiBmZGxpYm0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNC9TMTUuOC4yLjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbiBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp4WzFdID0gLTE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4WzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzNdID0gLTE0LjQ3NjE5MDQ3NjE5MDQ3NjAwMDAwOwp4WzRdID0gLTEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4WzZdID0gLTEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzddID0gLTEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4WzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzldID0gLTExLjQyODU3MTQyODU3MTQyOTAwMDAwOwp4WzEwXSA9IC0xMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CnhbMTJdID0gLTkuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CnhbMTNdID0gLTkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CnhbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbMTVdID0gLTguMzgwOTUyMzgwOTUyMzgxNDAwMDA7CnhbMTZdID0gLTcuODczMDE1ODczMDE1ODczNTAwMDA7CnhbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CnhbMThdID0gLTYuODU3MTQyODU3MTQyODU3NzAwMDA7CnhbMTldID0gLTYuMzQ5MjA2MzQ5MjA2MzQ5NzAwMDA7CnhbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CnhbMjFdID0gLTUuMzMzMzMzMzMzMzMzMzMzOTAwMDA7CnhbMjJdID0gLTQuODI1Mzk2ODI1Mzk2ODI2MDAwMDA7CnhbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CnhbMjRdID0gLTMuODA5NTIzODA5NTIzODEwMjAwMDA7CnhbMjVdID0gLTMuMzAxNTg3MzAxNTg3MzAyMzAwMDA7CnhbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CnhbMjddID0gLTIuMjg1NzE0Mjg1NzE0Mjg2NTAwMDA7CnhbMjhdID0gLTEuNzc3Nzc3Nzc3Nzc3Nzc4NjAwMDA7CnhbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CnhbMzBdID0gLTAuNzYxOTA0NzYxOTA0NzYyNzUwMDA7CnhbMzFdID0gLTAuMjUzOTY4MjUzOTY4MjU0ODQwMDA7CnhbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeFszM10gPSAwLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4WzM0XSA9IDEuMjY5ODQxMjY5ODQxMjY4OTAwMDA7CnhbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeFszNl0gPSAyLjI4NTcxNDI4NTcxNDI4NDcwMDAwOwp4WzM3XSA9IDIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CnhbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeFszOV0gPSAzLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4WzQwXSA9IDQuMzE3NDYwMzE3NDYwMzE2MzAwMDA7CnhbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeFs0Ml0gPSA1LjMzMzMzMzMzMzMzMzMzMjEwMDAwOwp4WzQzXSA9IDUuODQxMjY5ODQxMjY5ODQxODAwMDA7CnhbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeFs0NV0gPSA2Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4WzQ2XSA9IDcuMzY1MDc5MzY1MDc5MzYzODAwMDA7CnhbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeFs0OF0gPSA4LjM4MDk1MjM4MDk1MjM3OTYwMDAwOwp4WzQ5XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeFs1MV0gPSA5LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzUyXSA9IDEwLjQxMjY5ODQxMjY5ODQxMTAwMDAwOwp4WzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4WzU0XSA9IDExLjQyODU3MTQyODU3MTQyNzAwMDAwOwp4WzU1XSA9IDExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4WzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4WzU3XSA9IDEyLjk1MjM4MDk1MjM4MDk1MzAwMDAwOwp4WzU4XSA9IDEzLjQ2MDMxNzQ2MDMxNzQ1OTAwMDAwOwp4WzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4WzYwXSA9IDE0LjQ3NjE5MDQ3NjE5MDQ3NDAwMDAwOwp4WzYxXSA9IDE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4WzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4WzYzXSA9IDE2LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTEuNTA4Mzc3NTE2Nzk4OTM5MzAwMDA7CnlbMV0gPSAtMS41MDYzMzY1NzMxNDM4MjY3MDAwMDsKeVsyXSA9IC0xLjUwNDE1Nzg1NDM2NDE5MzEwMDAwOwp5WzNdID0gLTEuNTAxODI2OTQ1MTkzNTg2NjAwMDA7CnlbNF0gPSAtMS40OTkzMjczNTAyNjEwMzA5MDAwMDsKeVs1XSA9IC0xLjQ5NjY0MDEwNTU3NjgyMzAwMDAwOwp5WzZdID0gLTEuNDkzNzQzMjk5NzQzOTM5NTAwMDA7CnlbN10gPSAtMS40OTA2MTE0Nzk0OTM1ODAzMDAwMDsKeVs4XSA9IC0xLjQ4NzIxNDkwNTY1MzQ5NTgwMDAwOwp5WzldID0gLTEuNDgzNTE4NjEzODQ1NDM1MzAwMDA7CnlbMTBdID0gLTEuNDc5NDgxMjE3NTY3NjE4NDAwMDA7CnlbMTFdID0gLTEuNDc1MDUzMzY3NTYwMTU1ODAwMDA7CnlbMTJdID0gLTEuNDcwMTc1NzQ2OTM3NzcxMDAwMDA7CnlbMTNdID0gLTEuNDY0Nzc2NDMwOTM5NzE2MDAwMDA7CnlbMTRdID0gLTEuNDU4NzY3MzY0MzY4OTA4NzAwMDA7CnlbMTVdID0gLTEuNDUyMDM5NTk0MjY3MDcwMzAwMDA7CnlbMTZdID0gLTEuNDQ0NDU2NzE1NjUyNTUzNjAwMDA7CnlbMTddID0gLTEuNDM1ODQ1NzAyMjkwMzkzOTAwMDA7CnlbMThdID0gLTEuNDI1OTgzODI4NTU1OTU3NjAwMDA7CnlbMTldID0gLTEuNDE0NTc5NjA4MzUwNzc0OTAwMDA7CnlbMjBdID0gLTEuNDAxMjQ0MzMxMjk2MDcwNzAwMDA7CnlbMjFdID0gLTEuMzg1NDQ4Mzc2Nzk5MjAxOTAwMDA7CnlbMjJdID0gLTEuMzY2NDUyMDQ3NDUzMjE1MTAwMDA7CnlbMjNdID0gLTEuMzQzMTkyMTA5Nzg3NjIwMDAwMDA7CnlbMjRdID0gLTEuMzE0MDg3OTk2MzYxNTEwOTAwMDA7CnlbMjVdID0gLTEuMjc2Njk1MjAxNzY4MzE4NjAwMDA7CnlbMjZdID0gLTEuMjI3MDUyNzAzMTU5MTE0NTAwMDA7CnlbMjddID0gLTEuMTU4Mzg1ODg1MTk3NTA5NTAwMDA7CnlbMjhdID0gLTEuMDU4NDA2ODY2NDg0MTU5MDAwMDA7CnlbMjldID0gLTAuOTAzNzIzOTQ1OTAyOTgxNjYwMDA7CnlbMzBdID0gLTAuNjUxMDc2NzIxNDQ0NDgwMzcwMDA7CnlbMzFdID0gLTAuMjQ4NzA5OTg5MDkzNTIzNjgwMDA7CnlbMzJdID0gMC4yNDg3MDk5ODkwOTM1MjIwMjAwMDsKeVszM10gPSAwLjY1MTA3NjcyMTQ0NDQ4MDM3MDAwOwp5WzM0XSA9IDAuOTAzNzIzOTQ1OTAyOTgxMDAwMDA7CnlbMzVdID0gMS4wNTg0MDY4NjY0ODQxNTkwMDAwMDsKeVszNl0gPSAxLjE1ODM4NTg4NTE5NzUwOTEwMDAwOwp5WzM3XSA9IDEuMjI3MDUyNzAzMTU5MTE0NTAwMDA7CnlbMzhdID0gMS4yNzY2OTUyMDE3NjgzMTg0MDAwMDsKeVszOV0gPSAxLjMxNDA4Nzk5NjM2MTUxMDkwMDAwOwp5WzQwXSA9IDEuMzQzMTkyMTA5Nzg3NjE5ODAwMDA7CnlbNDFdID0gMS4zNjY0NTIwNDc0NTMyMTUxMDAwMDsKeVs0Ml0gPSAxLjM4NTQ0ODM3Njc5OTIwMTkwMDAwOwp5WzQzXSA9IDEuNDAxMjQ0MzMxMjk2MDcwNzAwMDA7CnlbNDRdID0gMS40MTQ1Nzk2MDgzNTA3NzQ5MDAwMDsKeVs0NV0gPSAxLjQyNTk4MzgyODU1NTk1NzYwMDAwOwp5WzQ2XSA9IDEuNDM1ODQ1NzAyMjkwMzkzOTAwMDA7CnlbNDddID0gMS40NDQ0NTY3MTU2NTI1NTM2MDAwMDsKeVs0OF0gPSAxLjQ1MjAzOTU5NDI2NzA3MDMwMDAwOwp5WzQ5XSA9IDEuNDU4NzY3MzY0MzY4OTA4NzAwMDA7CnlbNTBdID0gMS40NjQ3NzY0MzA5Mzk3MTYwMDAwMDsKeVs1MV0gPSAxLjQ3MDE3NTc0NjkzNzc3MTAwMDAwOwp5WzUyXSA9IDEuNDc1MDUzMzY3NTYwMTU1ODAwMDA7CnlbNTNdID0gMS40Nzk0ODEyMTc1Njc2MTg0MDAwMDsKeVs1NF0gPSAxLjQ4MzUxODYxMzg0NTQzNTMwMDAwOwp5WzU1XSA9IDEuNDg3MjE0OTA1NjUzNDk1ODAwMDA7CnlbNTZdID0gMS40OTA2MTE0Nzk0OTM1ODAzMDAwMDsKeVs1N10gPSAxLjQ5Mzc0MzI5OTc0MzkzOTUwMDAwOwp5WzU4XSA9IDEuNDk2NjQwMTA1NTc2ODIzMDAwMDA7CnlbNTldID0gMS40OTkzMjczNTAyNjEwMzA5MDAwMDsKeVs2MF0gPSAxLjUwMTgyNjk0NTE5MzU4NjYwMDAwOwp5WzYxXSA9IDEuNTA0MTU3ODU0MzY0MTkzMTAwMDA7CnlbNjJdID0gMS41MDYzMzY1NzMxNDM4MjY3MDAwMDsKeVs2M10gPSAxLjUwODM3NzUxNjc5ODkzOTMwMDAwOwoKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hdGFuKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuYXRhbih4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hdGFuKHgpID0gIiArIE1hdGguYXRhbih4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuYXRhbih4KSAtIE1hdGguYXRhbih4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.atan, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.atan is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.4/S15.8.2.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlaXRoZXIgeCBvciB5IGlzIE5hTiwgTWF0aCh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMihOYU4seSkgYW5kIE1hdGguYXRhbjIoeCxOYU4pIGlzIE5hTiBmb3IgZGlmZmVyZW50IHggYW5kIHkgdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQoKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPCAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47Cglmb3IgKGogPSAwOyBqIDwgdmFsbnVtOyBqKyspCgl7CgkJYXJnc1sxLWldID0gdmFsc1tqXTsKCQlpZiAoIWlzTmFOKE1hdGguYXRhbjIoYXJnc1swXSwgYXJnc1sxXSkpKQoJCXsKCQkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5hdGFuMigiICsgYXJnc1swXSArICIsICIgKyBhcmdzWzFdICsgIikpID09PSBmYWxzZSciKTsKCQl9Cgl9Cn0KCg==","commentary":"If either x or y is NaN, Math(x,y) is NaN","description":"Checking if Math.atan2(NaN,y) and Math.atan2(x,NaN) is NaN for different x and y values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wIGFuZCB4IGlzIC0wLCBNYXRoLmF0YW4yKHkseCkgaXMgYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IGFwcHJveGltYXRpb24gdG8gLVBJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMigtMCwtMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSAtMDsKeCA9IC0wOwppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAtTWF0aC5QSSkpCgkkRVJST1IoIiMxOiAhaXNFcXVhbChNYXRoLmF0YW4yKC0wLC0wKSwgLU1hdGguUEkpIik7Cgo=","commentary":"If y is -0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(-0,-0) is an approximation to -PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PDAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4yKC0wLHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gLVBJLCB3aGVyZSB4PDAKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnkgPSAtMDsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gLUluZmluaXR5Owp4WzFdID0gLTE7IAp4bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIC0gTWF0aC5QSSkpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHhbaV0gKyAiKSArIE1hdGguUEkpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is equal to -0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(-0,x) is an approximation to -PI, where x<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHggaXMgKzAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSwrMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkvMiwgd2hlcmUgeTwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQp4ID0gKzA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsyXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xOyAKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5W2ldLHgpLCAtKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgKyAoKE1hdGguUEkpLzIpKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y<0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,+0) is an approximation to -PI/2, where y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHggaXMgLTAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSwtMCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byAtUEkvMiwgd2hlcmUgeTwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCiAKLy8gQ0hFQ0sjMQp4ID0gLTA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsyXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xOyAKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5W2ldLHgpLCAtKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsIC0wKSArICgoTWF0aC5QSSkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y<0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,-0) is an approximation to -PI/2, where y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGVxdWFscyB0byArMCwgd2hlcmUgeT4wIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnggPSArSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMTsKeVsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLmF0YW4yKHlbaV0seCkgIT09ICswKQoJCSRGQUlMKCIjMTogTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgIT09ICswIik7Cn0KCg==","commentary":"If y>0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) equals to +0, where y>0 and y is finite and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvIC1JbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvICtQSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSSwgd2hlcmUgeT4wIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMTsKeVsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHlbaV0seCksTWF0aC5QSSkpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAtIE1hdGguUEkpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y>0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y>0 and y is finite and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIC0wLCB3aGVyZSB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKeCA9ICtJbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gLTE7CnlbMl0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGJ5IGFicygpIGZpbml0ZSBudW1iZXIgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGguYXRhbjIoeVtpXSx4KSAhPT0gLTApCgkJJEZBSUwoIiMxOiBNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAhPT0gLTAiKTsKfQoK","commentary":"If y<0 and y is finite and x is equal to +Infinity, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y<0 and y is finite and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PDAgYW5kIHkgaXMgZmluaXRlIGFuZCB4IGlzIGVxdWFsIHRvIC1JbmZpbml0eSwgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCBhcHByb3hpbWF0aW9uIHRvIC1QSQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSSwgd2hlcmUgeTwwIGFuZCB5IGlzIGZpbml0ZSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeVsxXSA9IC0xOwp5WzJdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyIAp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHlbaV0seCksIC1NYXRoLlBJKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHlbaV0gKyAiLCAiICsgeCArICIpICsgTWF0aC5QSSkgPj0gIiArIHByZWMpOwp9Cgo=","commentary":"If y<0 and y is finite and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI","description":"Checking if Math.atan2(y,x) is an approximation to -PI, where y<0 and y is finite and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICtJbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS8yLCB3aGVyZSB5IGlzICtJbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKIAovLyBDSEVDSyMxCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzFdID0gMTsKeFsyXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbM10gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnhbNF0gPSAtMTsKeFs1XSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlciAKIAp4bnVtID0gNjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIChNYXRoLlBJKS8yKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpIC0gKE1hdGguUEkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is +Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y is +Infinity and x is finite","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC1JbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS8yLCB3aGVyZSB5IGlzIC1JbmZpbml0eSBhbmQgeCBpcyBmaW5pdGUKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9IC1JbmZpbml0eTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnhbMV0gPSAxOwp4WzJdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFs0XSA9IC0xOwp4WzVdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyIAogCnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeSx4W2ldKSwgLShNYXRoLlBJKS8yKSkKCQkkRkFJTCgiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpICsgKE1hdGguUEkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y is -Infinity and x is finite, Math.atan2(y,x) is an implementation-dependent approximation to -PI/2","description":"Checking if Math.atan2(y,x) is an approximation to -PI/2, where y is -Infinity and x is finite","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHggaXMgKzAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gK1BJLzIsIHdoZXJlIHk+MCBhbmQgeCBpcyArMAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7IAoKLy8gQ0hFQ0sjMQp4ID0gKzA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzJdID0gK0luZmluaXR5Owp5WzFdID0gMTsgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeVtpXSx4KSwoTWF0aC5QSSkvMikpCgkJJEZBSUwoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5W2ldICsgIiwgIiArIHggKyAiKSAtICgoTWF0aC5QSSkvMikpID49ICIgKyBwcmVjKTsKfQoK","commentary":"If y>0 and x is +0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvNAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMjAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSS80LCB3aGVyZSB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9ICtJbmZpbml0eTsKeCA9ICtJbmZpbml0eTsKCmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksKE1hdGguUEkpLzQpKQoJJEVSUk9SKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgLSAoTWF0aC5QSS80KSkgPj0gIiArIHByZWMpOwoK","commentary":"If y is equal to +Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +PI/4","description":"Checking if Math.atan2(y,x) is an approximation to +PI/4, where y is equal to +Infinity and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICtJbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArMypQSS80CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gKzMqUEkvNCwgd2hlcmUgeSBpcyBlcXVhbCB0byArSW5maW5pdHkgYW5kIHggaXMgZXF1YWwgdG8gLUluZmluaXR5CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSArSW5maW5pdHk7CnggPSAtSW5maW5pdHk7CgppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAoMypNYXRoLlBJKS80KSkKCSRFUlJPUigiIzE6IE1hdGguYWJzKE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeCArICIpIC0gKDMqTWF0aC5QSS80KSkgPj0gIiArIHByZWMpOwoK","commentary":"If y is equal to +Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to +3*PI/4","description":"Checking if Math.atan2(y,x) is an approximation to +3*PI/4, where y is equal to +Infinity and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtUEkvNAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIC1QSS80LCB3aGVyZSB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byArSW5maW5pdHkKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9IC1JbmZpbml0eTsKeCA9ICtJbmZpbml0eTsKCmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksLSAoTWF0aC5QSSkvNCkpCgkkRVJST1IoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHggKyAiKSArIChNYXRoLlBJLzQpKSA+PSAiICsgcHJlYyk7Cgo=","commentary":"If y is equal to -Infinity and x is equal to +Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -PI/4","description":"Checking if Math.atan2(y,x) is an approximation to -PI/4, where y is equal to -Infinity and x is equal to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC1JbmZpbml0eSBhbmQgeCBpcyBlcXVhbCB0byAtSW5maW5pdHksIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byAtMypQSS80CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gLTMqUEkvNCwgd2hlcmUgeSBpcyBlcXVhbCB0byAtSW5maW5pdHkgYW5kIHggaXMgZXF1YWwgdG8gLUluZmluaXR5CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCi8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSAtSW5maW5pdHk7CnggPSAtSW5maW5pdHk7CgppZiAoIWlzRXF1YWwoTWF0aC5hdGFuMih5LHgpLCAtKDMqTWF0aC5QSSkvNCkpCgkkRVJST1IoIiMxOiBNYXRoLmFicyhNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHggKyAiKSArICgzKk1hdGguUEkvNCkpID49ICIgKyBwcmVjKTsKCg==","commentary":"If y is equal to -Infinity and x is equal to -Infinity, Math.atan2(y,x) is an implementation-dependent approximation to -3*PI/4","description":"Checking if Math.atan2(y,x) is an approximation to -3*PI/4, where y is equal to -Infinity and x is equal to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmF0YW4yLCByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0EyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMihhcmd1bWVudDEsIGFyZ3VtZW50MikgaXMgYXBwcm94aW1hdGVseSBlcXVhbHMgdG8gaXRzIG1hdGhlbWF0aWNhbCB2YWx1ZXMgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudDEgdmFsdWVzIGFuZCA2NCBhcmd1bWVudDIgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4MSA9IG5ldyBBcnJheSgpOwp4MVswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDFbMV0gPSAtMTUuNDkyMDYzNDkyMDYzNDkyMDAwMDA7CngxWzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4MVszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeDFbNF0gPSAtMTMuOTY4MjUzOTY4MjUzOTY4MDAwMDA7CngxWzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4MVs2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDFbN10gPSAtMTIuNDQ0NDQ0NDQ0NDQ0NDQ1MDAwMDA7CngxWzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4MVs5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeDFbMTBdID0gLTEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngxWzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4MVsxM10gPSAtOS4zOTY4MjUzOTY4MjUzOTcyMDAwMDsKeDFbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngxWzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4MVsxNl0gPSAtNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDFbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CngxWzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4MVsxOV0gPSAtNi4zNDkyMDYzNDkyMDYzNDk3MDAwMDsKeDFbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CngxWzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4MVsyMl0gPSAtNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDFbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CngxWzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4MVsyNV0gPSAtMy4zMDE1ODczMDE1ODczMDIzMDAwMDsKeDFbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CngxWzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4MVsyOF0gPSAtMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDFbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CngxWzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4MVszMV0gPSAtMC4yNTM5NjgyNTM5NjgyNTQ4NDAwMDsKeDFbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeDFbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeDFbMzRdID0gMS4yNjk4NDEyNjk4NDEyNjg5MDAwMDsKeDFbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDFbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeDFbMzddID0gMi43OTM2NTA3OTM2NTA3OTQ0MDAwMDsKeDFbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeDFbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeDFbNDBdID0gNC4zMTc0NjAzMTc0NjAzMTYzMDAwMDsKeDFbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDFbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeDFbNDNdID0gNS44NDEyNjk4NDEyNjk4NDE4MDAwMDsKeDFbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeDFbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeDFbNDZdID0gNy4zNjUwNzkzNjUwNzkzNjM4MDAwMDsKeDFbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDFbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeDFbNDldID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeDFbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeDFbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDFbNTJdID0gMTAuNDEyNjk4NDEyNjk4NDExMDAwMDA7CngxWzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVs1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeDFbNTVdID0gMTEuOTM2NTA3OTM2NTA3OTM3MDAwMDA7CngxWzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4MVs1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDFbNThdID0gMTMuNDYwMzE3NDYwMzE3NDU5MDAwMDA7CngxWzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4MVs2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeDFbNjFdID0gMTQuOTg0MTI2OTg0MTI2OTg0MDAwMDA7CngxWzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4MVs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgeDIgPSBuZXcgQXJyYXkoKTsKeDJbMF0gPSAtOC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDJbMV0gPSAtNy43NDYwMzE3NDYwMzE3NDYwMDAwMDsKeDJbMl0gPSAtNy40OTIwNjM0OTIwNjM0OTIxMDAwMDsKeDJbM10gPSAtNy4yMzgwOTUyMzgwOTUyMzgxMDAwMDsKeDJbNF0gPSAtNi45ODQxMjY5ODQxMjY5ODQyMDAwMDsKeDJbNV0gPSAtNi43MzAxNTg3MzAxNTg3MzAyMDAwMDsKeDJbNl0gPSAtNi40NzYxOTA0NzYxOTA0NzYzMDAwMDsKeDJbN10gPSAtNi4yMjIyMjIyMjIyMjIyMjIzMDAwMDsKeDJbOF0gPSAtNS45NjgyNTM5NjgyNTM5Njg0MDAwMDsKeDJbOV0gPSAtNS43MTQyODU3MTQyODU3MTQ0MDAwMDsKeDJbMTBdID0gLTUuNDYwMzE3NDYwMzE3NDYwNTAwMDA7CngyWzExXSA9IC01LjIwNjM0OTIwNjM0OTIwNjUwMDAwOwp4MlsxMl0gPSAtNC45NTIzODA5NTIzODA5NTI2MDAwMDsKeDJbMTNdID0gLTQuNjk4NDEyNjk4NDEyNjk4NjAwMDA7CngyWzE0XSA9IC00LjQ0NDQ0NDQ0NDQ0NDQ0NDYwMDAwOwp4MlsxNV0gPSAtNC4xOTA0NzYxOTA0NzYxOTA3MDAwMDsKeDJbMTZdID0gLTMuOTM2NTA3OTM2NTA3OTM2NzAwMDA7CngyWzE3XSA9IC0zLjY4MjUzOTY4MjUzOTY4MjgwMDAwOwp4MlsxOF0gPSAtMy40Mjg1NzE0Mjg1NzE0Mjg4MDAwMDsKeDJbMTldID0gLTMuMTc0NjAzMTc0NjAzMTc0OTAwMDA7CngyWzIwXSA9IC0yLjkyMDYzNDkyMDYzNDkyMDkwMDAwOwp4MlsyMV0gPSAtMi42NjY2NjY2NjY2NjY2NjcwMDAwMDsKeDJbMjJdID0gLTIuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzIzXSA9IC0yLjE1ODczMDE1ODczMDE1OTEwMDAwOwp4MlsyNF0gPSAtMS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDJbMjVdID0gLTEuNjUwNzkzNjUwNzkzNjUxMTAwMDA7CngyWzI2XSA9IC0xLjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4MlsyN10gPSAtMS4xNDI4NTcxNDI4NTcxNDMyMDAwMDsKeDJbMjhdID0gLTAuODg4ODg4ODg4ODg4ODg5MjgwMDA7CngyWzI5XSA9IC0wLjYzNDkyMDYzNDkyMDYzNTMzMDAwOwp4MlszMF0gPSAtMC4zODA5NTIzODA5NTIzODEzODAwMDsKeDJbMzFdID0gLTAuMTI2OTg0MTI2OTg0MTI3NDIwMDA7CngyWzMyXSA9IDAuMTI2OTg0MTI2OTg0MTI2NTMwMDA7CngyWzMzXSA9IDAuMzgwOTUyMzgwOTUyMzgxMzgwMDA7CngyWzM0XSA9IDAuNjM0OTIwNjM0OTIwNjM0NDQwMDA7CngyWzM1XSA9IDAuODg4ODg4ODg4ODg4ODg5MjgwMDA7CngyWzM2XSA9IDEuMTQyODU3MTQyODU3MTQyMzAwMDA7CngyWzM3XSA9IDEuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CngyWzM4XSA9IDEuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CngyWzM5XSA9IDEuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CngyWzQwXSA9IDIuMTU4NzMwMTU4NzMwMTU4MjAwMDA7CngyWzQxXSA9IDIuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzQyXSA9IDIuNjY2NjY2NjY2NjY2NjY2MTAwMDA7CngyWzQzXSA9IDIuOTIwNjM0OTIwNjM0OTIwOTAwMDA7CngyWzQ0XSA9IDMuMTc0NjAzMTc0NjAzMTc0MDAwMDA7CngyWzQ1XSA9IDMuNDI4NTcxNDI4NTcxNDI4ODAwMDA7CngyWzQ2XSA9IDMuNjgyNTM5NjgyNTM5NjgxOTAwMDA7CngyWzQ3XSA9IDMuOTM2NTA3OTM2NTA3OTM2NzAwMDA7CngyWzQ4XSA9IDQuMTkwNDc2MTkwNDc2MTg5ODAwMDA7CngyWzQ5XSA9IDQuNDQ0NDQ0NDQ0NDQ0NDQ0NjAwMDA7CngyWzUwXSA9IDQuNjk4NDEyNjk4NDEyNjk3NzAwMDA7CngyWzUxXSA9IDQuOTUyMzgwOTUyMzgwOTUyNjAwMDA7CngyWzUyXSA9IDUuMjA2MzQ5MjA2MzQ5MjA1NjAwMDA7CngyWzUzXSA9IDUuNDYwMzE3NDYwMzE3NDYwNTAwMDA7CngyWzU0XSA9IDUuNzE0Mjg1NzE0Mjg1NzEzNTAwMDA7CngyWzU1XSA9IDUuOTY4MjUzOTY4MjUzOTY4NDAwMDA7CngyWzU2XSA9IDYuMjIyMjIyMjIyMjIyMjIxNDAwMDA7CngyWzU3XSA9IDYuNDc2MTkwNDc2MTkwNDc2MzAwMDA7CngyWzU4XSA9IDYuNzMwMTU4NzMwMTU4NzI5MzAwMDA7CngyWzU5XSA9IDYuOTg0MTI2OTg0MTI2OTg0MjAwMDA7CngyWzYwXSA9IDcuMjM4MDk1MjM4MDk1MjM3MjAwMDA7CngyWzYxXSA9IDcuNDkyMDYzNDkyMDYzNDkyMTAwMDA7CngyWzYyXSA9IDcuNzQ2MDMxNzQ2MDMxNzQ1MjAwMDA7CngyWzYzXSA9IDguMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzFdID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbMl0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVszXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzRdID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbNV0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVs2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzddID0gLTIuMDM0NDQzOTM1Nzk1NzAyNzAwMDA7CnlbOF0gPSAtMi4wMzQ0NDM5MzU3OTU3MDI3MDAwMDsKeVs5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzExXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEyXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzEzXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE0XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE1XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE3XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE4XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzE5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIxXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIyXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzIzXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI0XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI1XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI2XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI3XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI4XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzI5XSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMwXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMxXSA9IC0yLjAzNDQ0MzkzNTc5NTcwMjcwMDAwOwp5WzMyXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzNdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVszNF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzM1XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzZdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVszN10gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzM4XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbMzldID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0MF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQxXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDJdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0M10gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQ0XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDVdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0Nl0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzQ3XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNDhdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs0OV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzUwXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTFdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1Ml0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzUzXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTRdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1NV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzU2XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNTddID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs1OF0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzU5XSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNjBdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKeVs2MV0gPSAxLjEwNzE0ODcxNzc5NDA5MDQwMDAwOwp5WzYyXSA9IDEuMTA3MTQ4NzE3Nzk0MDkwNDAwMDA7CnlbNjNdID0gMS4xMDcxNDg3MTc3OTQwOTA0MDAwMDsKCgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5hdGFuMih4MVtpXSwgeDJbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbngxID0gIiArIHgxW2ldICsgIlxueDIgPSAiICsgeDJbaV0gKyAiXG5saWJjLmF0YW4yKHgxLHgyKSA9ICIgKyB5W2ldICsgIlxuTWF0aC5hdGFuMih4MSx4MikgPSAiICsgTWF0aC5hdGFuMih4MVtpXSx4MltpXSkgKyAiXG5NYXRoLmFicyhsaWJjLmF0YW4yKHgxLHgyKSAtIE1hdGguYXRhbjIoeDEseDIpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.atan2, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.atan2(argument1, argument2) is approximately equals to its mathematical values on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5PjAgYW5kIHggaXMgLTAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkvMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIGFuIGFwcHJveGltYXRpb24gdG8gK1BJLzIsIHdoZXJlIHk+MCBhbmQgeCBpcyAtMAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7IAoKLy8gQ0hFQ0sjMQp4ID0gLTA7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDE7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzJdID0gK0luZmluaXR5Owp5WzFdID0gMTsgCnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKCFpc0VxdWFsKE1hdGguYXRhbjIoeVtpXSx4KSwgKE1hdGguUEkpLzIpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeVtpXSArICIsICIgKyB4ICsgIikgLSAoKE1hdGguUEkpLzIpKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y>0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI/2","description":"Checking if Math.atan2(y,x) is an approximation to +PI/2, where y>0 and x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4PjAsIE1hdGguYXRhbjIoeSx4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGVxdWFscyB0byArMCwgd2hlcmUgeSBpcyArMCBhbmQgeD4wCiAqLwoKLy8gQ0hFQ0sjMQp5ID0gKzA7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gK0luZmluaXR5Owp4WzFdID0gMTsgCnhudW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGguYXRhbjIoeSx4W2ldKSAhPT0gKzApCgkJJEZBSUwoIiMxOiBNYXRoLmF0YW4yKCIgKyB5ICsgIiwgIiArIHhbaV0gKyAiKSAhPT0gKzAiKTsKfQoK","commentary":"If y is +0 and x>0, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) equals to +0, where y is +0 and x>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4IGlzICswLCBNYXRoLmF0YW4yKHkseCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyArMCwgd2hlcmUgeSBpcyArMCBhbmQgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKeSA9ICswOwp4ID0gKzA7CmlmIChNYXRoLmF0YW4yKHkseCkgIT09ICswKQoJJEVSUk9SKCIjMTogTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgIT09ICswIik7Cgo=","commentary":"If y is +0 and x is +0, Math.atan2(y,x) is +0","description":"Checking if Math.atan2(y,x) is +0, where y is +0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswIGFuZCB4IGlzIC0wLCBNYXRoLmF0YW4yKHkseCkgaXMgYW4gaW1wbGVtZW50YXRpb24tZGVwZW5kZW50IGFwcHJveGltYXRpb24gdG8gK1BJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjUvUzE1LjguMi41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmF0YW4yKHkseCkgaXMgYW4gYXBwcm94aW1hdGlvbiB0byArUEksIHdoZXJlIHkgaXMgKzAgYW5kIHggaXMgLTAKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOyAKCi8vIENIRUNLIzEKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeSA9ICswOwp4ID0gLTA7CmlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseCksIE1hdGguUEkpKQoJJEVSUk9SKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsIC0wKSAtIE1hdGguUEkpID49ICIgKyBwcmVjKTsKCg==","commentary":"If y is +0 and x is -0, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y is +0 and x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvICswIGFuZCB4PDAsIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgYXBwcm94aW1hdGlvbiB0byArUEkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvICtQSSwgd2hlcmUgeSBpcyBlcXVhbCB0byArMCBhbmQgeDwwCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsgCgovLyBDSEVDSyMxCnkgPSArMDsKLy9wcmVjID0gMC4wMDAwMDAwMDAwMDAwMTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp4WzJdID0gLUluZmluaXR5Owp4WzFdID0gLTE7IAp4bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNFcXVhbChNYXRoLmF0YW4yKHkseFtpXSksIE1hdGguUEkpKQoJCSRGQUlMKCIjMTogTWF0aC5hYnMoTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4W2ldICsgIikgLSBNYXRoLlBJKSA+PSAiICsgcHJlYyk7Cn0KCg==","commentary":"If y is equal to +0 and x<0, Math.atan2(y,x) is an implementation-dependent approximation to +PI","description":"Checking if Math.atan2(y,x) is an approximation to +PI, where y is equal to +0 and x<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PjAsIE1hdGguYXRhbjIoeSx4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi41L1MxNS44LjIuNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hdGFuMih5LHgpIGlzIC0wLCB3aGVyZSB5IGlzIGVxdWFsIHRvIC0wIGFuZCB4PjAKICovCgovLyBDSEVDSyMxCnkgPSAtMDsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnhbMl0gPSArSW5maW5pdHk7CnhbMV0gPSAxOyAKeG51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5hdGFuMih5LHhbaV0pICE9PSAtMCkKCQkkRkFJTCgiIzE6IE1hdGguYXRhbjIoIiArIHkgKyAiLCAiICsgeFtpXSArICIpICE9PSAtMCIpOwp9Cgo=","commentary":"If y is equal to -0 and x>0, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y is equal to -0 and x>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wIGFuZCB4IGlzICswLCBNYXRoLmF0YW4yKHkseCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNS9TMTUuOC4yLjVfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguYXRhbjIoeSx4KSBpcyAtMCwgd2hlcmUgeSBpcyAtMCBhbmQgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKeSA9IC0wOwp4ID0gKzA7CmlmIChNYXRoLmF0YW4yKHkseCkgIT09IC0wKQoJJEVSUk9SKCIjMTogTWF0aC5hdGFuMigiICsgeSArICIsICIgKyB4ICsgIikgIT09IC0wIik7Cgo=","commentary":"If y is -0 and x is +0, Math.atan2(y,x) is -0","description":"Checking if Math.atan2(y,x) is -0, where y is -0 and x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.5/S15.8.2.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5jZWlsKHgpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmNlaWwoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmNlaWwoeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is NaN, Math.ceil(x) is NaN","description":"Checking if Math.ceil(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmNlaWwoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBpcyArMCwgd2hlcmUgeCBpcyArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguY2VpbCh4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICswOyBNYXRoLmNlaWwoeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is +0, Math.ceil(x) is +0","description":"Checking if Math.ceil(x) is +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmNlaWwoeCkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBpcyAtMCwgd2hlcmUgeCBpcyAtMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguY2VpbCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0wOyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is -0, Math.ceil(x) is -0","description":"Checking if Math.ceil(x) is -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5jZWlsKHgpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzICtJbmZpbml0eSwgd2hlcmUgeCBpcyArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5jZWlsKHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgTWF0aC5jZWlsKHgpICE9PSArSW5maW5pdHknIik7Cn0KCg==","commentary":"If x is +Infinity, Math.ceil(x) is +Infinity","description":"Checking if Math.ceil(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5jZWlsKHgpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzIC1JbmZpbml0eSwgd2hlcmUgeCBpcyAtSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5jZWlsKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgTWF0aC5jZWlsKHgpICE9PSAtSW5maW5pdHknIik7Cn0KCg==","commentary":"If x is -Infinity, Math.ceil(x) is -Infinity","description":"Checking if Math.ceil(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAwIGJ1dCBncmVhdGVyIHRoYW4gLTEsIE1hdGguY2VpbCh4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi42L1MxNS44LjIuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5jZWlsKHgpIGlzIC0wLCB3aGVyZSB4IGlzIGxlc3MgdGhhbiAwIGJ1dCBncmVhdGVyIHRoYW4gLTEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOwppZiAoTWF0aC5jZWlsKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gLTAuMDAwMDAwMDAwMDAwMDAxOyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9CgovLyBDSEVDSyMyCnZhciB4ID0gLTAuOTk5OTk5OTk5OTk5OTk5OwppZiAoTWF0aC5jZWlsKHgpICE9PSAtMCkKewoJJEVSUk9SKCIjMjogJ3ZhciB4ID0gLTAuOTk5OTk5OTk5OTk5OTk5OyBNYXRoLmNlaWwoeCkgIT09IC0wJyIpOwp9CgovLyBDSEVDSyMzCnZhciB4ID0gLTAuNTsKaWYgKE1hdGguY2VpbCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzM6ICd2YXIgeCA9IC0wLjU7IE1hdGguY2VpbCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is less than 0 but greater than -1, Math.ceil(x) is -0","description":"Checking if Math.ceil(x) is -0, where x is less than 0 but greater than -1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgTWF0aC5jZWlsKHgpIGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZSBvZiAtTWF0aC5mbG9vcigteCkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuNi9TMTUuOC4yLjZfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguY2VpbCh4KSBlcXVhbHMgdG8gLU1hdGguZmxvb3IoLXgpIG9uIDIwMDAgZmxvYXRpbmcgcG9pbnQgYXJndW1lbnQgdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKGk9LTEwMDA7IGk8MTAwMDsgaSsrKQp7Cgl4ID0gaS8xMC4wOwoJaWYgKE1hdGguY2VpbCh4KSAhPT0gLU1hdGguZmxvb3IoLXgpKQoJewoJCSRFUlJPUigiIzE6ICd4ID0gIiArIHggKyAiOyBNYXRoLmNlaWwoeCkgIT09IC1NYXRoLmZsb29yKC14KSciKTsKCX0KfQoK","commentary":"The value of Math.ceil(x) is the same as the value of -Math.floor(-x)","description":"Checking if Math.ceil(x) equals to -Math.floor(-x) on 2000 floating point argument values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.6/S15.8.2.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyhOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmNvcyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.cos(x) is NaN","description":"Checking if Math.cos(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmNvcyh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygrMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguY29zKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArMDsgTWF0aC5jb3MoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is +0, Math.cos(x) is 1","description":"Checking if Math.cos(+0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmNvcyh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygtMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguY29zKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5jb3MoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is -0, Math.cos(x) is 1","description":"Checking if Math.cos(-0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygrSW5maW5pdHkpIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArSW5maW5pdHk7IGlzTmFOKE1hdGguY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is +Infinity, Math.cos(x) is NaN","description":"Checking if Math.cos(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5jb3MoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcygtSW5maW5pdHkpIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5jb3MoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtSW5maW5pdHk7IGlzTmFOKE1hdGguY29zKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is -Infinity, Math.cos(x) is NaN","description":"Checking if Math.cos(-Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb3NpbmUgaXMgYSBwZXJpb2RpYyBmdW5jdGlvbiB3aXRoIHBlcmlvZCAyKlBJCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyh4KSBlcXVhbHMgdG8gTWF0aC5jb3MoeCtuKjIqTWF0aC5QSSkgd2l0aCBwcmVjaXNpb24gMC4wMDAwMDAwMDAwMDMsIHdoZXJlIG4gaXMgYW4gaW50ZWdlciBmcm9tIDEgdG8gMTAwIGFuZCB4IGlzIG9uZSBvZiAxMCBmbG9hdCBwb2ludCB2YWx1ZXMgZnJvbSAtTWF0aC5QSSB0byArTWF0aC5QSQogKi8KCi8vIENIRUNLIzEKICBwcmVjID0gMC4wMDAwMDAwMDAwMDM7Ci8vcHJlYyA9IDAuMDAwMDAwMDAwMDAwMDAxOwpwZXJpb2QgPSAyKk1hdGguUEk7CnBlcm51bSA9IDEwMDsKCmEgPSAtcGVybnVtICogcGVyaW9kOwpiID0gcGVybnVtICogcGVyaW9kOwpzbnVtID0gOTsgCnN0ZXAgPSBwZXJpb2Qvc251bSArIDAuMDsKeCA9IG5ldyBBcnJheSgpOwpmb3IgKGkgPSAwOyBpIDwgc251bTsgaSsrKQp7Cgl4W2ldID0gYSArIGkqc3RlcDsKfQp4WzldID0gYSArIHBlcmlvZDsKCnZhciBjdXJ2YWw7CnZhciBjdXJ4Owp2YXIgajsKZm9yIChpID0gMDsgaSA8IHNudW07IGkrKykKewoJY3VydmFsID0gTWF0aC5jb3MoeFtpXSk7CgljdXJ4ID0geFtpXSArIHBlcmlvZDsKCWogPSAwOwoJd2hpbGUgKGN1cnggPD0gYikKCXsKCQljdXJ4ICs9IHBlcmlvZDsKCQlqKys7CgkJaWYgKE1hdGguYWJzKE1hdGguY29zKGN1cngpIC0gY3VydmFsKSA+PSBwcmVjKQoJCXsKCQkJJEZBSUwoIiMxOiBjb3MgaXMgZm91bmQgb3V0IHRvIG5vdCBiZSBwZXJpb2RpYzpcbiBNYXRoLmFicyhNYXRoLmNvcygiICsgeFtpXSArICIpIC0gTWF0aC5jb3MoIiArIHhbaV0gKyAiICsgMipNYXRoLlBJKiIgKyBqICsgIikpID49ICIgKyBwcmVjICsgIlxuIE1hdGguY29zKCIgKyB4W2ldICsgIikgPT09ICIgKyBjdXJ2YWwgKyAiXG4gTWF0aC5jb3MoIiArIGN1cnggKyAiKSA9PT0gIiArIE1hdGguY29zKGN1cngpKTsKCQl9Cgl9Cn0KCg==","commentary":"Cosine is a periodic function with period 2*PI","description":"Checking if Math.cos(x) equals to Math.cos(x+n*2*Math.PI) with precision 0.000000000003, where n is an integer from 1 to 100 and x is one of 10 float point values from -Math.PI to +Math.PI","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmNvcyBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IGltcGxlbWVudGF0aW9ucyB1c2UgdGhlIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyBmb3IgSUVFRSA3NTQgYXJpdGhtZXRpYyBjb250YWluZWQgaW4gZmRsaWJtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjcvUzE1LjguMi43X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmNvcyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLTMuMTQxNTkyNjUzNTg5NzkzMTAwMDA7CnhbMV0gPSAtMy4wNDE4NTk1NTM0NzU4MzE1MDAwMDsKeFsyXSA9IC0yLjk0MjEyNjQ1MzM2MTg2OTgwMDAwOwp4WzNdID0gLTIuODQyMzkzMzUzMjQ3OTA4MjAwMDA7CnhbNF0gPSAtMi43NDI2NjAyNTMxMzM5NDY2MDAwMDsKeFs1XSA9IC0yLjY0MjkyNzE1MzAxOTk4NDUwMDAwOwp4WzZdID0gLTIuNTQzMTk0MDUyOTA2MDIyOTAwMDA7CnhbN10gPSAtMi40NDM0NjA5NTI3OTIwNjEyMDAwMDsKeFs4XSA9IC0yLjM0MzcyNzg1MjY3ODA5OTYwMDAwOwp4WzldID0gLTIuMjQzOTk0NzUyNTY0MTM3OTAwMDA7CnhbMTBdID0gLTIuMTQ0MjYxNjUyNDUwMTc2MzAwMDA7CnhbMTFdID0gLTIuMDQ0NTI4NTUyMzM2MjE0NzAwMDA7CnhbMTJdID0gLTEuOTQ0Nzk1NDUyMjIyMjUyODAwMDA7CnhbMTNdID0gLTEuODQ1MDYyMzUyMTA4MjkxMjAwMDA7CnhbMTRdID0gLTEuNzQ1MzI5MjUxOTk0MzI5NTAwMDA7CnhbMTVdID0gLTEuNjQ1NTk2MTUxODgwMzY3OTAwMDA7CnhbMTZdID0gLTEuNTQ1ODYzMDUxNzY2NDA2MDAwMDA7CnhbMTddID0gLTEuNDQ2MTI5OTUxNjUyNDQ0NDAwMDA7CnhbMThdID0gLTEuMzQ2Mzk2ODUxNTM4NDgyODAwMDA7CnhbMTldID0gLTEuMjQ2NjYzNzUxNDI0NTIxMTAwMDA7CnhbMjBdID0gLTEuMTQ2OTMwNjUxMzEwNTU5NTAwMDA7CnhbMjFdID0gLTEuMDQ3MTk3NTUxMTk2NTk3NDAwMDA7CnhbMjJdID0gLTAuOTQ3NDY0NDUxMDgyNjM2MjIwMDA7CnhbMjNdID0gLTAuODQ3NzMxMzUwOTY4Njc0NTgwMDA7CnhbMjRdID0gLTAuNzQ3OTk4MjUwODU0NzEyNTAwMDA7CnhbMjVdID0gLTAuNjQ4MjY1MTUwNzQwNzUwODYwMDA7CnhbMjZdID0gLTAuNTQ4NTMyMDUwNjI2Nzg5MjIwMDA7CnhbMjddID0gLTAuNDQ4Nzk4OTUwNTEyODI3NTkwMDA7CnhbMjhdID0gLTAuMzQ5MDY1ODUwMzk4ODY1OTUwMDA7CnhbMjldID0gLTAuMjQ5MzMyNzUwMjg0OTA0MzEwMDA7CnhbMzBdID0gLTAuMTQ5NTk5NjUwMTcwOTQyNjgwMDA7CnhbMzFdID0gLTAuMDQ5ODY2NTUwMDU2OTgxMDQwMDA7CnhbMzJdID0gMC4wNDk4NjY1NTAwNTY5ODEwNDAwMDsKeFszM10gPSAwLjE0OTU5OTY1MDE3MDk0MjY4MDAwOwp4WzM0XSA9IDAuMjQ5MzMyNzUwMjg0OTA0MzEwMDA7CnhbMzVdID0gMC4zNDkwNjU4NTAzOTg4NjU5NTAwMDsKeFszNl0gPSAwLjQ0ODc5ODk1MDUxMjgyNzU5MDAwOwp4WzM3XSA9IDAuNTQ4NTMyMDUwNjI2Nzg5MjIwMDA7CnhbMzhdID0gMC42NDgyNjUxNTA3NDA3NTA4NjAwMDsKeFszOV0gPSAwLjc0Nzk5ODI1MDg1NDcxMjUwMDAwOwp4WzQwXSA9IDAuODQ3NzMxMzUwOTY4Njc0MTQwMDA7CnhbNDFdID0gMC45NDc0NjQ0NTEwODI2MzUzMzAwMDsKeFs0Ml0gPSAxLjA0NzE5NzU1MTE5NjU5ODMwMDAwOwp4WzQzXSA9IDEuMTQ2OTMwNjUxMzEwNTU5NTAwMDA7CnhbNDRdID0gMS4yNDY2NjM3NTE0MjQ1MjA3MDAwMDsKeFs0NV0gPSAxLjM0NjM5Njg1MTUzODQ4MjgwMDAwOwp4WzQ2XSA9IDEuNDQ2MTI5OTUxNjUyNDQ0MDAwMDA7CnhbNDddID0gMS41NDU4NjMwNTE3NjY0MDYwMDAwMDsKeFs0OF0gPSAxLjY0NTU5NjE1MTg4MDM2ODEwMDAwOwp4WzQ5XSA9IDEuNzQ1MzI5MjUxOTk0MzI5MzAwMDA7CnhbNTBdID0gMS44NDUwNjIzNTIxMDgyOTE0MDAwMDsKeFs1MV0gPSAxLjk0NDc5NTQ1MjIyMjI1MjYwMDAwOwp4WzUyXSA9IDIuMDQ0NTI4NTUyMzM2MjE0NzAwMDA7CnhbNTNdID0gMi4xNDQyNjE2NTI0NTAxNzY3MDAwMDsKeFs1NF0gPSAyLjI0Mzk5NDc1MjU2NDEzNzkwMDAwOwp4WzU1XSA9IDIuMzQzNzI3ODUyNjc4MTAwMDAwMDA7CnhbNTZdID0gMi40NDM0NjA5NTI3OTIwNjEyMDAwMDsKeFs1N10gPSAyLjU0MzE5NDA1MjkwNjAyMjQwMDAwOwp4WzU4XSA9IDIuNjQyOTI3MTUzMDE5OTg0NTAwMDA7CnhbNTldID0gMi43NDI2NjAyNTMxMzM5NDY2MDAwMDsKeFs2MF0gPSAyLjg0MjM5MzM1MzI0NzkwNzgwMDAwOwp4WzYxXSA9IDIuOTQyMTI2NDUzMzYxODY5ODAwMDA7CnhbNjJdID0gMy4wNDE4NTk1NTM0NzU4MzEwMDAwMDsKeFs2M10gPSAzLjE0MTU5MjY1MzU4OTc5MzEwMDAwOwoKCnZhciB5ID0gbmV3IEFycmF5KCk7CnlbMF0gPSAtMS4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVsxXSA9IC0wLjk5NTAzMDc3NTM2NTQwMTQxMDAwOwp5WzJdID0gLTAuOTgwMTcyNDg3ODQ4NTQzODMwMDA7CnlbM10gPSAtMC45NTU1NzI4MDU3ODYxNDA3OTAwMDsKeVs0XSA9IC0wLjkyMTQ3NjIxMTg3MDQwNzc0MDAwOwp5WzVdID0gLTAuODc4MjIxNTczMzcwMjI4NDQwMDA7CnlbNl0gPSAtMC44MjYyMzg3NzQzMTU5OTQ2ODAwMDsKeVs3XSA9IC0wLjc2NjA0NDQ0MzExODk3NzkwMDAwOwp5WzhdID0gLTAuNjk4MjM2ODE4MDg2MDcyNzQwMDA7CnlbOV0gPSAtMC42MjM0ODk4MDE4NTg3MzM0ODAwMDsKeVsxMF0gPSAtMC41NDI1NDYyNjM4NjU3NTkzMzAwMDsKeVsxMV0gPSAtMC40NTYyMTA2NTczNTMxNjI5NjAwMDsKeVsxMl0gPSAtMC4zNjUzNDEwMjQzNjYzOTQ4NzAwMDsKeVsxM10gPSAtMC4yNzA4NDA0NjgxNDMwMDUwMDAwMDsKeVsxNF0gPSAtMC4xNzM2NDgxNzc2NjY5MzAzMDAwMDsKeVsxNV0gPSAtMC4wNzQ3MzAwOTM1ODY0MjQyNjgwMDsKeVsxNl0gPSAwLjAyNDkzMDY5MTczODA3MzAzNTAwOwp5WzE3XSA9IDAuMTI0MzQzNzA0NjQ3NDg1MjcwMDA7CnlbMThdID0gMC4yMjI1MjA5MzM5NTYzMTQ0NTAwMDsKeVsxOV0gPSAwLjMxODQ4NjY1MDI1MTY4NDQzMDAwOwp5WzIwXSA9IDAuNDExMjg3MTAzMTMwNjExNTEwMDA7CnlbMjFdID0gMC41MDAwMDAwMDAwMDAwMDAzMzAwMDsKeVsyMl0gPSAwLjU4Mzc0MzY3MjIzNDc4OTczMDAwOwp5WzIzXSA9IDAuNjYxNjg1ODM3NTk2ODU5MjgwMDA7CnlbMjRdID0gMC43MzMwNTE4NzE4Mjk4MjY0NTAwMDsKeVsyNV0gPSAwLjc5NzEzMjUwNzIyMjkyMjUwMDAwOwp5WzI2XSA9IDAuODUzMjkwODgxNjMyMTU1NzIwMDA7CnlbMjddID0gMC45MDA5Njg4Njc5MDI0MTkxNTAwMDsKeVsyOF0gPSAwLjkzOTY5MjYyMDc4NTkwODMyMDAwOwp5WzI5XSA9IDAuOTY5MDc3Mjg2MjI5MDc3OTYwMDA7CnlbMzBdID0gMC45ODg4MzA4MjYyMjUxMjg1MjAwMDsKeVszMV0gPSAwLjk5ODc1NjkyMTIxODkyMjM0MDAwOwp5WzMyXSA9IDAuOTk4NzU2OTIxMjE4OTIyMzQwMDA7CnlbMzNdID0gMC45ODg4MzA4MjYyMjUxMjg1MjAwMDsKeVszNF0gPSAwLjk2OTA3NzI4NjIyOTA3Nzk2MDAwOwp5WzM1XSA9IDAuOTM5NjkyNjIwNzg1OTA4MzIwMDA7CnlbMzZdID0gMC45MDA5Njg4Njc5MDI0MTkxNTAwMDsKeVszN10gPSAwLjg1MzI5MDg4MTYzMjE1NTcyMDAwOwp5WzM4XSA9IDAuNzk3MTMyNTA3MjIyOTIyNTAwMDA7CnlbMzldID0gMC43MzMwNTE4NzE4Mjk4MjY0NTAwMDsKeVs0MF0gPSAwLjY2MTY4NTgzNzU5Njg1OTYyMDAwOwp5WzQxXSA9IDAuNTgzNzQzNjcyMjM0NzkwNTEwMDA7CnlbNDJdID0gMC40OTk5OTk5OTk5OTk5OTk1MDAwMDsKeVs0M10gPSAwLjQxMTI4NzEwMzEzMDYxMTUxMDAwOwp5WzQ0XSA9IDAuMzE4NDg2NjUwMjUxNjg0ODIwMDA7CnlbNDVdID0gMC4yMjI1MjA5MzM5NTYzMTQ0NTAwMDsKeVs0Nl0gPSAwLjEyNDM0MzcwNDY0NzQ4NTcyMDAwOwp5WzQ3XSA9IDAuMDI0OTMwNjkxNzM4MDczMDM1MDA7CnlbNDhdID0gLTAuMDc0NzMwMDkzNTg2NDI0NDkwMDA7CnlbNDldID0gLTAuMTczNjQ4MTc3NjY2OTMwMDgwMDA7CnlbNTBdID0gLTAuMjcwODQwNDY4MTQzMDA1MjIwMDA7CnlbNTFdID0gLTAuMzY1MzQxMDI0MzY2Mzk0NjUwMDA7CnlbNTJdID0gLTAuNDU2MjEwNjU3MzUzMTYyOTYwMDA7CnlbNTNdID0gLTAuNTQyNTQ2MjYzODY1NzU5NzcwMDA7CnlbNTRdID0gLTAuNjIzNDg5ODAxODU4NzMzNDgwMDA7CnlbNTVdID0gLTAuNjk4MjM2ODE4MDg2MDczMDcwMDA7CnlbNTZdID0gLTAuNzY2MDQ0NDQzMTE4OTc3OTAwMDA7CnlbNTddID0gLTAuODI2MjM4Nzc0MzE1OTk0NDYwMDA7CnlbNThdID0gLTAuODc4MjIxNTczMzcwMjI4NDQwMDA7CnlbNTldID0gLTAuOTIxNDc2MjExODcwNDA3NzQwMDA7CnlbNjBdID0gLTAuOTU1NTcyODA1Nzg2MTQwNTcwMDA7CnlbNjFdID0gLTAuOTgwMTcyNDg3ODQ4NTQzODMwMDA7CnlbNjJdID0gLTAuOTk1MDMwNzc1MzY1NDAxNDEwMDA7CnlbNjNdID0gLTEuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKdmFyIHZhbDsKZm9yIChpID0gMDsgaSA8IHZudW07IGkrKykKewoJdmFsID0gTWF0aC5jb3MoeFtpXSk7CglpZiAoIWlzRXF1YWwodmFsLCB5W2ldKSkKCXsKCQkkRVJST1IoIlxueCA9ICIgKyB4W2ldICsgIlxubGliYy5jb3MoeCkgPSAiICsgeVtpXSArICJcbk1hdGguY29zKHgpID0gIiArIE1hdGguY29zKHhbaV0pICsgIlxuTWF0aC5hYnMobGliYy5jb3MoeCkgLSBNYXRoLmNvcyh4KSkgPiAiICsgcHJlYyArICJcblxuIik7IAoJfQp9Cgo=","commentary":"Math.cos it is recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.cos is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.7/S15.8.2.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5leHAoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cChOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5leHAoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmV4cCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.exp(x) is NaN","description":"Checking if Math.exp(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmV4cCh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cCgrMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGguZXhwKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSArMDsgTWF0aC5leHAoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is +0, Math.exp(x) is 1","description":"Checking if Math.exp(+0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmV4cCh4KSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjgvUzE1LjguMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmV4cCgtMCkgaXMgMQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguZXhwKHgpICE9PSAxKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5leHAoeCkgIT09IDEnIik7Cn0KCg==","commentary":"If x is -0, Math.exp(x) is 1","description":"Checking if Math.exp(-0) is 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5leHAoeCkgaXMgK0lmaW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOC9TMTUuOC4yLjhfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZXhwKCtJbmZpbml0eSkgaXMgK0lmaW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gK0luZmluaXR5OwppZiAoTWF0aC5leHAoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gK0luZmluaXR5OyBNYXRoLmV4cCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.exp(x) is +Ifinity","description":"Checking if Math.exp(+Infinity) is +Ifinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5leHAoeCkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOC9TMTUuOC4yLjhfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZXhwKC1JbmZpbml0eSkgaXMgKzAKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5leHAoeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtSW5maW5pdHk7IE1hdGguZXhwKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is -Infinity, Math.exp(x) is +0","description":"Checking if Math.exp(-Infinity) is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmV4cCwgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi44L1MxNS44LjIuOF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5leHAgaXMgYXBwcm94aW1hdGVseSBlcXVhbHMgdG8gaXRzIG1hdGhlbWF0aWNhbCB2YWx1ZXMgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudCB2YWx1ZXM7IGFsbCB0aGUgc2FtcGxlIHZhbHVlcyBpcyBjYWxjdWxhdGVkIHdpdGggTGliQwogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCnZudW0gPSA2NDsKdmFyIHggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeFsxXSA9IC0xNS40OTIwNjM0OTIwNjM0OTIwMDAwMDsKeFsyXSA9IC0xNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeFs0XSA9IC0xMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs1XSA9IC0xMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeFs2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs3XSA9IC0xMi40NDQ0NDQ0NDQ0NDQ0NDUwMDAwMDsKeFs4XSA9IC0xMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeFsxMF0gPSAtMTAuOTIwNjM0OTIwNjM0OTIxMDAwMDA7CnhbMTFdID0gLTEwLjQxMjY5ODQxMjY5ODQxMzAwMDAwOwp4WzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4WzEzXSA9IC05LjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4WzE0XSA9IC04Ljg4ODg4ODg4ODg4ODg4OTMwMDAwOwp4WzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4WzE2XSA9IC03Ljg3MzAxNTg3MzAxNTg3MzUwMDAwOwp4WzE3XSA9IC03LjM2NTA3OTM2NTA3OTM2NTYwMDAwOwp4WzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4WzE5XSA9IC02LjM0OTIwNjM0OTIwNjM0OTcwMDAwOwp4WzIwXSA9IC01Ljg0MTI2OTg0MTI2OTg0MTgwMDAwOwp4WzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4WzIyXSA9IC00LjgyNTM5NjgyNTM5NjgyNjAwMDAwOwp4WzIzXSA9IC00LjMxNzQ2MDMxNzQ2MDMxODEwMDAwOwp4WzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4WzI1XSA9IC0zLjMwMTU4NzMwMTU4NzMwMjMwMDAwOwp4WzI2XSA9IC0yLjc5MzY1MDc5MzY1MDc5NDQwMDAwOwp4WzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4WzI4XSA9IC0xLjc3Nzc3Nzc3Nzc3Nzc3ODYwMDAwOwp4WzI5XSA9IC0xLjI2OTg0MTI2OTg0MTI3MDcwMDAwOwp4WzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4WzMxXSA9IC0wLjI1Mzk2ODI1Mzk2ODI1NDg0MDAwOwp4WzMyXSA9IDAuMjUzOTY4MjUzOTY4MjUzMDcwMDA7CnhbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeFszNF0gPSAxLjI2OTg0MTI2OTg0MTI2ODkwMDAwOwp4WzM1XSA9IDEuNzc3Nzc3Nzc3Nzc3Nzc4NjAwMDA7CnhbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeFszN10gPSAyLjc5MzY1MDc5MzY1MDc5NDQwMDAwOwp4WzM4XSA9IDMuMzAxNTg3MzAxNTg3MzAwNTAwMDA7CnhbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeFs0MF0gPSA0LjMxNzQ2MDMxNzQ2MDMxNjMwMDAwOwp4WzQxXSA9IDQuODI1Mzk2ODI1Mzk2ODI2MDAwMDA7CnhbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeFs0M10gPSA1Ljg0MTI2OTg0MTI2OTg0MTgwMDAwOwp4WzQ0XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4MDAwMDA7CnhbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeFs0Nl0gPSA3LjM2NTA3OTM2NTA3OTM2MzgwMDAwOwp4WzQ3XSA9IDcuODczMDE1ODczMDE1ODczNTAwMDA7CnhbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeFs0OV0gPSA4Ljg4ODg4ODg4ODg4ODg4OTMwMDAwOwp4WzUwXSA9IDkuMzk2ODI1Mzk2ODI1Mzk1NDAwMDA7CnhbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeFs1Ml0gPSAxMC40MTI2OTg0MTI2OTg0MTEwMDAwMDsKeFs1M10gPSAxMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFs1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeFs1NV0gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs1Nl0gPSAxMi40NDQ0NDQ0NDQ0NDQ0NDMwMDAwMDsKeFs1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs1OF0gPSAxMy40NjAzMTc0NjAzMTc0NTkwMDAwMDsKeFs1OV0gPSAxMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeFs2MV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFs2Ml0gPSAxNS40OTIwNjM0OTIwNjM0OTAwMDAwMDsKeFs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMTEyNTM1MTc0NzE5MjU5MTIwMDsKeVsxXSA9IDAuMDAwMDAwMTg3MDE3NTI3OTYyNzE2MDQwMDsKeVsyXSA9IDAuMDAwMDAwMzEwNzk2NjU0MDQ2NTExMjAwMDsKeVszXSA9IDAuMDAwMDAwNTE2NTAwMDM3Mjg5MzYwMTkwMDsKeVs0XSA9IDAuMDAwMDAwODU4MzQ5OTM3MzE5NDI2NjAwMDsKeVs1XSA9IDAuMDAwMDAxNDI2NDU2MDczMDAwMjUwNTAwOwp5WzZdID0gMC4wMDAwMDIzNzA1NjgwMzk1OTY3Mzc3MDA7CnlbN10gPSAwLjAwMDAwMzkzOTU0ODQ2MzMwMzEwNTkwMDsKeVs4XSA9IDAuMDAwMDA2NTQ2OTcxNzk1NTY3NjE5MzAwOwp5WzldID0gMC4wMDAwMTA4ODAxNDAyMjE5NjMzMTYwMDsKeVsxMF0gPSAwLjAwMDAxODA4MTI1MjY2ODU1ODQ1NTAwOwp5WzExXSA9IDAuMDAwMDMwMDQ4NDgyMDQxMDk0MjgxMDA7CnlbMTJdID0gMC4wMDAwNDk5MzYzMjI5NzA4MTA1NjgwMDsKeVsxM10gPSAwLjAwMDA4Mjk4NzA5ODkzMDE0OTIyNjAwOwp5WzE0XSA9IDAuMDAwMTM3OTEyODA5MzM2NTYxOTIwMDsKeVsxNV0gPSAwLjAwMDIyOTE5MTU2MzgwMDkyMzg3MDA7CnlbMTZdID0gMC4wMDAzODA4ODM5MzA3MjU1NDk0NzAwOwp5WzE3XSA9IDAuMDAwNjMyOTc1MTY4MzY1OTUwMTIwMDsKeVsxOF0gPSAwLjAwMTA1MTkxNTExNDkzOTgzNTcwMDsKeVsxOV0gPSAwLjAwMTc0ODEzMzk5Mzc3OTYwNzcwMDsKeVsyMF0gPSAwLjAwMjkwNTE1MTIwMTY1NjI1NTAwMDsKeVsyMV0gPSAwLjAwNDgyNzk0OTk5MzgzMTQzNzEwMDsKeVsyMl0gPSAwLjAwODAyMzM2OTM2MTg1OTExMTEwMDsKeVsyM10gPSAwLjAxMzMzMzcwMzk1MjgzMDc1ODAwOwp5WzI0XSA9IDAuMDIyMTU4NzI4MjIwNDUxNjQ2MDA7CnlbMjVdID0gMC4wMzY4MjQ2NjkxMzA1NjA1NjAwMDsKeVsyNl0gPSAwLjA2MTE5NzM4NjU1OTU2MjIyOTAwOwp5WzI3XSA9IDAuMTAxNzAxMzkyMzA0MjI2NzYwMDsKeVsyOF0gPSAwLjE2OTAxMzMxNTQwNjA2NTk2MDA7CnlbMjldID0gMC4yODA4NzYyMDE3NjQyODE0MTAwOwp5WzMwXSA9IDAuNDY2Nzc2NDgxNjUxNjgwOTUwMDsKeVszMV0gPSAwLjc3NTcxNjQyNzU3MzkyNzU2MDA7CnlbMzJdID0gMS4yODkxMzA4Nzg4MjgzOTI0MDA7CnlbMzNdID0gMi4xNDIzNTMwMDkwMDY2MTU0MDA7CnlbMzRdID0gMy41NjAyODczOTI1MTkwMTUzMDA7CnlbMzVdID0gNS45MTY2OTM1OTA2NjQzMzQ4MDA7CnlbMzZdID0gOS44MzI3MDcwNzg0Njk3MzgzMDA7CnlbMzddID0gMTYuMzQwNTY3MDc2Nzc3MzYxMDAwOwp5WzM4XSA9IDI3LjE1NTcwOTAyOTAzNTIyNjAwMDsKeVszOV0gPSA0NS4xMjg5NDM3NzU2MTk3MDMwMDA7CnlbNDBdID0gNzQuOTk3OTE1MzIzMjczNDg5MDAwOwp5WzQxXSA9IDEyNC42MzU5MTcyNjg1ODg1MzAwMDA7CnlbNDJdID0gMjA3LjEyNzI0ODg4OTgzNDMzMDAwMDsKeVs0M10gPSAzNDQuMjE2MTYzMTQ4MzcyNTIwMDAwOwp5WzQ0XSA9IDU3Mi4wMzg1Mjk5NzQ0MTk3MDAwMDA7CnlbNDVdID0gOTUwLjY0NzA0OTE3NDg3MDg2MDAwMDsKeVs0Nl0gPSAxNTc5Ljg0MDgwNTczMjYxMTkwMDAwMDsKeVs0N10gPSAyNjI1LjQ3MTc0OTYwOTEwMDcwMDAwMDsKeVs0OF0gPSA0MzYzLjE2MjM0MDc3NzA3ODUwMDAwMDsKeVs0OV0gPSA3MjUwLjk1ODA4NTg0MTA2MDAwMDAwMDsKeVs1MF0gPSAxMjA1MC4wNjU3Njc5NTM5NDAwMDAwMDA7CnlbNTFdID0gMjAwMjUuNTAzMjkxMTUyMDc2MDAwMDAwOwp5WzUyXSA9IDMzMjc5LjU1MTMxNDE4NjE1MjAwMDAwMDsKeVs1M10gPSA1NTMwNS45MDI2NTY3ODM0NTkwMDAwMDA7CnlbNTRdID0gOTE5MTAuNTgwMTU3OTA0MzE4MDAwMDAwOwp5WzU1XSA9IDE1Mjc0Mi4zNzE3NzUxNDgzODAwMDAwMDA7CnlbNTZdID0gMjUzODM2LjE5NzA0NTE2ODU1MDAwMDAwMDsKeVs1N10gPSA0MjE4MzkuODIyMDU4MDU0OTcwMDAwMDAwOwp5WzU4XSA9IDcwMTAzOC4wNjEzMzgwNjAzMDAwMDAwMDA7CnlbNTldID0gMTE2NTAyNi4wMDY5MDIxOTM5MDAwMDAwMDA7CnlbNjBdID0gMTkzNjEwOC4yODIyOTE4ODYyMDAwMDAwMDA7CnlbNjFdID0gMzIxNzUzNy44NTYyODA2MTYwMDAwMDAwMDA7CnlbNjJdID0gNTM0NzA5Mi4zODY5NzMyNjI4MDAwMDAwMDA7CnlbNjNdID0gODg4NjExMC41MjA1MDc4NzIxMDAwMDAwMDA7CgoKCnZhciB2YWw7CmZvciAoaSA9IDA7IGkgPCB2bnVtOyBpKyspCnsKCXZhbCA9IE1hdGguZXhwKHhbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbnggPSAiICsgeFtpXSArICJcbmxpYmMuZXhwKHgpID0gIiArIHlbaV0gKyAiXG5NYXRoLmV4cCh4KSA9ICIgKyBNYXRoLmV4cCh4W2ldKSArICJcbk1hdGguYWJzKGxpYmMuZXhwKHgpIC0gTWF0aC5leHAoeCkpID4gIiArIHByZWMgKyAiXG5cbiIpOyAKCX0KfQoK","commentary":"Math.exp, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.exp is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.8/S15.8.2.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5mbG9vcih4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoTmFOKSBpcyBOYU4KICovCgovLyBDSEVDSyMxCnZhciB4ID0gTmFOOwppZiAoIWlzTmFOKE1hdGguZmxvb3IoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmZsb29yKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.floor(x) is NaN","description":"Checking if Math.floor(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLmZsb29yKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjkvUzE1LjguMi45X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmZsb29yKHgpIGlzICswLCB3aGVyZSB4IGlzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICswOyBNYXRoLmZsb29yKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is +0, Math.floor(x) is +0","description":"Checking if Math.floor(x) is +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmZsb29yKHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjkvUzE1LjguMi45X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmZsb29yKHgpIGlzIC0wLCB3aGVyZSB4IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5mbG9vcih4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC0wOyBNYXRoLmZsb29yKHgpICE9PSAtMCciKTsKfQoK","commentary":"If x is -0, Math.floor(x) is -0","description":"Checking if Math.floor(x) is -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5mbG9vcih4KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgK0luZmluaXR5LCB3aGVyZSB4IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmIChNYXRoLmZsb29yKHgpICE9PSArSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgTWF0aC5mbG9vcih4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.floor(x) is +Infinity","description":"Checking if Math.floor(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5mbG9vcih4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgLUluZmluaXR5LCB3aGVyZSB4IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtSW5maW5pdHk7CmlmIChNYXRoLmZsb29yKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9IC1JbmZpbml0eTsgTWF0aC5mbG9vcih4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.floor(x) is -Infinity","description":"Checking if Math.floor(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGdyZWF0ZXIgdGhhbiAwIGJ1dCBsZXNzIHRoYW4gMSwgTWF0aC5mbG9vcih4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi45L1MxNS44LjIuOV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5mbG9vcih4KSBpcyArMCwgd2hlcmUgeCBpcyBncmVhdGVyIHRoYW4gMCBidXQgbGVzcyB0aGFuIDEKICovCgovLyBDSEVDSyMxCnZhciB4ID0gMC4wMDAwMDAwMDAwMDAwMDE7CmlmIChNYXRoLmZsb29yKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4ID0gMC4wMDAwMDAwMDAwMDAwMDE7IE1hdGguZmxvb3IoeCkgIT09ICArMCciKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgeCA9IDAuOTk5OTk5OTk5OTk5OTk5OwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzI6ICd2YXIgeCA9IDAuOTk5OTk5OTk5OTk5OTk5OyBNYXRoLmNlaWwoeCkgIT09ICswJyIpOwp9CgovLyBDSEVDSyMzCnZhciB4ID0gMC41OwppZiAoTWF0aC5mbG9vcih4KSAhPT0gKzApCnsKCSRFUlJPUigiIzM6ICd2YXIgeCA9IDAuNTsgTWF0aC5jZWlsKHgpICE9PSArMCciKTsKfQoK","commentary":"If x is greater than 0 but less than 1, Math.floor(x) is +0","description":"Checking if Math.floor(x) is +0, where x is greater than 0 but less than 1","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgTWF0aC5mbG9vcih4KSBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUgb2YgLU1hdGguY2VpbCgteCkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuOS9TMTUuOC4yLjlfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguZmxvb3IoeCkgaXMgZXF1YWwgdG8gLU1hdGguY2VpbCgteCkgb24gMjAwMCBmbG9hdGluZy1wb2ludCBhcmd1bWVudCB2YWx1ZXMKICovCgovLyBDSEVDSyMxCmZvciAoaT0tMTAwMDsgaTwxMDAwOyBpKyspCnsKCXggPSBpLzEwLjA7CglpZiAoLU1hdGguY2VpbCgteCkgIT09IE1hdGguZmxvb3IoeCkpCgl7CgkJJEVSUk9SKCIjMTogJ3ggPSAiICsgeCArICI7IE1hdGguZmxvb3IoeCkgIT09IC1NYXRoLmNlaWwoLXgpJyIpOwoJfQp9Cgo=","commentary":"The value of Math.floor(x) is the same as the value of -Math.ceil(-x)","description":"Checking if Math.floor(x) is equal to -Math.ceil(-x) on 2000 floating-point argument values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.9/S15.8.2.9_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjEvMTUuOS4xLjE1LzE1LjkuMS4xNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZSBUaW1lIFN0cmluZyBGb3JtYXQgLSBzcGVjaWZpZWQgZGVmYXVsdCB2YWx1ZXMgd2lsbCBiZSBzZXQgZm9yIGFsbCBvcHRpb25hbCBmaWVsZHMoTU0sIERELCBtbSwgc3MgYW5kIHRpbWUgem9uZSkgd2hlbiB0aGV5IGFyZSBhYnNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBleHBlY3RlZERhdGVUaW1lU3RyID0gIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjE5NzAiKTsNCiAgICAgICAgdmFyIGRhdGVTdHIgPSBkYXRlT2JqLnRvSVNPU3RyaW5nKCk7DQogICAgICAgIHJlc3VsdCA9IGRhdGVTdHIgPT09IGV4cGVjdGVkRGF0ZVRpbWVTdHI7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date Time String Format - specified default values will be set for all optional fields(MM, DD, mm, ss and time zone) when they are absent","path":"TestCases/ch15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIGEgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYXMgYSBjb25zdHJ1Y3RvciwKICogaXQgc2hvdWxkIGJlICJzdHJpbmciIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB0aW1lIChVVEMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjIvUzE1LjkuMi4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIHJldHVybmVkIHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIiApIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgRGF0ZSgpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKCkpKTsKfQoKLy9DSEVDSyMyCmlmKCB0eXBlb2YgRGF0ZSgxKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzI6IHR5cGVvZiBEYXRlKDEpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIERhdGUoMTk3MCwgMSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMzOiB0eXBlb2YgRGF0ZSgxOTcwLCAxKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSgxOTcwLCAxKSkpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEpICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjNDogdHlwZW9mIERhdGUoMTk3MCwgMSwgMSkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJysodHlwZW9mIERhdGUoMTk3MCwgMSwgMSkpKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzU6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpKSk7Cn0KCi8vQ0hFQ0sjNgppZiggdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyM3OiB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSkpOwp9CgovL0NIRUNLIzgKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDApICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjODogdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJysodHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCkpKTsKfQoKLy9DSEVDSyM5CmlmKCB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSAhPT0gInN0cmluZyIgICkgewogICRFUlJPUignIzk6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYoIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTA6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5OYU4pICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTE6IHR5cGVvZiBEYXRlKE51bWJlci5OYU4pIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKE51bWJlci5OYU4pKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxMjogdHlwZW9mIERhdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYoIHR5cGVvZiBEYXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxMzogdHlwZW9mIERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYoIHR5cGVvZiBEYXRlKHVuZGVmaW5lZCkgIT09ICJzdHJpbmciICApIHsKICAkRVJST1IoJyMxNDogdHlwZW9mIERhdGUodW5kZWZpbmVkKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnKyh0eXBlb2YgRGF0ZSh1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYoIHR5cGVvZiBEYXRlKG51bGwpICE9PSAic3RyaW5nIiAgKSB7CiAgJEVSUk9SKCcjMTU6IHR5cGVvZiBEYXRlKG51bGwpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcrKHR5cGVvZiBEYXRlKG51bGwpKSk7Cn0KCg==","commentary":"When Date is called as a function rather than as a constructor,\nit should be \"string\" representing the current time (UTC)","description":"Checking type of returned value","path":"TestCases/ch15/15.9/15.9.2/S15.9.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbGwgb2YgdGhlIGFyZ3VtZW50cyBhcmUgb3B0aW9uYWwsIGFueSBhcmd1bWVudHMgc3VwcGxpZWQgYXJlCiAqIGFjY2VwdGVkIGJ1dCBhcmUgY29tcGxldGVseSBpZ25vcmVkLiBBIHN0cmluZyBpcyBjcmVhdGVkIGFuZCByZXR1cm5lZCBhcwogKiBpZiBieSB0aGUgZXhwcmVzc2lvbiAobmV3IERhdGUoKSkudG9TdHJpbmcoKQogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4yL1MxNS45LjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHZhcmlvdXMgbnVtYmVyIGFyZ3VtZW50cyBhbmQgdmFyaW91cyB0eXBlcyBvZiBvbmVzCiAqLwoKZnVuY3Rpb24gaXNFcXVhbChkMSwgZDIpIHsKICBpZiAoZDEgPT09IGQyKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9IGVsc2UgaWYgKE1hdGguYWJzKERhdGUucGFyc2UoZDEpIC0gRGF0ZS5wYXJzZShkMikpIDw9IDEwMDApIHsKICAgIHJldHVybiB0cnVlOwogIH0gZWxzZSB7IAogICAgcmV0dXJuIGZhbHNlOwogIH0KfQoKLy9DSEVDSyMxCmlmKCAhaXNFcXVhbChEYXRlKCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxOiBEYXRlKCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMyCmlmKCAhaXNFcXVhbChEYXRlKDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMjogRGF0ZSgxKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzMKaWYoICFpc0VxdWFsKERhdGUoMTk3MCwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMzOiBEYXRlKDE5NzAsIDEpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjNAppZiggIWlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzQ6IERhdGUoMTk3MCwgMSwgMSkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyM1CmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjNTogRGF0ZSgxOTcwLCAxLCAxLCAxKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzYKaWYoICFpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyM3OiBEYXRlKDE5NzAsIDEsIDEsIDEpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjOAppZiggIWlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxLCAxLCAwKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzg6IERhdGUoMTk3MCwgMSwgMSwgMSwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyM5CmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjOTogRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzEwCmlmKCAhaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDAsIDApLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMTA6IERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMxMQppZiggIWlzRXF1YWwoRGF0ZShOdW1iZXIuTmFOKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzExOiBEYXRlKE51bWJlci5OYU4pIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMTIKaWYoICFpc0VxdWFsKERhdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpICkgewogICRFUlJPUignIzEyOiBEYXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKfQoKLy9DSEVDSyMxMwppZiggIWlzRXF1YWwoRGF0ZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgKSB7CiAgJEVSUk9SKCcjMTM6IERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9CgovL0NIRUNLIzE0CmlmKCAhaXNFcXVhbChEYXRlKHVuZGVmaW5lZCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxNDogRGF0ZSh1bmRlZmluZWQpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMTUKaWYoICFpc0VxdWFsKERhdGUobnVsbCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSApIHsKICAkRVJST1IoJyMxNTogRGF0ZShudWxsKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwp9Cgo=","commentary":"All of the arguments are optional, any arguments supplied are\naccepted but are completely ignored. A string is created and returned as\nif by the expression (new Date()).toString()","description":"Use various number arguments and various types of ones","path":"TestCases/ch15/15.9/15.9.2/S15.9.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZSgxODk5LCAxMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZih4MTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDEyKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMyLjI6IG5ldyBEYXRlKDE4OTksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIpOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMikgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MjQgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmKHgyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzIuNDogbmV3IERhdGUoMTg5OSwgMTIpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5MDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzMuMjogbmV3IERhdGUoMTkwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDApOwppZih0eXBlb2YgeDMzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgzNCA9IG5ldyBEYXRlKDE5MDAsIDApOwppZih4MzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMzLjQ6IG5ldyBEYXRlKDE5MDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7CmlmKHR5cGVvZiB4NDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg0NCA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMikgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMikgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDU0ID0gbmV3IERhdGUoMTk2OSwgMTIpOwppZih4NTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM1LjQ6IG5ldyBEYXRlKDE5NjksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NzAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTcwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM2LjI6IG5ldyBEYXRlKDE5NzAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYodHlwZW9mIHg2MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNi4zOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NjQgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDExKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDExKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM3LjI6IG5ldyBEYXRlKDE5OTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEpOwppZih0eXBlb2YgeDczICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM3LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7CmlmKHg3NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzcuNDogbmV3IERhdGUoMTk5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTIpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoMTk5OSwgMTIpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmKHR5cGVvZiB4ODMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzguMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjAwMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzkuMzogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDk0ID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKHg5NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzkuNDogbmV3IERhdGUoMjAwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEwLjI6IG5ldyBEYXRlKDIwOTksIDExKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExKTsKaWYodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEwLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTA0ID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZih4MTA0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTAuNDogbmV3IERhdGUoMjA5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDEyKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMS4yOiBuZXcgRGF0ZSgyMDk5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMik7CmlmKHR5cGVvZiB4MTEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMS4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExNCA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYoeDExNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzExLjQ6IG5ldyBEYXRlKDIwOTksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIxMDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjEwMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTIuMjogbmV3IERhdGUoMjEwMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYodHlwZW9mIHgxMjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEyLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMjQgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYoeDEyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEyLjQ6IG5ldyBEYXRlKDIxMDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzUuMjogbmV3IERhdGUoMTk2OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmKHR5cGVvZiB4NTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzUuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk3MCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzYuMzogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKHg2NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzYuNDogbmV3IERhdGUoMTk3MCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDczICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM3LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoMTk5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmKHR5cGVvZiB4ODMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzguMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjAwMCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzkuMzogdHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDk0ID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKHg5NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzkuNDogbmV3IERhdGUoMjAwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEwLjI6IG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTA0ID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxKTsKaWYoeDEwNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEwLjQ6IG5ldyBEYXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEpOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMykgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZih4MTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmKHR5cGVvZiB4NDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDU0ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZih4NTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM1LjQ6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM2LjI6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYodHlwZW9mIHg2MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNi4zOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NjQgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM3LjI6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpOwppZih4MTA0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTAuNDogbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHR5cGVvZiB4MTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKaWYodHlwZW9mIHgyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMi4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDI0ID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZih4MjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMyLjQ6IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMy4xOiB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMzLjI6IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYodHlwZW9mIHgzMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMy4zOiB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MzQgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYoeDM0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM0LjI6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzUuMjogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4NTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzUuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzYuMzogdHlwZW9mIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmKHg2NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzYuNDogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg3MyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpOwppZih4NzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM3LjQ6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmKHR5cGVvZiB4MTAzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYoeDEwNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEwLjQ6IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTEuMjogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApOwppZih0eXBlb2YgeDExMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTEuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMTQgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmKHgxMTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMS40OiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmKHR5cGVvZiB4MTIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMi4zOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTI0ID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmKHgxMjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMi40OiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgo=","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHgxNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEuNDogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMyLjI6IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MjQgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHgyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzIuNDogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzMuMjogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDMzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgzNCA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZih4MzQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMzLjQ6IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNC4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg0NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHg0NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM1LjI6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDUzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM1LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHg1NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzUuNDogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg2NCA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZih4NjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM2LjQ6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg3NCA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHg3NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzcuNDogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM4LjI6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHg4NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZih0eXBlb2YgeDkzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg5NCA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZih4OTQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM5LjQ6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEwLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmKHgxMDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMC40OiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMS4yOiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MTEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxMS4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExNCA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKaWYoeDExNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzExLjQ6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTIuMjogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYodHlwZW9mIHgxMjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzEyLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMjQgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYoeDEyNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEyLjQ6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXplcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgppZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxLjI6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih0eXBlb2YgeDEzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTQgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHgxNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzEuNDogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MjMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzMuMzogdHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmKHgzNCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzMuNDogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNC4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih4NDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM0LjQ6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM1LjI6IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDUzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM1LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmKHg1NCA9PT0gdW5kZWZpbmVkKXsKICAkRkFJTCgiIzUuNDogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKaWYgKG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg2NCA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih4NjQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM2LjQ6IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHR5cGVvZiB4NzMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzcuMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHg3NCA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHg4MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDg0ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih4ODQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiM4LjQ6IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOS4xOiB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiM5LjI6IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHg5MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjOS4zOiB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoeDk0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOS40OiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgppZiAodHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMTAuMjogbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZih0eXBlb2YgeDEwMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKfQoKdmFyIHgxMDQgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKHgxMDQgPT09IHVuZGVmaW5lZCl7CiAgJEZBSUwoIiMxMC40OiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKXsKICAkRkFJTCgiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCnZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZih4MTE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEZBSUwoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZih4MTI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initializes the newly created object","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKdmFyIHgxMSA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikpIHsKICAkRVJST1IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKScpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MjEgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MjIgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCk7CmlmICh0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMikpIHsKICAkRVJST1IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzMuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg0MSA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYgKHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg0MiA9IG5ldyBEYXRlKDE5NjksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NTEgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7CiAgJEVSUk9SKCcjNS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MiknKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MikpIHsKICAkRVJST1IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzYuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg3MSA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKICAkRVJST1IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKScpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4ODEgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4ODIgPSBuZXcgRGF0ZSgxOTk5LCAxMik7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmICh0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MikpIHsKICAkRVJST1IoJyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzkuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMDEgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7CmlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMikpIHsKICAkRVJST1IoJyMxMC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTAuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTExID0gbmV3IERhdGUoMjA5OSwgMTIpOwppZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExMiA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpKSB7CiAgJEVSUk9SKCcjMTEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKScpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzExLjM6IERhdGUucHJvdG90eXBlID09PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDApOwppZiAodHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyMiA9IG5ldyBEYXRlKDIxMDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKICAkRVJST1IoJyMxMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpJyk7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKdmFyIHgxMSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSk7CmlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MjEgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MjIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmICh0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMikpIHsKICAkRVJST1IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwp9Cgp2YXIgeDMzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzMuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg0MSA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSk7CmlmICh0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NTEgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7CiAgJEVSUk9SKCcjNS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MiknKTsKfQoKdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MikpIHsKICAkRVJST1IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwp9Cgp2YXIgeDYzID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzYuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg3MSA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSk7CmlmICh0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4ODEgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4ODIgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmICh0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzkuMTogdHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MikpIHsKICAkRVJST1IoJyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwp9Cgp2YXIgeDkzID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzkuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMDEgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZiAodHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwMiA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTAuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEpOwppZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDExMiA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpKSB7CiAgJEVSUk9SKCcjMTEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKScpOwp9Cgp2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzExLjM6IERhdGUucHJvdG90eXBlID09PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAodHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTIuMTogdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKICAkRVJST1IoJyMxMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpJyk7Cn0KCnZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg0MiA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMC4xOiB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpKSB7CiAgJEVSUk9SKCcjMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiknKTsKfQoKdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpKSB7CiAgJEVSUk9SKCcjNC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MiknKTsKfQoKdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpKSB7CiAgJEVSUk9SKCcjNy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiknKTsKfQoKdmFyIHg3MyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAodHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMTAuMTogdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEwMiA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpKSB7CiAgJEVSUk9SKCcjMTAuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKScpOwp9Cgp2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCnZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikpIHsKICAkRVJST1IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKScpOwp9Cgp2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMyLjE6IHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDIyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSkgewogICRFUlJPUignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpJyk7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlID09PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM1LjE6IHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDUyID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewogICRFUlJPUignIzUuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpJyk7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDYyID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7CiAgJEVSUk9SKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MiknKTsKfQoKdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlID09PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAodHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKICAkRVJST1IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKScpOwp9Cgp2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDgyID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSkgewogICRFUlJPUignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg5MSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDkyID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7CiAgJEVSUk9SKCcjOS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg5MiknKTsKfQoKdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM5LjM6IERhdGUucHJvdG90eXBlID09PSB4OTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMDIgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMikpIHsKICAkRVJST1IoJyMxMC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Cn0KCnZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDExMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzExLjE6IHR5cGVvZiB4MTExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSkgewogICRFUlJPUignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKfQoKdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMjEgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMjIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpKSB7CiAgJEVSUk9SKCcjMTIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKScpOwp9Cgp2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgp2YXIgeDExID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgyMSA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMikpIHsKICAkRVJST1IoJyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwp9Cgp2YXIgeDIzID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMyLjM6IERhdGUucHJvdG90eXBlID09PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MzEgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMy4xOiB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgzMiA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSkgewogICRFUlJPUignIzMuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpJyk7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgzMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDQxID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewogICRFUlJPUignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpJyk7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzQuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNS4xOiB0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MikpIHsKICAkRVJST1IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDUzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM1LjM6IERhdGUucHJvdG90eXBlID09PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NjEgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNi4xOiB0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg2MiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSkgewogICRFUlJPUignIzYuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpJyk7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg2My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDcxID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAodHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzcuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MikpIHsKICAkRVJST1IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwp9Cgp2YXIgeDgzID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM4LjM6IERhdGUucHJvdG90eXBlID09PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4OTEgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOS4xOiB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg5MiA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSkgewogICRFUlJPUignIzkuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpJyk7Cn0KCnZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg5My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDEwMSA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEwLjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMDIgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkgewogICRFUlJPUignIzEwLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMiknKTsKfQoKdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMxMC4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMS4xOiB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTEyID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKICAkRVJST1IoJyMxMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpJyk7Cn0KCnZhciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMTEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4MTIxID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICh0eXBlb2YgeDEyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMxMi4xOiB0eXBlb2YgeDEyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTIyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSkgewogICRFUlJPUignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMiknKTsKfQoKdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzEyLjM6IERhdGUucHJvdG90eXBlID09PSB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMik7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg2KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEwKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEpOwppZiAoeDEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMik7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDApOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7CmlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCk7CmlmICh4Ni50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExKTsKaWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIpOwppZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKaWYgKHg5LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExKTsKaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIpOwppZiAoeDExLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwKTsKaWYgKHgxMi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9CgoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsKaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEpOwppZiAoeDIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsKaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEpOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKaWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEpOwppZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKaWYgKHg5LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7CmlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKaWYgKHgxMS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSk7CmlmICh4MTIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEwKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UMy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwppZiAoeDEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDApOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzKTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMyk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKTsKaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwppZiAoeDExLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKTsKaWYgKHgxMi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcgLSA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg1KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMikgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString - 5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsKaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApOwppZiAoeDIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpOwppZiAoeDQudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7CmlmICh4NS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwppZiAoeDYudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7CmlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsKaWYgKHgxMS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7CmlmICh4MTIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg2KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCkRhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4Ni50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsKaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCk7CmlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwppZiAoeDEwLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCk7CmlmICh4MTEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwppZiAoeDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNi4xLmpzCiAqIEBkZXNjcmlwdGlvbiA3IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpCiAqLwoKdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMV9BM19UNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZyAtIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgpEYXRlLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cgp2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7CmlmICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApOwppZiAoeDUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoeDcudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoeDkudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwppZiAoeDEwLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7CmlmICh4MTEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwppZiAoeDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString - 7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A3_T6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIDIgYXJndW1lbnRzLCAoeWVhciwgbW9udGgpCiAqLwoKdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKXsKICB0aGlzLnZhbHVlID0gdmFsOwogIHRoaXMudmFsdWVPZiA9IGZ1bmN0aW9uKCl7dGhyb3cgInZhbHVlT2YtIit0aGlzLnZhbHVlO307CiAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCl7dGhyb3cgInRvU3RyaW5nLSIrdGhpcy52YWx1ZTt9Owp9OwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgeDEgPSBuZXcgRGF0ZShuZXcgbXlPYmooMSksIG5ldyBteU9iaigyKSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMikpOwogICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTIiKXsKICAgICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIDMgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUpCiAqLwoKdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKXsKICB0aGlzLnZhbHVlID0gdmFsOwogIHRoaXMudmFsdWVPZiA9IGZ1bmN0aW9uKCl7dGhyb3cgInZhbHVlT2YtIit0aGlzLnZhbHVlO307CiAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCl7dGhyb3cgInRvU3RyaW5nLSIrdGhpcy52YWx1ZTt9Owp9OwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgeDEgPSBuZXcgRGF0ZShuZXcgbXlPYmooMSksIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTEiKXsKICAgICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7CiAgfQp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciB4MiA9IG5ldyBEYXRlKDEsIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpKTsKICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTMiKXsKICAgICRFUlJPUigiIzM6IFRoZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7CiAgfQp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIDQgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpKTsKICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTEiKXsKICAgICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7CiAgfQp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciB4MiA9IG5ldyBEYXRlKDEsIG5ldyBteU9iaigyKSwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCkpOwogICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTIiKXsKICAgICRFUlJPUigiIzI6IFRoZSAybmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1vbnRoKSIpOwogIH0KfQoKLy9DSEVDSyMzCnRyeXsKICB2YXIgeDMgPSBuZXcgRGF0ZSgxLCAyLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCkpOwogICRFUlJPUigiIzQ6IFRoZSA0dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGhvdXJzKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTQiKXsKICAgICRFUlJPUigiIzQ6IFRoZSA0dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGhvdXJzKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIDUgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSkpOwogICRFUlJPUigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMSIpewogICAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHgyID0gbmV3IERhdGUoMSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtNCIpewogICAgJEVSUk9SKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7CiAgfQp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciB4NSA9IG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBteU9iaig1KSk7CiAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi01Iil7CiAgICAkRVJST1IoIiM1OiBUaGUgNXRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtaW51dGVzKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIDYgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQogKi8KCnZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCl7CiAgdGhpcy52YWx1ZSA9IHZhbDsKICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpe3Rocm93ICJ2YWx1ZU9mLSIrdGhpcy52YWx1ZTt9OwogIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpe3Rocm93ICJ0b1N0cmluZy0iK3RoaXMudmFsdWU7fTsKfTsKCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMiIpewogICAgJEVSUk9SKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7CiAgfQp9CgovL0NIRUNLIzMKdHJ5ewogIHZhciB4MyA9IG5ldyBEYXRlKDEsIDIsIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7CiAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0zIil7CiAgICAkRVJST1IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwogIH0KfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpKTsKICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi00Iil7CiAgICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKICB9Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIHg1ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNikpOwogICRFUlJPUigiIzU6IFRoZSA1dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1pbnV0ZXMpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtNSIpewogICAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKICB9Cn0KCi8vQ0hFQ0sjNgp0cnl7CiAgdmFyIHg2ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgNSwgbmV3IG15T2JqKDYpKTsKICAkRVJST1IoIiM2OiBUaGUgNnRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihzZWNvbmRzKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTYiKXsKICAgICRFUlJPUigiIzY6IFRoZSA2dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHNlY29uZHMpIik7CiAgfQp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogMS4gQ2FsbCBUb051bWJlcih5ZWFyKQogKiAyLiBDYWxsIFRvTnVtYmVyKG1vbnRoKQogKiAzLiBJZiBkYXRlIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihkYXRlKQogKiA0LiBJZiBob3VycyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoaG91cnMpCiAqIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCiAqIDYuIElmIHNlY29uZHMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKHNlY29uZHMpCiAqIDcuIElmIG1zIGlzIHN1cHBsaWVkIHVzZSBUb051bWJlcihtcykKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjFfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIDcgYXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKICovCgp2YXIgbXlPYmogPSBmdW5jdGlvbih2YWwpewogIHRoaXMudmFsdWUgPSB2YWw7CiAgdGhpcy52YWx1ZU9mID0gZnVuY3Rpb24oKXt0aHJvdyAidmFsdWVPZi0iK3RoaXMudmFsdWU7fTsKICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKXt0aHJvdyAidG9TdHJpbmctIit0aGlzLnZhbHVlO307Cn07CgovL0NIRUNLIzEKdHJ5ewogIHZhciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0xIil7CiAgICAkRVJST1IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSwgbmV3IG15T2JqKDcpKTsKICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi0yIil7CiAgICAkRVJST1IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpLCBuZXcgbXlPYmooNykpOwogICRFUlJPUigiIzM6IFRoZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7Cn0KY2F0Y2goZSl7CiAgaWYoZSAhPT0gInZhbHVlT2YtMyIpewogICAgJEVSUk9SKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnl7CiAgdmFyIHg0ID0gbmV3IERhdGUoMSwgMiwgMywgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSwgbmV3IG15T2JqKDcpKTsKICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi00Iil7CiAgICAkRVJST1IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKICB9Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIHg1ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi01Iil7CiAgICAkRVJST1IoIiM1OiBUaGUgNXRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtaW51dGVzKSIpOwogIH0KfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgeDYgPSBuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7CiAgJEVSUk9SKCIjNjogVGhlIDZ0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoc2Vjb25kcykiKTsKfQpjYXRjaChlKXsKICBpZihlICE9PSAidmFsdWVPZi02Iil7CiAgICAkRVJST1IoIiM2OiBUaGUgNnRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihzZWNvbmRzKSIpOwogIH0KfQoKLy9DSEVDSyM3CnRyeXsKICB2YXIgeDcgPSBuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCA2LCBuZXcgbXlPYmooNykpOwogICRFUlJPUigiIzc6IFRoZSA3dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1zKSIpOwp9CmNhdGNoKGUpewogIGlmKGUgIT09ICJ2YWx1ZU9mLTciKXsKICAgICRFUlJPUigiIzc6IFRoZSA3dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKG1zKSIpOwogIH0KfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n1. Call ToNumber(year)\n2. Call ToNumber(month)\n3. If date is supplied use ToNumber(date)\n4. If hours is supplied use ToNumber(hours)\n5. If minutes is supplied use ToNumber(minutes)\n6. If seconds is supplied use ToNumber(seconds)\n7. If ms is supplied use ToNumber(ms)","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCiRJTkNMVURFKCJlbnZpcm9ubWVudC5qcyIpOwokSU5DTFVERSgibnVtZXJpY19jb252ZXJzaW9uLmpzIik7CiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwokSU5DTFVERSgiRGF0ZV9saWJyYXJ5LmpzIik7CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMSkgIT09IG5ldyBEYXRlKDE4OTksIDExKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDEyKSAhPT0gbmV3IERhdGUoMTg5OSwgMTIpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTkwMCwgMCkgIT09IG5ldyBEYXRlKDE5MDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM0OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMikgIT09IG5ldyBEYXRlKDE5NjksIDEyKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzU6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NzAsIDApICE9PSBuZXcgRGF0ZSgxOTcwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzY6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDExKSAhPT0gbmV3IERhdGUoMTk5OSwgMTEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTIpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMikudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM4OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDAwLCAwKSAhPT0gbmV3IERhdGUoMjAwMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM5OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMSkgIT09IG5ldyBEYXRlKDIwOTksIDExKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEwOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMikgIT09IG5ldyBEYXRlKDIwOTksIDEyKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzExOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMTAwLCAwKSAhPT0gbmV3IERhdGUoMjEwMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCiRJTkNMVURFKCJlbnZpcm9ubWVudC5qcyIpOwokSU5DTFVERSgibnVtZXJpY19jb252ZXJzaW9uLmpzIik7CiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwokSU5DTFVERSgiRGF0ZV9saWJyYXJ5LmpzIik7CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM1OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTcwLCAwLCAxKSAhPT0gbmV3IERhdGUoMTk3MCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM2OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTIsIDEpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM4OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDAwLCAwLCAxKSAhPT0gbmV3IERhdGUoMjAwMCwgMCwgMSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM5OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMSwgMzEpICE9PSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEpICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMykgIT09IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEsIDApICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxLCAwKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEsIDIzKSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM0OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMiwgMSwgMCkgIT09IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzU6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NzAsIDAsIDEsIDApICE9PSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzY6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDExLCAzMSwgMjMpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMykgIT09IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxLCAwKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEsIDApICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpICE9PSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzI6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5MDAsIDAsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzM6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTIsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM1OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM2OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgIT09IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpICE9PSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMDogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTIsIDEsIDAsIDApICE9PSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgIT09IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTI6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgokSU5DTFVERSgiZW52aXJvbm1lbnQuanMiKTsKJElOQ0xVREUoIm51bWVyaWNfY29udmVyc2lvbi5qcyIpOwokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKJElOQ0xVREUoIkRhdGVfbGlicmFyeS5qcyIpOwoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMzogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzQ6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzc6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjODogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjOTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEwOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzExOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMxMjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IGJ5IGZvbGxvd2luZyBzdGVwczoKICogOC4gSWYgUmVzdWx0KDEpIGlzIG5vdCBOYU4gYW5kIDAgPD0gVG9JbnRlZ2VyKFJlc3VsdCgxKSkgPD0gOTksIFJlc3VsdCg4KSBpcwogKiAxOTAwK1RvSW50ZWdlcihSZXN1bHQoMSkpOyBvdGhlcndpc2UsIFJlc3VsdCg4KSBpcyBSZXN1bHQoMSkKICogOS4gQ29tcHV0ZSBNYWtlRGF5KFJlc3VsdCg4KSwgUmVzdWx0KDIpLCBSZXN1bHQoMykpCiAqIDEwLiBDb21wdXRlIE1ha2VUaW1lKFJlc3VsdCg0KSwgUmVzdWx0KDUpLCBSZXN1bHQoNiksIFJlc3VsdCg3KSkKICogMTEuIENvbXB1dGUgTWFrZURhdGUoUmVzdWx0KDkpLCBSZXN1bHQoMTApKQogKiAxMi4gU2V0IHRoZSBbW1ZhbHVlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCB0bwogKiBUaW1lQ2xpcChVVEMoUmVzdWx0KDExKSkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiA3IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpCiAqLwoKJElOQ0xVREUoImVudmlyb25tZW50LmpzIik7CiRJTkNMVURFKCJudW1lcmljX2NvbnZlcnNpb24uanMiKTsKJElOQ0xVREUoIkRhdGVfY29uc3RhbnRzLmpzIik7CiRJTkNMVURFKCJEYXRlX2xpYnJhcnkuanMiKTsKCmlmIChDb25zdHJ1Y3REYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiMzOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgIT09IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzQ6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNTogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjNjogSW5jb3JyZWN0IHZhbHVlIG9mIERhdGUiKTsKfQoKaWYgKENvbnN0cnVjdERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkudmFsdWVPZigpKSB7CiAgJEZBSUwoIiM3OiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9CgppZiAoQ29uc3RydWN0RGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzg6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzk6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSAhPT0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTA6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSAhPT0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApLnZhbHVlT2YoKSkgewogICRGQUlMKCIjMTE6IEluY29ycmVjdCB2YWx1ZSBvZiBEYXRlIik7Cn0KCmlmIChDb25zdHJ1Y3REYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKS52YWx1ZU9mKCkpIHsKICAkRkFJTCgiIzEyOiBJbmNvcnJlY3QgdmFsdWUgb2YgRGF0ZSIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set by following steps:\n8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is\n1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)\n9. Compute MakeDay(Result(8), Result(2), Result(3))\n10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))\n11. Compute MakeDate(Result(9), Result(10))\n12. Set the [[Value]] property of the newly constructed object to\nTimeClip(UTC(Result(11)))","description":"7 arguments, (year, month, date, hours, minutes, seconds, ms)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogKi8KCmZ1bmN0aW9uIERhdGVWYWx1ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKXsKICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykudmFsdWVPZigpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMSkpKSB7CiAgJEZBSUwoIiMxOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMikpKSB7CiAgJEZBSUwoIiMyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTAwLCAwKSkpIHsKICAkRkFJTCgiIzM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDExKSkpIHsKICAkRkFJTCgiIzQ6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDEyKSkpIHsKICAkRkFJTCgiIzU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NzAsIDApKSkgewogICRGQUlMKCIjNjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTEpKSkgewogICRGQUlMKCIjNzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTIpKSkgewogICRGQUlMKCIjODogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjAwMCwgMCkpKSB7CiAgJEZBSUwoIiM5OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMSkpKSB7CiAgJEZBSUwoIiMxMDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTIpKSkgewogICRGQUlMKCIjMTE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIxMDAsIDApKSkgewogICRGQUlMKCIjMTI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"2 arguments, (year, month)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQogKi8KCmZ1bmN0aW9uIERhdGVWYWx1ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKXsKICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykudmFsdWVPZigpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTIsIDEpKSkgewogICRGQUlMKCIjMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTkwMCwgMCwgMSkpKSB7CiAgJEZBSUwoIiMzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjNDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTIsIDEpKSkgewogICRGQUlMKCIjNTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk3MCwgMCwgMSkpKSB7CiAgJEZBSUwoIiM2OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjNzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTIsIDEpKSkgewogICRGQUlMKCIjODogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjAwMCwgMCwgMSkpKSB7CiAgJEZBSUwoIiM5OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMSwgMzEpKSkgewogICRGQUlMKCIjMTA6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwOTksIDEyLCAxKSkpIHsKICAkRkFJTCgiIzExOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMTAwLCAwLCAxKSkpIHsKICAkRkFJTCgiIzEyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"3 arguments, (year, month, date)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMykpKSB7CiAgJEZBSUwoIiMxOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxODk5LCAxMiwgMSwgMCkpKSB7CiAgJEZBSUwoIiMyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTAwLCAwLCAxLCAwKSkpIHsKICAkRkFJTCgiIzM6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDExLCAzMSwgMjMpKSkgewogICRGQUlMKCIjNDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTIsIDEsIDApKSkgewogICRGQUlMKCIjNTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk3MCwgMCwgMSwgMCkpKSB7CiAgJEZBSUwoIiM2OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTk5LCAxMSwgMzEsIDIzKSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMykpKSB7CiAgJEZBSUwoIiMxMDogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTIsIDEsIDApKSkgewogICRGQUlMKCIjMTE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIxMDAsIDAsIDEsIDApKSkgewogICRGQUlMKCIjMTI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"4 arguments, (year, month, date, hours)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMywgNTkpKSkgewogICRGQUlMKCIjMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTIsIDEsIDAsIDApKSkgewogICRGQUlMKCIjMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTkwMCwgMCwgMSwgMCwgMCkpKSB7CiAgJEZBSUwoIiMzOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkpKSB7CiAgJEZBSUwoIiM0OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTY5LCAxMiwgMSwgMCwgMCkpKSB7CiAgJEZBSUwoIiM1OiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgxOTcwLCAwLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzY6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDExLCAzMSwgMjMsIDU5KSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMywgNTkpKSkgewogICRGQUlMKCIjMTA6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwOTksIDEyLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzExOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMTAwLCAwLCAxLCAwLCAwKSkpIHsKICAkRkFJTCgiIzEyOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"5 arguments, (year, month, date, hours, minutes)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogd2l0aCBzdXBwbGllZCAidW5kZWZpbmVkIiBhcmd1bWVudCBzaG91bGQgYmUgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjMvUzE1LjkuMy4xX0E2X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiA2IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKICovCgpmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyl7CiAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLnZhbHVlT2YoKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzE6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzI6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5MDAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjMzogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzQ6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5NzAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjNjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzc6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSkpIHsKICAkRkFJTCgiIzg6IFRoZSB2YWx1ZSBzaG91bGQgYmUgTmFOIik7Cn0KCmlmICghaXNOYU4oRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDAsIDApKSkgewogICRGQUlMKCIjOTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSkpIHsKICAkRkFJTCgiIzEwOiBUaGUgdmFsdWUgc2hvdWxkIGJlIE5hTiIpOwp9CgppZiAoIWlzTmFOKERhdGVWYWx1ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkpKSB7CiAgJEZBSUwoIiMxMTogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoKaWYgKCFpc05hTihEYXRlVmFsdWUoMjEwMCwgMCwgMSwgMCwgMCwgMCkpKSB7CiAgJEZBSUwoIiMxMjogVGhlIHZhbHVlIHNob3VsZCBiZSBOYU4iKTsKfQoK","commentary":"The [[Value]] property of the newly constructed object\nwith supplied \"undefined\" argument should be NaN","description":"6 arguments, (year, month, date, hours, minutes, seconds)","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.1_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIERhdGUgaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGVzIG9mIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cyBhbmQgaXQgdmFsdWVzCiAqLwoKJElOQ0xVREUoIkRhdGVfY29uc3RhbnRzLmpzIik7CiAKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzEuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xODk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMS4yOiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMS4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xODk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4MTQgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYoeDE0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMS40OiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzIuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzIuMjogbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MjMgPSBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpOwppZih0eXBlb2YgeDIzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiMyLjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDI0ID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKaWYoeDI0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMi40OiBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzMuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjMy4yOiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4MzMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYodHlwZW9mIHgzMyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjMy4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4MzQgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYoeDM0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjMy40OiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzQuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk3MF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzQuMjogbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NDMgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZih0eXBlb2YgeDQzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM0LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQ0ID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYoeDQ0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNC40OiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8xOTk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNS4yOiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NTMgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTQgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYoeDU0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNS40OiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzYuMjogbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZih0eXBlb2YgeDYzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDY0ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKaWYoeDY0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNi40OiBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoKaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzcuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpID09PSAnb2JqZWN0JyIpOwp9CgppZiAobmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewogICRGQUlMKCIjNy4yOiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpewogICRGQUlMKCIjNy4zOiB0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkgIT09ICdvYmplY3QnIik7Cn0KCnZhciB4NzQgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYoeDc0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjNy40OiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSAhPT0gdW5kZWZpbmVkIik7Cn0KCmlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzguMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Cn0KCmlmIChuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKICAkRkFJTCgiIzguMjogbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Cn0KCnZhciB4ODMgPSBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpOwppZih0eXBlb2YgeDgzICE9PSAib2JqZWN0Iil7CiAgJEZBSUwoIiM4LjM6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpICE9PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDg0ID0gbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KTsKaWYoeDg0ID09PSB1bmRlZmluZWQpewogICRGQUlMKCIjOC40OiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Date is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking types of newly created objects and it values","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRGF0ZSBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuMy9TMTUuOS4zLjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERhdGUucHJvdG90eXBlIHByb3BlcnR5IG9mIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdHMKICovCgokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKCnZhciB4MTEgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgxMiA9IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewogICRFUlJPUignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Cn0KCnZhciB4MTMgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHgxMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjMS4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDIxID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKaWYgKHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjMi4xOiB0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHgyMiA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7CiAgJEVSUk9SKCcjMi4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMiknKTsKfQoKdmFyIHgyMyA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4MjMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzIuMzogRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHgzMSA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDMyID0gbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7CiAgJEVSUk9SKCcjMy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgzMiknKTsKfQoKdmFyIHgzMyA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiMzLjM6IERhdGUucHJvdG90eXBlICE9PSB4MzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NDEgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEZBSUwoIiM0LjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwp9Cgp2YXIgeDQyID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsKICAkRVJST1IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwp9Cgp2YXIgeDQzID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg0My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNC4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDQzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDUxID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NTIgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MikpIHsKICAkRVJST1IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwp9Cgp2YXIgeDUzID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4NTMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzUuMzogRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoKdmFyIHg2MSA9IG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCk7CmlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRkFJTCgiIzYuMTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Cn0KCnZhciB4NjIgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSkgewogICRFUlJPUignIzYuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpJyk7Cn0KCnZhciB4NjMgPSBuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpOwppZihEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSl7CiAgJEZBSUwoIiM2LjM6IERhdGUucHJvdG90eXBlICE9PSB4NjMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Cn0KCnZhciB4NzEgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg3MiA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwppZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewogICRFUlJPUignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Cn0KCnZhciB4NzMgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKaWYoRGF0ZS5wcm90b3R5cGUgIT09IHg3My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpewogICRGQUlMKCIjNy4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDczLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwp9Cgp2YXIgeDgxID0gbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KTsKaWYgKHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRGQUlMKCIjOC4xOiB0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKfQoKdmFyIHg4MiA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7CiAgJEVSUk9SKCcjOC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MiknKTsKfQoKdmFyIHg4MyA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmKERhdGUucHJvdG90eXBlICE9PSB4ODMuY29uc3RydWN0b3IucHJvdG90eXBlKXsKICAkRkFJTCgiIzguMzogRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Date prototype object, the one that is the\ninitial value of Date.prototype","description":"Checking Date.prototype property of newly constructed objects","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMl9BM19UMS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIGRlbGV0ZSBwcm90b3R5cGUudG9TdHJpbmcKICovCgokSU5DTFVERSgiRGF0ZV9jb25zdGFudHMuanMiKTsKCnZhciB4MSA9IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDIgPSBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg0ID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg1ID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NiA9IG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4NyA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDggPSBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpOwppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgo=","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on delete prototype.toString","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJEYXRlIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS4zL1MxNS45LjMuMl9BM19UMS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0IGJhc2VkIG9uIG92ZXJ3cml0aW5nIHByb3RvdHlwZS50b1N0cmluZwogKi8KCiRJTkNMVURFKCJEYXRlX2NvbnN0YW50cy5qcyIpOwoKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKdmFyIHgxID0gbmV3IERhdGUoZGF0ZV8xODk5X2VuZCk7CmlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MiA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7CmlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4MyA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwppZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDQgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwppZiAoeDQudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgJEZBSUwoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwp9Cgp2YXIgeDUgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsKaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg2ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewogICRGQUlMKCIjNjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKfQoKdmFyIHg3ID0gbmV3IERhdGUoZGF0ZV8yMDk5X2VuZCk7CmlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCnZhciB4OCA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7CmlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKICAkRkFJTCgiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Date\"","description":"Test based on overwriting prototype.toString","path":"TestCases/ch15/15.9/15.9.3/S15.9.3.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvUzE1LjkuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKi8KCmlmKCFEYXRlLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Date constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwYXJzZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC9TMTUuOS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwYXJzZSIKICovCgppZighRGF0ZS5oYXNPd25Qcm9wZXJ0eSgicGFyc2UiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicGFyc2UiJyk7Cn0KCgo=","commentary":"The Date constructor has the property \"parse\"","description":"Checking existence of the property \"parse\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJVVEMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvUzE1LjkuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAiVVRDIgogKi8KCmlmKCFEYXRlLmhhc093blByb3BlcnR5KCJVVEMiKSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiVVRDIicpOwp9CgoK","commentary":"The Date constructor has the property \"UTC\"","description":"Checking existence of the property \"UTC\"","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIERhdGUKICogY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC9TMTUuOS40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihEYXRlKQogKi8KCi8vQ0hFQ0sjMQppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihEYXRlKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIERhdGUgY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Date\nconstructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Date)","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEYXRlIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgNwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40L1MxNS45LjRfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERhdGUubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IERhdGUgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKERhdGUubGVuZ3RoICE9PSA3KSB7CiAgJEVSUk9SKCcjMjogRGF0ZSBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDcnKTsKfQoK","commentary":"Date constructor has length property whose value is 7","description":"Checking Date.length property","path":"TestCases/ch15/15.9/15.9.4/S15.9.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGU7CkRhdGUucHJvdG90eXBlID0gMTsKaWYgKERhdGUucHJvdG90eXBlICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicHJvdG90eXBlIiBoYXMgeyBEb250RW51bSwgRG9udERlbGV0ZSwgUmVhZE9ubHkgfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjEvUzE1LjkuNC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZSkgewogIGlmKHggPT09ICJwcm90b3R5cGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.1/S15.9.4.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wYXJzZTsKaWYoeCA9PT0gMSkKICBEYXRlLnBhcnNlID0gMjsKZWxzZQogIERhdGUucGFyc2UgPSAxOwppZiAoRGF0ZS5wYXJzZSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnBhcnNlIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wYXJzZSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucGFyc2UgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLmhhc093blByb3BlcnR5KCdwYXJzZScpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAicGFyc2UiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlKSB7CiAgaWYoeCA9PT0gInBhcnNlIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucGFyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date property \"parse\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJwYXJzZSIgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4yL1MxNS45LjQuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAicGFyc2UiIGlzIDEKICovCgppZihEYXRlLnBhcnNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHBhcnNlIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucGFyc2UubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHBhcnNlIGlzIDEnKTsKfQoKCg==","commentary":"The \"length\" property of the \"parse\" is 1","description":"The \"length\" property of the \"parse\" is 1","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wYXJzZS5sZW5ndGg7CkRhdGUucGFyc2UubGVuZ3RoID0gMTsKaWYgKERhdGUucGFyc2UubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucGFyc2UubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wYXJzZS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnBhcnNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucGFyc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjIvUzE1LjkuNC4yX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wYXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wYXJzZSkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wYXJzZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.parse property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.2/S15.9.4.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUuVVRDOwppZih4ID09PSAxKQogIERhdGUuVVRDID0gMjsKZWxzZQogIERhdGUuVVRDID0gMTsKaWYgKERhdGUuVVRDID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUuVVRDIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUuVVRDICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLmhhc093blByb3BlcnR5KCdVVEMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUuVVRDIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZSBwcm9wZXJ0eSAiVVRDIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdVVEMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlKSB7CiAgaWYoeCA9PT0gIlVUQyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLlVUQyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date property \"UTC\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJVVEMiIGlzIDcKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNC8xNS45LjQuMy9TMTUuOS40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgIlVUQyIgaXMgNwogKi8KCmlmKERhdGUuVVRDLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIFVUQyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLlVUQy5sZW5ndGggIT09IDcpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgVVRDIGlzIDcnKTsKfQoKCg==","commentary":"The \"length\" property of the \"UTC\" is 7","description":"The \"length\" property of the \"UTC\" is 7","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUuVVRDLmxlbmd0aDsKRGF0ZS5VVEMubGVuZ3RoID0gMTsKaWYgKERhdGUuVVRDLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUuVVRDLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUuVVRDLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUuVVRDLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUuVVRDLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5VVEMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS40LzE1LjkuNC4zL1MxNS45LjQuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUuVVRDLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLlVUQy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5VVEMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUuVVRDLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.UTC property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.4/15.9.4.3/S15.9.4.3_A3_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBEYXRlLm5vdyA9PT0gImZ1bmN0aW9uIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now must exist as a function","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gRGF0ZS5ub3cubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.now must exist as a function taking 0 parameters","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gRGF0ZS5ub3c7DQogICAgICAgIHJldHVybiAodHlwZW9mIChmdW4pID09PSAiZnVuY3Rpb24iKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now must exist as a function","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjQvMTUuOS40LjQvMTUuOS40LjQtMC00LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5ub3cgLSByZXR1cm5zIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgICAgICANCiAgICAgICAgcmV0dXJuIHR5cGVvZiBEYXRlLm5vdygpID09PSAibnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.now - returns number","path":"TestCases/ch15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiY29uc3RydWN0b3IiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIicpOwp9CgoK","commentary":"The Date.prototype has the property \"constructor\"","description":"The Date.prototype has the property \"constructor\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A01_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9TdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1N0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toString\"","description":"The Date.prototype has the property \"toString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A02_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9EYXRlU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTAzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9EYXRlU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0RhdGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toDateString\"","description":"The Date.prototype has the property \"toDateString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A03_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9UaW1lU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9UaW1lU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1RpbWVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvVGltZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toTimeString\"","description":"The Date.prototype has the property \"toTimeString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A04_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMDVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b0xvY2FsZVN0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9Mb2NhbGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toLocaleString\"","description":"The Date.prototype has the property \"toLocaleString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A05_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVEYXRlU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVEYXRlU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZURhdGVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toLocaleDateString\"","description":"The Date.prototype has the property \"toLocaleDateString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A06_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVUaW1lU3RyaW5nIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTA3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVUaW1lU3RyaW5nIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVRpbWVTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"toLocaleTimeString\"","description":"The Date.prototype has the property \"toLocaleTimeString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A07_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidmFsdWVPZiIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EwOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZhbHVlT2YiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZhbHVlT2YiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"valueOf\"","description":"The Date.prototype has the property \"valueOf\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A08_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VGltZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EwOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFRpbWUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getTime\"","description":"The Date.prototype has the property \"getTime\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A09_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTBfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0RnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getFullYear\"","description":"The Date.prototype has the property \"getFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDRnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCFullYear\"","description":"The Date.prototype has the property \"getUTCFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getMonth\"","description":"The Date.prototype has the property \"getMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDTW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCMonth\"","description":"The Date.prototype has the property \"getUTCMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldERhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getDate\"","description":"The Date.prototype has the property \"getDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0ExNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ0RhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCDate\"","description":"The Date.prototype has the property \"getUTCDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF5IgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTE2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF5IgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXREYXkiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldERheSInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getDay\"","description":"The Date.prototype has the property \"getDay\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A16_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF5IgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTE3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDRGF5IgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENEYXkiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RheSInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getUTCDay\"","description":"The Date.prototype has the property \"getUTCDay\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A17_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0SG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMThfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0SG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldEhvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getHours\"","description":"The Date.prototype has the property \"getHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A18_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDSG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMTlfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDSG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"getUTCHours\"","description":"The Date.prototype has the property \"getUTCHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A19_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldE1pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getMinutes\"","description":"The Date.prototype has the property \"getMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A20_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCMinutes\"","description":"The Date.prototype has the property \"getUTCMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A21_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0U2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFNlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFNlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getSeconds\"","description":"The Date.prototype has the property \"getSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A22_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDU2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ1NlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"getUTCSeconds\"","description":"The Date.prototype has the property \"getUTCSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A23_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getMilliseconds\"","description":"The Date.prototype has the property \"getMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A24_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"getUTCMilliseconds\"","description":"The Date.prototype has the property \"getUTCMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A25_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VGltZXpvbmVPZmZzZXQiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMjZfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRUaW1lem9uZU9mZnNldCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VGltZXpvbmVPZmZzZXQiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IicpOwp9CgoK","commentary":"The Date.prototype has the property \"getTimezoneOffset\"","description":"The Date.prototype has the property \"getTimezoneOffset\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A26_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VGltZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EyN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFRpbWUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFRpbWUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFRpbWUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setTime\"","description":"The Date.prototype has the property \"setTime\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A27_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"setMilliseconds\"","description":"The Date.prototype has the property \"setMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A28_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWlsbGlzZWNvbmRzIgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41L1MxNS45LjVfQTI5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWlsbGlzZWNvbmRzIgogKi8KCmlmKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRVVENNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyInKTsKfQoKCg==","commentary":"The Date.prototype has the property \"setUTCMilliseconds\"","description":"The Date.prototype has the property \"setUTCMilliseconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A29_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0U2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFNlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFNlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFNlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setSeconds\"","description":"The Date.prototype has the property \"setSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A30_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDU2Vjb25kcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ1NlY29uZHMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCSeconds\"","description":"The Date.prototype has the property \"setUTCSeconds\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A31_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldE1pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setMinutes\"","description":"The Date.prototype has the property \"setMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A32_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTWludXRlcyIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCMinutes\"","description":"The Date.prototype has the property \"setUTCMinutes\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A33_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0SG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0SG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldEhvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setHours\"","description":"The Date.prototype has the property \"setHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A34_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDSG91cnMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzVfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENIb3VycyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDSG91cnMiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCHours\"","description":"The Date.prototype has the property \"setUTCHours\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A35_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0RGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldERhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldERhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldERhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setDate\"","description":"The Date.prototype has the property \"setDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A36_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRGF0ZSIKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS9TMTUuOS41X0EzN19UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0RhdGUiCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ0RhdGUiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0RhdGUiJyk7Cn0KCgo=","commentary":"The Date.prototype has the property \"setUTCDate\"","description":"The Date.prototype has the property \"setUTCDate\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A37_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzhfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0TW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setMonth\"","description":"The Date.prototype has the property \"setMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A38_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDTW9udGgiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BMzlfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENNb250aCIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDTW9udGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01vbnRoIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCMonth\"","description":"The Date.prototype has the property \"setUTCMonth\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A39_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0RnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDBfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0RnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setFullYear\"","description":"The Date.prototype has the property \"setFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A40_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRnVsbFllYXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENGdWxsWWVhciIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDRnVsbFllYXIiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIicpOwp9CgoK","commentary":"The Date.prototype has the property \"setUTCFullYear\"","description":"The Date.prototype has the property \"setUTCFullYear\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A41_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9VVENTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvUzE1LjkuNV9BNDJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1VUQ1N0cmluZyIKICovCgppZihEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9VVENTdHJpbmciKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIicpOwp9CgoK","commentary":"The Date.prototype has the property \"toUTCString\"","description":"The Date.prototype has the property \"toUTCString\"","path":"TestCases/ch15/15.9/15.9.5/S15.9.5_A42_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnY29uc3RydWN0b3InKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImNvbnN0cnVjdG9yIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMS9TMTUuOS41LjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uc3RydWN0b3InKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJjb25zdHJ1Y3RvciIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"constructor\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJjb25zdHJ1Y3RvciIgaXMgNwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiY29uc3RydWN0b3IiIGlzIDcKICovCgppZihEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSBjb25zdHJ1Y3RvciBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggIT09IDcpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3RydWN0b3IgaXMgNycpOwp9CgoK","commentary":"The \"length\" property of the \"constructor\" is 7","description":"The \"length\" property of the \"constructor\" is 7","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xL1MxNS45LjUuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.constructor property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.1/S15.9.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTAvUzE1LjkuNS4xMF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldEZ1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRGdWxsWWVhciIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRGdWxsWWVhciIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldEZ1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRGdWxsWWVhciBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getFullYear\" is 0","description":"The \"length\" property of the \"getFullYear\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMC9TMTUuOS41LjEwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.10/S15.9.5.10_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTEvUzE1LjkuNS4xMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0Z1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENGdWxsWWVhciIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENGdWxsWWVhciIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0Z1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENGdWxsWWVhciBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCFullYear\" is 0","description":"The \"length\" property of the \"getUTCFullYear\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMS9TMTUuOS41LjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.11/S15.9.5.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTIvUzE1LjkuNS4xMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNb250aCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNb250aCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldE1vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRNb250aCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMonth\" is 0","description":"The \"length\" property of the \"getMonth\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMi9TMTUuOS41LjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.12/S15.9.5.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTMvUzE1LjkuNS4xM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNb250aCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNb250aCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENNb250aCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMonth\" is 0","description":"The \"length\" property of the \"getUTCMonth\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xMy9TMTUuOS41LjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.13/S15.9.5.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXREYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldERhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXREYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNC9TMTUuOS41LjE0X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldERhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldERhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXREYXRlIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldERhdGUiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXREYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldERhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0RGF0ZSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getDate\" is 0","description":"The \"length\" property of the \"getDate\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE0L1MxNS45LjUuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXREYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.14/S15.9.5.14_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENEYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xNS9TMTUuOS41LjE1X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ0RhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0RhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENEYXRlIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ0RhdGUiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0RhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDRGF0ZSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCDate\" is 0","description":"The \"length\" property of the \"getUTCDate\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE1L1MxNS45LjUuMTVfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.15/S15.9.5.15_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldERheTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXREYXkgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5ID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldERheSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXREYXknKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldERheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE2L1MxNS45LjUuMTZfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0RGF5JykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldERheSIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getDay\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXREYXkiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0RGF5IiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldERheSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldERheSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getDay\" is 0","description":"The \"length\" property of the \"getDay\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTYvUzE1LjkuNS4xNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldERheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXREYXkpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.16/S15.9.5.16_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0RheTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5ID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0RheSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENEYXknKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0RheSIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjE3L1MxNS45LjUuMTdfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0VVRDRGF5JykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0RheSIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getUTCDay\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENEYXkiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDRGF5IiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0RheSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ0RheSBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCDay\" is 0","description":"The \"length\" property of the \"getUTCDay\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTcvUzE1LjkuNS4xN19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getUTCDay property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.17/S15.9.5.17_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTgvUzE1LjkuNS4xOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldEhvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRIb3VycyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRIb3VycyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldEhvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldEhvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRIb3VycyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getHours\" is 0","description":"The \"length\" property of the \"getHours\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOC9TMTUuOS41LjE4X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.18/S15.9.5.18_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMTkvUzE1LjkuNS4xOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ0hvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getUTCHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENIb3VycyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENIb3VycyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ0hvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENIb3VycyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCHours\" is 0","description":"The \"length\" property of the \"getUTCHours\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4xOS9TMTUuOS41LjE5X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.19/S15.9.5.19_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvU3RyaW5nOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9TdHJpbmcnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMi9TMTUuOS41LjJfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndG9TdHJpbmcnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b1N0cmluZyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"toString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1N0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAidG9TdHJpbmciIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b1N0cmluZyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toString\" is 0","description":"The \"length\" property of the \"toString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yL1MxNS45LjUuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.toString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.2/S15.9.5.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMC9TMTUuOS41LjIwX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldE1pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNaW51dGVzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldE1pbnV0ZXMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0TWludXRlcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMinutes\" is 0","description":"The \"length\" property of the \"getMinutes\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIwL1MxNS45LjUuMjBfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.20/S15.9.5.20_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMS9TMTUuOS41LjIxX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ01pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNaW51dGVzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ01pbnV0ZXMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDTWludXRlcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMinutes\" is 0","description":"The \"length\" property of the \"getUTCMinutes\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIxL1MxNS45LjUuMjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.21/S15.9.5.21_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMi9TMTUuOS41LjIyX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFNlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFNlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRTZWNvbmRzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFNlY29uZHMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFNlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0U2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getSeconds\" is 0","description":"The \"length\" property of the \"getSeconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIyL1MxNS45LjUuMjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.22/S15.9.5.22_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yMy9TMTUuOS41LjIzX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ1NlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ1NlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"getUTCSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENTZWNvbmRzIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ1NlY29uZHMiIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ1NlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VVRDU2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCSeconds\" is 0","description":"The \"length\" property of the \"getUTCSeconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjIzL1MxNS45LjUuMjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.getUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.23/S15.9.5.23_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI0L1MxNS45LjUuMjRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0TWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldE1pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRNaWxsaXNlY29uZHMiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0TWlsbGlzZWNvbmRzIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldE1pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldE1pbGxpc2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getMilliseconds\" is 0","description":"The \"length\" property of the \"getMilliseconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjQvUzE1LjkuNS4yNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.24/S15.9.5.24_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI1L1MxNS45LjUuMjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0VVRDTWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFVUQ01pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getUTCMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENNaWxsaXNlY29uZHMiIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDTWlsbGlzZWNvbmRzIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFVUQ01pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ01pbGxpc2Vjb25kcyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getUTCMilliseconds\" is 0","description":"The \"length\" property of the \"getUTCMilliseconds\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjUvUzE1LjkuNS4yNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.25/S15.9.5.25_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQ7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRUaW1lem9uZU9mZnNldCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0IiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjYvUzE1LjkuNS4yNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lem9uZU9mZnNldCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gImdldFRpbWV6b25lT2Zmc2V0IikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"getTimezoneOffset\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lem9uZU9mZnNldCIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lem9uZU9mZnNldCIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGdldFRpbWV6b25lT2Zmc2V0IGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRUaW1lem9uZU9mZnNldCBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"getTimezoneOffset\" is 0","description":"The \"length\" property of the \"getTimezoneOffset\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNi9TMTUuOS41LjI2X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.getTimezoneOffset property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.26/S15.9.5.26_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFRpbWUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFRpbWUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRUaW1lJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4yNy9TMTUuOS41LjI3X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFRpbWUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFRpbWUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setTime\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRUaW1lIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFRpbWUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFRpbWUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VGltZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setTime\" is 1","description":"The \"length\" property of the \"setTime\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFRpbWUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI3L1MxNS45LjUuMjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRUaW1lKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.27/S15.9.5.27_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI4L1MxNS45LjUuMjhfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0TWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"setMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNaWxsaXNlY29uZHMiIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0TWlsbGlzZWNvbmRzIiBpcyAxCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldE1pbGxpc2Vjb25kcyBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMilliseconds\" is 1","description":"The \"length\" property of the \"setMilliseconds\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjgvUzE1LjkuNS4yOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.setMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.28/S15.9.5.28_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kczsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNaWxsaXNlY29uZHMnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbGxpc2Vjb25kcyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjI5L1MxNS45LjUuMjlfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0VVRDTWlsbGlzZWNvbmRzJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01pbGxpc2Vjb25kcyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMilliseconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNaWxsaXNlY29uZHMiIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0VVRDTWlsbGlzZWNvbmRzIiBpcyAxCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01pbGxpc2Vjb25kcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAxKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldFVUQ01pbGxpc2Vjb25kcyBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMilliseconds\" is 1","description":"The \"length\" property of the \"setUTCMilliseconds\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMjkvUzE1LjkuNS4yOV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.setUTCMilliseconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.29/S15.9.5.29_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9EYXRlU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMvUzE1LjkuNS4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvRGF0ZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0RhdGVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toDateString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0RhdGVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvRGF0ZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0RhdGVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0RhdGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toDateString\" is 0","description":"The \"length\" property of the \"toDateString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMy9TMTUuOS41LjNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.3/S15.9.5.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFNlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMC9TMTUuOS41LjMwX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFNlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFNlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRTZWNvbmRzIiBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFNlY29uZHMiIGlzIDIKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFNlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggIT09IDIpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0U2Vjb25kcyBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setSeconds\" is 2","description":"The \"length\" property of the \"setSeconds\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMwL1MxNS45LjUuMzBfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.30/S15.9.5.30_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENTZWNvbmRzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ1NlY29uZHMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMS9TMTUuOS41LjMxX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ1NlY29uZHMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ1NlY29uZHMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCSeconds\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENTZWNvbmRzIiBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ1NlY29uZHMiIGlzIDIKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ1NlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IDIpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDU2Vjb25kcyBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCSeconds\" is 2","description":"The \"length\" property of the \"setUTCSeconds\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMxL1MxNS45LjUuMzFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCSeconds property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.31/S15.9.5.31_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMi9TMTUuOS41LjMyX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldE1pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNaW51dGVzIiBpcyAzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldE1pbnV0ZXMiIGlzIDMKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggIT09IDMpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0TWludXRlcyBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMinutes\" is 3","description":"The \"length\" property of the \"setMinutes\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMyL1MxNS45LjUuMzJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.32/S15.9.5.32_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNaW51dGVzJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01pbnV0ZXMiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zMy9TMTUuOS41LjMzX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ01pbnV0ZXMnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01pbnV0ZXMiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCMinutes\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNaW51dGVzIiBpcyAzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ01pbnV0ZXMiIGlzIDMKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01pbnV0ZXMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggIT09IDMpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDTWludXRlcyBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMinutes\" is 3","description":"The \"length\" property of the \"setUTCMinutes\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjMzL1MxNS45LjUuMzNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCMinutes property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.33/S15.9.5.33_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEhvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzQvUzE1LjkuNS4zNF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldEhvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRIb3VycyIgaXMgNAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRIb3VycyIgaXMgNAogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldEhvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRIb3VycyBpcyA0Jyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setHours\" is 4","description":"The \"length\" property of the \"setHours\" is 4","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNC9TMTUuOS41LjM0X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.34/S15.9.5.34_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnM7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENIb3VycycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzUvUzE1LjkuNS4zNV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENIb3VycycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0hvdXJzIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCHours\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENIb3VycyIgaXMgNAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENIb3VycyIgaXMgNAogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0hvdXJzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENIb3VycyBpcyA0Jyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCHours\" is 4","description":"The \"length\" property of the \"setUTCHours\" is 4","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNS9TMTUuOS41LjM1X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCHours property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.35/S15.9.5.35_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXREYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldERhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldERhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXREYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldERhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNi9TMTUuOS41LjM2X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldERhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldERhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXREYXRlIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldERhdGUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXREYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldERhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0RGF0ZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setDate\" is 1","description":"The \"length\" property of the \"setDate\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM2L1MxNS45LjUuMzZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXREYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.36/S15.9.5.36_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENEYXRlJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0RhdGUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zNy9TMTUuOS41LjM3X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ0RhdGUnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0RhdGUiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"setUTCDate\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENEYXRlIiBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ0RhdGUiIGlzIDEKICovCgppZihEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0RhdGUgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggIT09IDEpewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDRGF0ZSBpcyAxJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCDate\" is 1","description":"The \"length\" property of the \"setUTCDate\" is 1","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjM3L1MxNS45LjUuMzdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.setUTCDate property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.37/S15.9.5.37_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldE1vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzgvUzE1LjkuNS4zOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldE1vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNb250aCIgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNb250aCIgaXMgMgogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldE1vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldE1vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCAhPT0gMil7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRNb250aCBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setMonth\" is 2","description":"The \"length\" property of the \"setMonth\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOC9TMTUuOS41LjM4X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.38/S15.9.5.38_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGg7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNb250aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ01vbnRoIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuMzkvUzE1LjkuNS4zOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENNb250aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ01vbnRoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCMonth\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNb250aCIgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENNb250aCIgaXMgMgogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ01vbnRoIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCAhPT0gMil7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENNb250aCBpcyAyJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCMonth\" is 2","description":"The \"length\" property of the \"setUTCMonth\" is 2","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aC5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS4zOS9TMTUuOS41LjM5X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCMonth property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.39/S15.9.5.39_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9UaW1lU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQvUzE1LjkuNS40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvVGltZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b1RpbWVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toTimeString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1RpbWVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvVGltZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b1RpbWVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b1RpbWVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toTimeString\" is 0","description":"The \"length\" property of the \"toTimeString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNC9TMTUuOS41LjRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.4/S15.9.5.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDAvUzE1LjkuNS40MF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldEZ1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRGdWxsWWVhciIgaXMgMwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRGdWxsWWVhciIgaXMgMwogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldEZ1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCAhPT0gMyl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRGdWxsWWVhciBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setFullYear\" is 3","description":"The \"length\" property of the \"setFullYear\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MC9TMTUuOS41LjQwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.40/S15.9.5.40_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXI7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENGdWxsWWVhcicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInNldFVUQ0Z1bGxZZWFyIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDEvUzE1LjkuNS40MV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRVVENGdWxsWWVhcicpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInNldFVUQ0Z1bGxZZWFyIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"setUTCFullYear\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENGdWxsWWVhciIgaXMgMwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRVVENGdWxsWWVhciIgaXMgMwogKi8KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHNldFVUQ0Z1bGxZZWFyIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMyl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENGdWxsWWVhciBpcyAzJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"setUTCFullYear\" is 3","description":"The \"length\" property of the \"setUTCFullYear\" is 3","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40MS9TMTUuOS41LjQxX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhcikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.setUTCFullYear property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.41/S15.9.5.41_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPSAyOwplbHNlCiAgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b1VUQ1N0cmluZycpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNDIvUzE1LjkuNS40Ml9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1VUQ1N0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCmZvcih4IGluIERhdGUucHJvdG90eXBlKSB7CiAgaWYoeCA9PT0gInRvVVRDU3RyaW5nIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toUTCString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1VUQ1N0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1VUQ1N0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIHRvVVRDU3RyaW5nIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b1VUQ1N0cmluZyBpcyAwJyk7Cn0KCgo=","commentary":"The \"length\" property of the \"toUTCString\" is 0","description":"The \"length\" property of the \"toUTCString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5sZW5ndGggPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS40Mi9TMTUuOS41LjQyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZykgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toUTCString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.42/S15.9.5.42_A3_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwLCAwLCAxKSwgdGhlIHRpbWUgem9uZSBpcyBVVEMoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGltZVpvbmVNaW51dGVzID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogKC0xKTsNCiAgICAgICAgdmFyIGRhdGUsIGRhdGVTdHI7DQoNCiAgICAgICAgaWYgKHRpbWVab25lTWludXRlcyA+IDApIHsNCiAgICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZSgxOTcwLCAwLCAtOTk5OTk5OTksIDAsIDAsIDAsIDEpOw0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGRhdGUudG9JU09TdHJpbmcoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCArIHRpbWVab25lTWludXRlcyArIDYwLCAwLCAxKTsNCg0KICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGVTdHJbZGF0ZVN0ci5sZW5ndGggLSAxXSA9PT0gIloiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, 1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTExLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgMTAwMDAwMDAxLCAwLCAwLCAwLCAtMSksIHRoZSB0aW1lIHpvbmUgaXMgVVRDKDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRpbWVab25lTWludXRlcyA9IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSAqICgtMSk7DQogICAgICAgIHZhciBkYXRlLCBkYXRlU3RyOw0KDQogICAgICAgIGRhdGUgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxMDAwMDAwMDEsIDAsIDAgKyB0aW1lWm9uZU1pbnV0ZXMgLSA2MCwgMCwgLTEpOw0KICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KDQogICAgICAgIHJldHVybiBkYXRlU3RyW2RhdGVTdHIubGVuZ3RoIC0gMV0gPT09ICJaIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, -1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB2YWx1ZSBvZiBkYXRlIGlzIERhdGUoMTk3MCwgMCwgMTAwMDAwMDAxLCAwLCAwLCAwLCAwKSwgdGhlIHRpbWUgem9uZSBpcyBVVEMoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGltZVpvbmVNaW51dGVzID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogKC0xKTsNCiAgICAgICAgdmFyIGRhdGUsIGRhdGVTdHI7DQoNCiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCArIHRpbWVab25lTWludXRlcyAtIDYwLCAwLCAwKTsNCiAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, 0), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHZhbHVlIG9mIGRhdGUgaXMgRGF0ZSgxOTcwLCAwLCAxMDAwMDAwMDEsIDAsIDAsIDAsIDEpLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGlmICh0aW1lWm9uZU1pbnV0ZXMgPiAwKSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCArIHRpbWVab25lTWludXRlcyArIDYwLCAwLCAxKTsNCiAgICAgICAgICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIDEwMDAwMDAwMSwgMCwgMCwgMCwgMSk7DQogICAgICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - RangeError is thrown when value of date is Date(1970, 0, 100000001, 0, 0, 0, 1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB3aGVuIHZhbHVlIG9mIHllYXIgaXMgLUluZmluaXR5IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBSYW5nZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgtSW5maW5pdHksIDEsIDcwLCAwLCAwLCAwKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - when value of year is -Infinity Date.prototype.toISOString throw the RangeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB2YWx1ZSBvZiB5ZWFyIGlzIEluZmluaXR5IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBSYW5nZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShJbmZpbml0eSwgMSwgNzAsIDAsIDAsIDApOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkYXRlLnRvSVNPU3RyaW5nKCk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - value of year is Infinity Date.prototype.toISOString throw the RangeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgLSB3aGVuIHRoaXMgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdmFsdWUgZm9ybWF0IGlzICdZWVlZLU1NLUREVEhIOm1tOnNzLnNzc1onIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIHRocm93IHRoZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZSA9IG5ldyBTdHJpbmcoIjE5NzAtMDEtMDAwMDA6MDA6MDAuMDAwWiIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5jYWxsKGRhdGUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - when this is a String object that value format is 'YYYY-MM-DDTHH:mm:ss.sssZ' Date.prototype.toISOString throw the TypeError","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDAgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString must exist as a function taking 0 parameters","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIChEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykgPT09ICJmdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString must exist as a function","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIGZvcm1hdCBvZiByZXR1cm5lZCBzdHJpbmcgaXMgJ1lZWVktTU0tRERUSEg6bW06c3Muc3NzWicsIHRoZSB0aW1lIHpvbmUgaXMgVVRDKDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgxOTk5LCA5LCAxMCwgMTAsIDEwLCAxMCwgMTApOw0KICAgICAgICB2YXIgbG9jYWxEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7DQoNCiAgICAgICAgcmV0dXJuIGxvY2FsRGF0ZS50b0lTT1N0cmluZygpID09PSAiMTk5OS0xMC0xMFQxMDoxMDoxMC4wMTBaIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - format of returned string is 'YYYY-MM-DDTHH:mm:ss.sssZ', the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFRoZSByZXR1cm5lZCBzdHJpbmcgaXMgdGhlIFVUQyB0aW1lIHpvbmUoMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZVN0ciA9IChuZXcgRGF0ZSgpKS50b0lTT1N0cmluZygpOw0KICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Date.prototype.toISOString - The returned string is the UTC time zone(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGlzIGlzIGFueSBvdGhlciBvYmplY3RzIGluc3RlYWQgb2YgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZy5jYWxsKFtdKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toISOString - TypeError is thrown when this is any other objects instead of Date object","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGlzIGlzIGFueSBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcuY2FsbCgxNSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - TypeError is thrown when this is any primitive values","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTguanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdmFsdWUgb2YgZGF0ZSBpcyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgLTEpLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGlmICh0aW1lWm9uZU1pbnV0ZXMgPiAwKSB7DQogICAgICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgLTEpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwICsgdGltZVpvbmVNaW51dGVzIC0gNjAsIDAsIC0xKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGUudG9JU09TdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, -1), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQzLzE1LjkuNS40My0wLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAtIFJhbmdlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIHZhbHVlIG9mIGRhdGUgaXMgRGF0ZSgxOTcwLCAwLCAtOTk5OTk5OTksIDAsIDAsIDAsIDApLCB0aGUgdGltZSB6b25lIGlzIFVUQygwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0aW1lWm9uZU1pbnV0ZXMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAoLTEpOw0KICAgICAgICB2YXIgZGF0ZSwgZGF0ZVN0cjsNCg0KICAgICAgICBpZiAodGltZVpvbmVNaW51dGVzID4gMCkgew0KICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKDE5NzAsIDAsIC05OTk5OTk5OSwgMCwgMCwgMCwgMCk7DQoNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoMTk3MCwgMCwgLTk5OTk5OTk5LCAwLCAwICsgdGltZVpvbmVNaW51dGVzICsgNjAsIDAsIDApOw0KDQogICAgICAgICAgICBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpOw0KDQogICAgICAgICAgICByZXR1cm4gZGF0ZVN0cltkYXRlU3RyLmxlbmd0aCAtIDFdID09PSAiWiI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toISOString - RangeError is not thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, 0), the time zone is UTC(0)","path":"TestCases/ch15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQ0LzE1LjkuNS40NC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0pTT04gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBEYXRlLnByb3RvdHlwZS50b0pTT047DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Date.prototype.toJSON must exist as a function","path":"TestCases/ch15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjQ0LzE1LjkuNS40NC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBEYXRlLnByb3RvdHlwZS50b0pTT04gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChEYXRlLnByb3RvdHlwZS50b0pTT04ubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Date.prototype.toJSON must exist as a function taking 1 parameter","path":"TestCases/ch15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nOwppZih4ID09PSAxKQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID09PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVTdHJpbmcnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIiBoYXMgeyBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNS9TMTUuOS41LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndG9Mb2NhbGVTdHJpbmcnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZVN0cmluZyIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype property \"toLocaleString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZVN0cmluZyIgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAidG9Mb2NhbGVTdHJpbmciIGlzIDAKICovCgppZihEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZVN0cmluZyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwp9CgppZihEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggIT09IDApewogICRFUlJPUignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleString\" is 0","description":"The \"length\" property of the \"toLocaleString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVhZE9ubHkgYXR0cmlidXRlCiAqLwoKeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKfQoKCg==","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKICovCgppZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCAgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewogICRGQUlMKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgoK","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgImxlbmd0aCIgaGFzIHsgUmVhZE9ubHksIERvbnREZWxldGUsIERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS41L1MxNS45LjUuNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIHsKICBpZih4ID09PSAibGVuZ3RoIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKCg==","commentary":"The Date.prototype.toLocaleString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.5/S15.9.5.5_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVEYXRlU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlRGF0ZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjYvUzE1LjkuNS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlRGF0ZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZURhdGVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toLocaleDateString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZURhdGVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvTG9jYWxlRGF0ZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZURhdGVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZURhdGVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleDateString\" is 0","description":"The \"length\" property of the \"toLocaleDateString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNi9TMTUuOS41LjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toLocaleDateString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.6/S15.9.5.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmc7CmlmKHggPT09IDEpCiAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyA9IDE7CmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgPT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgID09PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVUaW1lU3RyaW5nJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInRvTG9jYWxlVGltZVN0cmluZyIgaGFzIHsgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjcvUzE1LjkuNS43X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlVGltZVN0cmluZycpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ0b0xvY2FsZVRpbWVTdHJpbmciKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype property \"toLocaleTimeString\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b0xvY2FsZVRpbWVTdHJpbmciIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvTG9jYWxlVGltZVN0cmluZyIgaXMgMAogKi8KCmlmKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB0b0xvY2FsZVRpbWVTdHJpbmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKfQoKaWYoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCAhPT0gMCl7CiAgJEVSUk9SKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVRpbWVTdHJpbmcgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"toLocaleTimeString\" is 0","description":"The \"length\" property of the \"toLocaleTimeString\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlYWRPbmx5IGF0dHJpYnV0ZQogKi8KCnggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoOwpEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAqLwoKaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoICAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKICAkRkFJTCgnIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCgo=","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5ICJsZW5ndGgiIGhhcyB7IFJlYWRPbmx5LCBEb250RGVsZXRlLCBEb250RW51bSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS45LzE1LjkuNS8xNS45LjUuNy9TMTUuOS41LjdfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogKi8KCmlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nKSB7CiAgaWYoeCA9PT0gImxlbmd0aCIpIHsKICAgICRFUlJPUignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgoK","commentary":"The Date.prototype.toLocaleTimeString property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.7/S15.9.5.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudmFsdWVPZjsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLnZhbHVlT2YgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUudmFsdWVPZiA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndmFsdWVPZicpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgInZhbHVlT2YiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS44L1MxNS45LjUuOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd2YWx1ZU9mJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJ2YWx1ZU9mIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"valueOf\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ2YWx1ZU9mIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ2YWx1ZU9mIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSB2YWx1ZU9mIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHZhbHVlT2YgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"valueOf\" is 0","description":"The \"length\" property of the \"valueOf\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CkRhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjgvUzE1LjkuNS44X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUudmFsdWVPZikgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.valueOf property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.8/S15.9.5.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZTsKaWYoeCA9PT0gMSkKICBEYXRlLnByb3RvdHlwZS5nZXRUaW1lID0gMjsKZWxzZQogIERhdGUucHJvdG90eXBlLmdldFRpbWUgPSAxOwppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSA9PT0geCkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9CgoK","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking absence of ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSAgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VGltZScpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking absence of DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgImdldFRpbWUiIGhhcyB7IERvbnRFbnVtIH0gYXR0cmlidXRlcwogKgogKiBAcGF0aCBjaDE1LzE1LjkvMTUuOS41LzE1LjkuNS45L1MxNS45LjUuOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAqLwoKaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBEYXRlLnByb3RvdHlwZSkgewogIGlmKHggPT09ICJnZXRUaW1lIikgewogICAgJEVSUk9SKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype property \"getTime\" has { DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lIiBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRUaW1lIiBpcyAwCiAqLwoKaWYoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpewogICRFUlJPUignIzE6IFRoZSBnZXRUaW1lIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Cn0KCmlmKERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoICE9PSAwKXsKICAkRVJST1IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFRpbWUgaXMgMCcpOwp9CgoK","commentary":"The \"length\" property of the \"getTime\" is 0","description":"The \"length\" property of the \"getTime\" is 0","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWFkT25seSBhdHRyaWJ1dGUKICovCgp4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGg7CkRhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoID0gMTsKaWYgKERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Cn0KCgo=","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking ReadOnly attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogKi8KCmlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgppZiAoIURhdGUucHJvdG90eXBlLmdldFRpbWUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7CiAgJEZBSUwoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKCg==","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontDelete attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSAibGVuZ3RoIiBoYXMgeyBSZWFkT25seSwgRG9udERlbGV0ZSwgRG9udEVudW0gfSBhdHRyaWJ1dGVzCiAqCiAqIEBwYXRoIGNoMTUvMTUuOS8xNS45LjUvMTUuOS41LjkvUzE1LjkuNS45X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKICovCgppZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKfQoKZm9yKHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSkgewogIGlmKHggPT09ICJsZW5ndGgiKSB7CiAgICAkRVJST1IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCgo=","commentary":"The Date.prototype.getTime property \"length\" has { ReadOnly, DontDelete, DontEnum } attributes","description":"Checking DontEnum attribute","path":"TestCases/ch15/15.9/15.9.5/15.9.5.9/S15.9.5.9_A3_T3.js"}]}} \ No newline at end of file diff --git a/website/json/default.json b/website/json/default.json index 4be93b277..f6a753404 100644 --- a/website/json/default.json +++ b/website/json/default.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":11181,"testSuite":["json/ch07.json","json/ch08.json","json/ch09.json","json/ch10.json","json/ch11.json","json/ch12.json","json/ch13.json","json/ch14.json","json/ch15.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":11181,"testSuite":["json/ch07.json","json/ch08.json","json/ch09.json","json/ch10.json","json/ch11.json","json/ch12.json","json/ch13.json","json/ch14.json","json/ch15.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_bestPractice.json b/website/json/testcases_bestPractice.json index 6f31f563b..5cced1806 100644 --- a/website/json/testcases_bestPractice.json +++ b/website/json/testcases_bestPractice.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":13,"testSuite":["json/bestPractice.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":13,"testSuite":["json/bestPractice.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch07.json b/website/json/testcases_ch07.json index 3762e055a..c4fa56d43 100644 --- a/website/json/testcases_ch07.json +++ b/website/json/testcases_ch07.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":716,"testSuite":["json/ch07.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":716,"testSuite":["json/ch07.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch08.json b/website/json/testcases_ch08.json index d05f7388e..c5cda4ece 100644 --- a/website/json/testcases_ch08.json +++ b/website/json/testcases_ch08.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":124,"testSuite":["json/ch08.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":124,"testSuite":["json/ch08.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch09.json b/website/json/testcases_ch09.json index 8ecef4c07..0b37d75fb 100644 --- a/website/json/testcases_ch09.json +++ b/website/json/testcases_ch09.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":128,"testSuite":["json/ch09.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":128,"testSuite":["json/ch09.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch10.json b/website/json/testcases_ch10.json index af853640b..72bb7cddc 100644 --- a/website/json/testcases_ch10.json +++ b/website/json/testcases_ch10.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":184,"testSuite":["json/ch10.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":184,"testSuite":["json/ch10.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch11.json b/website/json/testcases_ch11.json index 8ad77e944..caab4e97f 100644 --- a/website/json/testcases_ch11.json +++ b/website/json/testcases_ch11.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":1310,"testSuite":["json/ch11.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":1310,"testSuite":["json/ch11.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch12.json b/website/json/testcases_ch12.json index d8ff29d3a..f610111f1 100644 --- a/website/json/testcases_ch12.json +++ b/website/json/testcases_ch12.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":525,"testSuite":["json/ch12.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":525,"testSuite":["json/ch12.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch13.json b/website/json/testcases_ch13.json index c9eefe35d..4d22f498d 100644 --- a/website/json/testcases_ch13.json +++ b/website/json/testcases_ch13.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":200,"testSuite":["json/ch13.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":200,"testSuite":["json/ch13.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch14.json b/website/json/testcases_ch14.json index 03ba855cc..3ad3734e8 100644 --- a/website/json/testcases_ch14.json +++ b/website/json/testcases_ch14.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":24,"testSuite":["json/ch14.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":24,"testSuite":["json/ch14.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_ch15.json b/website/json/testcases_ch15.json index 72919bc59..e742c8653 100644 --- a/website/json/testcases_ch15.json +++ b/website/json/testcases_ch15.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":7970,"testSuite":["json/ch15.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":7970,"testSuite":["json/ch15.json"],"version":"ES5.1"} \ No newline at end of file diff --git a/website/json/testcases_intl402.json b/website/json/testcases_intl402.json index 2e656996e..e1ec734cc 100644 --- a/website/json/testcases_intl402.json +++ b/website/json/testcases_intl402.json @@ -1 +1 @@ -{"date":"2012-02-03","numTests":1,"testSuite":["json/intl402.json"],"version":"ES5.1"} \ No newline at end of file +{"date":"2012-02-08","numTests":1,"testSuite":["json/intl402.json"],"version":"ES5.1"} \ No newline at end of file -- cgit v1.2.3